导航

证书和许可

之前学习加密的时候,有一个概念在非对称加密、数字签名之后,是证书,英文certificate。

 

最近在看软件许可证,也就是license授权,此时,license是许可的意思。

 

AES:对称加密的一种算法,加密和解密使用同一套密码。

RSA:非对称加密的一种算法,公钥公开,私钥私有。对信息加密后,只有目标接收方(拥有私钥的人)能够解密。

 

混合密码。

接收方:发送公钥给发送方,自己保留私钥。

发送方:contents用对称密钥加密,用公钥加密对称密钥。

接收方:用私钥解密对称密钥,用对称密钥解密contents。

 

单向散列函数:用于校验文件的一致性,是否被篡改。如MD5,SHA-1,SHA-2(SHA-256,SHA-384,SHA-512),和SHA-3。

用于:检测软件是否被篡改;基于口令的加密;消息认证码;数字签名;伪随机数生成;一次性口令。

 

消息认证码:使用到密钥的单向散列函数。IPsec,SSL/TLS

Message Authentication Code:这个认证码和短信验证码完全不一样。

是根据预先共享的密钥对消息为本人发送且没有篡改的认证。也是跟随消息一起发送的MAC值。

完整性/一致性:是否被篡改

认证:消息来自正确的发送者

因为同一个消息可以由双方构造,所以无法证明该消息的真实发送者。无法 对第三方证明,无法 防止否认。

数字签名可以实现对第三方的证明。

 

认证加密:对称密码 + 消息认证码

同时满足机密性、完整性和认证

 

数字签名

消息发送者使用私钥对消息的散列值进行加密,接收者使用配对公钥进行解密,验证消息发送者为私钥持有人。

此时消息发送者还会发送消息,接收者可对消息计算散列值,如果二者一致,则认证成功。

数字签名并没有保证机密性。如果需要,可以将消息加密后发送。

 

RSA是一个公钥算法,可以用于数字签名。

 

对称密码的密钥是机密性的精华,单向散列函数的散列值是完整性的精华。

 

数字签名的公钥必须属于真正的发送者。

 

公钥证书 Public-Key Certificate,PKC

记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构施加数字签名。

看到公钥证书,即认证机构认定该公钥的确属于此人。

 

由于Certificate的参与,重现数字签名的流程。

Bob为消息的发送者,Alice为消息的接收者。

即Bob的数字签名在己方需要自己的私钥,Alice对数字签名进行验证时,需要的确来自于Bob的公钥。

认证机构用自己的私钥对Bob的公钥施加数字签名并生成证书。

Alice从认证机构获取Bob的公钥以及对该公钥的数字签名。

Alice使用机构的公钥进行验证,认为该公钥来自Bob。

Bob之后的数字签名在Alice处均由该公钥进行验证。

 

posted on 2021-06-15 17:30  toughcactus  阅读(610)  评论(0编辑  收藏  举报