证书和许可
之前学习加密的时候,有一个概念在非对称加密、数字签名之后,是证书,英文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) 编辑 收藏 举报