首页 > Crypto > 这个事物是真实的吗?对称认证会给您答案
这个事物是真实的吗?对称认证会给您答案
来源:Atmel  时间:2014-12-30

  

 

  认证行为非常简单。从本质上讲,它将能够确保某些事物的真实性。

  认证包含两个部分:

  1. 身份证明

  2. 身份确认

  ‘crypto-verse’中的认证一般发生在主机及主机想要确保某客户为真实时的客户端中。一个典型的用例就是在客户装置插入系统的同时,主机会要求(“提问”)客户确认其身份。将墨盒插入打印机时,将滤水器放入冰箱时,或将电池安装到电话时,及除此以外的诸多其它应用都会出现这种情况。我们还可以对硬件和软件进行认证,笔者将在另一篇文章中探讨这一问题。

  我们可以将主机的提问想像为老电影中古堡守卫的质询,他们通常会说:“不许动!谁在那里?”并期望得到一个适当的回答以确认接近者的身份。

  回到我们的现实世界,使用以包含加密密钥的计算为核心的过程完成认证,对于认证的两种主要类型同样有效:对称性认证和非对称性认证。在本文中我们将重点探讨对称性过程。

  在对称性认证中,主机和客户端有相同的密钥,对称认证也因此而得名。注意,它们的密钥必须保密以确保安全,这一点至关重要。确保密钥的机密是任何类型的认证和数据安全的主要检验标准。最好的保密方法就是使用安全硬件密钥存储装置。

  

 

  对称性认证的基本思想是如果客户是真实的,那么它将与主机使用相同的密钥。提问-回复是验证客户的一个规定方法。

  主机控制器向客户端发送数值问题,经过计算创建一个回复,然后与主机上执行的相似计算进行对比。

  为了更详细地说明这个过程,我们可以在主机和客户端使用Atmel ATSHA204A装置并在主机中使用微控制器,查看一般对称认证构架。(另有一篇文章解释将如何在仅有客户端使用加密装置的情况下查看一般对称认证构架,这是固定的提问方法)。

  

 

  第1步:当主机向客户端发送随机号码时,这个过程就开始了,号码由主机上ATSHA204的随机号码生成器产生。这就是“提问”,如上图所示。

  第2步:客户端接收随机号码提问并使用存储的密钥通过散列算法(如,SHA256)运行。散列函数的运算结果被称为“回复”,它还可被称为“信息认证码”(或MAC)。MAC在技术上被定义为包含密钥和信息在内的散列函数的运算结果。此回复将发送至主机。

  第3步:主机内部使用相同的提问(例如,随机号码),此提问作为其内部散列算法的输入值发送至客户端。另一个内部散列输入值是存储在主机侧的密钥。随后主机会将主机侧计算得出的散列值和客户端发回的回复散列值(MAC)进行对比。如果两个散列值(MACs)相匹配——则表示密钥确实相同,证实客户端为真实客户端。

  注意密钥从不在装置外部发送,因为它们始终安全地存储在受保护的硬件当中,对攻击者不可见。简言之:“你无法攻击看不到的事物。”

  优势:

  两侧均配备安全密钥储存加密引擎装置的对称结构的优势:

  · 使用两侧加密装置进行对称认证速度快。

  · 两侧安全硬件存储提升了安全性。

  · 保证单片机的处理负担很小。

  点击阅读英文原文