DS2432双向认证及软件功能保护
发布时间:2008/6/5 0:00:00 访问次数:416
在冒名顶替、伪造证件行为猖獗的年代,保证正确的身份识别至关重要。这不仅对个人如此,对电子产品也是如此。系统供应商需要在外有黑客攻击这样的“外患”,内有克隆硬件这样的“内忧”的环境中保护其产品的安全性。实现这些安全需求的关键是认证。
本文解释了认证的概念,以及maxim/dallas semiconductor以安全存储器形式提供加密控制和保护的方案,非常适合需要知识产权保护、hw/sw许可权管理、安全软件功能与状态设置、防篡改数据存储等应用。
什么是认证?
认证是指两个或多个实体之间建立身份认可的过程。单向认证情况下,一方需向另一方证明其身份的合法性。对于双向认证,双方需要彼此向对方证明自己的身份。最常用的认证方法是利用口令实现。使用口令的主要问题是应用中口令是暴露的,极易被探测。
我们先来回顾一下加密的历史应用,1883年弗兰德斯语言学家auguste kerckhoffs发表了一篇关于军事加密的文章,震惊了整个世界。kerckhoffs讲道,安全不应依靠隐匿性(例如非公开的保密算法),而应依靠算法及其密钥的力量。如果安全受到破坏,kerckhoffs认为,只需替换密钥,而不是替换整个系统。
基于密钥的认证过程如图1所示:密钥(私密)和需要认证的数据(“信息”)作为输入,来计算信息认证码,即mac。mac然后附加到信息上。信息接收方进行相同的运算,将mac计算结果与随信息一起收到的mac比较。如果二者相同,则信息是合法的。
但是,这种基本mac计算模型也有一个弱点。非法者如果截取到信息,可随后回放此信息,以仿冒合法身份。为克服这种固有的mac弱点和证明mac发送方的合法身份,接收方可产生一个随机数,作为质询码回送给发送方。mac发送方必须根据密钥、信息和质询码重新计算新的mac,并返回给接收方。如果对应任何质询码发送方都可产生有效的mac,则可以确信发送方是知道密钥的,其身份是合法的(图2)。该过程就是质询-响应认证。
在加密学中,由信息产生固定长度mac的算法称为“单向”散列函数。单向表示从固定长度mac输出推演出较长的原始信息极为困难。相反,通过加密,加密的信息与原始信息是成正比的。
sha-1是经过深入研究和国际认可的单向散列算法,由national institute of standards and technology (nist)开发。sha-1已经发展成为国际标准iso/iec 10118-3:2004,算法的数学基础是公开的,并可从nist网站获取。sha-1算法的主要特点包括以下几点:1) 不可逆性—从计算角度讲,不可能从mac推演出输入信息;2) 抗冲突性—对于特定mac,找到多于一种输入信息是不现实的;3) 高雪崩效应—输入的任何变化都会使mac结果产生巨大的变化。基于这些原因以及对该算法的国际性研究,maxim/dallas semiconductor选择sha-1作为其安全存储器的质询-响应认证算法。
低成本安全认证—功能实现
ds2432 eeprom内置sha-1引擎,借助1-wire接口,可以方便地加入到任何带有数字处理能力的电路中,例如带微控制器(μc)的电路。最简单的情况下,仅仅需要一个空闲i/o引脚以及一个上拉电阻即可构成1-wire接口,如图3所示。如果板上的计算能力或者剩余的程序存储空间不足以完成sha-1 mac计算,设计者可以采用ds2460 sha-1协处理器,或将计算任务转交给系统或网络中最近的主机。协处理器还有另一个好处,可将系统密钥存放在安全存储器中,而不必存放在程序代码内。
嵌入式硬件/软件授权管理
参考设计需要授权,并可能由第三方进行生产,需要防范非法使用程序代码。考虑到收入原因,还有必要跟踪和确认参考设计的使用次数。ds2432经过预先编程(在供给第三方制造商之前先装入密钥和存储器设定值),可以轻松地满足这些需求和提供更多功能。上电自检时,参考设计(图4)通过ds2432执行认证过程。只有具备有效密钥的ds2432才能成功地返回有效mac。如果检测到无效mac,处理器将采取相应的特定操作。这种方法还带来另外一个好处,即可以通过ds2432安全存储器的设定值有选择地授权和使能参考设计的功能。(有关此概念的更多信息,见软件功能管理一节。)
具有64位有效密钥的ds2432可通过以下两种安全方法提供给被授权者或第三方制造商:a) 由参考设计授权
在冒名顶替、伪造证件行为猖獗的年代,保证正确的身份识别至关重要。这不仅对个人如此,对电子产品也是如此。系统供应商需要在外有黑客攻击这样的“外患”,内有克隆硬件这样的“内忧”的环境中保护其产品的安全性。实现这些安全需求的关键是认证。
本文解释了认证的概念,以及maxim/dallas semiconductor以安全存储器形式提供加密控制和保护的方案,非常适合需要知识产权保护、hw/sw许可权管理、安全软件功能与状态设置、防篡改数据存储等应用。
什么是认证?
认证是指两个或多个实体之间建立身份认可的过程。单向认证情况下,一方需向另一方证明其身份的合法性。对于双向认证,双方需要彼此向对方证明自己的身份。最常用的认证方法是利用口令实现。使用口令的主要问题是应用中口令是暴露的,极易被探测。
我们先来回顾一下加密的历史应用,1883年弗兰德斯语言学家auguste kerckhoffs发表了一篇关于军事加密的文章,震惊了整个世界。kerckhoffs讲道,安全不应依靠隐匿性(例如非公开的保密算法),而应依靠算法及其密钥的力量。如果安全受到破坏,kerckhoffs认为,只需替换密钥,而不是替换整个系统。
基于密钥的认证过程如图1所示:密钥(私密)和需要认证的数据(“信息”)作为输入,来计算信息认证码,即mac。mac然后附加到信息上。信息接收方进行相同的运算,将mac计算结果与随信息一起收到的mac比较。如果二者相同,则信息是合法的。
但是,这种基本mac计算模型也有一个弱点。非法者如果截取到信息,可随后回放此信息,以仿冒合法身份。为克服这种固有的mac弱点和证明mac发送方的合法身份,接收方可产生一个随机数,作为质询码回送给发送方。mac发送方必须根据密钥、信息和质询码重新计算新的mac,并返回给接收方。如果对应任何质询码发送方都可产生有效的mac,则可以确信发送方是知道密钥的,其身份是合法的(图2)。该过程就是质询-响应认证。
在加密学中,由信息产生固定长度mac的算法称为“单向”散列函数。单向表示从固定长度mac输出推演出较长的原始信息极为困难。相反,通过加密,加密的信息与原始信息是成正比的。
sha-1是经过深入研究和国际认可的单向散列算法,由national institute of standards and technology (nist)开发。sha-1已经发展成为国际标准iso/iec 10118-3:2004,算法的数学基础是公开的,并可从nist网站获取。sha-1算法的主要特点包括以下几点:1) 不可逆性—从计算角度讲,不可能从mac推演出输入信息;2) 抗冲突性—对于特定mac,找到多于一种输入信息是不现实的;3) 高雪崩效应—输入的任何变化都会使mac结果产生巨大的变化。基于这些原因以及对该算法的国际性研究,maxim/dallas semiconductor选择sha-1作为其安全存储器的质询-响应认证算法。
低成本安全认证—功能实现
ds2432 eeprom内置sha-1引擎,借助1-wire接口,可以方便地加入到任何带有数字处理能力的电路中,例如带微控制器(μc)的电路。最简单的情况下,仅仅需要一个空闲i/o引脚以及一个上拉电阻即可构成1-wire接口,如图3所示。如果板上的计算能力或者剩余的程序存储空间不足以完成sha-1 mac计算,设计者可以采用ds2460 sha-1协处理器,或将计算任务转交给系统或网络中最近的主机。协处理器还有另一个好处,可将系统密钥存放在安全存储器中,而不必存放在程序代码内。
嵌入式硬件/软件授权管理
参考设计需要授权,并可能由第三方进行生产,需要防范非法使用程序代码。考虑到收入原因,还有必要跟踪和确认参考设计的使用次数。ds2432经过预先编程(在供给第三方制造商之前先装入密钥和存储器设定值),可以轻松地满足这些需求和提供更多功能。上电自检时,参考设计(图4)通过ds2432执行认证过程。只有具备有效密钥的ds2432才能成功地返回有效mac。如果检测到无效mac,处理器将采取相应的特定操作。这种方法还带来另外一个好处,即可以通过ds2432安全存储器的设定值有选择地授权和使能参考设计的功能。(有关此概念的更多信息,见软件功能管理一节。)
具有64位有效密钥的ds2432可通过以下两种安全方法提供给被授权者或第三方制造商:a) 由参考设计授权