• 密码技术---密钥和SSL/TLS


    密钥定义

    密钥就是一个巨大的数字。密码技术里密钥概念重要的是密钥空间的大小。密钥空间大小由密钥长度决定。常见的DES密钥长度是7字节,DES-DES2和DES-DES3密钥长度分别是14字节和21字节,AES密钥长度是128,192或256比特。
    需注意的是,密钥和明文具有同等价值。如果明文价值百万,那么能破解该明文的密钥应具有相同价值。

    各种密钥

    1. 对称密码密钥:加密和解密使用同一密钥。也叫做共享密钥密码。
    2. 公钥密码密钥:加密和解密使用不同密钥。加密的叫做公钥,解密的叫做私钥。公钥和私钥也称作密钥对。
    3. 消息认证码(MAC)的密钥:发送者和接收者使用共享的密钥进行认证。MAC只能由持有合法密钥的人计算。将MAC附加在通信报文后,识别通信内容是否被篡改或者伪装。缺点:MAC泄露有篡改和伪装的风险。
    4. 数字签名的密钥:签名的生成和验证使用不同的密钥。持有私钥的人生成签名,公钥用作验证。
    5. 会话密钥:通信中只能使用一次的密钥。如:访问https://开头的网页,Web服务器和浏览器之间会进行SSL/TLS的加密通信,这个通信使用的密钥就仅限于当此通信,属于会话密钥。优点:就算被截获也只能破译本次通信的内容,其他通信的机密性不被破坏。
    6. 主密钥:一直重复使用的密钥。
    7. 用于加密内容的密钥(Contents Encrypting Key, CEK):内容加密密钥。会话密钥常做CEK。
    8. 用于加密密钥的密钥(Key Encrypting Key, KEK):密钥加密密钥。主密钥常做KEK。有点:减少需要报关的密钥数量。

    密钥管理

    1. 密钥生成:随机数生成、口令生成(Password Based Encryption, PBE)。
    2. 配送密钥:对称算法密钥就面临密钥配送问题,因为加密和解密使用相同密钥。可以采用事先共享密钥,使用密钥分配中心,使用公钥密码等。
    3. 密钥更新:一种提高通信机密性的技术。这种技术具有后向安全性(单向散列函数具有单向性,反算比较困难),可以防止破译过去的通信内容。
    4. 密钥保存:当密钥需要重复使用时,需要考虑密钥保存问题。会话密钥不考虑。
    5. 作废密钥。

    SSL/TLS定义

    SSL/TLS是一种在Web服务器中广泛使用的协议。SSL全称是Secure Socket Layer,TLS全称是Transport Layer Security。

    1. 客户端和服务器
      Web浏览器和Web服务器遵循HTTP超文本传输协议来通信, Web浏览器也叫做HTTP客户端,Web服务器也叫做HTTP服务器。我们可以使用SSL/TLS承载HTTP,通过两种协议的叠加,可以对HTTP的通信(请求和响应)进行加密,防止窃听。

    2. SSL/TLS的工作
      工作过程需要保证三点:(1)发送过程不能被窃听;(2)发送过程不能被篡改;(3)最后能确认发送者;1,2,3点分别对应的是密钥的机密性、完整性、认证问题。

    3. SSL和TLS的区别
      TLS是SSL的后续版本,增加了AES对称密码算法,删除了DES,增加了针对CBC攻击的对策。

  • 相关阅读:
    Java String.substring()方法具有什么功能呢?
    《009.SpringBoot之汽车租赁系统》
    MySQL 如何使用离线模式维护服务器
    【python获取.doc内表格指定单元格数据】
    [答疑]角色和状态的区别
    VScode platformio的使用
    沃趣QFusion-备份与还原
    小马识途营销顾问分享百度百科词条创建的实战技巧
    StringSubstitutor
    数据结构:共用体+枚举
  • 原文地址:https://blog.csdn.net/weixin_42368982/article/details/125528747