新闻中心
热门下载
视频
博客
微博
维护消费品的真实性
来源:Atmel 时间:2015-07-14
在伪造产品的紧迫威胁下,寻找到一种经济、高度安全的方式来确保消费品的真实性是一个很好的想法。事实上,市场上存在一种成熟的行业标准方法,来应用复杂的加密工程和数学来打击伪造产品;即像Atmel ATSHA204A设备一样的加密元件。
加密元件甚至可以不需要进行焊接就依附在消费产品上,如墨盒的典型事例。设备可以用胶水直接粘在产品的外包装上。当墨或其他消费品被插入主机系统(MCU所在之处)时,加密元件与主机接触,主机能够与元件进行通信,验证产品是否真实。这个过程就被称之为认证。
最经济却最安全的认证方式是使用固定“挑战”的对称认证,无需使用主机上的秘密存储区。
通过对称认证,客户端和主机在各方运行相同的运算,若客户端(消费品)是正品,那么这些运算结果(被称作“应答”)将能够相互匹配。一种处理方式是只采用一个廉价的MCU,而不用在主机方的MCU中运行加密算法。固定“挑战”将在此处开始发挥作用。固定“挑战”指的是,主机的计算已经提前执行,计算所得的挑战/应答对被上传到主机。
当涉及某些考虑因素时,固定“挑战”方法是最理想的方法,这些因素包括:
1. 非常有限的处理能力(如,低成本的MCU)
2. 充足的可用内存,轻松存储挑战-应答对(如在智能手机中)
3. 需要快速或临时发行某些产品(如上市时间)
4. 要求极低的主机成本(如负担不起添加密钥存储设备的费用)
5. 不想在主机中存储密钥
那么,固定“挑战”的原理是什么呢?与其他挑战-应答运行过程相似,过程开始时主机控制器向客户端发送数字“挑战”,用于计算出应答,然后将该应答与主机中的“应答”数值相对比。“固定”是因为主机中没有加密设备用于生成随机数(或利用散列算法形成数字摘要),所以“挑战”不会是随机的。也就是说,必须利用客户端的密钥进行预先计算出“挑战”及其对应的应答,必须将“挑战”和应答对上传到主机内存中。这可以被看作是有效地调节了用于认证的计算时间。
如下为安装于客户端的ATSHA204A的示例。
步骤一:当主机在工厂进行制造时,“挑战”和利用该“挑战”散列计算客户密钥得到的应答被一起上传到主机的MCU内存中。
步骤二:当消费品从外侧被插入主机时,主机MCU将通过发送预上传的挑战询问客户端(消费品),以验证产品的真伪。
步骤三:然后客户端将利用存储密钥对挑战数值运行散列运算,生成一个应答,然后发送回主机。
步骤四:主机将对比客户端的应答与预上传至主机内存的应答值。
步骤五:如果客户端是真实的,客户端的应答(基于密钥和挑战的散列值)将与预上传至主机的应答值相同。
由于每个主机上传的挑战/应答对都相同,所以很显然,每个融合了主机的产品是独一无二。克隆复制品根本无法实现;所以,这是一个高度安全且十分经济的技术,因为它可以轻易地利用廉价MCU执行。
该方法可用于固件防护,在其设计中,主机中不包含密钥(正如上文所述),并安装了不具备运行散列计算处理能力的低成本MCU。
固定“挑战”认证有如下优势:
点击阅读英文原文
加密元件甚至可以不需要进行焊接就依附在消费产品上,如墨盒的典型事例。设备可以用胶水直接粘在产品的外包装上。当墨或其他消费品被插入主机系统(MCU所在之处)时,加密元件与主机接触,主机能够与元件进行通信,验证产品是否真实。这个过程就被称之为认证。
最经济却最安全的认证方式是使用固定“挑战”的对称认证,无需使用主机上的秘密存储区。
通过对称认证,客户端和主机在各方运行相同的运算,若客户端(消费品)是正品,那么这些运算结果(被称作“应答”)将能够相互匹配。一种处理方式是只采用一个廉价的MCU,而不用在主机方的MCU中运行加密算法。固定“挑战”将在此处开始发挥作用。固定“挑战”指的是,主机的计算已经提前执行,计算所得的挑战/应答对被上传到主机。
当涉及某些考虑因素时,固定“挑战”方法是最理想的方法,这些因素包括:
1. 非常有限的处理能力(如,低成本的MCU)
2. 充足的可用内存,轻松存储挑战-应答对(如在智能手机中)
3. 需要快速或临时发行某些产品(如上市时间)
4. 要求极低的主机成本(如负担不起添加密钥存储设备的费用)
5. 不想在主机中存储密钥
那么,固定“挑战”的原理是什么呢?与其他挑战-应答运行过程相似,过程开始时主机控制器向客户端发送数字“挑战”,用于计算出应答,然后将该应答与主机中的“应答”数值相对比。“固定”是因为主机中没有加密设备用于生成随机数(或利用散列算法形成数字摘要),所以“挑战”不会是随机的。也就是说,必须利用客户端的密钥进行预先计算出“挑战”及其对应的应答,必须将“挑战”和应答对上传到主机内存中。这可以被看作是有效地调节了用于认证的计算时间。
如下为安装于客户端的ATSHA204A的示例。
步骤一:当主机在工厂进行制造时,“挑战”和利用该“挑战”散列计算客户密钥得到的应答被一起上传到主机的MCU内存中。
步骤二:当消费品从外侧被插入主机时,主机MCU将通过发送预上传的挑战询问客户端(消费品),以验证产品的真伪。
步骤三:然后客户端将利用存储密钥对挑战数值运行散列运算,生成一个应答,然后发送回主机。
步骤四:主机将对比客户端的应答与预上传至主机内存的应答值。
步骤五:如果客户端是真实的,客户端的应答(基于密钥和挑战的散列值)将与预上传至主机的应答值相同。
由于每个主机上传的挑战/应答对都相同,所以很显然,每个融合了主机的产品是独一无二。克隆复制品根本无法实现;所以,这是一个高度安全且十分经济的技术,因为它可以轻易地利用廉价MCU执行。
该方法可用于固件防护,在其设计中,主机中不包含密钥(正如上文所述),并安装了不具备运行散列计算处理能力的低成本MCU。
固定“挑战”认证有如下优势:
- 对称认证速度快
- 主机中不包含密钥
- 可以采用低成本MCU,因为固定“挑战”仅需少量计算
- 防止克隆
- 保护固件投资
- 提高安全性
- 保护收入来源
- 维护品牌形象
- 更好地控制供应渠道
点击阅读英文原文