在无线智能卡阅读器中收集随机性的制作方法

文档序号:7959798阅读:148来源:国知局
专利名称:在无线智能卡阅读器中收集随机性的制作方法
技术领域
本发明涉及收集无线智能卡阅读器中的随机性。
背景技术
通常,无线通信是不安全的,而且易受到攻击。可以采用各种技术保护无线通信链接或使其不易受到攻击。比如,可以采用密码技术保护无线通信链接。加密通信链接的性能取决于密钥的质量,而密钥的质量至少部分取决于密钥的随机性。众所周知,使设备保持一个随机性库,即,一个随机数据的“库”,设备能够从中提取随机数据。被提取的随机数据可以用在密钥的产生中。
US2004/188519公开了一种与智能卡交互的生物统计设备,但是并没有公开智能卡阅读器上的随机性库,也与密钥的产生无关。在这份参考中也没有关于如何使用随机性库保护智能卡阅读器和另一设备之间的通信的讨论。
US2004/109567公开了一种用于在嵌入式设备(例如嵌入在打印机中的设备)中产生加密密钥的系统,但是与智能卡或智能卡阅读器无关。

发明内容
在主要方面,本发明提供了一种系统,所述系统包括具有随机性库的智能卡阅读器;以及包括随机数据源的设备,所述设备在其上安装了智能卡阅读器的驱动器,其中,所述驱动器被安排用于从源中提取随机数据,并通过无线通信链接向智能卡阅读器安全地发送提取的随机数据,以及智能卡阅读器被安排用于将提取的随机数据合并到随机性库中。


作为示例示出了本发明的实施例,但并不局限于附图中的图,在附图中,相似的参考数字指示相应的、类似的或相似的元件,以及其中图1是示例系统的示意图;以及图2是图1的示例系统的方框图。
要理解的是,为了解释的简单和清楚,图中所示的元件没有必要按比例绘制。例如,为了清楚,相对于其它元件,可能夸大了一些元件的尺寸。
具体实施例方式
在下面的详细描述中,为了提供对本发明的实施例的彻底理解,给出了许多具体细节。但是,本领域的普通技术人员将会理解,在没有这些具体细节的情况下,也可以实践本发明的实施例。在其它情况下,为了不模糊本发明的实施例,没有详细描述众所周知的方法、程序、部件和电路。
参考图1,图1是根据本发明的一些实施例的示例系统的示意图。系统100包括无线智能卡阅读器102、移动设备104和具有无线功能的个人计算机106。智能卡阅读器102和移动设备104能够通过无线通信链接108通信。智能卡阅读器102和个人计算机106能够通过无线通信链接110通信。针对无线通信链接108和110的无线局域网标准的示例的非详尽列表包括电气和电子工程师协会(IEEE)的无线LANMAC和物理层(PHY)802.11a,b,g和n规格,或未来相关的标准,Bluetooth标准,ZigbeeTM标准等。
示出了插入到智能卡阅读器102的智能卡112。智能卡是个人化的安全设备,由国际标准化组织发布的ISO7816标准及其派生定义。智能卡可以具有信用卡的形状因素,并可以包括半导体器件。半导体器件可以包括能够用安全信息(例如,私人解密密钥、私人签名密钥、生物统计学等)进行编程的存储器,并可以包括处理器和/或专用逻辑电路,例如,专用解密逻辑电路和/或专用签名逻辑电路。智能卡可以包括用于给半导体器件供能和执行与外部设备的串行通信的连接器。作为选择的是,可以将智能卡功能嵌入在具有不同形状因素和不同通信协议的设备中,例如通用串行总线(USB)设备。其安全信息存储在智能卡112上的人可以使用智能卡阅读器102进行确认,以解锁移动设备104和/或个人计算机106,并数字签名和/或解密由移动设备104和/或个人计算机106发送的消息。智能卡112也可以包括随机数发生器。
例如,移动设备104能够通过电子邮件服务器(未示出)发送和接收电子邮件消息。例如,如果采用安全多用途的网际邮件扩充协议(S/MIME),使用利用由电子邮件消息的发送方产生的随机消息密钥的对称算法对在移动设备104接收的电子邮件消息进行加密。电子邮件消息也包括使用接收方的公钥加密的消息密钥。当接收到加密的电子邮件消息时,移动设备104可以提取加密的消息密钥,并通过通信链接108将其发送给智能卡阅读器102。智能卡阅读器102可以将加密的消息密钥发送给智能卡112,并且智能卡112的解密引擎可以使用存储在智能卡112中的接收方的私人解密密钥对加密的消息密钥进行解密。智能卡阅读器102可以从智能卡112中取回解密的消息密钥,并通过通信链接108将其转送给移动设备104,因此移动设备104能够解密接收到的电子邮件消息。通过在允许解密操作进行之前要求提供口令或个人身份号码(PIN),智能卡112可以防止接收方的私人解密密钥的擅自使用。
相似的,要向移动设备104正在发送的电子邮件消息添加数字签名,移动设备104可以通过通信链接108、向智能卡阅读器102发送电子邮件消息的内容的散列。智能卡阅读器102可以把散列传给智能卡112,智能卡112从散列和存储在智能卡112中的发送方的私人签名密钥中产生数字签名。然后,智能卡112可以把数字签名传给智能卡阅读器102,智能卡阅读器102通过通信链接108将其转送给移动设备104,因此移动设备104能够将其连同电子邮件消息发送给电子邮件服务器。再次,通过在允许签名操作进行之前要求提供口令或PIN,智能卡112,可以防止接收方的私人签名密钥的擅自使用。
应该通过通信链接108、安全地将未加密的会话密钥从智能卡阅读器102发送给移动设备104,以防止第三方从通信链接108获取消息密钥。相似地,应该通过通信链接108、可靠地将要被签名的散列从智能卡阅读器102发送给移动设备104,以防止第三方修改散列,以及因此引起智能卡112使用与指定消息的散列不同的散列来产生签名。所以,需要用密码技术保护通信链接108。
其安全信息存储在智能卡112上的人希望数字签名从个人计算机106发送的外发电子邮件,或解密在个人计算机106接收到的进入加密电子邮件。这将要求个人计算机106和智能卡阅读器102以与上述的移动设备104和智能卡阅读器102的通信方式基本一样的方式进行通信。为了这个目的,或为了其它与安全相关的措施(例如,允许个人使用个人计算机106),需要用密码技术保护通信链接110。
为了保护通信链接108和110,智能卡阅读器102需要产生各种密钥。例如,如果通信链接108和110是Bluetooth通信链接,那么可以将比较短(达到16位)的密钥用于Bluetooth配对程序。用于通信链接108和110的安全附加层可以包含带有一个或多个附加密钥的加密。可以从智能卡阅读器102和移动设备104之间、或智能卡阅读器102和个人计算机106之间的共享秘密中产生这些附加密钥,并可以用已知的Diffie-Hellman和简单口令指数密钥交换(SPEKE)方法及其变体产生基于这个共享秘密的一个或多个对称密钥。此外,可以产生用于通过通信链接108或110的各个个人通信会话的随机会话密钥。
智能卡阅读器102、移动设备104和个人计算机106之间的加密信道的性能可以至少部分地取决于加密密钥的质量。用于产生这些密钥的数据越随机,攻击者能解出密钥的可能性就越小,通信链接也就越安全。
所以,智能卡阅读器102可以保持“随机性库”,也被称为“随机库”或“熵库”。随机性库是随机数据的“库”,当将输入合并到库里时,库被“搅拌”,以保证没有可辨识的模式。很多不同的随机性库的实现方式和对应的伪随机数发生器都是已知的。
例如,智能卡阅读器102可以存储256字节(2048位)长的数组,该数组是0到255所有数的列表。可以根据输入,用函数改变列表的排列顺序。所述函数的示例举不胜举,包括RC4TM加密算法(也被称为ARCFOUR)、散列函数及类似技术。在另一示例中,智能卡阅读器102可以根据Yarrow伪随机数发生器实现伪随机数发生器,所述Yarrow伪随机数发生器的描述在文献J.Kelsey,B.Schneier and N.Ferguson,“Yarrow-160Notes on the Design and Analysis of the YarrowCryptographic Pseudorandom Number Generator”,Sixth AnnualWorkshop on Selected Areas in Crytography(Springer Verlag,1999年8月)中。
下面是为智能卡阅读器102收集随机性的方法的示例的非详尽列表。可以使用这些方法的任何一种或任何组合。
(1)制造处注入的随机性。可以用制造部件处的随机性源产生随机值,以添加到智能卡阅读器102的随机性库中。例如,随机性源可以是伪随机数发生器。虽然攻击者可能知道伪随机数发生器采用的算法,但攻击者不知道哪个值被用来作为伪随机数发生器的种子,并且不知道将随机值加到智能卡阅读器102的随机性库时的条件和情况。
(2)通过带外通信链接注入智能卡阅读器的随机数据。智能卡阅读器102可以包括连接器,例如,接受USB电缆的连接器。例如,为了对智能卡阅读器102的电池充电和/或向智能卡阅读器102上载软件,采用USB电缆114,智能卡阅读器102可连接到个人计算机106。因为USB电缆可靠、安全,并不易受到试图攻击通信链接110的攻击者的攻击,所以它是一个带外通信链接的示例。个人计算机106可以包括随机性库,并能够通过带外通信链接向智能卡阅读器102提供随机数据,并且智能卡阅读器102将此随机数据合并到其随机性库中。相似地,通过带外通信链接,例如,USB电缆,智能卡阅读器102可连接到移动设备104。移动设备104可以包括随机性库,并能够通过带外通信链接向智能卡阅读器102提供随机数据,并且智能卡阅读器102将此随机数据合并到其随机性库中。
(3)通过无线通信链接,发送给智能卡阅读器的随机数据的安全传送。移动设备104可以具有安装在其上的智能卡阅读器驱动器。移动设备104可以具有随机数据源。安装在移动设备104上的智能卡阅读器驱动器可以从移动设备104中的随机数据源中提取随机数据,并可以通过通信链接108向智能卡阅读器102安全地发送提取的随机数据。智能卡阅读器102可以将通过通信链接108安全接收到的提取的随机数据合并到自己的随机性库中。相似地,个人计算机106可以具有安装在其上的智能卡阅读器驱动器。个人计算机106可以具有随机数据源。安装在个人计算机106上的智能卡阅读器驱动器可以从个人计算机106中的随机数据源中提取随机数据,并可以通过通信链接110向智能卡阅读器102安全地发送提取的随机数据。智能卡阅读器102可以将通过通信链接110接收到的提取的随机数据合并到自己的随机性库中。
(4)将从智能卡接收到的的业务合并到智能卡阅读器的随机性库中。智能卡阅读器102可以将从智能卡112接收到的业务合并到其随机性库中。虽然一些存储在智能卡112上的数据可能不是随机的(例如,生物统计学,人名和其它标识),但是智能卡阅读器102请求数据的次序是不可预知的。智能卡阅读器102从智能卡112接收到的业务中可以包括随机元素,例如,用于在移动设备104或个人计算机106处接收的S/MIME电子邮件消息的解密消息密钥,以及智能卡112从电子邮件消息的内容的散列和电子邮件发送方的私人签名密钥中产生的数字签名。
(5)将来自插入在智能卡阅读器中的智能卡的随机数发生器的随机数据合并到智能卡阅读器的随机性库中。智能卡112可以具有随机数发生器。具有安装在其上的智能卡阅读器102的驱动器的设备,例如移动设备104或个人计算机106,可以通过智能卡阅读器102从智能卡112请求随机数据。因为此随机数据是智能卡阅读器102从智能卡112接收到的业务,那么如果智能卡阅读器102实现上述方法(4),将从智能卡112接收到的业务合并到其随机性库中,由智能卡112的随机数发生器产生的此随机数据就将被合并到智能卡阅读器102的随机性库中。
(6)将另一用于加密该设备和智能卡阅读器之间的业务的设备产生的随机会话密钥合并到智能卡阅读器102的随机性库中。移动设备104或个人计算机106可以产生随机会话密钥,并用该密钥分别加密通过通信链接108或110发送给智能卡阅读器102的业务。智能卡阅读器102将随机会话密钥合并到其随机性库中。
图2是根据本发明的一些实施例的系统100的方框图。为了清楚,智能卡阅读器102、移动设备104和个人计算机106的一些部件没有在图2中示出,也没有在下面明显地描述。
智能卡阅读器102、移动设备104和个人计算机106分别包括天线202、212和222。天线202、212和222的示例举不胜举,包括偶极天线、单极天线、多层陶瓷天线、平面倒F天线、环路天线、发射(shot)天线、双向天线、全向天线和其它任何适合的天线。
智能卡阅读器102、移动设备104和个人计算机106分别包括分别耦合到天线202、212和222的通信接口204、214和224。通信接口204、214和224可以兼容的标准的示例举不胜举,包括802.11a,b,g和n以及未来相关的标准,Bluetooth标准,ZigbeeTM标准及类似。
智能卡阅读器102还包括耦合到通信接口204的处理器206,以及可固定在智能卡阅读器102中或可从其中移走的存储器208。可以把存储器208耦合到处理器206,或部分地嵌入处理器206中。通信接口204和处理器206可以是同一集成电路的一部分或位于不同集成电路中。相似地,处理器206和存储器208可以是同一集成电路的一部分或位于不同集成电路中。
移动设备104还包括耦合到通信接口214的处理器216,以及可固定在移动设备104中或可从移动设备104中移走的存储器218。可以把存储器218耦合到处理器216,或部分地嵌入在处理器216中。通信接口214和处理器216可以是同一集成电路的一部分或位于不同集成电路中。相似地,处理器216和存储器218可以是同一集成电路的一部分或位于不同集成电路中。
个人计算机106还包括耦合到通信接口224的处理器226,以及在可固定在个人计算机106中或可从其中移走的存储器228。可以把存储器228耦合到处理器226,或部分地嵌入处理器226中。通信接口224和处理器226可以是同一集成电路的一部分或位于不同集成电路中。相似地,处理器226和存储器228可以是同一集成电路的一部分或位于不同集成电路中。
处理器206、216和226的示例举不胜举,包括中央处理单元(CPU)、数字信号处理器(DSP)、精简指令集计算机(RISC)、复杂指令集计算机(CISC)等。此外,处理器206、216和226可以是专用集成电路(ASIC)的一部分或专用标准产品(ASSP)的一部分。
存储器208、218和228的示例举不胜举,包括下面的任何组合a)半导体器件,诸如寄存器、锁存器、只读存储器(ROM)、带掩膜的只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存、非易失性随机存储器(NVRAM)、同步动态随机存储器(SDRAM)、RAMBUS动态随机存储器(RDRAM)、双速率(DDR)存储器、静态随机存储器(SRAM)、通用串行总线(USB)可移动存储器等;b)光学器件,诸如光盘只读存储器(CD ROM)等;以及c)磁性器件,诸如硬盘,软盘,磁带等。
存储器218和228可以存储各自的智能卡阅读器102的驱动器219和229。驱动器219和229可以实现上文中所描述的部分方法。
存储器208可以存储可执行代码209,当被处理器206执行时,所述代码209可以使智能卡阅读器102将数据合并到其随机性库中。可执行代码209可以实现上文中所描述的部分方法。
在这里演示并描述了本发明的一些特征,但对于本领域的普通技术人员,许多修改、替代、改变和等价方案会发生。所以,应当理解,附加的权利要求是为了包括落入权力要求范围之内的所有修改和改变。
权利要求
1.一种系统(100),包括具有随机性库的智能卡阅读器(102);以及包括随机数据源的设备(104,106),所述设备(104,106)在其上安装了所述智能卡阅读器(102)的驱动器(219,299),其中,所述驱动器(219,299)被安排用于从所述源中提取随机数据,并通过无线通信链接(108,110)向所述智能卡阅读器(102)安全地发送所述提取的随机数据,以及所述智能卡阅读器(102)被安排用于将所述提取的随机数据合并到所述随机性库中。
2.根据权利要求1所述的系统(100),其中,所述随机性库的实现方式包括列表,并且所述智能卡阅读器(102)被安排用于通过根据至少所述提取的随机数据的函数,改变所述列表的顺序,来将所述提取的随机数据合并到所述随机性库中。
3.根据权利要求1或2所述的系统(100),其中,所述智能卡阅读器(102)被安排用于将从插入其中的智能卡(112)接收到的业务合并到所述随机性库中。
4.根据权利要求3所述的系统(100),其中,所述智能卡(112)具有随机数发生器,并且所述业务包括从所述随机数发生器检索到的随机数据。
5.根据权利要求3或4所述的系统(100),其中,所述随机性库的实现方式包括列表,并且所述智能卡阅读器(102)被安排用于通过根据至少所述业务的函数,改变所述列表的顺序,来将所述业务合并到所述随机性库中。
6.根据权利要求1到5之一所述的系统(100),其中所述设备是移动设备(104)和/或个人计算机(106)。
7.根据权利要求1到6之一所述的系统(100),其中所述无线通信链接(108,110)是Bluetooth通信链接。
8.一种智能卡阅读器(102),包括随机性库;处理器(206);以及存储器(208),存储可执行代码方法(209),当由所述处理器(206)执行时,所述代码方法(209)将从耦合到所述智能卡阅读器(102)的智能卡(112)接收到的业务合并到所述随机性库中。
9.根据权利要求8所述的智能卡阅读器(102),其中所述随机性库的实现方式包括列表,并且当由所述处理器(206)执行时,所述可执行代码方法(209)通过根据至少所述业务的函数改变所述列表的顺序,将所述业务合并到所述随机性库中。
10.根据权利要求8或9所述的智能卡阅读器,其中所述业务包括由所述智能卡的随机数发生器产生的随机数据。
11.一种用于收集智能卡阅读器(102)中的随机性的方法,所述方法包括接收通过无线链接(108,110)安全传送过来的随机数据,以便合并在所述智能卡阅读器(102)的随机性库中。
12.根据权利要求11所述方法,其中所述无线通信链接(108,110)是Bluetooth通信链接。
13.根据权利要求11或12所述的方法,所述方法还包括将从耦合到所述智能卡阅读器(102)的智能卡(112)接收到的业务合并到所述随机性库中。
14.根据权利要求13所述的方法,其中所述智能卡(112)具有随机数发生器,并且所述业务包括由耦合到所述智能卡阅读器(102)的设备(104,106)请求的随机数据。
15.根据权利要求13或14所述的方法,其中所述随机性库的实现方式包括列表,并且将所述业务合并到所述随机性库中包括根据至少所述业务的函数,改变所述列表的顺序。
16.一种包括程序代码方法的机器可读介质(208),当在权利要求8到10之一所述的智能卡阅读器(102)的处理器(206)上执行时,所述程序代码方法使所述阅读器实现权利要求11到15之一所述的方法。
17.一种包括智能卡阅读器的驱动器的机器可读介质,其中,当将其安装在包括随机数据源的设备上并在所述设备的处理器上执行时,所述驱动器从所述源提取随机数据,并通过无线通信链接将所述提取的随机数据安全地发送给所述智能卡阅读器,以便合并在所述智能卡阅读器的随机性库中。
全文摘要
提供了一种耦合到智能卡阅读器(102)的设备,可以从插入智能卡阅读器的智能卡请求随机数据,并且智能卡阅读器可以将随机数据合并到其随机性库中。提供了一种具有随机数据源的设备,可以具有安装在其上的用于另一设备的驱动器,并且驱动器可以从源中提取随机数据,并通过无线通信链接将其安全地传送给另一设备。所述另一设备(可以是智能卡阅读器)可以将提取的随机数据合并到其随机性库中。智能卡阅读器可以将从插入其中的智能卡接收到的业务合并到其随机性库中。
文档编号H04L9/30GK1848134SQ20061007405
公开日2006年10月18日 申请日期2006年4月4日 优先权日2005年4月15日
发明者尼尔·亚当斯, 迈克尔·S·布朗, 赫伯特·利特尔, 迈克尔·麦卡路姆, 迈克尔·K·布朗 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1