CN100383693C - 用于安全地交换对称密钥的系统和方法 - Google Patents

用于安全地交换对称密钥的系统和方法 Download PDF

Info

Publication number
CN100383693C
CN100383693C CNB038142139A CN03814213A CN100383693C CN 100383693 C CN100383693 C CN 100383693C CN B038142139 A CNB038142139 A CN B038142139A CN 03814213 A CN03814213 A CN 03814213A CN 100383693 C CN100383693 C CN 100383693C
Authority
CN
China
Prior art keywords
now
parts
peripherals
hashed value
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB038142139A
Other languages
English (en)
Other versions
CN1662867A (zh
Inventor
E·布里克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1662867A publication Critical patent/CN1662867A/zh
Application granted granted Critical
Publication of CN100383693C publication Critical patent/CN100383693C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Abstract

一种密钥交换协议可以在一个系统的部件之间被执行,诸如在被一台PC(或者其它计算机系统)执行的计算机程序和一个外围设备之间被执行。诸如键盘和鼠标的具有用户输入能力和十分有限的显示能力的外围设备,可以被用于确认在所述系统部件之间的密钥交换,这只需要用户输入少量输入数据(例如,键击或鼠标点击)。在没有对所述系统的可用性的负面影响的情况下,部件之间的安全性可以被增强。本发明的实施方案有助于阻止“中间人”攻击,其中一个攻击者控制位于某些通信系统部件之间的一个系统部件。

Description

用于安全地交换对称密钥的系统和方法
技术领域
本发明总地涉及计算机安全性,并且特别涉及在计算机部件之间建立共享加密密钥。
背景技术
一种诸如个人电脑(PC)、工作站、服务器、主机等等的计算机系统,可以包括多个不同的部件。所述系统的一些部件可以是被该系统用于与用户或者另一个系统通信的外围设备。例如,键盘和鼠标通常被用户用于把数据输入到系统中。显示器可以被用于给用户显示信息。网络接口设备可以被用于通过网络把所述计算机系统连接到其它计算机系统或者设备。
一些系统部件可以使用称作“即插即用”协议的协议被耦合到其它部件。例如,通过使用通用串行总线(USB),一个系统可以允许多个外围设备被连接到该系统。当一个新的外围设备被连接到该系统时,系统检测并且识别最近被增加的部件。这种方案一般依靠至少一个主机控制器设备(称为用于使用USB的系统的USB主机控制器)来控制和监控被连接的外围设备到所述系统的接入。
有时,可能希望不同的系统部件彼此安全地通信。在一些系统中,这可以通过使用众所周知的加密方法来完成。然而,当先于进行安全通信而在系统部件之间交换密钥时,可能会出现困难。通常,交换密钥的动作可能容易受到“中间人”攻击。换句话说,攻击者可以在两个通信部件之间插入一个未被授权的部件或程序,以便截取一个或多个被交换的密钥。攻击者还可能在所述部件之间的通信流中替换其它信息。
在使用USB主机控制器的系统中,攻击者在“中间人”攻击期间能够控制USB主机控制器并且使在所述系统中的外围设备和处理器之间的安全通信失效。
在一个基于证书的密钥交换协议中,每一方接收另一方公开密钥的证书。随后每一方核对另一方的证书。在这个情况中为系统部件使用这个协议将要求每个外围设备(或者其它系统部件)具有被存储在其上的唯一的公开/专用密钥对。这将增加外围设备的制造成本。此外,为确保证书未被废除,在所述协议被使用时,所述计算机系统将必须是“联机”状态并且通信地被耦合到另一台存储证书废除信息的网络计算机。这可能存在可用性问题。
在一个基于拇指指纹的密钥交换协议中,每一方产生一个公开/专用密钥对并且通过一个安全的信道(例如,“带外”信道)交换公开密钥的散列。在这个情况中,当使用这个协议用于外围设备发送它的公开密钥的散列到处理器时,没有技巧。如果所述处理器将导致它的公开密钥的完整散列显示,则用户可以用外围设备(诸如键盘)输入它,但是这至少将进行27次随机的键击(当使用称为安全散列算法(SHA-1)的众所周知的散列算法时)。此外,处理器将无法知道外围设备已经接收了正确的公开密钥(而不是“中间人”攻击者插入的非法公开密钥)。因此,如果有这种攻击,所述外围设备将知道用户输入的散列与外围设备从处理器接收的公开密钥的散列不匹配,但是处理器不知道这点。解决这个问题的传统方法
是为第二方(所述外围设备)产生一个公开密钥,发送它到第一方(所述处理器),并且随后让双方比较它们的散列。因为所述外围设备无法显示所述外围设备的散列,所以在这种情况下所述方法是行不通的。
因此,需要一种在系统部件之间交换密钥的更好的方法。
发明内容
一种在一个系统的第一个和第二个部件之间安全地交换对称密钥的方法,包括:通过所述第一个部件产生一个非对称密钥对、第一个现时、第二个现时以及第一个散列值,该散列值是根据所述第一个现时、第二个现时以及所述非对称密钥对的公开密钥产生的散列值;通过第一个部件发送第一个命令、所述第一个散列值、以及所述第一个部件的公开密钥到所述第二个部件;通过所述第二个部件产生所述对称密钥,使用所述第一个部部件的公开密钥加密所述对称密钥,并且响应于接收所述第一个命令,发送所述被加密的对称密钥到所述第一个部件;通过第一个部件导致所述第一个现时的显示;通过第二个部件接受被显示的第一个现时的输入;通过第二个部件产生第三个现时,用所述对称密钥加密所述第三个现时,并根据所述输入到第二个部件的第一个现时、所述第三个现时以及所述被加密的第三个现时产生第二个散列值,并且发送所述第二个散列值到第一个部件;通过第一个部件发送第二个现时到第二个部件;通过第二个部件检验根据所述输入到第二个部件的第一个现时、第二个现时以及第一个部件的公开密钥产生的散列值是否匹配于从第一个部件接收的第一个散列值;当所述散列值匹配时,通过第二个部件启动第二个信任指示器;以及当所述散列值不匹配时,通过第二个部件启动第三个信任指示器。
一种在处理器和外围设备之间安全地交换对称密钥的系统,包括:一个处理器,它被配置产生非对称密钥对、第一个现时、第二个现时以及第一个散列值,该散列值是根据所述第一个现时、所述第二个现时以及所述非对称密钥对的公开密钥产生的散列值,并且发送第一个命令、所述第一个散列值、以及所述处理器的公开密钥;一个外围设备,它被耦合到所述处理器并且被配置来接收第一个命令、第一个散列值、以及所述处理器的公开密钥,并产生一个对称密钥,使用所述处理器的公开密钥来加密所述对称密钥,并且响应于接收第一个命令,发送所述被加密的对称密钥到所述处理器;其中,所述处理器还被配置通过所述处理器导致显示第一个现时,并且所述外围设备还被配置接受所述被显示的第一个现时的输入,产生第三个现时,用所述对称密钥加密所述第三个现时,根据所述输入到外围设备的第一个现时、第三个现时以及被加密的第三个现时产生第二个散列值,并且发送所述第二个散列值到所述处理器;并且,其中,所述处理器还被配置发送第二个现时到外围设备;所述外围设备包括第二个信任指示器和第三个信任指示器,并且还被配置检验根据所述输入到外围设备的第一个现时、第二个现时以及处理器的公开密钥产生的散列值是否匹配于从处理器接收的第一个散列值,当所述散列值匹配时,启动第二个信任指示器;而当所述散列值不匹配时,启动第三个信任指示器。
附图说明
通过下列本发明附图的详细描述,本发明的特点和优点将变得显而易见,其中:
图1是一个根据本发明的一个实施方案的系统的示意图;
图2和3是根据本发明的一个实施方案表示在系统部件之间建立共享加密密钥的流程图;
图4和5是根据本发明的另一个实施方案表示在系统部件之间建立共享加密密钥的流程图;以及
图6是一个本发明的另一个实施方案的流程图。
具体实施方式
本发明的一个实施方案是一个密钥交换协议,它可以在一个系统的部件之间,诸如在正被PC(或其它计算机系统)的处理器执行的计算机程序和外围设备之间被执行。在本发明的实施方案中,诸如键盘或者鼠标的具有用户输入能力和十分有限的显示能力的外围设备,可以被用于确认在所述系统部件之间密钥的交换,这只需要用户输入少量输入数据(例如,键击或鼠标点击)。根据本发明,在没有对所述系统可用性的负面影响的情况下,部件之间的安全性可以被增强。本发明的实施方案不要求外围设备的任何唯一性,用户只需要输入几个输入数据,并且如果在所述密钥交换协议期间所述外围设备没有接收其它部件(诸如处理器)的正确公开密钥,则所述处理器可以检测这种情况。本发明的实施方案有助于阻止“中间人‘攻击,其中,攻击者控制位于某些通信系统部件之间的一个系统部件。
在说明书中提及本发明的“一个实施方案”或者“实施方案”意味着连同该实施方案被描述的特殊的特点、结构或特征被包括在本发明的至少一个实施方案中。因此,贯穿说明书的不同位置出现的短语“在一个实施方案中”不必全部指同一个实施方案。
图1是根据本发明的一个实施方案的系统的高级示意图。系统10包括诸如处理器12和存储器14的各种众所周知的部件。为了清楚,其它部件在图1中未被显示。使用一个桥接器/存储器控制器16,处理器12和存储器14可以被通信地耦合。所述桥接器/存储器控制器可以被耦合到图形控制器18。所述图形控制器在显示器20上控制显示数据的输出。在一个实施方案中,在所述处理器、图形控制器和显示器之间的通信包括一条受托信道,这样,对手或攻击者不能读取或修改在显示器上被显示的数据。桥接器/存储器控制器16可以被耦合到被表示为线22的一条或多条总线。一个通信地被耦合到一条或多条总线的设备可以是总线主机控制器24。当所述总线之一是通用串行总线(USB)时,所述总线主机控制器可以是一个USB主机控制器。
当使用一条USB时,多个设备可以被耦合到该总线。例如,诸如键盘26和鼠标28的用户输入设备可以被包括在所述系统中用于提供输入数据。虽然在图1中显示了键盘和鼠标,但是设想本发明也可以适合其它外围设备的使用。在本发明的实施方案中,被用于安全地与其它系统部件通信的输入设备包括至少一个信任指示器。例如,键盘26可以包括至少一个信任指示器30,并且鼠标28可以包括至少一个信任指示器32。在一个实施方案中,所述至少一个信任指示器包括多个彩色发光二极管(LED)。在一个实施方案中,具有三种明显的颜色(诸如琥珀色、绿色和红色)的LED可以被用于代表三种不同的状态。下面将解释说明不同的颜色和状态的操作意义。在其它的实施方案中,指示外围设备当前状态的其它方法可以被用来代替彩色LED,诸如在一个液晶显示器(LCD)上的多可闻音、符号,或者其它明显的指示器。
在本发明的实施方案中,外围设备(例如,键盘和/或鼠标)不必根据预置的唯一的密钥或数值被制造。然而,根据本发明的实施方案的外围设备必须包括用于不对称密码术、对称密码术和散列函数的能力。具有随机数发生器和非易失性存储器的外围设备增强了用户的经验,但不是必要的。
在图1的高级示意图中被描述的系统中,可能希望在正被所述处理器执行的程序和诸如键盘26的外围设备之间的通信是安全的。用于这种安全通信的一种机制是通过使用已知的对称密码方法来加密和解密在所述部件之间被通信的数据。在这种通信开始之前,一个对称密钥必须在所述部件之间被交换。如图1中所示,在所述外围设备和处理器之间的通信路径包括所述总线主机控制器。然而,作为“中间人”攻击的一部分,攻击者可以控制所述总线主机控制器,并且可能随后能够读取和/或修改总线业务量。所述攻击者在所述总线上传输期间能够读取对称密钥并且解密在所述总线上的后来的业务量。
非对称公开密钥密码术可以被用于在所述交换期间保护所述对称密钥。第一个部件可以使用第二个部件的公开密钥来加密一个对称密钥并且发送所述被加密的对称密钥到第二个部件。第二个部件随后能够使用第二个部件的专用密钥来解密被加密的对称密钥。为了以这种方法使用非对称密钥以便在所述对称密钥传输上消除可能的攻击,最初,第二个部件(例如,处理器)的公开密钥必须被安全地传输到第一个部件(例如,外围设备)。如果所述公开密钥在这个通信路径上使用典型的方法被传输,则攻击者在没有被检测的情况下可以用一个非法的公开密钥来截取和代替所述公开密钥。为阻止这种行为,本发明实施方案的密钥交换协议可以被用于最初在所述部件之间建立安全通信。
图2和3是根据本发明的一个实施方案表示在系统部件之间建立共享加密密钥的流程图。在所示的实施方案中,讨论了在处理器12和外围设备(诸如键盘26或鼠标28)之间的通信,不过,这种方法可以被应用于在其它系统部件之间的通信。在框100,所述处理器根据已知的非对称密码术技术产生一个专用/公开密钥对。注意,在此属于所述处理器的动作可以通过被所述处理器执行的计算机程序被实现。而且,属于所述外围设备的动作可以通过驻留在所述外围设备中的电路、固件和/或软件的任何组合被实现。所述处理器把所述密钥对存储在存储器中用于稍后使用。在框102,所述处理器产生一个短现时(nonce)(SN)和一个长现时(LN)。一个现时可以是一个由随机数发生器随机产生的比特序列。在一个实施方案中,所述短现时可以包括四个或更多的字符,每个字符包括至少六个比特。当所述外围设备是一个键盘时,每个字符可以代表键盘上的任何键。在其它的实施方案中,其它数量的比特可以被用于所述短现时。在一个实施方案中,所述长现时可以包括随机被产生的160个比特。在其它的实施方案中,其它数量随机被产生的比特可以被用于所述长现时。在框104,所述处理器通过应用一种散列算法,使用所述短现时、长现时以及在框100中被产生的公开密钥产生第一个散列值作为输入信号。在一个实施方案中,SHA-1散列算法可以被使用,不过,在其它的实施方案中,其它的散列算法也可以被使用(例如,MD5、等等)。
在框106,所述处理器发送第一个命令、第一个散列值和所述处理器的公开密钥到所述外围设备。这个数据可以在一个或多个单独的传送中被发送到所述外围设备。假定对手能够选择防止这些数据传送到所述外围设备,或者修改它们。在此被描述的剩余的动作通常假定所述数据传送发生(尽管它们可能被攻击者修改)。在一个实施方案中,所述第一个命令可以被称为“重置学习”命令。所述外围设备(诸如键盘26或鼠标28)收到这个命令,使所述外围设备进入一种“学习”模式并且激活驻留在所述外围设备中的信任指示器30的一部分。对于所述系统用户,所述信任指示器充当所述外围设备处于“学习”模式的明显的符号。
在一个实施方案中,所述信任指示器可以是一个彩色LED。被选择的LED颜色(诸如琥珀色LED)可以被照亮以便指示用户所述外围设备现在处于“学习”模式或状态。在所述“学习”模式中,所述外围设备执行在此被描述的密钥交换协议,并且除了在剩余的协议中指出的之外,直到所述协议被完成,不转发任何由用户输入的输入数据到总线主机控制器24。注意,所述外围设备包括软件、固件和/或电路用于接收第一个命令、解释该命令并且启动信任指示器用于用户感知。
在框108,响应于接收“重置学习”命令,所述外围设备产生一个对称密钥(被用作用于随后通信的会话密钥),使用所述处理器的公开密钥(在框106中被接收的)加密所述对称密钥,并且发送被加密的对称密钥到所述处理器。所述对称密钥的产生可能在所述外围设备中需要一个随机数发生器。在这个框期间,可以有一个通过控制所述总线主机控制器作为一个“中间人”来操作的攻击者。假定,该攻击者能够选择防止所述被加密的对称密钥的数据传送到所述处理器,或者修改它。剩余动作假定所述数据传送发生(尽管它可能被修改)。在一个实施方案中,所述对称密钥可以是一个具有128个比特的高级加密标准(AES)密钥,不过其它不同类型和长度的对称密钥也可以被使用。
在框110,一旦所述处理器接收了被加密的对称密钥,则处理器12导致在显示器20上使用一些形式的受托输出显示所述短现时和可能的指令。在框112,用户看到所述短现时和被启动的信任指示器的显示。例如,在显示器上的正文可以指示用户被启动的信任指示器的意义以及根据被显示的短现时做什么。此时,所述信任指示器仍然为所述外围设备指示“学习”模式或状态。根据所述短现时和被启动的信任指示器的显示,用户使用所述外围设备输入所述短现时。例如,用户可以注意琥珀色LED被照亮,并且按照显示器上的指令输入所述短现时。当所述外围设备是一个键盘时,用户键入所述短现时。当所述外围设备是一个鼠标时,用户可以按照方向操作鼠标指向显示屏的某些区域和/或以符合于所述短现时的顺序按压一次或多次鼠标按钮。本领域的技术人员将认识到其它的输入机制也可以被使用。因为所述外围设备是在“学习”模式中,所以它不转发用户的输入数据到所述总线主机控制器。
在框114,所述外围设备产生一个外围设备现时(PN)并且用所述对称密钥加密所述外围设备现时来构成加密(PN)。所述外围设备现时可以是任何随机被产生的值。这可以在所述外围设备中通过随机数发生器被完成,或者它可以通过要求用户输入随机的键击(当所述外围设备是一个键盘时)一小段时间被完成。对于鼠标,随机数可以通过要求用户移动一会儿鼠标并且捕获关于鼠标移动的输入数据被产生。在图3上的框116,处理会通过连接器A而继续。在框116,所述外围设备通过应用一种散列算法,使用所述短现时(在框112被从用户接收的)、外围设备现时、和加密(PN)来产生第二个散列值作为输入参数。在一个实施方案中,SHA-1散列算法可以被使用。在框118,所述外围设备发送第二个散列值到所述处理器。注意,在消除这个方案的努力中,攻击者(例如,所述“中间人”)将必须在看到所述短现时之前提交所述第二个散列值。
下一步,在框120,处理器在接收第二个散列值之后发送所述长现时到外围设备。在各种实施方案中,框114和120的实现可以按所示的顺序或者相反的顺序被执行。此时,所述外围设备已经从处理器接收了长现时和处理器的公开密钥,并且从用户接收了短现时。在框122,所述外围设备检验所述短现时、长现时以及处理器公开密钥的散列是否匹配于被所述处理器发送到外围设备的第一个散列值(在框106)。相同的散列算法必须被使用。例如,如果SHA-1散列算法在框104被使用,则随后SHA-1散列算法必须在框122被使用。
如果从所述处理器被接收的第一个散列值等于所述外围设备计算的散列值,则随后所述外围设备被保证所述外围设备实际上接收了所述处理器的合法公开密钥。当所述散列值匹配时,在框124,所述外围设备启动信任指示器来指示第二种模式或状态(例如,“OK”状态)。例如,所述外围设备可以照亮一个绿色LED,指示用户处理正在以一种被授权的方式进行并且来自所述设备的输入可以被信任。如果所述散列值不匹配,则随后所述外围设备知道它没有从所述处理器接收可信的公开密钥。在框124,所述外围设备随后可以启动所述信任指示器来指示第三种模式或状态(例如,错误状态)。例如,所述外围设备可以照亮一个红色LED,指示用户一些未被授权的活动已经发生并且在系统部件之间的通信是不安全的。在其中只有两种颜色的LED被使用的另一个实施方案中,当一个错误被检测到时,可以使琥珀色灯闪亮。错误处理操作随后可以在所述系统中被启动。
此时,所述外围设备知道它是否已经从所述处理器接收了可信的公开密钥,但是处理器不知道外围设备是否接收了正确的密钥。因此,在框126,外围设备发送在框114被产生的所述外围设备现时到处理器。在框128,所述处理器计算在框102被产生的短现时、在框126被从所述外围设备接收的外围设备现时以及加密(PN)(由所述处理器通过用所述对称密钥加密所述外围设备现时被建立,通过使用所述处理器的专用密钥解密在框108被接收的被加密的对称密钥,所述处理器可以得到所述对称密钥)的散列值。如果在框106中SHA-1散列算法被使用,则随后所述处理器在框128中使用SHA-1算法。所述处理器把被计算的散列值和在框118被从所述外围设备接收的第二个散列值比较。如果所述散列值匹配,则随后处理器知道外围设备接收了所述处理器的公开密钥并且进而安全通信被启动。在一个实施方案中,所述处理器可以在显示器上显示一个密钥交换完成消息以便通知用户安全通信现在被启动。如果所述散列值不匹配,则错误处理可以被启动和/或安全通信被禁止。例如,所述处理器可以拒绝从所述外围设备接受任何受托输入数据。此外,一个警告消息可以被输出到显示器,通知用户来自所述外围设备的输入不能被信任。
如果所述外围设备包括一个非易失性存储器,则上述方法只需要被执行一次,并且随后所述对称密钥可以被永久地存储在所述外围设备中以及所述处理器可接入的存储器中。在一个实施方案中,所述对称密钥可以被用于加密和解密后来在系统部件之间的通信。在另一个实施方案中,所述对称密钥可以被用于加密新的会话密钥,它们随后被用于实际被加密的在所述外围设备和处理器之间的通信。在会话密钥已经被产生之后,所述外围设备可以建立一个专用/公开密钥对,用所述对称密钥加密所述公开密钥和一个机器鉴别码(MAC),并且发送所述被加密的公开密钥和MAC到处理器。随后,如果所述外围设备包括一个非易失性存储器,则所述外围设备的专用密钥可以被永久地存储在所述外围设备中,并且所述外围设备的公开密钥可以被存储在所述处理器可接入的存储器中。
虽然在此已经描述了一个特殊的动作顺序,但是在各种实施方案中,不同的动作可以被以不同的顺序执行来达到相同的结果。
在其它实施方案中,可以对上述协议进行各种改变。例如,在框104的动作和在框122中的检验在框108之后可以被一个新框代替,其中,所述处理器使用被接收的对称密钥产生所述短现时、长现时以及所述长现时的加密的散列值,并且在框122中的检验将是根据这个被修订的散列值的检验。在这个实施方案中,被所述处理器和外围设备执行的检验可以是相同的。
当所述外围设备是一个鼠标时,困难可能跟着而来。因为由所述处理器产生的短现时和由用户使用鼠标输入的现时可能不完全相同,这是因为鼠标在按钮的范围内,而不是一个确切的位置被点击,在框122处理器可以连同长现时一起发送它的短现时的版本,并且在框126鼠标可以发送它的短现时版本到所述处理器,并且每一步将检验它们是结束的。
假定被使用的散列算法是可信赖的,攻击者在攻击本方法中能够采用的最佳方法是尽力猜测所述短现时。当使用SHA-1散列算法时,战胜本方法的机会是2^(6*v)分之一,其中v是短现时中的字符数,并且假定每个字符有6个比特。因此,当在所述短现时中只有4个字符被使用时,战胜本方法的机会是1600万分之一。使用四个字符作为短现时为本发明提供了好的安全性,而且需要用户把很少的字符数输入到系统中,这样在可用性上有很小的影响。
在另一个实施方案中,交换对称密钥的方法可以根据众所周知的迪非-海尔曼(Diffie-Hellman)方法。根据迪非-海尔曼方法,所述对称密钥根据在所述协议期间被发送的消息被产生。在迪非-海尔曼方法被用于产生共享对称密钥之后,所述处理器和外围设备将确定它们具有相同的对称密钥。图4和5说明这个实施方案。
在图4中所示的协议中,在框208,所述处理器构成对所述短现时、长现时和共享对称密钥的提交,其中,在外围设备已经接收了被散列值之后,处理器不能改变这些值,因此所述处理器已经“提交”这些值。通过公开在所述提交中的秘密信息,处理器对外围设备开放所述提交。因为外围设备已经具有所述共享对称密钥,所述外围设备只需要获得所述短现时和长现时的值。通过不能被任何对手观察的安全方法这个步骤的一部分可以被进行。这在框210和212进行。所述长现时在框220被揭示。这使外围设备确定所述处理器具有相同的对称密钥。相反地,在所述处理器已经完全开放处理器的值之前所述外围设备能够提交一个值。这在框214、216、218被进行。如在框226中所示,所述外围设备随后开放这个提交。这使处理器确定所述外围设备具有相同的对称密钥。
这个更普通协议的一个实施方案在图6中被描述。在框300,通过一个诸如迪非-海尔曼密钥交换的过程或者使用一种公开密钥加密算法,所述第一个部件和第二个部件交换一个共享秘密(例如,一个对称密钥)。在框302,第一个部件给第二个部件提交第一个值,诸如在框202、206和208中被描述的机制。在框304,所述部件通过诸如在框204的机制安全地交换一个共享秘密。在框308,第一个部件通过诸如在框210、212和220中的机制公开所述第一个值。在框310,第二个部件通过诸如在框222中的机制核对第一个部件的提交的正确性。这个实施方案也可以包括所述第二个部件的相反的提交和公开。在框306中,第二个部件通过诸如在框214、216和218中被使用的机制提交第二个值。注意,如果这个相反的提交被使用,则它对于第二个提交在所述第一个部件已经揭示它的提交之前出现是重要的。在框312中,第二个部件通过诸如在框226中被使用的机制公开第二个值。在框314,第一个部件通过诸如在框228中被描述的机制核对所述提交和所述提交的公开的正确性。
如上面描述的,本发明的实施方案在一个处理器和一个外围设备之间建立了一个共享加密密钥,即使其中有一个攻击者控制所述总线主机控制器。所述密钥交换协议具有一个优点,即,在所述外围设备上它不要求任何唯一性,用户只需要输入几个输入选择(例如,键击),并且如果所述外围设备未接收正确的处理器公开密钥,则处理器将知道该结果。
在此被描述的技术未被限于任何特殊的硬件或软件配置;它们可以在任何计算或处理环境中发现适用性。该技术可以在硬件、软件或两者的组合中被实现。所述技术可以在诸如移动或固定计算机、便携计算机、个人数字助理、机顶盒、蜂窝电话和寻呼机、以及其它电子设备的可编程机器上执行的程序中被实现,每个机器包括一个处理器、一个所述处理器可以读取的存储媒体(包括易失性和非易失性存储器和/或存储单元)、至少一个输入设备、以及一个或多个输出设备。程序代码被应用于使用所述输入设备输入的数据以便执行所描述的功能并且产生输出信息。所述输出信息可以被应用于一个或多个输出设备。本领域的普通技术人员之一可以理解本发明可以用包括多处理机系统、小型计算机、主计算机等等的各种计算机系统配置被实践。本发明也可以在分布式计算环境中被实践,在所述环境中,任务可以用通过通信网络被链接的远程处理设备被执行。
每个程序可以在一个高级过程或面向对象程序设计语言中被实现以便与处理系统通信。然而,如果希望,程序也可以在汇编或机器语言中被实现。总之,所述语言可以被编译或者解释。
程序指令可以被用于促使根据所述指令被编程的一个通用或专用处理系统执行在此被描述的操作。可替代地,所述操作可以通过包括用于执行所述操作的硬布线逻辑的特定硬件部件被执行,或者通过被编程的计算机部件和定制的硬件部件的任何组合被执行。在此被描述的方法可以被提供作为一种计算机程序产品,它可以包括具有被存储在其上的指令的机器可读取的媒体,这些指令可以被用于编程处理系统或者其它电子设备以便执行该方法。在此被使用的术语“机器可读取的媒体”应该包括能够存储或编码用于被所述机器执行的一系列指令并且导致所述机器执行在此波描述的任何一个方法的任何媒体。术语“机器可访问的媒体”因此包括,但是不限于,固态存储器、光和磁盘、以及编码一个数据信号的载体。而且,在现有技术中,用采用一个动作或者导致一个结果的种种形式(例如,程序、过程、进理、应用、模块、逻辑等等)谈到软件是常见的。这些表达式仅仅是陈述处理系统导致处理器执行产生一个结果的动作的软件执行的简略方式。
尽管已经参考说明性实施方案描述了本发明,但是这种描述并非限制性的。所述实施方案的各种修改,以及本发明的其它实施方案,对于本发明所属本领域的技术人员是显而易见的,它们属于本发明的精神和范围。

Claims (15)

1.一种在一个系统的第一个和第二个部件之间安全地交换对称密钥的方法,包括:
通过所述第一个部件产生一个非对称密钥对、第一个现时、第二个现时以及第一个散列值,该散列值是根据所述第一个现时、第二个现时以及所述非对称密钥对的公开密钥产生的散列值;
通过第一个部件发送第一个命令、所述第一个散列值、以及所述第一个部件的公开密钥到所述第二个部件;
通过所述第二个部件产生所述对称密钥,使用所述第一个部件的公开密钥加密所述对称密钥,并且响应于接收所述第一个命令,发送所述被加密的对称密钥到所述第一个部件;
通过第一个部件导致所述第一个现时的显示;
通过第二个部件接受被显示的第一个现时的输入;
通过第二个部件产生第三个现时,用所述对称密钥加密所述第三个现时,并根据所述输入到第二个部件的第一个现时、所述第三个现时以及所述被加密的第三个现时产生第二个散列值,并且发送所述第二个散列值到第一个部件;
通过第一个部件发送第二个现时到第二个部件;
通过第二个部件检验根据所述输入到第二个部件的第一个现时、第二个现时以及第一个部件的公开密钥产生的散列值是否匹配于从第一个部件接收的第一个散列值;
当所述散列值匹配时,通过第二个部件启动第二个信任指示器;以及
当所述散列值不匹配时,通过第二个部件启动第三个信任指示器。
2.如权利要求1中所述的方法,还包括:
通过第二个部件发送所述第三个现时到第一个部件;以及
通过第一个部件检验根据第一个现时、第三个现时以及被加密的第三个现时产生的散列值是否匹配于从第二个部件接收的第二个散列值。
3.如权利要求1中所述的方法,其中,所述第二个部件包括一个键盘,所述第一个现时包括随机被产生的第一个数量的字符,该字符代表所述键盘上的键。
4.如权利要求1中所述的方法,其中,所述第二个现时包括预先确定数量的随机被产生的比特。
5.如权利要求1中所述的方法,其中,所述第一个命令包括一个“重置学习”命令,以便使第二个部件进入一种“学习”模式,由此,当第二个部件处于“学习”模式中时,被第二个部件接收的输入数据不被转发到第一个部件。
6.如权利要求1中所述的方法,还包括在接收所述第一个命令之后,在第二个部件上启动第一个信任指示器。
7.如权利要求2中所述的方法,还包括第一个部件显示一个消息,它指示当根据第一个现时、第三个现时以及被加密的第三个现时产生的散列值匹配于从第二个部件接收的第二个散列值时,在所述第一个和第二个部件之间启用安全通信。
8.如权利要求2中所述的方法,还包括第一个部件显示一个消息,它指示当根据第一个现时、第三个现时以及被加密的第三个现时产生的散列值不匹配于从第二个部件接收的第二个散列值时,在所述第一个和第二个部件之间的安全通信被禁止。
9.一种在处理器和外围设备之间安全地交换对称密钥的系统,包括:
一个处理器,它被配置产生非对称密钥对、第一个现时、第二个现时以及第一个散列值,该散列值是根据所述第一个现时、所述第二个现时以及所述非对称密钥对的公开密钥产生的散列值,并且发送第一个命令、所述第一个散列值、以及所述处理器的公开密钥;
一个外围设备,它被耦合到所述处理器并且被配置来接收第一个命令、第一个散列值、以及所述处理器的公开密钥,并产生一个对称密钥,使用所述处理器的公开密钥来加密所述对称密钥,并且响应于接收第一个命令,发送所述被加密的对称密钥到所述处理器;
其中,所述处理器还被配置通过所述处理器导致显示第一个现时,并且所述外围设备还被配置接受所述被显示的第一个现时的输入,产生第三个现时,用所述对称密钥加密所述第三个现时,根据所述输入到外围设备的第一个现时、第三个现时以及被加密的第三个现时产生第二个散列值,并且发送所述第二个散列值到所述处理器;并且
其中,所述处理器还被配置发送第二个现时到外围设备;所述外围设备包括第二个信任指示器和第三个信任指示器,并且还被配置检验根据所述输入到外围设备的第一个现时、第二个现时以及处理器的公开密钥产生的散列值是否匹配于从处理器接收的第一个散列值,当所述散列值匹配时,启动第二个信任指示器;而当所述散列值不匹配时,启动第三个信任指示器。
10.如权利要求9中所述的系统,其中,所述外围设备还被配置发送第三个现时到所述处理器;所述处理器还被配置检验根据第一个现时、第三个现时以及被加密的第三个现时产生的散列值是否匹配于从外围设备接收的第二个散列值。
11.如权利要求9中所述的系统,其中,所述外围设备包括第一个信任指示器并且还被配置在接收第一个命令之后启动所述第一个信任指示器。
12.如权利要求10中所述的系统,其中,所述外围设备包括一个键盘,所述信任指示器包括彩色发光二极管。
13.如权利要求10中所述的系统,其中,所述外围设备包括一个键盘,所述第一个现时包括随机被产生的第一个数量的字符,该字符代表所述键盘上的键。
14.如权利要求10中所述的系统,其中,所述外围设备包括一个键盘,所述信任指示器包括可闻音。
15.如权利要求10中所述的系统,其中,所述外围设备还包括一个非易失性存储器用于存储所述对称密钥。
CNB038142139A 2002-06-18 2003-05-15 用于安全地交换对称密钥的系统和方法 Expired - Fee Related CN100383693C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/177,626 2002-06-18
US10/177,626 US7142674B2 (en) 2002-06-18 2002-06-18 Method of confirming a secure key exchange

Publications (2)

Publication Number Publication Date
CN1662867A CN1662867A (zh) 2005-08-31
CN100383693C true CN100383693C (zh) 2008-04-23

Family

ID=29734450

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038142139A Expired - Fee Related CN100383693C (zh) 2002-06-18 2003-05-15 用于安全地交换对称密钥的系统和方法

Country Status (6)

Country Link
US (2) US7142674B2 (zh)
EP (1) EP1514164A2 (zh)
CN (1) CN100383693C (zh)
AU (1) AU2003229298A1 (zh)
TW (1) TWI249315B (zh)
WO (1) WO2003107151A2 (zh)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180051B1 (en) * 2002-10-07 2012-05-15 Cisco Technology, Inc Methods and apparatus for securing communications of a user operated device
US20050076217A1 (en) * 2003-10-03 2005-04-07 Lord Christopher J. Integrating a device into a secure network
US8495361B2 (en) * 2003-12-31 2013-07-23 International Business Machines Corporation Securely creating an endorsement certificate in an insecure environment
US7751568B2 (en) * 2003-12-31 2010-07-06 International Business Machines Corporation Method for securely creating an endorsement certificate utilizing signing key pairs
US7644278B2 (en) * 2003-12-31 2010-01-05 International Business Machines Corporation Method for securely creating an endorsement certificate in an insecure environment
CN100347625C (zh) * 2004-02-27 2007-11-07 英业达股份有限公司 一种具密码控制的鼠标及利用其鼠标控制计算机的方法
KR101192875B1 (ko) * 2004-05-19 2012-10-18 프랑스 뗄레꽁 리스트 서명을 생성하기 위한 방법과 시스템
US7606370B2 (en) * 2005-04-05 2009-10-20 Mcafee, Inc. System, method and computer program product for updating security criteria in wireless networks
US7761710B2 (en) * 2005-04-05 2010-07-20 Mcafee, Inc. Captive portal system and method for use in peer-to-peer networks
US7757274B2 (en) * 2005-04-05 2010-07-13 Mcafee, Inc. Methods and systems for exchanging security information via peer-to-peer wireless networks
US7822972B2 (en) * 2005-04-05 2010-10-26 Mcafee, Inc. Remotely configurable bridge system and method for use in secure wireless networks
JP2006339847A (ja) * 2005-05-31 2006-12-14 Brother Ind Ltd ネットワーク通信システム、通信装置及びプログラム
US7783041B2 (en) * 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
US20070136609A1 (en) * 2005-12-13 2007-06-14 Rudelic John C Methods and apparatus for providing a secure channel associated with a flash device
US20070220134A1 (en) * 2006-03-15 2007-09-20 Microsoft Corporation Endpoint Verification Using Call Signs
US8005223B2 (en) * 2006-05-12 2011-08-23 Research In Motion Limited System and method for exchanging encryption keys between a mobile device and a peripheral device
US8025105B2 (en) * 2006-08-07 2011-09-27 Weatherford/Lamb, Inc. Downhole tool retrieval and setting system
US20080095361A1 (en) * 2006-10-19 2008-04-24 Telefonaktiebolaget L M Ericsson (Publ) Security-Enhanced Key Exchange
US8688986B2 (en) * 2006-12-27 2014-04-01 Intel Corporation Method for exchanging strong encryption keys between devices using alternate input methods in wireless personal area networks (WPAN)
US8345871B2 (en) * 2007-03-15 2013-01-01 Palo Alto Research Center Incorporated Fast authentication over slow channels
US8539233B2 (en) * 2007-05-24 2013-09-17 Microsoft Corporation Binding content licenses to portable storage devices
CN101175076B (zh) * 2007-10-23 2012-01-11 赵运磊 在线计算高效、可抵赖、不可锻造安全的密钥交换方法
DE102008042180B4 (de) * 2008-09-17 2010-09-23 Zf Friedrichshafen Ag Verfahren und System zur sicheren Übertragung von Daten
KR101255987B1 (ko) * 2008-12-22 2013-04-17 한국전자통신연구원 Dcas 시스템의 sm과 tp간의 페어링 방법, 이를 이용한 셋탑박스 및 인증장치
TWI391824B (zh) * 2009-12-18 2013-04-01 Feeling Technology Corp Drive the connection system
KR20110090602A (ko) * 2010-02-04 2011-08-10 삼성전자주식회사 인증서버 없이 공개키를 인증하는 방법 및 장치
EP2697949B1 (en) * 2011-04-15 2023-01-18 Nokia Technologies Oy Method and apparatus for providing secret delegation
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
US8914629B2 (en) 2012-01-30 2014-12-16 The Nielsen Company (Us), Llc Intercepting encrypted network traffic for internet usage monitoring
US9323950B2 (en) * 2012-07-19 2016-04-26 Atmel Corporation Generating signatures using a secure device
CN103916851B (zh) * 2013-01-06 2017-08-18 华为终端有限公司 一种安全认证的方法、设备及系统
US9118467B2 (en) 2013-03-13 2015-08-25 Atmel Corporation Generating keys using secure hardware
CN105814859B (zh) 2013-12-31 2019-04-19 华为终端(东莞)有限公司 一种网络配置方法、相关装置及系统
US9641400B2 (en) 2014-11-21 2017-05-02 Afero, Inc. Internet of things device for registering user selections
US10291595B2 (en) 2014-12-18 2019-05-14 Afero, Inc. System and method for securely connecting network devices
US20160180100A1 (en) 2014-12-18 2016-06-23 Joe Britt System and method for securely connecting network devices using optical labels
US9832173B2 (en) 2014-12-18 2017-11-28 Afero, Inc. System and method for securely connecting network devices
US9704318B2 (en) 2015-03-30 2017-07-11 Afero, Inc. System and method for accurately sensing user location in an IoT system
US10045150B2 (en) 2015-03-30 2018-08-07 Afero, Inc. System and method for accurately sensing user location in an IoT system
US9717012B2 (en) 2015-06-01 2017-07-25 Afero, Inc. Internet of things (IOT) automotive device, system, and method
US11042488B2 (en) 2015-06-01 2021-06-22 Cryptography Research, Inc. Diversifying a base symmetric key based on a public key
US9786108B2 (en) * 2015-06-03 2017-10-10 Nxp B.V. NFC based secure car key
US9729528B2 (en) * 2015-07-03 2017-08-08 Afero, Inc. Apparatus and method for establishing secure communication channels in an internet of things (IOT) system
US9699814B2 (en) 2015-07-03 2017-07-04 Afero, Inc. Apparatus and method for establishing secure communication channels in an internet of things (IoT) system
US10015766B2 (en) 2015-07-14 2018-07-03 Afero, Inc. Apparatus and method for securely tracking event attendees using IOT devices
US9793937B2 (en) 2015-10-30 2017-10-17 Afero, Inc. Apparatus and method for filtering wireless signals
US10178530B2 (en) 2015-12-14 2019-01-08 Afero, Inc. System and method for performing asset and crowd tracking in an IoT system
US10523437B2 (en) * 2016-01-27 2019-12-31 Lg Electronics Inc. System and method for authentication of things
US10474823B2 (en) 2016-02-16 2019-11-12 Atmel Corporation Controlled secure code authentication
US10482255B2 (en) 2016-02-16 2019-11-19 Atmel Corporation Controlled secure code authentication
US10616197B2 (en) 2016-04-18 2020-04-07 Atmel Corporation Message authentication with secure code verification
US11190344B2 (en) 2017-01-25 2021-11-30 Salesforce.Com, Inc. Secure user authentication based on multiple asymmetric cryptography key pairs
US10356088B1 (en) * 2017-01-25 2019-07-16 Salesforce.Com, Inc. User authentication based on multiple asymmetric cryptography key pairs
US10867055B2 (en) * 2017-12-28 2020-12-15 Corlina, Inc. System and method for monitoring the trustworthiness of a networked system
US11509636B2 (en) 2018-01-30 2022-11-22 Corlina, Inc. User and device onboarding
US11070366B2 (en) * 2018-05-08 2021-07-20 Nec Corporation Dynamic anonymous password-authenticated key exchange (APAKE)
US11146540B2 (en) * 2018-05-09 2021-10-12 Datalogic Ip Tech S.R.L. Systems and methods for public key exchange employing a peer-to-peer protocol
WO2020220034A1 (en) * 2019-04-26 2020-10-29 Csub Auxiliary For Sponsored Programs Administration Reconfigurable security hardware and methods for internet of things (iot) systems
EP3955516A3 (en) * 2021-03-31 2022-03-09 CyberArk Software Ltd. Identity-based security layer for peripheral computing devices
US11245517B1 (en) 2021-03-31 2022-02-08 Cyberark Software Ltd. Identity-based security layer for peripheral computing devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422757A2 (en) * 1989-10-13 1991-04-17 Addison M. Fischer Public/key date-time notary facility
CN1186580A (zh) * 1995-04-13 1998-07-01 西门子公司 在用户计算机设备u和网络计算机设备n之间计算机辅助交换密钥的方法
EP0869636A2 (en) * 1997-04-02 1998-10-07 Arcanvs Method and apparatus for managing key revocation
EP0892521A2 (en) * 1997-07-15 1999-01-20 Hewlett-Packard Company Method and apparatus for long term verification of digital signatures

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3669532A (en) * 1970-03-23 1972-06-13 Bell & Howell Co Projector control apparatus
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) * 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) * 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601525B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601535B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) * 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) * 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) * 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5551033A (en) * 1991-05-17 1996-08-27 Zenith Data Systems Corporation Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
US5241599A (en) * 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) * 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) * 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
JP2883243B2 (ja) 1992-06-11 1999-04-19 ケイディディ株式会社 相手認証/暗号鍵配送方式
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) * 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) * 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) * 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5440635A (en) 1993-08-23 1995-08-08 At&T Corp. Cryptographic protocol for remote authentication
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
FR2717286B1 (fr) * 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5903752A (en) * 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US5606617A (en) * 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) * 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) * 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
FR2731536B1 (fr) * 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
US5717903A (en) * 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP3693721B2 (ja) * 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) * 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US6175925B1 (en) * 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
US6178509B1 (en) * 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US6205550B1 (en) * 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US6055637A (en) * 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6412035B1 (en) * 1997-02-03 2002-06-25 Real Time, Inc. Apparatus and method for decreasing the response times of interrupt service routines
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6044478A (en) * 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US6212635B1 (en) * 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
DE19735948C1 (de) * 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung
US6182089B1 (en) * 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US6357004B1 (en) * 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6192455B1 (en) * 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6374286B1 (en) * 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6173417B1 (en) * 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6173400B1 (en) * 1998-07-31 2001-01-09 Sun Microsystems, Inc. Methods and systems for establishing a shared secret using an authentication token
US6339815B1 (en) * 1998-08-14 2002-01-15 Silicon Storage Technology, Inc. Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space
US6505279B1 (en) * 1998-08-14 2003-01-07 Silicon Storage Technology, Inc. Microcontroller system having security circuitry to selectively lock portions of a program memory address space
US6363485B1 (en) * 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6188257B1 (en) * 1999-02-01 2001-02-13 Vlsi Technology, Inc. Power-on-reset logic with secure power down capability
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6389537B1 (en) * 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP2001148344A (ja) * 1999-09-09 2001-05-29 Nikon Corp 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法
US6535988B1 (en) * 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate
US6374317B1 (en) * 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6507904B1 (en) * 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
KR100389934B1 (ko) * 2000-07-05 2003-07-04 다이니뽄 잉끼 가가꾸 고오교오 가부시끼가이샤 합성피혁용 수성 건식 적층 접착제 조성물 및 그것을사용하여 되는 합성피혁의 제조 방법
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7376826B2 (en) * 2002-05-31 2008-05-20 Broadcom Corporation Methods and apparatus for performing encryption and authentication
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422757A2 (en) * 1989-10-13 1991-04-17 Addison M. Fischer Public/key date-time notary facility
CN1186580A (zh) * 1995-04-13 1998-07-01 西门子公司 在用户计算机设备u和网络计算机设备n之间计算机辅助交换密钥的方法
EP0869636A2 (en) * 1997-04-02 1998-10-07 Arcanvs Method and apparatus for managing key revocation
EP0892521A2 (en) * 1997-07-15 1999-01-20 Hewlett-Packard Company Method and apparatus for long term verification of digital signatures

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
APPLIED CRYPTOGRAPHY. PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C. SCHNEIER,47-52,NY: JOHN WILEY & SONS, US. 1996 *
APPLIED CRYPTOGRAPHY: PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C. SCHNEIER B,28-33,176-177,216-217,461-473,518-522,NY: JOHN WILEY & SONS, US. 1996 *
APPLIED CRYPTOGRAPHY: PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C. SCHNEIER,56-65,NY: JOHN WILEY & SONS, US. 1996 *
HANDBOOK OF APPLIED CRYPTOGRAPHY, CRC PRESS SERIES ON DISCRETE MATHEMATICES AND ITS APPLICATIONS. MENEZES ET AL,403-405,506-515,570,BOCA RATON, FL, CRC PRESS,US. 1997 *

Also Published As

Publication number Publication date
EP1514164A2 (en) 2005-03-16
WO2003107151A3 (en) 2004-09-16
WO2003107151A2 (en) 2003-12-24
US20030233550A1 (en) 2003-12-18
CN1662867A (zh) 2005-08-31
US7142674B2 (en) 2006-11-28
TW200405708A (en) 2004-04-01
US20060245590A1 (en) 2006-11-02
TWI249315B (en) 2006-02-11
AU2003229298A1 (en) 2003-12-31

Similar Documents

Publication Publication Date Title
CN100383693C (zh) 用于安全地交换对称密钥的系统和方法
RU2371756C2 (ru) Безопасная связь с клавиатурой или родственным устройством
Wu et al. A novel and provably secure authentication and key agreement scheme with user anonymity for global mobility networks
US8132020B2 (en) System and method for user authentication with exposed and hidden keys
US8700908B2 (en) System and method for managing secure information within a hybrid portable computing device
Yoon et al. Cryptanalysis of a simple three‐party password‐based key exchange protocol
US10700849B2 (en) Balanced encoding of intermediate values within a white-box implementation
KR20090100399A (ko) 조합 결합기 암호화 방법
JP2008269610A (ja) リモートアプリケーションを対象とした機密データの保護
US20190036689A1 (en) Establishing shared key data for wireless pairing
CN103036681A (zh) 一种密码安全键盘装置及系统
CN112311718A (zh) 检测硬件的方法、装置、设备及存储介质
EP1447734A2 (en) Reconfigurable secure input device
Elganzoury et al. A new secure one-time password algorithm for mobile applications
EP3319067B1 (en) Method for authenticating a user by means of a non-secure terminal
EP3319000A1 (en) Method for securing a transaction performed from a non-secure terminal
CN100546242C (zh) 一种超级密码的生成和认证方法
WO2020011494A1 (en) Method for recovering a secret key securely stored in a secure element
EP3319001A1 (en) Method for securely transmitting a secret data to a user of a terminal
KR20030051648A (ko) 식별자 없는 완전 동적 인증 방법
US20240020383A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
CN114172664B (zh) 数据加密、数据解密方法、装置、电子设备及存储介质
Liou Performance measures for evaluating the dynamic authentication techniques
CN102236754B (zh) 数据保密方法以及使用此数据保密方法的电子装置
Jain Honey2Fish-An enhanced hybrid encryption method for password and messages

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080423

Termination date: 20190515

CF01 Termination of patent right due to non-payment of annual fee