利用一个设备解锁另一个设备的方法_3

文档序号:9631728阅读:来源:国知局
密钥(例如,KSEP α(]ΒΛ)。用户输入处理模块508可以处理用户输入,包括但不限于,密码和/或指纹。
[0040]在各种实施例中,图5的一些模块可以是可选的,并且在设备500中可以包括附加的模块。每个模块都可以用软件、硬件或两者来实现。在一些实施例中,设备500的模块是用于执行本文所公开的算法的软件模块。在一些实施例中,设备500的模块表示耦合到存储器的一个或多个处理器,其中存储器存储用于执行本文所公开的算法的计算机可读指令。在一些实施例中,设备500的模块包括ASIC的硬件和软件元素,诸如系统级芯片,用于执行上述功能。
[0041]图6和7示出了传输协议算法的实施例,该传输协议算法可以在通过第一设备远程解锁第二设备时有助于密钥(或记录)的交换,如在以上实施例中所描述的。
[0042]图6示出了在配对两个设备中的示例性算法步骤。这个配对过程可以在两个设备间已建立通信信道之后发生。如图6中所示出的,为了配对两个设备,首先,第二设备可以接收由用户输入的口令(步骤601)。该口令可用于以后使用。第二设备可以生成长期密钥,密钥1 (步骤602)。在一种实施例中,生成长期密钥可以指创建其中一个密钥可以被发送到另一个设备的密钥对。这里,密钥1(即,密钥对中的其中一个,密钥1)然后可以经通信信道被发送到第一设备(步骤603)。第一设备可以签署并存储密钥1 (步骤604)。第一设备然后可以生成其自己的长期密钥,密钥2 (步骤605)。然后,可以利用从第二设备接收到的签名的密钥1和新生成的短期密钥2在第一设备上创建会话(步骤606)。长期密钥,密钥1和密钥2,可以被保留以在将来创建其它会话。另一个短期密钥,密钥3,可以在会话被创建时进行创建(步骤607)。密钥2和密钥3然后可以经通信信道被发送到第二设备(步骤608)。
[0043]现在参考图6,在接收到密钥2和密钥3之后,第二设备可以签署并存储密钥2 (步骤609)。第二设备然后可以利用密钥2和密钥3两者在其端创建会话(步骤610)。利用所创建的会话,第二设备可以利用从第一设备接收到的密钥3生成密钥4 (步骤611)。密钥4然后可以跨通信信道被发送到第一设备(步骤612)。在第一个设备确认并存储密钥4(步骤613)之后,密钥4可以被注册为用于解锁第二设备的密钥(步骤614)。如果注册失败,则可以给第一设备发回消息,这会使第一设备删除密钥4 (步骤615)。否则,设备的配对成功,并且设备被设置以执行远程解锁操作(例如,利用第一设备解锁第二设备)。
[0044]图7示出了在利用第一设备解锁第二设备的方法中的示例性算法步骤。如在图7中所示出的,首先,第一设备可以接收用户输入来解锁第二设备(步骤701)。作为响应,第一设备可以利用长期密钥1和密钥2创建会话(步骤702)。另一个短期密钥,密钥A,可以从新创建的会话中生成(步骤703)。第一设备然后可以跨通信信道将密钥A发送到第二设备(步骤704)。在这个实施例中,步骤703和704可以在第一和第二设备之间设置短期密钥协定,使得密钥4可以在以后被发送以解锁第二设备。由于短期密钥(例如,密钥A)对每个会话是唯一的,并且只使用一次用于加密密钥4,因此短期密钥交换可以防止重放攻击(replay attack),在重放攻击中,当密钥4在跨通信信道传输时被捕获然后从除第一设备之外的其它设备重新发送给第二设备以解锁第二设备。
[0045]短期密钥A然后被发送到第二设备(步骤704)以在第二设备上创建会话(步骤705)。第二设备然后可以使用密钥A来创建另一个密钥,密钥B(步骤706)。参考图7,密钥B可以被发送回到第一设备(步骤707)。第一设备可以使用密钥B来加密密钥4以生成新的密钥,密钥C (步骤708)。加密的密钥4 (即,密钥C)可以被发送到第二设备(步骤709),并且用于解锁第二设备(步骤710)。解锁过程可以包括解密密钥C以检索密钥4,和利用密钥4解锁第二设备。
[0046]图8是示出可以被另一个设备(例如第一设备)远程解锁的图6和7的第二设备800的示例性模块的框图。第二设备800可以包括,例如,口令接收模块801、密钥生成模块802、发送模块803、接收模块804、密钥签署模块805、存储模块806、会话创建模块807、注册模块808、解密模块809和解锁模块810。口令接收模块801可以从用户接收口令(或其它输入)。密钥生成模块802可以生成长期和/或短期密钥(例如,图6和7的密钥1,密钥4和密钥B)。发送模块803可以向另一个设备(例如,第一设备)发送一个或多个加密的或未加密的密钥。接收模块804可以从另一个设备(例如,第一设备)接收一个或多个加密的或未加密的密钥。密钥签署模块805可以签署从另一个设备接收到的密钥(例如密钥2)。存储模块806可以存储本地生成的或从另一个设备接收到的密钥。会话创建模块807可以利用从另一个设备接收到的密钥(例如,密钥2和密钥A)创建会话。注册模块808可以将密钥(例如,密钥4)注册为用于解锁第二设备的密钥。解密模块809可以解密从另一个设备接收到的任何解密的密钥(例如,密钥C)。解锁模块810可以利用密钥(例如,通过解密密钥C获得的密钥4)解锁第二设备。
[0047]图9是示出能够执行另一个设备(例如,第二设备)的远程解锁的图6和7的第一设备900的示例性模块的框图。第一设备900可以包括,例如,发送模块901、接收模块902、密钥签署模块903、存储模块904、会话创建模块905、密钥生成模块906、确认模块907、密钥删除模块908和加密模块909。发送模块901可以发送一个或多个密钥(例如,密钥2,密钥3,密钥A,密钥C)到另一个设备(例如,图6和7的第二设备)。接收模块902可以从另一个设备(例如,第二设备)接收一个或多个密钥(例如,密钥1,密钥4,密钥B)。密钥签署模块903可以签署从另一个设备接收到的密钥(例如,密钥1)。存储模块904可以存储本地生成的或从另一个设备接收到的一个或多个密钥。会话创建模块905可以利用一个或多个密钥(例如,密钥1和密钥2)创建会话。密钥生成模块906可以生成一个或多个长期和/或短期密钥(例如,密钥2,密钥3,密钥A,密钥C)。确认模块907可以确认密钥(例如,密钥4)为用于解锁另一个设备的密钥。密钥删除模块908可以从设备中删除密钥。加密模块909可以利用另一个密钥(例如,密钥B)加密密钥(例如,密钥4)以生成加密的密钥(例如,密钥C)。
[0048]在各种实施例中,图8和9的一些模块可以是任选的,并且在设备800和900中可以包括附加的模块。每个模块都可以用软件、硬件或两者来实现。在一些实施例中,设备800和900的模块是用于执行本文所公开的算法的软件模块。在一些实施例中,设备800和900的模块表示耦合到存储器的一个或多个处理器,其中存储器存储用于执行本文所公开的算法的计算机可读指令。在一些实施例中,设备800和900的模块包括ASIC的硬件和软件元素,诸如系统级芯片,用于执行上述功能。
[0049]在一些实施例中,设备500、800和900的模块中的一个或多个模块可以在用于被指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的任何非临时性计算机可读存储介质中存储和/或传输,其中指令执行系统、装置或设备是诸如基于计算机的系统、包含处理器的系统或可以从该指令执行系统、装置或设备中取指令并执行指令的其它系统。在本文的上下文中,“非临时性计算机可读存储介质”可以是能够包含或存储程序的任何介质,其中程序用于被指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用。非临时性计算机可读存储介质可以包括,但不限于,电的、磁的、光的、电磁的、红外的或半导体的系统、装置或设备、便携式计算机盘(磁的)、随机存取存储器(RAM)(磁的)、只读存储器(ROM)(磁的)、可擦除可编程只读存储器(EPROM)(磁的)、便携式光盘,诸如CD、CD-R、CD-RW、DVD、DVD-R或DVD-RW、或闪存存储器,诸如紧凑型闪存卡、安全数字卡、USB存储设备、记忆棒等。
[0050]非临时性计算机可读存储介质可以是用作第一设备或第二设备的计算系统的一部分。图10示出了一个这种计算系统的示例性共同部件。如所示出的,系统1000可以包括中央处理单元(CPU) 1002、I/O部件1004,其包括但不限于显示器、键盘、触摸屏、扬声器和麦克风中的一个或多个,存储介质1006,诸如上一段中列出的那些存储介质、以及网络接口 1008,所有这些都可以经系统总线1010连接到彼此。存储介质1006可以包括图5,8和9中的模块。
[0051]因此,根据以上,本公开内容的一些例子针对从第一设备解锁第二设备的方法,包括:建立与第二设备的信任关系;利用设备密钥认证第一设备;从第二设备接收秘密密钥;从输入/输出设备接收用户输入;及响应接收用户输入,将接收到的秘密密钥发送到第二设备以解锁第二设备,其中,建立与第二设备的信任关系包括利用从与第一设备相关联的硬件密钥生成的密钥认证设备密钥。作为以上公开例子中的一个或多个例子的附加或替代,在一些例子中,在建立与第一设备的信任关系之前,该方法还包括通过在显示器上显示要被第二设备捕获的码来配对第一设备和第二设备。作为以上公开例子中的一个或多个例子的附加或替代,在一些例子中,与第二设备的配对是利用蓝牙带外密钥完成的。作为以上公开例子中的一个或多个例子的附加或替代,在一些例子中,建立与第二设备的信任关系包括发送公共密钥到第二设备。作为以上公开例子中的一个或多个例子的附加或替代,在一些例
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1