1. 概况
密码服务功能:(1)机密性;(2)完整性;(3)真实性;(4)不可否认性
密码服务 | 目的 | 实现方法 |
机密性 | 避免信息泄露给未授权实体 | 访问控制 信息隐藏 加密 |
完整性 | 避免信息被未授权实体篡改 | 访问控制 MAC 签名 |
真实性 | 实体身份鉴别 | 密码技术(对称加密、MAC、签名) 静态口令 动态口令 生物特征 |
不可否认性 | 产生纠纷时提供可信的证据 发起方的不可否认 接收方的不可否认 | 签名 发起方/接收方签名或担保方签名 |
2. 机密性
机密性的目的
避免信息泄露给未授权主体。
机密性的实现方法(三种)
- 访问控制:防止访问敏感数据
- 信息隐藏:避免发现敏感数据
- 加密:可以观察到敏感数据的表示,但无法获取原始信息
-
- 公钥加密:灵活,成本高,用于信息量不大、分享方式复杂的环境,如密钥协商、密钥分发。
- 对称加密:大量数据的机密性保护。
- CBC:IV随机,而不仅仅是不重复。
- CTR:IV各不相同,即同一密钥下每个计数值只能用一次。
-
3. 完整性
完整性的目的
避免信息不受非授权主体的篡改。
完整性的实现方法(两种)
- 访问控制:限制非授权主体修改被保护的数据
- 损坏检测:MAC或数字签名
-
- MAC:HMAC或CMAC
- 数字签名:对压缩后的消息进行签名
-
4. 真实性
真实性的目的
鉴别,实体身份鉴别。
真实性的实现方法(四种)
- 基于密码技术:参见GB/T 15843 实体鉴别(共五个部分),包括对称加密、数字签名、密码校验函数、零知识。
- 基于静态口令:口令传输过程中使用对称加密、公钥加密、杂凑算法保证口令安全性。
- 基于动态口令:GM/T 0021-2012《动态口令密码应用技术规范》
- 基于生物特征:如指纹、声音、虹膜等。基于生物特征的鉴别机制一般不直接用于远程鉴别(因为宜遭受窃听和重放攻击),而只是用于设备怼自然人的鉴别。
4.1 基于密码技术的实施方案
4.1.1 对称密码技术——在线认证服务器
每一对声称者和验证者共享一对密钥会导致密钥爆炸。
解决方法是在线认证服务器。
声称者和验证者之前没有共享密钥,但是都和认证服务器共享密钥。
在线认证服务器(方式1)
步骤
- 声称者用自己的密钥加密、签名,然后发给验证者。
- 验证者将鉴别消息转发给认证中心服务器验证。
- 认证服务器完成解密、验证后,再用其与验证者之间的密钥,将鉴别信息安全发送给验证者。
- 验证者验证鉴别信息。
图1 在线认证服务器(方式1)
在线认证服务器(方式2)
步骤
- 声称者从认证服务器那里获取许可证(许可证用验证者与认证服务器的共享密钥保护)。
- 声称者将许可证发给验证者。
- 验证者验证许可证。
图2 在线认证服务器(方式2)
Kerberos就是采用这种认证方式。
4.1.2 非对称密码技术——离线认证服务器
PKI系统
验证声称者证书
证书吊销列表仍然需要从服务器获得。
4.2 基于静态口令的实施方案
口令传输过程中使用对称加密、公钥加密、杂凑算法保证口令安全性。
加入盐值的基于HASH的口令保护方式
设置口令阶段
1. 服务器存(id,q),杂凑值q=HASH(id,pwd)
验证阶段
1. 验证者发送r给声称者。r为不重复的值,如时间戳、单向递增函数、随机数等。
2. 声称者计算q*=HASH(id,pwd*),t*=HASH(r,q*),并发送t*。
3. 验证者计算t=HASH(r,q),比较t和t*,相同则通过验证。
r的不重复性保证了每次鉴别信息t*都不一样,抵御了重放攻击。
5. 不可否认性
不可否认性的目的
产生纠纷时提供可信的证据,有利于解决纠纷。分为
- 起源的不可否认性:特定方是否产生特定数据证据
- 传递的不可否认性:特定接受者是否接收了特定数据证据
不可否认性的实现方法(一种):
- 数字签名
具体实施方案
- 起源的不可否认性
-
- 使用发起者的数字签名:
- 使用可信第三方的数字签名:可信第三方作为发起者的担保。可信第三方对数据、发起者身份、其它信息(如时间)进行签名。
-
- 传输的不可否认性
-
- 接受者的签名确认:
- 对以下信息进行数字签名,产生确认信息给发起者:被传递的数据副本或其杂凑值、其它信息(如时间)。
- 签名必须由接受者生成,或为接收者担保的可信第三方。
- 此方案不能防止接收者阅读了信息但是拒绝生成证明的情况。
- 使用可信传递代理:
- 在发起方与接收方之间插入可信传递代理;
- 待接收方生成不可否认证据后才将信息转发给接收方。
- 使用两阶段传递:描述的方案有问题,略。(可参见[1]的P92)
- 接受者的签名确认:
-
参考文献
- 商用密码应用与安全性评估编委会, 商用密码应用与安全性评估. 北京: 电子工业出版社, 2018.