研究背景
随着信息安全发展,密码保护信息能力正在减弱。加密密钥是信息安全重要组成部分,但加密密钥本身存在各种问题,确保密钥的安全对于确保密码系统的安全至关重要。
加密提供者安全模型
加密者模型
加密提供者应可实现五种功能:
生成和注册:高熵密码的生成随机生成
存储:储的密钥,加密或其他方式仍然有暴露的风险。
分发、安装和使用:第三方证书颁发机构(CA)
备份和恢复:防止密钥丢失。
撤销、暂停和销毁:密钥存在生存周期,需要及时撤销
威胁模型
加密者还应该对可能遇到的攻击做出相应对策,因此设计威胁模型,将攻击分类
假设:
攻击者可以访问加密提供者的整个源代码
底层加密原语、机制、协议和实现是不可利用的
攻击者不能违反服务提供者用于身份验证的身份验证机制的安全性
攻击者不能利用服务提供者的基础结构来获取或更改用户的身份验证信息
加密提供者和用户通过虚拟/专用网络连接
针对密码密钥的攻击:
- 密码:检索存储的密码、缺乏随机性和高熵性、肩翻攻击、中间人攻击
- 密钥:缺乏记忆性、存储问题等等
方案设计
设计目标:
- 密钥咀嚼:密钥生成材料被分割成子组件。
- 关注点分离:需要加密功能的每个服务都应该有一个不同的密钥。
- 低记忆性:人脑可以有效地存储少量的数据。
- 设备认证和实体认证:如果限制未经授权的实体进入认证协商,就可以防止绝大多数恶意活动。
- 访问控制:第五个设计原则是一旦设备经过认证,就应用严格的“访问控制”。
- 管理功能:必须在维护物理访问的同时执行管理功能,如添加服务、撤销密钥等。
密钥生成
密钥生成材料被分成子组件:
- DS2401序列号
- 密钥生成处理器内部标识号
- 随机生成
- 用户个人识别号
- 服务标识符
这些子组件几乎不单独提供关于密钥的信息
加密提供者访问接口:加密提供程序设备可以通过USB接口、蓝牙连接或本地网络连接到任何客户机设备。这些连接模式允许用户设备通过访问API有效地与加密提供程序通信
密钥访问控制: 必须显式地授予对密钥的访问权。可以使用授予对所有密钥的访问权或授予对一组密钥的访问权等特性来简化访问授予过程
加密提供程序初始设置: 初始设置允许设备的所有者注册他们的生物特征信息。该生物特征信息稍后用于验证对加密提供者物理接口的访问
实验
环境
环境设置:Raspberry pi core (树莓派核心)、Raspbian OS(树莓操作系统)
连接方式:通过USB、蓝牙等连接技术直接连接
通信过程:任何授权的设备,如果需要提供加密服务,则使用预先建立的TLSPSK 隧道技术与加密提供者通信。授权设备将使用加密提供程序API与加密提供程序进行通信。
硬件设置:该系统部署在树莓派3 B+上,使用16 GB装载了树莓9的micro SD卡
实验结果
速度更快
本文将数字资产安全转移到了硬件安全