浅谈算法,密钥与证书
原创
©著作权归作者所有:来自51CTO博客作者esafe的原创作品,请联系作者获取转载授权,否则将追究法律责任
加密是信息安全防护的核心技术之一。在信息系统中应用加密技术保护数据时,包括对算法、密钥和证书这三个常见的要素的选择和配置。
算法逻辑上类似于锁或者保险箱。信息安全所使用的密码算法分三大类:对称、非对称和杂凑(哈希)。
对称算法使用同一把钥匙锁上和打开。这一点使得对称算法不能在公众领域直接使用,用户的秘密密钥必须与通信伙伴共享,从而容易泄漏。非对称算法类似使用一对两把不同的钥匙锁上和打开的锁,公钥对公众公开,私钥则仅由所有者持有。锁上时使用公钥,打开则只能使用与该公钥对应的私钥。使用私钥可以产生一条消息的一个签名值,这个签名值能够用对应的公钥来验证其有效性,任何一个比特的篡改都会导致验证的失败。对于密钥需要关注的是其长度,一般说来,越长越安全,对于一般场合,128bit对称密钥是足够安全的。杂凑算法常常用来保护囗令,其特征是单向计算,难以从结果逆推输入。保存和验证口令均应针对杂凑算法的值来进行。
非对称算法一般比较慢,所以一般结合对称算法使用。使用公钥加密保护对称密钥,然后使用此对称密钥可以高速加密大量的用户信息,这种方法在信息保密领域得到了广泛的使用。
算法在安全系统中是相对静态的要素,值得关注的是算法的选择和实现来源,需要确认采用的算法符合标准,其实现经过了可信的第三方认证机构的审查和测试。一个安全的算法意味着,除了正确的密钥,不能解密数据或者产生签名。系统设计和运行的焦点是密钥的形态和管理。
证书将用户的标识与其非对称公钥绑定起来。基于对根证书的共同信任和数字签名,建立实体之间对通信对象的信任,对方确是某人(某公司)。通过使用公钥保护建立对通信内容的加密保护,确保不会被中间截获。https协议和安全的电子邮件均是通过这种方式实现的。
例如,“支付宝”在线支付网站使用了https协议保护其身份和内容的安全。点击地址栏右侧的锁形图标,然后点击“查看证书”,即可看到支付宝网站所使用的证书信息。如图1所示:
通过打开的下图2可以看到证书颁发给www.alipay.com,这就是证书的主题,这个主题必须与服务器的DNS名称完全一致,否则浏览器就会给出“服务器证书无效”的警告信息,并建议用户不要继续打开网站。
证书的颁发者有责任调查证书申请者的身份,网站所使用的证书包含有使用颁发者证书(根证书)私钥进行的签名。用户计算机系统检验证书时会使用根证书的公钥验证这个签名的有效性。对网站证书的信任是建立在信任证书颁发者(根证书)的前提下的。Windows系统发行时内置了对VeriSign等证书颁发机构(即他们的根证书)的信任。在企业内网Intranet上可以部署私有的根证书,在Internet上一般则需要向第三方证书颁发机构申请和购买证书。
图3、图4、图5显示了这个证书的详细信息,包括证书主题的完整内容,证书采用的算法,证书的公钥(包括其长度),证书的杂凑值(即摘要,这里译作了“缩微图”)等等。
不使用第三方证书颁发机构提供的证书,用户自行交换证书建立对等信任,以及导入新的根证书时,需要仔细核对“缩微图”的值。
图2 证书信息
图3 证书详细信息1
图4 证书详细信息2
图5 证书详细信息3
上一篇:安卓系统安全架构
下一篇:声明式限定.NET函数的调用用户
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
对称密钥算法与非对称密钥算法的比较
密钥算法 典型算法 加解密密钥是否相同 优点
对称密钥算法 非对称密钥算法 -
密钥用法 增强密钥用法 证书类型
密钥用法 增强密钥用法 证书类型
microsoft git 数字签名 数据加密 代码签名