公钥 私钥 证书 挑战码 Base64 SHA1 博客分类: 网络通信接口安全 公钥私钥数字证书数字签名Base64
程序员文章站
2024-03-25 21:10:04
...
怎么样保证客户端和服务端通信是加密安全的呢?
我们一般会用到如下关键字 公钥 私钥 X509 数字证书 签名 base64 sha1 挑战码
那么他们的作用分别是什么呢?下面的说明比较通俗
1 私钥 PrivateKdey : 说白了就是用来对内容进行加密的算法,需要CA证明合法性
2 公钥 PublicKey : 与私钥相对应,用来解密的
3 X509 CA : 证明私钥的身份是合法的,面包含了用户,设备等一些信息,还包含最关键的签名算法标识,该算法标识可以动态配置,告诉客户端签名用什么算法,这样就可以和服务端采用相同的签名算法,防止被篡改
4 数字证书 pfx:包含私钥PrivateKey 和 X509证书,他们是配对的,是保证客户端和服务端签名一致的关键,PrivateKey 本地存储,X509是动态的,不被存储,那么如果私钥被篡改,服务器就知道了
因此一般公钥存储与服务器,私钥客户端存储,当然也可以相反,相反就导致你这套算法被写死,非动态;另外公钥客户端存储,容易被恶意篡改。
5 数字签名 signature:用来保证内容的没有被篡改,是正确的,客户端用私钥和CA中的算法进行签名,服务端用公钥解密,判断两端对内容的签名是否一致
6 Sha1: 也是种数字签名,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要,它具有特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要
7 Base64 用于传输8Bit字节代码的编码方式之一,作用是什么呢?如果你的内容很长很长,那么可以使用Base64,他比较简短,并且不可读
8 挑战码: 一种对信息的加密,同时保证每次的生成都是唯一的,主要作用:假设一个商品有N个数量,那么一个购买URL如果被恶意截获,重放,那么就会无限扣费,挑战码的作用就是要求你每次重放必须依赖服务器下发的一个挑战码,然后和本地的证书进行重签,保证每次的请求都是不同的,不可重放
下面也有一个链接可以对比着看:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
关于OATH2.0
主要是对服务器的接口不想直接暴露给第三方而采用的一套标准协议
具体可以查看这个网址:
http://plaintext.blog.edu.cn/2011/704841.html
我们一般会用到如下关键字 公钥 私钥 X509 数字证书 签名 base64 sha1 挑战码
那么他们的作用分别是什么呢?下面的说明比较通俗
1 私钥 PrivateKdey : 说白了就是用来对内容进行加密的算法,需要CA证明合法性
2 公钥 PublicKey : 与私钥相对应,用来解密的
3 X509 CA : 证明私钥的身份是合法的,面包含了用户,设备等一些信息,还包含最关键的签名算法标识,该算法标识可以动态配置,告诉客户端签名用什么算法,这样就可以和服务端采用相同的签名算法,防止被篡改
4 数字证书 pfx:包含私钥PrivateKey 和 X509证书,他们是配对的,是保证客户端和服务端签名一致的关键,PrivateKey 本地存储,X509是动态的,不被存储,那么如果私钥被篡改,服务器就知道了
因此一般公钥存储与服务器,私钥客户端存储,当然也可以相反,相反就导致你这套算法被写死,非动态;另外公钥客户端存储,容易被恶意篡改。
5 数字签名 signature:用来保证内容的没有被篡改,是正确的,客户端用私钥和CA中的算法进行签名,服务端用公钥解密,判断两端对内容的签名是否一致
6 Sha1: 也是种数字签名,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要,它具有特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要
7 Base64 用于传输8Bit字节代码的编码方式之一,作用是什么呢?如果你的内容很长很长,那么可以使用Base64,他比较简短,并且不可读
8 挑战码: 一种对信息的加密,同时保证每次的生成都是唯一的,主要作用:假设一个商品有N个数量,那么一个购买URL如果被恶意截获,重放,那么就会无限扣费,挑战码的作用就是要求你每次重放必须依赖服务器下发的一个挑战码,然后和本地的证书进行重签,保证每次的请求都是不同的,不可重放
下面也有一个链接可以对比着看:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
关于OATH2.0
主要是对服务器的接口不想直接暴露给第三方而采用的一套标准协议
具体可以查看这个网址:
http://plaintext.blog.edu.cn/2011/704841.html
上一篇: R-统计及可视化学习笔记(描述性统计量)
下一篇: Nim 编程入门之产生指数分布的随机数