安全地使用显示器交换信息的制作方法

文档序号:6558091阅读:150来源:国知局
专利名称:安全地使用显示器交换信息的制作方法
技术领域
本发明涉及安全地使用显示器交换信息。
背景技术
通常,无线通信不安全,而且易受到攻击。可以采用各种技术来保护无线通信链接或使其不易受到攻击。例如,可以采用密码技术保护无线通信链接。在对称密钥系统(也被称为“密钥系统”)中,两个通信设备存储单一的共同的密钥。在公钥系统(也被称为“公共-私人对系统”)中,每个通信设备存储其自己的私钥,并自由地分配其自己的公钥。
利用密码技术存在各种安全问题。例如,需要以安全的、经验证的方式在两个通信设备之间共享秘密。特别是在移动设备的情况下,人们可能希望只让那两个设备知道秘密,并不需要信息技术(IT)管理员的干预/卷入。此外,人们可能希望证实设备共享秘密时没有将秘密暴露给其它设备,并且能用秘密产生密钥,来保护设备之间的通信链接。
US2003/0051139公开了一种投影仪系统,其中包括作为信息终端的投影仪和个人计算机PC,两者通过网络连接互相通信。投影仪产生网络连接建立所需要的口令,并将口令投影在屏幕SC上。个人计算机PC的用户输入投影在屏幕SC上的口令。口令用于验证投影仪和个人计算机PC之间的网络连接,以及其间的密码通信。

发明内容
一方面,本发明提供了一种系统,所述系统包括能够耦合到已在其上存储了私人数据的安全设备的第一设备,所述第一设备包括显示机密值的显示器、第一通信接口;以及第二设备,包括用于输入所述机密值的输入部件、能够向所述第一设备传送指示在所述第二设备处已经成功输入所述机密值的指示的第二通信接口;其中,安排所述第二设备使用所述机密值来通过第一设备安全地存取所述私人数据,并且其中安排第一设备在通过所述第一通信接口接收到所述指示后,从所述显示器清除所述机密值。
另一方面,本发明提供发一种方法,包括以下步骤把第一设备耦合到在其上已存储了私人数据的安全设备;为了能与第二设备交换所述机密值,在所述第一设备的显示器上显示机密值;在从所述第二设备接受到表示在所述第二设备处已经成功输入所述机密值的指示之后,从所述显示器清除所述机密值;以及使用所述机密值来向所述第二设备提供通过所述第一设备的对私人数据的安全存取。
本发明的其它方面涉及一种包括本发明的第一方面的系统的部分的第一设备,以及一种包括可由所述第一设备的处理器执行的代码方法的计算机程序产品,这些将在附加的权利要求中显而易见。


作为示例,示出了本发明的实施例,但并不局限于附图中的图,其中相似的参考数字指示对应的、类似的或相似的元件,以及其中图1是示例系统的示意图;图2是图1的系统中的设备要实现的示例方法的流程图;图3是用于在两个设备之间建立秘密的示例方法的流程图;图4是用于从秘密中产生对称密钥的示例方法的流程图;图5是用于产生对称密钥的示例方法的流程图;以及图6是图1的示例系统的方框图。
要理解的是,为了演示的简单和清楚,图中所示的元件没有必要按比例绘制。例如,为了清楚,相对于其它元件,可能夸大了一些元件的尺寸。
具体实施例方式
在下面的详细描述中,为了提供对本发明的实施例的彻底理解,给出了许多具体细节。但是,本领域的普通技术人员将会理解,在没有这些具体细节的情况下也可以实践本发明的实施例。在其它情况下,为了不模糊本发明的实施例,没有详细描述众所周知的方法、程序、部件或电路。
参考图1,图1是根据本发明的一些实施例的示例系统的示意图。系统100包括移动设备102和无线智能卡阅读器104。移动设备102和无线智能卡阅读器104能够通过无线通信链接106通信。用于无线通信链接106的无线局域网标准的示例举不胜举,包括电气和电子工程师协会(IEEE)的无线LAN MAC和物理层(PHY)802.11 a,b,g和n规格或未来相关的标准,蓝牙标准,ZigbeeTM标准等。
示出了插入到智能卡阅读器104的智能卡108。智能卡是个人化的安全设备,由国际标准化组织发布的IS07816标准及其派生定义。智能卡可以具有信用卡的外形因素,并可以包括半导体器件。半导体器件可以包括能用秘密密钥和认证证明编程的存储器,并可以包括解密引擎,例如,处理器和/或专用解密逻辑电路。智能卡可以包括用于给半导体器件供能和执行与外部设备的串行通信的连接器。作为选择的是,可以将智能卡功能嵌入具有不同外形因素和不同通信协议的设备中,例如通用串行总线(USB)设备。其安全信息存储在智能卡108中的人可以使用智能卡阅读器104确认,并数字签名和/或解密设备102发送的消息。
例如,移动设备102能够通过电子邮件服务器(未示出)发送和接收电子邮件消息。例如,如果采用安全多用途的网际邮件扩充协议(S/MIME),使用利用电子邮件消息的发送方产生的随机会话密钥的对称算法对移动设备102接收的电子邮件消息进行加密。电子邮件消息也包括使用接收方的公钥加密的会话密钥。一接收到加密的电子邮件消息,移动设备102就可以提取加密的会话密钥,并通过通信链接106将其发送给智能卡阅读器104。智能卡阅读器104可以将加密的会话密钥发送给智能卡108,并且智能卡108的解密引擎可以使用存储在智能卡108中的接收方的私人解密密钥对加密的会话密钥进行解密。智能卡阅读器104可以从智能卡108中取回解密的会话密钥,并通过通信链接106将其转送给移动设备102,因此移动设备102能够解密接收到的电子邮件消息。通过在允许解密操作进行之前要求提供口令或个人身份号码(PIN),智能卡108可以防止接收方的私人解密密钥的擅自使用。
相似的,要向移动设备102正在发送的电子邮件消息添加数字签名,移动设备102可以通过通信链接106,向智能卡阅读器104发送电子邮件消息的内容的散列。智能卡阅读器104可以把散列传给智能卡108,智能卡108从散列和存储在智能卡108中的发送方的私人签名密钥产生数字签名。然后,智能卡108可以把数字签名传给智能卡阅读器104,智能卡阅读器104通过通信链接106将其转送给移动设备102,因此移动设备102能够将其连同电子邮件消息发送给电子邮件服务器。再次,通过在允许签名操作进行之前要求提供口令或个人身份号码(PIN),智能卡108可以防止接收方的私人签名密钥的擅自使用。
应该通过通信链接106,安全地将未加密的会话密钥从智能卡阅读器104发送给移动设备102,以防止第三方从通信链接106获取会话密钥。相似地,应该通过通信链接106,可靠地将要被签名的散列从智能卡阅读器104发送给移动设备102,以防止第三方修改散列,并因此导致智能卡108使用与指定消息的散列不同的散列来产生签名。智能卡阅读器104和移动设备102可以各自存储共同的对称密钥,并使用对称算法来保护通过通信链接106的通信。作为选择的是,智能卡阅读器104和移动设备102可以存储自己的私钥和彼此的公钥,并使用与对称算法相组合的不对称算法来保护通过通信链接106的通信。
为了建立用于保护通过通信链接106的通信的对称密钥,移动设备102和智能卡阅读器104可以采用下面图2的流程图所演示的方法,并有附加参考。
在步骤202,建立移动设备102和智能卡阅读器104之间的链接。所述链接可以是,例如,无线通信链接106。
在步骤204,在移动设备102和智能卡阅读器104中本地地建立短秘密S。任何安全地、可靠地建立短秘密S的方法都合适。“本地地”的意思是所述秘密的建立不需要信息技术管理员的任何卷入或干预。此外,因为移动设备102和智能卡阅读器104的用户将根据需要实施图2的方法,所以秘密的建立应该是简单的程序。在下文中,针对图3描述了利用显示器110建立短秘密S的示例方法。
建立移动设备102和智能卡阅读器104之间的连接可以发生在在移动设备102和智能卡阅读器104上本地建立短秘密S之前、之后或与之同时发生。
一旦建立了移动设备102和智能卡阅读器104之间的连接,并在移动设备102和智能卡阅读器104上本地建立了短秘密S,就在步骤206启动“引导“程序,从短秘密S产生强秘密。例如,短秘密S可以源于智能卡阅读器104,一旦移动设备102共享了短秘密S,通过通信链接106向智能卡阅读器104发送合适的消息(或只是一个分组)移动设备102就可以启动引导程序。
引导程序包括至少一个公钥算法,至少一个对称密钥算法,至少一个散列函数和任何其它安全或不安全相关的信息,例如压缩算法。公钥算法的示例举不胜举,包括大素数阶次有限群上的Diffie-Hellman(DH)和椭圆曲线群上的DH。在步骤208,移动设备102向智能卡阅读器104要求其所支持的算法的列表。在步骤210,智能卡阅读器104向移动设备102发送其所支持的算法的列表。
在步骤212,移动设备102选择要用于所述方法的后续步骤的算法,并向智能卡阅读器104发送所选择的算法的指示。被选择的算法包括a)一个或两个选择的公钥算法(例如,椭圆曲线群的参数或名称,或大素数阶次有限群的素数和发生器);b)一个选择的对称密钥算法(例如,高级加密标准(AES)和密钥大小,或三重数据加密标准(DES),或类似);以及c)一个选择的散列函数(例如,消息摘要5(MD5),安全哈希算法1(SHA-1),SHA-256或类似)。
在步骤214,移动设备102和智能卡阅读器104各自从短秘密S产生相同的对称密钥K1,在下文中,将针对图4进一步详细描述这一步骤。在步骤216,移动设备102和智能卡阅读器104各自产生相同的对称密钥K2,在下文中,将针对图5进一步详细描述这一步骤。产生对称密钥K1可以发生在产生对称密钥K2之前、之后或与之同时发生。
在步骤216,移动设备102和智能卡阅读器104各自对所有在对称密钥K1和K2的产生期间发送和接收的分组进行散列变换,以产生散列结果H。例如,当发送和接收分组时,可以将选择的散列函数应用于分组,从而与产生对称密钥K1和K2同时发生。在另一个示例里,可以把分组存储在缓冲器里,接着在产生对称密钥K1和K2之后,将选择的散列函数应用于分组。
一旦产生了对称密钥K1和K2,并且移动设备102和智能卡阅读器104生成了散列结果H,移动设备102和智能卡阅读器104就各自从密钥K1、K2和散列结果H中产生相同的对称密钥K3。例如,可以用选择的散列函数把密钥K1、K2和散列结果H组合成K3。
然后,可以用对称密钥K3保护通过通信链接106的通信。
参考图3,图3是根据本发明的一些实施例的用于在两个设备之间建立秘密的示例方法的流程图。在步骤302,用户可以按下智能卡阅读器104的按钮112(图1)或其它适合的输入部件,在步骤304,这会引起在智能卡阅读器104的显示器110上显示短秘密S,例如,“15379258”。在步骤306,用户可以在移动设备102上打开适当的应用。引起在显示器110上显示短秘密S可以发生在移动设备102上打开适当的应用之前、之后或与之同时发生。
一旦在显示器110上显示了短秘密S,并且在移动设备上打开了适当的应用,用户就可以在步骤308用移动设备102的输入部件(例如,键盘114)将短秘密S拷贝到移动设备102上的适当应用中。如图1所示,用户输入了作为短秘密S的8数字口令的前三个数字。虽然本示例用数字值作为短秘密S,但是只要能在显示器110上显示并能用移动设备102的输入部件输入的任何类型的值都可以用。因为短秘密S较短,所以用户很容易把秘密拷贝到移动设备102上的应用中。但是,短秘密S太短,不适合用作可靠的对称密钥。把秘密拷贝到移动设备102上的应用可以使得移动设备102如通过通信链接106向智能卡阅读器104发送适当的消息(或只是一个分组),来在步骤310启动引导程序(图2的方框206的示例)。
为了保护短秘密S不被窥探,在步骤312,一旦智能卡阅读器104接收到移动设备102发送的要启动引导程序的消息或分组,智能卡阅读器104就可以清除显示器110。
智能卡阅读器104还可以实现超时设定,如果在步骤314检查到智能卡阅读器104在预定时间段之内没有接收到启动引导程序的消息或分组,智能卡阅读器104就可以清除显示器110,预定时间段从如在显示器110上首次显示短秘密S的时间开始计算。
一旦智能卡阅读器104清除了显示器110,智能卡阅读器104就可以可选地在显示器110上显示非机密(可能是随机的)值,因此,看显示器110的窥探者将不知道显示器110上的值是不是秘密。
参考图4,图4是从短秘密S产生对称密钥K1的示例方法的流程图。图4的方法根据授予Jablon的美国专利No.6,226,383中描述的基于简化口令的指数密钥交换(SPEKE)方法。所有SPEKE方法的变换都适用于从短秘密S产生对称密钥K1。
所述方法包括移动设备102要实现的部分400和智能卡阅读器104要实现的部分410。在步骤402,移动设备102拥有秘密S和一个选择的公钥算法。例如,如果选择的用于产生对称密钥K1的公钥算法是针对特定素数p的大素数阶次有限群上的DH,当把函数f应用于秘密S时,就产生所述群的发生器。美国专利No.6,226,383讨论了选择函数f时要考虑的因素。相似地,在步骤412,智能卡阅读器104拥有秘密S和选择的用于产生对称密钥K1的公钥算法。
在步骤404,移动设备102产生2到p-1范围内的随机数RA。然后在步骤406,移动设备102通过将发生器f(S)升高到在群之内的RA次方,产生短期的公钥P1,并向智能卡阅读器104发送公钥P1。在针对p的大素数阶次有限群上的DH的示例中,所述计算如下P1=f(S)RAmodp]]>相似地,在步骤414,智能卡阅读器104产生2到p-1范围内的随机数RB。然后在步骤416,智能卡阅读器104通过将发生器f(S)升高到在群之内的RB次方,产生短期的公钥P2,并向移动设备102发送公钥P2。在针对p的大素数阶次有限群上的DH的示例中,所述计算如下P2=f(S)RBmodp]]>在智能卡阅读器104产生随机数RB和产生公钥P2并将其发送给移动设备102这些步骤可以发生于在移动设备102产生随机数RA和产生公钥P1并将其发送给智能卡阅读器104这些步骤之前、之后或同时发生。
一旦移动设备102产生了随机数RA并接收到了公钥P2,在步骤408,移动设备102产生对称密钥K1。在针对p的大素数阶次有限群上的DH的示例中,如下计算所述对称密钥K1K1=P2RAmodp=f(S)RBRAmodp]]>一旦智能卡阅读器104产生了随机数RB并接收到了公钥P1,在步骤418,智能卡阅读器104产生对称密钥K1。在针对p的大素数阶次有限群上的DH的示例中,计算所述对称密钥K1如下K1=P1RBmodp=f(S)RARBmodp]]>因为群的元素上的运算是可交换的,所以所述两个计算(在移动设备102和智能卡阅读器104)产生相同的对称密钥。在移动设备102产生对称密钥K1可以发生于在智能卡阅读器104产生对称密钥K1之前、之后或同时发生。
参考图5,图5是产生对称密钥K2的示例方法的流程图。图5的方法根据众所周知的Diffie-Hellman指数密钥交换技术。
所述方法包括移动设备102要实现的部分500和智能卡阅读器104要实现的部分510。在步骤502,移动设备102拥有一个选择的公钥算法,所述算法可以与用于产生对称密钥K1的所选择的公钥算法相同,也可以不同。例如,如果用于产生对称密钥K1的所选择的公钥算法是针对特定素数p的大素数阶次有限群上的DH,移动设备102就拥有所述群的已知的、已发布的发生器T。相似地,在步骤512,智能卡阅读器104拥有用于产生对称密钥K2所选择的公钥算法。
在步骤504,移动设备102产生2到p-1范围内的随机数RC。然后在步骤506,移动设备102通过将发生器T升高到在群之内的RC次方,产生短期的公钥P3,并向智能卡阅读器104发送公钥P3。在针对p的大素数阶次有限群上的DH的示例中,所述计算如下P3=TRCmodp]]>相似地,在步骤514,智能卡阅读器104产生2到p-1范围内的随机数RD。然后在步骤516,智能卡阅读器104通过将发生器T升高到在群之内的RD次方,产生短期的公钥P4,并向移动设备102发送公钥P4。在针对p的大素数阶次有限群上的DH的示例中,所述计算如下P4=TRDmodp]]>在智能卡阅读器104产生随机数RD和产生公钥P4并将其发送给移动设备102这些步骤可以发生于在移动设备102产生随机数RC和产生公钥P3并将其发送给智能卡阅读器104这些步骤之前、之后或同时发生。
一旦移动设备102产生了随机数RC并接收到了公钥P4,在步骤508,移动设备102产生对称密钥K2。在针对p的大素数阶次有限群上的DH的示例中,计算所述对称密钥K2如下K2=P4RCmodp=TRDRCmodp]]>一旦智能卡阅读器104产生了随机数RD并接收到了公钥P3,在步骤518,智能卡阅读器104产生对称密钥K2。在针对p的大素数阶次有限群上的DH的示例中,计算所述对称密钥K2如下K2=P3RDmodp=TRCRDmodp]]>因为群的元素上的运算是可交换的,所以所述两个计算(在移动设备102和智能卡阅读器104)产生相同的对称密钥。在移动设备102产生对称密钥K2可以发生于在智能卡阅读器104产生对称密钥K2之前、之后或同时发生。
图6是根据本发明的一些实施例的系统100的方框图。为了清楚,移动设备102和智能卡阅读器104的一些部件没有在图6中示出,也没有在下面明显地描述。
移动设备102包括天线602,并且智能卡阅读器104包括天线622。天线602和622的示例举不胜举,包括偶极天线、单极天线、多层陶瓷天线、平面倒F天线、环路天线、发射(shot)天线、双向天线、全向天线和其它任何适合的天线。
移动设备102还包括耦合到天线602的通信接口604。智能卡阅读器104包括耦合到天线622的通信接口624。通信接口604和624可以兼容的标准的示例举不胜举,包括802.11a,b,g和n以及未来相关的标准,蓝牙标准,ZigbeeTM标准及类似。
移动设备102还包括耦合到通信接口604和键盘114的处理器606。移动设备102还包括可固定在移动设备102中或可从其中移走的存储器608。可以把存储器608耦合到处理器606,或部分地嵌入处理器606中。通信接口604和处理器606可以是同一集成电路的一部分或位于不同的集成电路中。相似地,处理器606和存储器608可以是同一集成电路的一部分或位于不同的集成电路中。
智能卡阅读器104还包括耦合到通信接口624、显示器110和按钮112的处理器626。智能卡阅读器104还包括可固定在智能卡阅读器104中或可从中移走的存储器628。可以把存储器628耦合到处理器626中,或部分地嵌入处理器626。通信接口624和处理器626可以是同一集成电路的一部分或位于不同的集成电路中。相似地,处理器626和存储器628可以是同一集成电路的一部分或位于不同的集成电路中。
处理器606和626的示例举不胜举,包括中央处理单元(CPU)、数字信号处理器(DSP)、精简指令集计算机(RISC)、复杂指令集计算机(CISC)及类似。此外,处理器606和626可以是专用集成电路(ASIC)的一部分或专用标准产品(ASSP)的一部分。
存储器608和628的示例举不胜举,包括下面的任何组合a)半导体器件,诸如寄存器、锁存器、只读存储器(ROM)、带掩膜的只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存、非易失性随机存储器(NVRAM)、同步动态随机存储器(SDRAM)、RAMBUS动态随机存储器(RDRAM)、双速率(DDR)存储器、静态随机存储器(SRAM)、通用串行总线(USB)可移动存储器及类似器件;b)光学器件,诸如光盘只读存储器(CD ROM)及类似器件;c)磁性器件,诸如硬盘,软盘,磁带及类似器件。
存储器608可以存储可执行代码609,当被处理器606执行时,所述代码609可以引起移动设备102实施图2、3、4和5的方法之一或组合的相关部分。
存储器628可以存储可执行代码629,当被处理器626执行时,所述代码629可以引起移动设备104实施图2、3、4和5的方法之一或组合的相关部分。
前面的解释采用移动设备102、智能卡阅读器104和无线通信链接106的示例。但是,本发明的实施例同样地可应用于任何两个设备(不一定是移动设备),其中两个设备之间的通信链接(不一定是无线)的安全性和/或可靠性可能令人不满意。相似地,本发明的其它实施例同样地可应用于任何两个设备(不一定是移动设备),其中需要与另一设备安全地交换显示在其中一个设备上的信息。
在这里演示并描述了本发明的一些特征,但对于本领域的普通技术人员,许多修改、替代、改变和等价方案会发生。所以,应当理解,附加的权利要求是为了包括落入权力要求范围之内的所有修改和改变。
权利要求
1.一种系统(100),包括能够耦合到已在其上存储了私人数据的安全设备(108)的第一设备(104),所述第一设备(104)包括显示机密值的显示器(110);第一通信接口(624);以及第二设备(102),包括输入部件(114),用于输入所述机密值;第二通信接(604),能够向所述第一设备(104)传送指示,指示在所述第二设备(102)处已经成功输入所述机密值;其中,所述第二设备(102)设置用于使用所述机密值来通过所述第一设备(104)安全地存取所述私人数据,以及其中,所述第一设备(104)设置用于在通过所述第一通信接口(624)接收到所述指示后,从所述显示器(110)清除所述机密值。
2.根据权利要求1所述的系统(100),其中,所述第一设备(104)被设置用于在从所述显示器(110)清除所述机密值之后,在所述显示器(110)上显示非机密值。
3.根据权利要求2所述的系统(100),其中所述非机密值是随机值。
4.根据权利要求1到3之一所述的系统(100),其中,所述第一设备(104)设置用于如果从在所述显示器(110)上首次显示所述机密值开始,已经过去了至少一个预定时间段,则从所述显示器(110)清除所述机密值。
5.一种第一设备(104),包括显示机密值的显示器(110);通信接口(624);处理器(626);以及存储可执行代码方法(629)的存储器(628),当所述处理器(626)执行所述代码方法(629)时,使得在通过所述通信接口(624)从所述第二设备(102)接收到表示在所述第二设备(102)处已经成功输入所述机密值的指示之后,从所述显示器(110)清除所述机密值,其中,所述第一设备(104)能够耦合到已在其上存储了私人数据的安全设备(108),并且能够使用所述机密值向所述第二设备(102)提供对所述私人数据的安全存取。
6.根据权利要求5所述的第一设备(104),其中,当所述处理器(626)执行所述可执行代码方法(629)时,使得在从所述显示器(110)清除所述机密值之后,还在所述显示器(110)上显示非机密值。
7.根据权利要求6所述的第一设备(104),其中所述非机密值是随机值。
8.根据权利要求5到7之一所述的第一设备(104),其中,当所述处理器(626)执行所述可执行代码方法(629)时,使得如果从所述显示器(110)上首次显示所述机密值开始,已经经过了至少一个预定时间段,则从所述显示器(110)清除所述机密值。
9.一种方法,包括以下步骤将第一设备(104)耦合到在其上已存储了私人数据的安全设备(108);为了能够与第二设备(102)交换所述机密值,在所述第一设备(104)的显示器(110)上显示机密值;在从所述第二设备(102)接收到表示在所述第二设备(102)处已经成功输入所述机密值的指示之后,从所述显示器(110)清除所述机密值;以及使用所述机密值来向所述第二设备(102)提供通过所述第一设备(104)的对私人数据的安全存取。
10.根据权利要求9所述的方法,还包括以下步骤在从所述显示器(110)清除所述机密值之后,在显示器(110)上显示非机密值。
11.根据权利要求9所述的方法,还包括以下步骤在从所述显示器(110)清除所述机密值之后,在显示器(110)上显示随机值。
12.一种计算机可读介质(628),包括可由权力要求5到8之一所述的设备(104)的处理器(626)执行的代码方法(629),用于使所述设备(104)的显示器(110)显示机密值,以及在从另一设备(102)接受到表示在所述另一设备(102)处已经成功输入所述机密值的指示之后,从所述显示器(110)清除所述机密值。
全文摘要
提供了一种第一设备(104),具有能够显示信息的显示器(110)。要与第二设备(102)交换所述信息。在从第二设备(102)接收到表示所述信息已经在第二设备(102)成功输入的指示之后,从显示器(110)清除信息。
文档编号G06F21/60GK1855809SQ200610074068
公开日2006年11月1日 申请日期2006年4月4日 优先权日2005年4月4日
发明者迈克尔·K·布朗, 赫伯特·利特尔, 迈克尔·S·布朗, 尼尔·亚当斯 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1