深入浅出 SSL 证书
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
1. 基础概念1.1. 对称加密对称加密是一种使用相同密钥进行数据加解密的算法。常见算法有AES、DES等。使用AES算法和密钥对文本加密,伪代码如下:
使用AES算法和密钥key对加密文本解密,伪代码如下:
1.2 非对称加密非对称加密是一种使用不同密钥进行数据加解密的算法。常见的算法有RSA、DSA等。非对称加密使用一对密钥进行加解密,一个称作公钥,一个称作私钥。使用私钥加密的信息,只能使用公钥解密;使用公钥加密的信息,只能使用私钥解密。使用RSA算法和私钥对文本加密,伪代码如下:
使用RSA算法和公钥对加密文本解密,伪代码如下:
使用RSA算法和公钥对文本加密,伪代码如下:
使用RSA算法和私钥对加密文本解密,伪代码如下:
公钥和私钥并非独立产生,它们基于复杂的数学难题生成,确保二者之间存在强大的数学关联:
私钥需要妥善保存,避免泄露,而公钥需要告知通信的另一方。 1.3. 对称加密VS 非对称加密对称加密速度快,适合实时加密、大量数据加密。非对称加密速度慢,适合少量数据加密。实际应用中,通常先利用非对称加密来协商一个临时密钥,然后使用对称加密算法和这个临时密钥来加密通信数据。 1.4. 摘要摘要算法是一种为任意大小的数据,比如一个文档、一段视频、一个密码,生成一个唯一且固定长度的数字指纹的算法。常见的摘要算法有MD5、SHA-1、SHA-2等。使用MD5算法计算文本数字指纹,伪代码如下:
Hello World 1与Hello World 2只有一个字符之差,但二者的摘要完全不同。早期互联网下载页面会同时提供文件与该文件的md5数字指纹。用户下载文件后,计算下载文件的md5数字指纹,与下载页面上的md5数字指纹进行比较,可判断出文件是否正确下载。 1.5. 签名签名算法是一种先计算数据数字指纹,然后对数字指纹进行非对称加密的算法。公司经理使用MD5计算命令的数字指纹,然后使用RSA算法和经理的私钥对数字指纹进行加密,伪代码如下:
经理将上述command、MD5+RSA算法、sign发送给财务。财务使用MD5计算命令的数字指纹,然后使用RSA和经理的公钥对签名进行解密,伪代码如下:
figerprint2为财务收到的命令的数字指纹,figerprint1为经理发布的命令的数字指纹,若二者一致说明命令正确。 使用签名可以防止内容被篡改。若攻击者修改command,那么command的数字指纹将不一致,伪代码如下:
使用签名可以防止伪造内容。攻击者使用自己的密钥伪造了一段命令,其签名无法使用经理的公钥解密。 签名具有不可否认性。若经理发布的命令有误,想将责任推卸给财务,这是行不通的。签名可以用经理的公钥解密,说明签名由经理的私钥加密得来,而私钥只有经理自己有。 2. 证书根证书厂商A生成一对密钥prikey_a与pubkey_a。然后编写如下一段信息:
使用MD5计算信息的数字指纹,然后使用RSA算法和A的私钥对数字指纹进行加密,伪代码如下:
信息、签名、A的公钥组成一个文件,该文件就是A的根证书,该根证书内置于每台计算机中。 中间证书厂商B生成一对密钥prikey_b与pubkey_b。然后编写如下一段信息:
B将该信息提交给A。A使用MD5计算信息的数字指纹,然后使用RSA算法和A的私钥对数字指纹进行加密,伪代码如下:
信息、签名、B的公钥组成一个文件,该文件就是B的中间证书。 当xxx.com的站长向B申请证书时,B为其生成一对密钥prikey_xxx和pubkey_xxx。然后编写如下一段信息:
B使用MD5计算信息的数字指纹,然后使用RSA算法和B的私钥对数字指纹进行加密,伪代码如下:
信息、签名、xxx.com的公钥组成一个文件,该文件就是xxx.com的服务器证书。 xxx.com的服务器内置了xxx.com的私钥、B的中间证书、xxx.com的服务器证书。客户端访问xxx.com时,服务器将中间证书、服务器证书发送给客户端。客户端执行如下检测:
若步骤1、2中上述检测不通过,则客户端可拒绝与xxx.com服务器通信。若检测通过,服务器指定一个对称加密算法和密钥,通过xxx.com的私钥加密后发送给客户端,客户端使用xxx.com的服务器证书中的xxx.com的公钥解密出加密算法和密钥,后续使用该加密算法与密钥进行加密通信。 阅读原文:https://mp.weixin.qq.com/s/ZDVa3kxWtZYURgY4StEb9Q 该文章在 2025/12/13 14:29:06 编辑过 |
关键字查询
相关文章
正在查询... |