基于图像的密钥导出函数的制作方法_3

文档序号:9693621阅读:来源:国知局
键盘和鼠标的台式或笔记本计算机,那么用户101可点击要选择的图像。客户机计算机102中的一个或多个元件,诸如客户机应用模块102(A)和/或用户输入模块102(B)可捕获用户101的选择。
[0055]例如,网格600通过图像的高亮边缘示出用户101所选择的三幅图像:足球运动员、篮球运动员和房屋。
[0056]在步骤404处,客户机计算机102向服务器计算机104发送用户101所选择的认证图像的子集。在一些实施例中,所选择图像本身可被发送到服务器计算机104。例如,客户机计算机102可向服务器计算机104发送多个图像文件(例如,JPG、PNG或BMP文件)。
[0057]在其他实施例中,在图像网格中选择的图像的行与列坐标可被发送到服务器计算机104。例如,对于网格600中所示的选择,对应的坐标可以是[(1,3),( 3,1),( 3,3)]。坐标(1,3)指示第一行和第三列,指示足球运动员的图片。坐标(3,1)指示第三行和第一列,指示篮球运动员的图片。坐标(3,3)指示第三行和第三列,指示房屋的图片。因此,坐标列表[(1,3),(3,1),(3,3)]可用于指示发送到服务器计算机104的认证图像的所选择的子集。
[0058]在其他实施例中,可传输对应于每个所选图像的唯一标识符。在一个示例中,服务器计算机104可保存从0-999编号的1000个图像的数据库。例如,足球运动员图像可编号523,篮球运动员图像可编号135,以及房屋图像可编号878。因此,唯一标识符的组合523135878可被传输到服务器计算机104以指示保密图像选择。
[0059]在又一其他实施例中,所选择的图像的散列值可被发送到服务器计算机104。例如,可通过在图像上运行散列函数来计算散列值。
[0060]在步骤405处,服务器计算机104从用户101所选择的图像和基于图像的密钥导出函数来确定基于图像导出的密钥。“基于图像的密钥导出函数”(IBKDF)可包括任何密钥导出函数,其中从多个图像生成输入值。任何适当方面的图像可用作输入。例如,在一些情况中,与图像相关联的图像标识符或图像元数据可用作对IBKDF的输入。在一些情况中,可对图像应用散列或其他函数,并且结果值可用作对IBKDF的输入。在一些情况中,图像本身的图像数据(例如,图像中的像素中的一些或全部的像素属性)中的一些或全部可用作对IBKDF的输入。在一些实施例中,对IBKDF的输入可包括以上这些的组合。IBKDF还可取数个其他参数作为输入,诸如混淆值(例如,数字或字符串)、迭代计数或负载系数,以及期望的密钥长度。在图7中示出可在本发明的一些实施例中使用的IBKDF的一个示例。
[0061]在步骤406处,服务器计算机104在用户数据库106中储存基于图像导出的密钥。典型地,基于图像导出的密钥与对应于用户101的用户数据库106中的条目相关联。另外,在一些实施例中,也可在用户数据库106中储存对应于所选择的认证图像的散列和/或图像标识符。
[0062]应该注意到,尽管方法400描述了一个可能的登记方法,但本发明的实施例不限于所述的方法。例如,图5示出可与本发明的一些实施例一起使用的可选登记方法500。方法500的步骤501-503分别与方法400的步骤401-403类似。然而,尽管在方法400的步骤404处客户机计算机102向服务器计算机104发送所选择的认证图像的子集,但在方法500的步骤504处,客户机计算机102使用基于图像的密钥导出函数从所选择的认证图像中确定基于图像导出的密钥。在步骤505处,客户机计算机104然后向服务器计算机104发送基于图像导出的函数,并且在步骤506处服务器计算机在用户数据库506中储存基于图像导出的密钥。因此,在方法500中,客户机计算机102导出基于图像导出的密钥,而不是服务器计算机104。
[0063]另外,尽管方法400和500分别包括步骤401和501,叙述了服务器计算机104为客户机计算机102提供多个图像,但在一些实施例中,不需要执行这些步骤。例如,在一些实施例中,客户机计算机102可预先储存由客户机计算机102选择的图像(例如,在图像存储模块102(E)中)。例如,用户101可选择由附连到客户机计算机102的相机先前取得的图像。在这种情况下,服务器计算机104不需要在图像数据库105中保存图像。
密钥导出方法
[0064]图7示出根据本发明的一个实施例的基于图像的密钥导出函数(IBKDF)的框图700。如图7所示,IBKDF包括数个参数,诸如图像值(I)、密钥长度(Klen)、混淆值(S)和迭代计数(C)。IBKDF的结果是最终密钥(K)。
[0065]图像值(I)可表示与认证图像的选择相关联的数字值。在一些实施例中,可通过结合每个所选图像的标识符来生成图像值。对于网格600中示出的选择,在一个实施例中,足球运动员图像可编号523,篮球运动员可编号135,以及房屋可编号878。因此,523135878的图像值可用作对IBKDF的输入。在一些实施例中,客户机计算机102可将图像值发送到服务器计算机104。在其他实施例中,服务器计算机104可使用由客户机计算机102发送的数据来计算图像值。例如,如果客户机计算机102以行-列格式标识所选择的图像,那么服务器计算机104可参考图像网格来确定每个消息的标识符。
[0066]混淆值(S)可以是随机或算法生成的数据。例如,在一些实施例中,FIPS149-2认可的随机位生成器可被用于生成混淆值。在一些实施例中,混淆值可以是用户特定的。例如,混淆值可包括用户101的用户标识符。
[0067]迭代计数(C)可包括要执行来产生最终密钥的IBKDF函数的重复次数。例如,可增加迭代计数以阻碍在所生成的IBKDF上的暴力或基于彩虹表的攻击。在不同的实施例中,可基于导出密钥计算速度与安全性之间的期望折衷来调节迭代计数。
[0068]密钥长度(Klen)可以是用来限定所生成的密钥的长度的参数。在一些实施例中,更大的密钥长度可指示更安全的密钥,但会需要额外的处理来生成。
[0069]一旦确定对IBKDF的所有参数,生成基于图像导出的密钥。IBKDF可使用任意适合的密钥生成算法。例如,可使用PBKDF2 (基于密码的密钥导出函数2)标准。IBKDF的结果是基于认证图像的所选择的子集的最终密钥(K)。
数据加密方法
[0070]图8示出使用基于图像导出的密钥将经加密的数据从服务器计算机104发送到客户机计算机102的方法800。典型地,可在与客户机计算机102相关联的用户向服务器计算机104登记(例如,根据方法400或500)之后执行方法800。
[0071]在步骤801处,服务器计算机104确定要发送到用户101的数据。在一些实施例中,数据本质上可以是敏感的,从而不期望该数据以明文的方式(即,未加密的)发送。例如,数据可包括个人信息或支付信息。然而,任何适当的数据(例如,敏感的、不敏感的或其组合)可与本文所述的技术一起使用。
[0072]在步骤802处,服务器计算机104取回用户101的基于图像导出的密钥。典型地,基于图像导出的密钥储存在用户数据库106或另一个存储介质中。在一些实施例中,可使用由用户101提供的标识符(诸如用户名或用户ID)来取回基于图像导出的密钥。
[0073]在步骤803处,服务器计算机104使用取回的基于图像导出的密钥对步骤801中确定的数据加密。例如,服务器计算机104可使用加密模块104(D)。
[0074]步骤804处,服务器计算机104向客户机计算机102发送经加密的数据和多个图像标识符。多个图像标识符可指示客户机计算机102向用户101显示哪些认证图像。在一些实施例中,多个图像标识符可包括指示用户所选择的认证图像的子集的标识符,还有指示其他图像的多个标识符。因此,将为用户101呈现若干图像,这些图像中的仅一些是用户101先前选择的子集的一部分。
[0075]在步骤805处,客户机计算机102显示与取回的图像标识符相关联的多个图像。例如,可再次为用户显示网格600,或者包括足球运动员、篮球运动员和房屋的不同的图像网格可呈现给用户。
[0076]在步骤806处,用户101使用客户机计算机102选择认证图像的子集。如针对登记方法400的步骤403所述,用户101所选择的图像的子集可包括单个图像,或者可包括多个图像。另外,子集可以是无序的或是有序的,并且可以以任意适当的方式来选择。
[0077]在步骤807处,客户机计算机102使用基于图像的密钥导出函数从认证图像确定基于图像导出的密钥。在不同的实施例中,可使用图像标识符、图像的散列或图像本身来生成基于图像导出的密钥。
[0078]在步骤808处,客户机计算机102使用基于图像导出的密钥对经加密的数据解密。
[0079]在根据方法800的一个示例使用情况中,在步骤803处,服务器计算机104使用用户的基于图像导出的密钥对用户101的银行对账单加密。在步骤804处,服务器计算机104向客户机计算机102发送经加密的对账单以及多个图像标识符。在步骤805处,客户机计算机102显示与取回的图像标识符对应的认证图像。在步骤806处,用户101选择认证图像的子集。然后,在步骤807和808处,客户机计算机102使用认证图像的所选子集分别导出并解密银行对账单。因此,服务器计算机104向客户机计算机102安全地传输用户的银行对账单。
[0080]图9示出将经加密的数据从客户机计算机102发送到服务器计算机104的类似方法900。典型地,可在与客户机计算机102相关联的用户向服务器计算机104登记(例如,根据方法400或500)之后执行方法900。
[0081]在步骤901处,客户机计算机102确定要发送到服务器计算机104的数据。典型地,数据本质上可以是敏感的,从而不期望该数据以明文的方式(即,未加密的)发送。例如,数据可包括个人信息或支付信息。然而,任何适当的数据(例如,敏感的、不敏感的或其组合)可与本文所述的技术一起使用。
[0082]在步骤902处,客户机计算机104向用户显示多个图像。可使用从服务器计算机104取回的信息(例如,图像标识符)或者可通过客户机计算机102来确定显示的图像。例如,可再次向用户显示网格600,或者包括足球运动员、篮球运动员和房屋的不同的图像网格可呈现给用户。
[008
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1