甘肃省住房和城乡建设局网站首页,wordpress 中文标题,区块链开发教程,常州网站设计制作一、两种基本加密方式
1.1 对称加密 对称加密是指双方持有相同的密钥进行通信#xff0c;加密速度快。常见的对称加密算法有DES、3DES、AES等。存在问题#xff1a;通信双方如何获得相同的密钥#xff1f;
1.2 非对称加密 非对称加密#xff0c;又称为公开密钥加密#…
一、两种基本加密方式
1.1 对称加密 对称加密是指双方持有相同的密钥进行通信加密速度快。常见的对称加密算法有DES、3DES、AES等。存在问题通信双方如何获得相同的密钥
1.2 非对称加密 非对称加密又称为公开密钥加密是为了解决对称加密中的安全问题而诞生一个称为公开密钥(public key)即公钥另一个称为私钥(private key)即私钥。相对于对称加密来说其加密速度很慢。
公钥(public key)是对外开放的私钥(private key)是自己拥有的。公钥(public key)加密的数据只能用私钥(private key)解密。私钥(private key)加密的数据只能用公钥(public key)解密。
二、如何使用两种基本加密方式保证数据安全
2.1 数据安全的类型 现在信息传输中需要保证三类数据传输安全 a. 数据的保密性即保证数据即使被窃听hacker也无法获取信息内容 b. 数据的完整性即保证数据不会中途被hacker修改 c. 身份认证即保证接收的数据来源可信不是hacker冒充发送的。
2.2 数据保密性 解决方法对称加密非对称加密 为保证数据的保密性可以使用对称加密或非对称加密。使用对称加密速度相对非对称加密很快但是存在一个安全问题密钥如何传递 由此通用的方法是使用非对称加密对称加密来完成即用非对称加密方式传输对称加密的密钥利用对称密钥进行数据传输。具体过程为客户端使用公钥对对称加密的密钥进行加密然后传递给服务端服务端使用私钥进行解密确认密钥。两端开始对称加密的传输数据。 2.3 数据完整性 解决方法散列算法非对称加密 数据传输的途中数据有可能被第三方劫持篡改。为了防止这种情况的通用方法是使用散列算法如SHA1MD5等。使用散列算法将传输内容hash一次获得hash值即摘要。客户端使用服务端的公钥对摘要和信息内容进行加密然后传输给服务端服务端使用私钥进行解密获得原始内容和摘要值这时服务端使用相同的hash算法对原始内容进行hash然后与摘要值比对如果一致说明信息是完整的。 2.4 身份识别数字签名 解决方案证书私钥公用 为了保证数据安全性在接收到数据后接收方需要验证数据的发送方的身份。通用方法是把发送端的公钥发送给接收端发送端通过把自己的内容使用私钥加密然后发送给接收端接收端只能用发送端的公钥解密自然就验证了发送端的身份。 进阶思考 在保证数据保密性、完整性、来源确定的时候都需要互相持有对方的公钥。为保证数据保密性数据发送方要有接收方的公钥为保证完整性数据发送方要有接收方的公钥身份识别的时候数据接收方要有发送方的公钥。 这就引出一个问题这个公钥要如何传输到对方的手中如果在传输公钥的过程中公钥被劫持第三方就能伪造一对公私钥在接收方这里伪装发送方在发送方这里伪装接收方。为了避免这种情况引出数字证书。
三、数字证书
3.1 数字证书的作用与内容 数字证书是由权威容的CACertificate Authority机构颁发给服务端数据发送方。CA机构通过服务端发送方提供的相关信息生成证书证书内容包含了持有人的相关信息服务器的公钥签署者签名信息数字签名即用私钥加密保证这个信息真的来自签署者等。 但是证书也是可以伪造的如何保证证书为真呢 一个证书中含有三个部分:证书内容散列算法加密密文。证书内容会被散列算法hash计算出hash值然后使用CA机构提供的私钥进行RSA加密。过程如下图 当客户端接收方发起请求要客户端发送端的公钥的时候服务器将该数字证书发送给客户端客户端通过CA机构提供的公钥对加密密文进行解密获得散列值数字签名同时将证书内容使用相同的散列算法进行Hash得到另一个散列值比对两个散列值如果两者相等则说明证书没问题。 3.2 数字证书分类
一些常见的数字证书类型
X.509#DER 二进制格式证书常用后缀.cer .crtX.509#PEM 文本格式证书常用后缀.pem有的证书内容是只包含公钥服务器的公钥如.crt、.cer、.pem有的证书既包含公钥又包含私钥服务器的私钥如.pfx、.p12