保持真实性的“密钥”

分享到:

如果要将认证的定义进行最有禅意的简化,那么我们可以说“认证就是保持真实性”。保持真实性要求对身份进行验证,因为,验证是关键(可以这么说)。

我们可以用下列等式表示三者之间的关系:

识别 + 验证 = 认证

文件、项目、数据等的验证或确认就是认证的所有内容。可以通过加密认证的事物包括:手机零部件、医疗配件、电子消费品配件、嵌入式固件、产业网络节点、传感器等。不久的将来,物联网与车对车通信系统也将可以通过加密方式进行认证。

认证的重要性远远超出许多人的认识,特别是在现在这个几十亿人(事)日益紧密连接的超连接世界。在网络世界,认证伴随着加密密钥与算法的部署。密钥是保持真实性的基础,也就是上文所述的“保持真实性的关键”。

保持真实性的“密钥”1

认证主要包括两种类型:对称认证与非对称认证。爱特梅尔公司分别为这两类认证提供了安全密钥存储装置。这两种认证的区别在于各端(即主机端和客户端)的密钥是否相同。

对称认证

就像名称所暗示的那样,对称认证指的是客户端与主机端使用相同的密钥。客户端与主机端的对称密钥均须受到保护,一旦二者中任何一个失效,安全性也将丧失。这就好像一个人有两套车钥匙,其中任何一套钥匙丢失都会导致小偷轻易开走车辆。因此,密钥须保密。
对称密钥是相同的
对称密钥是相同的

主机端与客户端的相同密钥通过数学计算来测试客户端设备的真实性。最常见的数学计算是基于加密算法(如安全散列算法等)的散列函数。散列运算产生散列值(也称为“摘要值”),即任意长度的输入值经散列算法变换成固定长度的散列值且散列值的长度小于输入值的长度。散列函数是一个单向运算,这意味着由散列值无法得到输入值。

对称认证的典型过程是:向客户端发送一个随机数字,要求客户端设备进行认证;客户端通过散列算法计算出随机数字和密钥的散列值(即“响应”)。每一个要求都产生一个独一无二的响应。

应该注意的是,密码员将利用密钥产生的随机数字散列值称为“消息认证码”或“MAC”,这个过程见下图。由于主机密钥与主机端密钥和客户端密钥相同,主机也可以进行完全相同的计算。如果出现这种情况,那么主机、主机端以及客户端上的散列值(“消息认证码”)可以进行对比。如果各散列值匹配,那么可以认为客户 端设备是真实的。由此可见,对称认证真的是一个简单的过程,但需要数学上的精确计算。现在,我们来看看非对称认证。

利用密钥对随机数字进行散列计算
利用密钥对随机数字进行散列计算

非对称认证

非对称密钥包含公钥与私钥,这两个密钥是一对的。更具体地说,公钥与私钥是通过椭圆曲线加密算法(“ECC”)等数学算法相互关联。两个密钥之中,只有私钥需要保密。由于密钥不同,非对称认证无法像对称认证那样通过“计算-对比”方式进行认证。

非对称认证涉及的技术更为复杂,包括用于验证真实性的电子签名技术(即“签名—验证”)等。椭圆曲线数字签名算法(“ECDSA”)是利用椭圆曲线加密法进行非对称认证的实例。Atmel ATECC108A装置的一大优点是它可以用于轻松实施椭圆曲线数字签名算法的签名—验证过程(椭圆曲线数字签名算法的步骤非常有趣,将在另外的文章中予以介绍)。在对称认证与非对称认证之间进行取舍时,运算速度是关键因素。例如,Atmel ATSHA204A采用对称认证所需的认证时间是12毫秒(一般情况下),而采用非对称认证时需要多个微控制器进行椭圆曲线数字签名算法,认证时间超过一秒。

回到密钥上来:密钥要保密。 如果说密钥是认证(即真实性认证)的关键,那么密钥的安全存储就是安全认证的关键。这才是重点所在。

那么,如何进行密钥的安全存储呢?最好的方法就是使用能够承受攻击的密钥存储硬件装置。爱特梅尔公司的CryptoAuthentication系列产品,如 ATSHA204A、 ATECC108A 及ATAES132 等,能够实施基于硬件的存储,这比基于软件的存储要强大得多,因为只有硬件才能提供抵挡攻击的防御机制。任何时候,基于硬件的安全存储都优于基于软件的存储。增加密钥安全存储是保护固件、软件和硬件产品免遭复制、伪造、黑客入侵以及其他恶意威胁的一种经济、简单和超安全的方法。

想要了解更多有关爱特梅尔CryptoAuthentication系列产品的信息,请点击查看上文链接或浏览CryptoAuthentication的介绍网页。Bits & Pieces 在以后的文章中将深入介绍对称认证与非对称认证的具体实现过程。

继续阅读
PIC系列单片机如何加密?这个小窍门告诉你

见过很多初学者对PIC16系列单片机的ID码的读和写犯迷糊。说实话,这方面的资料也不怎么全。有些教材可能会涉及ID区域的介绍,可是往往是一代而过。这对初学者来说是比较容易犯错的地方

美国联邦政府最高级加密标准被攻破,耗时5分钟!

就当前的计算能力需要超过100亿亿年才能破解这个加密算法,而对于AES256,基于物理攻击的实验室破解已经完成,耗时仅为5分钟。

开源门禁系统设计项目—基于ATmega328

门禁系统设计要求:基于atmega328单片机设计,具有通话、振铃、摘机、通话、开锁功能,还要有键盘和显示电路。

sam4s16c的片内flash读写

最近一直在玩sam4s16c,网上的所有论坛基本找不到atmel的资料,真心的不喜欢,但是工作需要,没办法。只能静下心来仔细研究Datasheet,别无他径。

把握MCU发展轨迹 正确选择MCU完成产品创新

面对缤纷多彩的 MCU 世界,如何在新品设计,老产品更新换代中正确的选择芯片和供应商将是要面临的一个重要的题目,因为无论是产品的更新还是 MCU 的更新速度都远远超出设计者预想,正确把握 MCU 发展趋势,利用 MCU 帮助产品创新是电子设计者正在考虑的问题。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss