苹果密码管理器 (即原来的苹果钥匙串) 支持生成高强度密码,但相较于其他密码管理器生成的密码,苹果密码管理器生成的密码具有显著的特点。以密码管理器 1Password 为例:该软件生成的随机密码通常包含大写字母、小写字母、数字和特殊符号,例如这个:F:cQu+Fe!HZ-2@6FKcjY
而苹果密码管理器生成的密码则是类似这种:hupvEw-fodne1-qabjyg 虽然有特殊符号、小写字母和数字,但看起来更像是某些单词。
实际上这些双音乐字符组成的并非单词,当然这也并非苹果工程师构想的,而是基于设计的某种机制故意生成这类双音节单词型密码。
这种类型的密码设计背后的深意:
苹果工程师称这种类型的密码核心目的在于让用户能够在短时间内记住但又不会在长时间内记住,为什么有这种奇怪的设计理念呢?
原因在于要让用户能够在某些布局不太理想的键盘上输入,例如在游戏手柄上要通过遥控在屏幕上的虚拟键盘选择字符进行输入时,用户需要看一眼密码的一部分然后进行输入。
这些密码使用的字符都是基于音节的,包括辅音 (苹果只选择了其中 19 个)、元音 (苹果只选择了其中 6 个) 和辅音模式,根据以往经验,选择此类密码在非标键盘上进行输入时相对来说会方便些。
当然实际进行设计时还需要考虑密码强度和网站的兼容性问题,例如有些网站就只允许个别特殊字符,像是 @ !: 等可能就不支持,所以苹果的特殊字符只选择连字符 -。
此外基于安全考虑苹果还在设备端预留了一个攻击性属于词典,假如苹果密码管理器生成的密码碰到了该词典中的字段,则该密码会被立即过滤掉并重新生成新密码。
以上设计达成的最终效果就是在确保安全性的情况下,生成的密码让用户能够看一眼并在短时间内记住,但又不会让大多数用户能够长期记住。
查看原文:https://rmondello.com/2024/10/07/apple-passwords-generated-strong-password-format/