乘风原创程序

  • 基于口令的密码
  • 2020/7/29 11:22:57
  • 1. 基于口令的密码

    我们需要了解两个主要过程:1.加解密过程;2.获取加密密钥值。我们可以看到的是加解密过程就是通过从步骤2中获得加解密密钥的。接下来我们就详细说明秘钥的生成以及获取过程是怎么样的:

    1. 盐和口令通过散列函数(hash函数)构建加密密钥;
    2. 图中没有显示,其实通过口令最终形成的hash值最终会对秘钥进行加密,和盐一起保存在一个安全的地方;
    3. 会把2中加密后的秘钥通过hash值进行解密(因为当时hash加密的时候是对称加密)。

    1.1 相对应的优化

    1. 通过拉伸来改良PBE

    口令的作用: 口令是固定的,并且长度是有限的,那么他的安全强度就不会很高,甚至比单纯的随机数还要低(伪随机数生成的会话秘钥CEK)。为了达到同样的安全强度就需要将口令和随机数绑定在一起。

    2. 如何保存口令以及使用口令

    1. 设置口令
      1. 使用自己才知道的信息;
      2. 不要使用对自己重要的事物的名字;
      3. 不要使用别人见过的信息;
      4. 将多个不同的口令分开使用;
    2. 记录口令
      1. 将口令当成钥匙一样保管,其实就是提高它的重要性,不要放在计算机屏幕或者教室里,这些都太明显了。

    3. 口令的有限性

    假设口令由英文字母以及数字组成(共62个),并且假设只有8个字符,那么可能的组合也只有62821862^8\approx 218万亿种,那么如果攻击者的计算机每秒可以尝试1亿个口令,则只需要25天就可以遍历所有的口令了——换句话说,即使暴力破解的时间也是可以接受的。

    针对口令的有效性需要做到的两点

    1. 生成安全的口令;
    2. 以及盐和加密后的加密密钥保存的地方也必须是安全;

    3. 对口令的管理

    我们使用很多网站都需要用户名和口令进行登录,为了解决难以管理所以很多人都使用了工具进行管理,那么这些工具的原理是什么呢?

    • 通过随机数来生成难以预料的口令,并能够与浏览器联动在网络上自动输入相应的口令;
    • 我们应该提防工具盗用用户的口令,所以首先就要确定开发者是否可信。

    参考文章

    1.图解密码技术.第11章.第6节.基于口令的密码

    本文地址:https://blog.csdn.net/weixin_42295969/article/details/107624563