一种设备认证方法、客户端、服务器及系统的制作方法_2

文档序号:9276816阅读:来源:国知局
发明的服务器。
[0033]根据本发明的系统,通过利用已认证通过的设备的认证信息来认证下一个设备这种链条式的设备认证策略,解决了单独利用账户密码认证方式可能导致的个人信息泄漏的问题,极大地提高了账户安全性,确保用户信息不会被非可信设备获取。
【附图说明】
[0034]为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0035]图1示出了根据本发明一个示例性实施例的设备认证系统100的结构框图;
[0036]图2示出了根据本发明一个示例性实施例的第一客户端110的结构框图;
[0037]图3示出了根据本发明一个示例性实施例的第二客户端120的结构框图;
[0038]图4示出了根据本发明一个示例性实施例的服务器130的结构框图;
[0039]图5示出了根据本发明一个实施例的设备认证方法500的流程图;以及
[0040]图6示出了根据本发明一个实施例的设备认证方法600的流程图。
【具体实施方式】
[0041]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0042]图1示出了根据本发明一个示例性实施例的设备认证系统100的结构框图。如图1所示,设备认证系统100可以包括第一客户端110、第二客户端120以及服务器130,第一客户端110和第二客户端120均通过网络与服务器130连接。其中第一客户端110驻留在第一设备上,第二客户端120驻留在第二设备上,这里第一设备和第二设备可以是移动终端,也可以是计算设备,本发明对此不做限制。第二客户端120可以通过与第一客户端110和服务器130交互,来进行认证,认证通过后,第二客户端120可利用第一客户端110和第二客户端共有的账户名登录服务器130,进行该账户下账户信息(如解锁手势等信息)的下载同步,认证过程安全等级高。
[0043]图2示出了根据本发明一个示例性实施例的第一客户端110的结构框图,第一客户端110可以包括第一通信模块111和与之相连的第二控制模块112。
[0044]图4示出了根据本发明一个示例性实施例的服务器130的结构框图,服务器130可以包括存储模块131、第三通信模块132和第三控制模块133,还可以包括认证模块134。
[0045]服务器130中存储模块131存储有公共公钥(pub)和公共私钥(pri),公共公钥用于对所传输的数据加密,公共私钥用于对所接收的公共公钥加密的数据进行解密。
[0046]第一客户端110在第一设备上安装初始化时,其第一通信模块111从服务器130获取公共公钥,例如可调用函数initevenhanded O,而后服务器130中第三通信模块132发送其存储模块131存储的公共公钥至第一客户端110。其中服务器130可以是响应第一客户端110的请求发送公共公钥至客户端,也可以是自动下发公共公钥至第一客户端110,本发明对此不作限制。
[0047]第一客户端110中第一控制模块112从第一通信模块110接收公共公钥,生成与第一客户端110唯一关联的第一公钥(publ)和第一私钥(pril),利用公共公钥将账户名和第一公钥加密后,上传至服务器130。账户名为用户在第一客户端及服务器上的唯一 ID帐号,例如用户手机号等,加密原理通常为RSA加密。
[0048]根据本发明的一个实施方式,第一客户端110第一控制模块112还可以利用公共公钥将账户名、第一公钥以及账户信息一并加密后由第一通信模块111上传至服务器130。其中账户信息可以包括开关设置键值、用户解锁手势、Google应用信息、客户端绑定信息以及日志中的一个或多个。通常地,开关设置键值为第一客户端110中的设置开关量,代表某项设置是开启还是关闭,开启则该项开关设置键值为1,关闭则为O ;用户解锁手势为用户进入第一客户端之前需要输入的手势密码,由用户自定义;G00gle应用信息为第一客户端中用户绑定的支持Google Authenticator的网站和应用;客户端绑定信息为第一客户端中用户绑定的其他网站和应用。
[0049]服务器130中第三通信模块132适于接收来自第一客户端110、利用公共公钥加密后的账户名和第一公钥,与第三通信模块132相连的第三控制模块133利用服务器130的公共私钥解密上述第三通信模块132接收到的、来自第一客户端110的数据,得到账户名和第一公钥。
[0050]可选地,第三通信模块132还适于接收来自第一客户端110、利用公共公钥加密后的账户名、第一公钥以及上述账户信息,与第三通信模块132相连的第三控制模块133利用服务器130的公共私钥解密上述第三通信模块132接收到的、来自第一客户端110的数据,得到账户名、第一公钥以及账户信息,而后将账户信息与账户名关联后存储至存储模块131。
[0051]第三控制模块133生成与该账户名唯一关联的密钥,生成方式可以是随机的,也可以是根据一定规律生成,本发明对此不做限制。而后第三控制模块133还适于根据该密钥生成第一认证信息,该第一认证信息同样与账户名唯一关联。可选地,在第三控制模块133生成密钥之前,第三控制模块133可以在存储模块131中查找账户名是否已存在,若该账户名及其关联的密钥、根据该密钥生成的第一认证信息已存在,则第三通信模块132向第一客户端110返回消息提示用户输入该认证信息;若账户名不存在,存储模块131则存储第一公钥、账户名以及账户名关联的密钥,还可以存储根据该密钥生成的第一认证信息。
[0052]第三控制模块133利用接收到的第一客户端110的第一公钥将密钥加密后返回至第一客户端110。
[0053]第一客户端110中第一通信模块111接收服务器130返回的利用第一公钥加密后的密钥,第一控制模块112利用第一私钥将其解密,得到与账户名关联的唯一密钥,并根据该密钥生成第二认证信息。可选地,其中第一认证信息和第二认证信息均为每隔同一预定时间按照同一预定规则根据密钥生成的六位数字(如865743),该预定时间通常为30秒,预定规则一般为 HOTP 算法(An HMAC-Based One-Time Password Algorithm),HOTP 算法是本领域技术人员公知的,因此本发明对此不进行说明。
[0054]以上过程可以通俗地理解为第一设备中第一客户端注册并认证通过,服务器130发送至第一客户端110的数据均利用第一公钥加密,第一客户端110接收后利用第一私钥解密。第一客户端I1发送至服务器130的数据均利用公共公钥加密,服务器130接收后利用公共私钥解密。而接下来其他设备中客户端需要利用第一客户端来进行认证。以下以驻留在第二设备中的第二客户端为例说明:
[0055]图3示出了根据本发明一个示例性实施例的第二客户端120的结构框图,第二客户端120可以包括第一通信模块121和与之相连的第二控制模块122。
[0056]第二客户端120在第二设备上安装初始化时,其第二通信模块121从服务器130获取公共公钥,例如可调用函数initevenhanded O,而后服务器130中第三通信模块132发送其存储模块131存储的公共公钥至第一客户端110。其中服务器130可以是响应第二客户端120的请求发送公共公钥至第二客户端120,也可以是自动下发公共公钥至第二客户端120,本发明对此不作限制。
[0057]第二客户端120中第二控制模块122从第二通信模块121接收公共公钥,生成与第二客户端120唯一关联的第一公钥(pub2)和第一私钥(pri2)。用户可以在第二客户端120中输入已经注册过的、需要在第二客户端120使用并同步的账户名(即第一客户端110的账户名),以及第一客户
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1