基于口令的密码

1. 基于口令的密码

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

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

1.1 相对应的优化

1. 通过拉伸来改良PBE

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

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

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

3. 口令的有限性

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

Created with Raphaël 2.2.0 开始 口令 hash(盐add口令) 是否达到规定次数 结束 hash值 yes no

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

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

3. 对口令的管理

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

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

参考文章

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值