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

文档序号:9693621阅读:来源:国知局
机计算机102可包括多个模块,诸如客户机应用模块102(A)、用户输入模块102(B)、密钥导出模块102(C)、加密模块102(D)、图像存储模块102(E)和网络接口 102(F)。可使用计算机硬件和软件(诸如处理器和计算机可读介质)的任意组合来实现模块102(A)-(F)中的每一个。
[0035]客户机应用模块102(A)可被配置为运行一个或多个客户机应用程序。客户机应用程序可包括任何app(应用)、软件或其他可执行的。在一些实施例中,客户机应用程序可被配置为从服务器计算机接收多个图像并为用户显示多个认证图像。客户机应用程序可确定由用户选择的认证图像的子集。客户机应用程序还可使用从认证图像的选择中生成的基于图像导出的密钥来开始数据的加密或解密。客户机应用可与模块102(B)_(F)中的任何一个交互。
[0036]用户输入模块102(B)可被配置为处理来自一个或多个用户输入设备(诸如键盘、鼠标、触摸屏等)的用户输入。例如,用户输入可用来确定用户选择了多个认证图像中的哪些。例如,如果认证图像显示在网格中,那么用户输入模块102(B)可被用于确定网格中用户所指定的一个或多个位置,以及对应于所指定位置的图像。
[0037]密钥导出模块102(C)可被配置为使用基于图像的密钥导出函数(IBKDF)来导出基于图像导出的密钥。在一些实施例中,由密钥导出模块所使用的基于图像的密钥导出函数可取用户所选择的多个图像作为输入。任何适当方面的图像可用作输入。例如,在一些情况中,与图像相关联的图像标识符或图像元数据可用作对IBKDF的输入。在一些情况中,可对图像应用散列或其他函数,并且结果值可用作对IBKDF的输入。在一些情况中,图像本身的图像数据(例如,图像中的像素中的一些或全部的像素属性)中的一些或全部可用作对IBKDF的输入。在一些实施例中,对IBKDF的输入可包括以上这些的组合。在一些实施例中,密钥导出模块102(C)可完全或部分地实现在专门的硬件中,诸如使用硬件安全模块(HSM)、可信平台模块(TPM)或安全元件(SE)。
[0038]加密模块102(D)可被配置为使用密码密钥对数据加密和解密。在不同的实施例中,加密模块102(D)可被配置为使用任意适当长度的对称密钥(例如,AES、TDES、BlOWfiSh等)或非对称密钥(例如,RSA和ECC)对数据加密或解密。在一些实施例中,加密模块102(D)可完全或部分地实现在专门的硬件中,诸如使用硬件安全模块(HSM)、可信平台模块(TPM)或安全元件(SE)。典型地,加密模块102(D)将使用基于图像导出的密钥对要被发送到服务器计算机104的数据加密,或对从服务器计算机104接收的数据解密。
[0039]图像存储模块102(E)可被配置为储存多个图像。在一些实施例中,多个图像可包括用户所选择的认证图像的子集,还可包括多个其他的认证图像。在不同的实施例中,图像存储模块102(E)可在网络上从其他存储介质(例如,便携式存储介质)中或者直接从相机(例如,连接至客户机计算机102的相机或者作为客户机计算机102的一部分)中接收图像。
[0040]网络接口102(F)可包括任意软件和/或硬件,配置为与计算机网络通信。网络接口102(F)可包括任何适当的有线或无线接口,诸如以太网、WiF1、蓝牙、NFC等。网络接口 102(F)可被用于使客户机计算机102连接到任何局域网(LAN)或广域网(WAN)。
[0041]图3示出根据本发明的一个实施例的服务器计算机104的示例。服务器计算机通常是功能强大的计算机或计算机群。例如,服务器计算机可以是大型机,微型计算机集群或充当一个单元的服务器组。在一个示例中,服务器计算机可以是耦合至Web服务器的数据库服务器。服务器计算机104可包括多个模块,诸如用户登记模块104(A)、用户认证模块104(B)、密钥导出模块104(C)、加密模块104(D)、图像选择模块104(E)和网络接口 104(F)。可使用计算机硬件和软件(诸如处理器和计算机可读介质)的任意组合来实现模块104(A)-(F)中的每一个。另外,服务器计算机104可耦合到图像数据库105和/或用户数据库106。
[0042]用户登记模块104(A)可被配置为向服务器计算机104登记用户。例如,登记用户可包括:向客户机计算机发送多个认证图像;从该客户机计算机接收由用户101所选择的认证图像的子集;以及将所选择的图像的子集储存在与用户101相关联的数据库条目(entry)中(例如,用户数据库106中)。用户登记模块104(A)还可被配置为接收与用户101相关的其他信息,诸如个人信息、支付信息或任意其他的适当信息。
[0043 ]用户认证模块104 (B)可被配置为认证用户。典型地,用户认证模块104 (B)可认证先前向服务器计算机104登记的用户。例如,认证用户可包括:接收用户101所选择的认证图像的子集;使用认证图像的子集和基于图像的密钥导出函数以生成基于图像导出的密钥;以及将基于图像导出的密钥与先前为用户101储存的密钥(例如,在用户数据库106中)相比较。
[0044]密钥导出模块104(C)可被配置为使用基于图像的密钥导出函数(IBKDF)来导出基于图像导出的密钥。在一些实施例中,由密钥导出模块所使用的基于图像的密钥导出函数可取用户所选择的多个图像作为输入。任何适当方面的图像可用作输入。例如,在一些情况中,与图像相关联的图像标识符或图像元数据可用作对IBKDF的输入。在一些情况中,可对图像应用散列或其他函数,并且结果值可用作对IBKDF的输入。在一些情况中,图像本身的图像数据(例如,图像中的像素中的一些或全部的像素属性)中的一些或全部可用作对IBKDF的输入。在一些实施例中,对IBKDF的输入可包括以上这些的组合。在一些实施例中,密钥导出模块104 (C)可完全或部分地实现在专门的硬件中,诸如使用硬件安全模块(HSM)、可信平台模块(TPM)或安全元件(SE)。
[0045]加密模块104(D)可被配置为使用密码密钥对数据加密和解密。在不同的实施例中,加密模块104(D)可被配置为使用任意适当长度的对称密钥(例如,AES、TDES、BlOWfiSh等)或非对称密钥(例如,RSA和ECC)对数据加密或解密。在一些实施例中,加密模块104(D)可完全或部分地实现在专门的硬件中,诸如使用硬件安全模块(HSM)、可信平台模块(TPM)或安全元件(SE)。典型地,加密模块104(D)将使用基于图像导出的密钥对要被发送到客户机计算机102的数据加密,或者对从客户机计算机102接收的数据解密。
[0046]图像选择模块104(D)可被配置为在登记、认证或加密过程中确定要被发送到客户机计算机102的图像。可以以任何适当的方式来选择图像。例如,在一些实施例中,图像可在一些实施例中被随机选择,所选择的图像可符合用户所选择的主题或类别。例如,如果用户101选择了对应于“水体”的图像的类别,那么图像选择模块104(D)可仅仅取回包括湖、大海、河流或其他水体的图像。在一些实施例中,对于加密或认证方法,可选择包括用户选择的认证图像的多个图像,并且也可选择其他图像的随机子集。
[0047]网络接口104(F)可包括任意软件和/或硬件,配置为与计算机网络通信。网络接口104(F)可包括任何适当的有线或无线接口,诸如以太网、WiF1、蓝牙、NFC等。网络接口 104(F)可被用于使客户机计算机102连接到任何局域网(LAN)或广域网(WAN)。
[0048]图像数据库105可储存多个图像。图像可以是公开可用的图像(例如,素材(stock)图像),或者是私人图像(例如,从用户的个人存储库中取得的图像)。在一些实施例中,图像数据库105可储存图像本身的图像数据(例如,图像文件)。在其他实施例中,图像数据库105可储存与图像相关的元数据,诸如图像标识符、图像的散列等,而不储存实际图像。
[0049]用户数据库106可储存关于多个用户的信息。例如,用户数据库106可包括:针对每个用户的用户标识符;针对各用户的基于图像导出的密钥;以及用户选择的认证图像的子集的散列或其他保护指示符。在一些实施例中,如果用户选择了认证图像的主题或类别,那么可在用户数据库106中储存该主题或类别。
登记方法
[0050]图4示出登记与用户101相关联的基于图像导出的密钥的方法400。典型地,如在方法800和900描述的客户机计算机102和服务器计算机104之间安全通信之前,且在诸如方法1000的认证方法之前可执行方法400。例如,在一个实施例中,当用户正在服务器计算机104创建账户时,可执行方法400。
[0051]在步骤401处,服务器计算机104向客户机计算机102提供多个认证图像。多个认证图像可由服务器计算机104使用图像选择模块105(E)来选择,并且可包括任何适当的图像集(例如,图像数据库105中储存的图像集)。在一些实施例中,用户101可针对图像集选择类别或主题,诸如水体、美国总统等。在其他实施例中,可从服务器计算机104保存的全部图像中随机选择图像。
[0052]在步骤402处,客户机计算机1022为用户101显示多个认证图像。可以以任何适当的格式显示多个图像。在一些实施例中,客户机计算机102可在网格中显示认证图像,使得网格中的每个格子是不同的图像。在其他实施例中,客户机计算机102每次可显示多个图像中的一个,但允许用户重复循环多个图像(例如,使用按钮)。在又一其他实施例中,客户机计算机102可进行多个图像的滑动显示。
[0053]图6示出从服务器计算机104接收并由客户机计算机102显示的九幅图像的网格600的示例。如图6所示,网格600可包括建筑物、穿西装的男人、足球运动员、汽车、儿童、飞机、篮球运动员、为另一个男人拍照的男人以及房屋。尽管网格600中所示的图像是线图,本发明的各实施例可利用彩色图像(例如,照片)、灰度图像、动画或任何其他适当的视觉表现。
[0054]在步骤403处,用户101从多个图像选择认证图像的子集。由用户101所选的图像的子集可包括单个图像,或者可包括多个图像。另外,子集可以是无序的(即,使得图像被选择的顺序不重要),或者是有序的(即,使得图像和它们被选择的顺序两者被捕获)。用户101可以以任意适当的方式选择认证图像的子集。例如,如果用户101正在使用具有电容性触摸屏的移动设备,那么用户101可轻触要选择的图像。如果用户101正在使用具有
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1