欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于口令的密码

程序员文章站 2022-03-03 21:14:31
1. 基于口令的密码我们需要了解两个主要过程:1.加解密过程;2.获取加密密钥值。我们可以看到的是加解密过程就是通过从步骤2中获得加解密密钥的。接下来我们就详细说明秘钥的生成以及获取过程是怎么样的:盐和口令通过散列函数(hash函数)构建加密密钥; 加解密过程 3.解密消息 获取加密密钥值 1.重建KEK 2.解密会话秘钥 安全的地方单向散列函数单向散列函数用会话秘钥加密的消息用对称密码加密Alice口令盐秘钥加密密钥KEK用对称秘钥解密盐,用KEK加密的会话秘钥会话秘钥CEK加密后的会话秘钥消...

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