本申请为分案申请,其母案申请的申请号为201410440273.8,申请日为2014年9月1日,申请人为刘文印,发明名称为一种电子身份注册及认证登录的方法及其系统。
背景技术
传统的系统登录认证界面要求每个用户事先分别在每个系统通过设置一对用户名(UserID,或称为数字身份、登录名或账户)和密码来注册,用户需要记住并在每次登录每个系统时提供相应的用户名和密码来让该系统认证该用户。后来,为了避免机器人(一种程序自动连续猜测生成用户名及密码去登录,或叫做自动登录bots,很多网站使用了验证码(CAPTCHAs),该方法分别公开在以下文献中:
(1)文献名称为:“CAPTCHA:Using hard AI problems for security”,期刊名称为:Advances in Cryptology,E.Biham,Ed.,vol.2656of Lecture Notes in ComputerScience(Springer,Berlin,2003),pp.294-311,作者为:L.von Ahn,M.Blum,N.Hopper,J.Langford;
(2)文献名称为:“Telling humans and computers apart automatically:Howlazy cryptographers do AI”,期刊名称为:Communications of ACM 47(2),pp.56-60,2004,作者为:L.von Ahn,M.Blum,J.Langford。
近年又使用两个验证码(reCAPTCHAs)的方法,该方法公开在以下文献中,文献名称为:“reCAPTCHA:Human-Based Character Recognition via Web Security Measures”,期刊名称为:Science,vol.321,pp.1465-1468,September 12,2008,作者为:Luis vonAhn*,Benjamin Maurer,Colin McMillen,David Abraham,Manuel Blum。
因为每个系统登录界面都要求用户输入预先注册设置的用户名和密码,人类用户要记住每个系统的用户名和密码是一件麻烦的事,也很容易被钓鱼网站或网络欺诈骗走这些用户名和密码。这些都给人类用户在系统登录时带来了不便。
网络欺诈是一种通过假冒真实网站来获取人们敏感信息如用户名、密码及信用卡信息等的犯罪行为。近年来,网络欺诈案例急剧增加,并且识破难度也越来越大。全球因网络欺诈造成巨大的经济损失。
为了避免骗子使用盗取的密码登录,近年很多网上银行系统使用双重认证(double factor authentication),另外要求用户使用一次性密码(或验证码)生成器(设备)来生成一次性密码作为传统密码的辅助。但是一个用户要携带每一家银行的密码生成器也是非常不方便的事情。
在发明名称为:敏感操作验证方法、终端设备、服务器和验证系统,申请号为:CN103825734A的发明公开了:(1)不需要用户输入用户名及密码而是通过用移动终端(即第一终端)扫码的方式来验证包括登录、转账等的敏感操作的方法,但没有包括用户自动注册(只能以人工的方式注册)的功能;(2)该发明需要从每个参与敏感操作的服务器下载一个应用程序App到第一终端(移动终端)上运行用于发送验证请求,当有多个参与敏感操作的服务器时,下载多个相应的应用程序也给用户带来不便。
在发明名称为:页面登录方法及服务器,申请号为:CN102769628A的发明公开了:(1)扫描终端上的某个应用模块(如QQ或微信,即本发明中的用户代理)需要先通过向服务器(即本发明中的系统)发出登录指令,并在服务器授权使所发指令所对应的账户在所述应用模块上登录后,才能通过扫码登录到显示终端上;(2)服务器判断显示终端中的识别码是否被扫描(通过判断服务器接受到的扫描信息中是否有所述识别码中的验证信息),这也增加了与服务器的通信量和负担。
发明名称为:登录方法和装置以及终端、网络服务器,申请号为:CN103297408A的发明公开了:只涉及到一个终端,该终端主要是系统代理,也就不用扫描获得系统身份信息,该终端预存下用户名及其实际登录密码,即所谓第二密码,用户还要自定义一个本地密码(所谓第一密码),终端获取该本地密码后,如果匹配成功则把第二密码发到系统服务器用于验证并在该终端登录。
现在的单点登录方法(SSO)(1)一般是针对一个组织内部的不同信息系统,只需在其中一个系统登录一次就可以访问其他系统(一般在所有系统上的用户名和密码都是相同的,也可以不同);(2)只需要在其中的一个系统登录一次,即获得其他相关系统的访问授权;而本发明中用户在每个系统都有相应不同的用户名和密码,在每个系统都需要登录才能访问该系统,只是这个用户名和密码是不需要用户设置、记住和输入的,而是由用户代理在该系统上注册时自动生成的,需要登录时由用户代理自动发送到该系统服务器端。
发明名称为:一种多屏多因子便捷web身份认证方法,申请号为:CN201410065291的发明中公开了:(1)用户的认证代理(即用户代理)需要用无线网直接连接系统的认证代理(即系统代理),所以系统代理需要配备Wi-fi。(2)该发明中二维码包含的信息主要是如何与其系统代理连接的信息,如wi-fi名,地址等。(3)该发明公开了一个WS,单独设置在网络上的集中认证服务器,这个是该对比文件的核心,每次系统登录都需要在WS上验证一次,其设备DID,用户UID及服务SPID的三层映射绑定也是在WS实现。(4)认证信息流是从用户代理到系统代理,再到系统(服务器),再到WS。(5)该发明的思想还是SSO的思想,即通过在WS上验证成功就可以授权在所有绑定的SP系统自动登录。首先这个WS是新设立的独立的、集中验证服务器,如果对大量的SP来说工作量非常大(也许对一个组织内部是可以的),对全世界所有的用户及所有的SP来说可行性不高,其次,SP对该WS的信任是最大的问题;而本发明的主体思想并不是SSO,每个系统还是要分别登录(只是通过扫码自动登录),也不改变现有的系统之间的关系及认证流程,只改变系统登录名及密码的生成方式,统一身份网站只具备辅助性、为方便备份、下载等操作的管理功能。
发明名称为:一种多屏多因子便捷web身份认证的一对多账号映射绑定的实现方法,申请号为:CN103856332A中公开了一对多账户绑定的方法:设备DID与服务SPID的绑定(多对多的映射)是通过在WS上的一个用户UID实现的(即DID和SPID分别与UID用两张表绑定),而且这个绑定的过程是需要人工输入注册和登录SPID及其密码的。
发明内容
本发明的目的在于提供一种电子身份注册及认证登录方法,以解决现有技术中存在的身份注册及认证登录方法无法自动注册和自动登录认证的问题。
为达上述目的,本发明提出了一种电子身份注册及认证登录方法,包括:
身份信息获取步骤:用于通过一移动终端上的一用户代理通过一系统代理获取加密的一系统的身份信息及该系统代理与系统之间的对话信息;
注册信息生成步骤:所述用户代理根据接收到所述加密身份信息及对话信息后,解密后自动生成一统一身份码,并将包含所述统一身份码在内的注册登录信息加密后发送到所述系统,进行身份注册;
身份注册步骤:所述系统收到包含所述统一身份码的注册登录信息解密后,自动执行身份注册操作。
上述电子身份注册及认证登录方法,在所述身份信息获取步骤之前还包括:
用户代理设置步骤:通过一统一身份网站注册登录后,下载一包含一统一身份包的作为用户代理的一应用程序到所述移动终端;
用户代理登录步骤:通过一设置于所述移动终端上的生物特征采集模块采集用户的生物特征信息进行登录,或者通过在所述移动终端输入预注册的用户代理的用户名和密码登录,或者通过任何现有认证登录方法登录到用户代理。
上述电子身份注册及认证登录方法,所述身份信息获取步骤之后还包括:
身份注册信息查询步骤:所述用户代理根据接收到的所述系统身份信息在统一身份包中进行查询,如果该系统身份信息已经存在,则在所述统一身份包中找到该系统身份信息对应的用户名和密码,将所述用户名和密码及所述对话信息加密后发送到所述系统,所述系统解密后进行自动登录操作和相应授权;否则,执行所述注册信息生成步骤。
上述电子身份注册及认证登录方法,还包括:
账户合并步骤:用于将同一用户对应同一系统的多个账户进行合并处理。
上述电子身份注册及认证登录方法,还包括:
统一身份包更新步骤,用于所述移动终端上的统一身份包与所述统一身份网站进行同步更新。
上述电子身份注册及认证登录方法,所述身份注册步骤之后还包括:
直接登录步骤:所述用户代理及所述统一身份包可以在同一个移动终端或同一个固定终端上同时使用,从所述统一身份包中存储的所有已注册的系统身份信息中选择一系统,将所述系统对应的用户名和密码取出连同所述系统代理与所述系统的对话信息一起发送到所述系统直接登录,所述系统登录成功后向所述系统代理返回授权界面,所述授权界面为连接所述系统的一应用程序界面,或连接所述系统的通用浏览器界面。
上述电子身份注册及认证登录方法,所述注册登录信息包含:所述统一身份码,或/和所述系统身份信息及系统代理与系统之间对话信息。
上述电子身份注册及认证登录方法,所述统一身份码包含:用户名和密码,用于所述用户登录所述系统,所述用户名和/或密码随机生成或根据一算法生成,所述统一身份码可自动定期更换。
上述电子身份注册及认证登录方法,所述注册信息生成步骤进一步,包括:
用户名生成步骤:将所述用户代理的身份信息对应转换为一个N位二进制数,将所述系统身份信息对应转换为一个M位二进制数,将系统时间对应转换为一个P位二进制数,将生成的随机数对应转换为一个Q位二进制数,并将所述N位二进制数、M位二进制数、P位二进制数和Q位二进制数的按预定规则填充到所述统一身份码中,生成所述用户名;
密码生成步骤:将生成的随机数转换为一个W位二进制数,将所述W位二进制数按预定规则填充到所述统一身份码中,生成所述密码;
可见字符生成步骤:如果所述系统需要使用可见字符或特定字符集中的字符作为用户名和密码中的字符,则分别将所述用户名生成步骤所生成的所述用户名和所述密码生成步骤所生成的所述密码中的每个字符对应的ASCII码整数进行整除取模,按所述取模的结果和预定规则替代所述用户名和所述密码中的相应字符。
上述电子身份注册及认证登录方法,所述身份注册步骤还包括:
注册信息系统查询步骤:用于当所述系统收到所述注册登录信息后,在系统注册数据库中查询所述统一身份码中的所述用户名,如果查找失败,则自动执行身份注册操作,并返回注册成功的结果给所述用户代理和所述系统代理,所述系统在成功注册后或用所述用户名和密码登录并给所述系统代理相应的对话授权,所述用户代理把所述用户名和密码及所述系统的身份信息存入统一身份包;否则,返回用户名已存在或注册失败的结果给所述用户代理,所述用户代理再次执行所述注册信息生成步骤。
上述电子身份注册及认证登录方法,身份信息获取步骤中,所述身份信息及所述对话信息经加密后隐藏在音频信号、一维码或二维码中,所述用户代理通过设置于所述移动终端上的一音频接收器、摄像头或扫描仪获取所述经加密的身份信息及所述对话信息。
本发明还提供一种电子身份注册及认证登录系统,采用如所述电子身份注册及认证登录方法,所述系统包括:
身份信息获取模块:用于通过一移动终端上的一用户代理通过一系统代理获取加密的一系统的身份信息及该系统代理与系统之间的对话信息;
注册信息生成模块:所述用户代理根据接收到所述加密身份信息及对话信息后,解密后自动生成一统一身份码,并将包含所述统一身份码在内的注册登录信息加密后发送到所述系统,进行身份注册;
身份注册模块:所述系统收到包含所述统一身份码的注册登录信息解密后,自动执行身份注册操作。
上述电子身份注册及认证登录系统,还包括:
用户代理设置模块:通过一统一身份网站注册登录后,下载一包含一统一身份包的作为用户代理的一应用程序到所述移动终端;
用户代理登录模块:通过一设置于所述移动终端上的生物特征采集模块采集用户的生物特征信息进行登录,或者通过在所述移动终端输入预注册的用户代理的用户名和密码登录,或者通过任何现有认证登录方法登录到用户代理。
上述电子身份注册及认证登录系统,还包括:
身份注册信息查询模块:所述用户代理根据接收到的所述系统身份信息在统一身份包中进行查询,如果该系统身份信息已经存在,则在所述统一身份包中找到该系统身份信息对应的用户名和密码,将所述用户名和密码及所述对话信息加密后发送到所述系统,所述系统解密后进行自动登录操作和相应授权;否则,执行所述注册信息生成操作。
上述电子身份注册及认证登录系统,还包括:
账户合并模块:用于将同一用户对应同一系统的多个账户进行合并处理。
上述电子身份注册及认证登录系统,还包括:
统一身份包更新模块,用于所述移动终端上的统一身份包与所述统一身份网站进行同步更新。
上述电子身份注册及认证登录方法,还包括:
直接登录模块:所述用户代理及所述统一身份包可以在同一个移动终端或同一个固定终端上同时使用,从所述统一身份包中存储的所有已注册的系统身份信息中选择一系统,将所述系统对应的用户名和密码取出连同所述系统代理与所述系统的对话信息一起发送到所述系统直接登录,所述系统登录成功后向所述系统代理返回授权界面,所述授权界面为连接所述系统的一应用程序界面,或连接所述系统的通用浏览器界面。
相比于现有技术中的方法,本发明主要的有益效果在于:本发明可以为用户在每一个所要登录的系统上自动注册用户名和密码并在移动终端上统一保存在一个叫做统一身份包的本地数据库中,用户不需要记住这些用户名和密码,在需要登录某个系统时,通过相应简单操作就可以自动把相应的用户名和密码调出并发送到系统自动进行登录;不需要从每个系统下载所需应用程序,一个叫做用户代理的应用程序即可把所需验证请求发给每一个所要登录的系统;本发明中的作为本地客户端应用模块的用户代理并不需要通过服务器的授权才能登录该本地客户端应用模块,该本地客户端应用模块是独立地作本地验证,而且本地验证也不是必须的,本地可以不需要验证,或者一直都处于验证成功状态,只是这样的话安全等级就差一些;本发明只需要在用户代理上判断包含系统身份信息的二维码(或一维码或音频信号)是否被扫描成功,即只要能够解析成功即表示扫描成功。
同时,本发明的方法是在移动设备上的用户代理自动生成用户在系统上的用户名和密码,然后自动绑定,通过上传统一身份包到统一身份网站,再下载到其他移动设备上实现类似的设备与服务的多对多绑定,即这个多对多绑定不是显示的,也即这种绑定不是必须的,每个设备上都有一个表,即统一身份包,登录时直接从设备把登录信息发给系统。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。比如系统的身份信息可以隐藏在二维码、一维码等图形中,也可以隐藏在音频信号中,而用户代理则可通过相应的扫描设备和程序获取这样的信息,但本发明主要以扫描二维码为实施例来描述获取系统的身份信息的方式,并不作为对本发明中获取系统身份信息的方式的限定。
下面结合附图和具体实施方式,对本发明做进一步的说明。
本发明解决的技术问题在于,方便用户去注册及登录各个系统,如网站或单机系统,和/或硬件系统及系统认证用户登录的问题,开发统一的登录协议,集中管理用户在不同的系统的所有用户名,登录名,或称为数字身份和密码,同时可以避免出现假冒网站的情况。
本发明不仅彻底解决了假冒网站、钓鱼网站的问题,还使得用户集中一站式管理其在所有系统上的登录名及密码,不需要记住众多密码,只需要记住一个移动终端上的应用程序(即用户代理)的密码或使用生物信息进行身份验证,大大方便了用户,提高了效率,也提高了安全性,如通过云端管理,即使用户代理及统一身份包随硬件如专用移动设备或通用设备(如手机)丢失后,经过严格验证也可以从云端或专用通道下载。
假冒、钓鱼网站将无法获得用户在真网站上的登录名及密码等个人信息,因此欺骗不会成功。假如钓鱼网站使用受害者的用户代理及统一身份包去登录目标系统,但是因为用户代理及统一身份包不易被盗,且使用前可以再次要求认证,如按住指纹器,及其运载设备扫描真网站的二维码,因此钓鱼网站使用受害者的用户代理及统一身份包能成功登录系统这种可能性非常小;假如,真用户扫描了假网站的二维码,此时如果该二维码提供了假网站的身份,用户就相当于在该假网站注册了,只要后续不再提供敏感信息就不会有大的损失;而如果是假网站上提供的是真网站的二维码,不论何种渠道获得,用户扫码后只是去了真网站上登录,所以也不会有损失。
本发明提供一个在云端的统一身份网站,每个采用本发明的注册及登录方法的系统需要在该统一身份网站注册,获得分配公钥加密体系的一套公钥和私钥及一个解析解密软件包,每个用户代理在该统一身份网站下载统一身份包时也获得分配一套公钥和私钥及解析解密软件包,基于此用户代理和系统之间通信时能够解析解密对方所发的信息。
恶意的人如果通过在统一身份网站注册,获取一套相应的软件程序和信息,也不能用反向工程得出相应的加密算法或私钥或密码,因为现有的公钥加密算法是安全的,这是本领域公知的常识。
为了避免机器人bots恶意程序不断地扫描系统的二维码发出请求要自动注册或登录,本发明生成的用户名和密码采用特殊的格式,可以识别该请求是否是从本发明合法的用户代理生成的用户名和密码,如果不合法,则忽略该请求,并判断如果某个终端或用户代理连续密集地提出该类要求,也可以拒绝该类请求一段时间。从本发明中通用设备上的用户代理和专用硬件设备上的用户代理都只需在目标系统上注册一次,下次再扫码直接登录,简便用户登录。
如图1所示,本发明提供的一种电子身份注册及认证登录方法,包括:
用户代理设置步骤S1:通过一统一身份网站注册后,下载一包含一统一身份包的作为用户代理的一应用程序到移动终端;
用户在统一身份(UUUID)网站注册(设置用户名UID1和密码pwd1)后下载一个包含了一个统一身份包(UUUID Package)的一个叫做用户代理的应用程序(UUUID App)到一个或多个专用的或通用的(手机,iPad等)移动设备上,该用户名和密码(即UID1和pwd1)的有效作用域包括该统一身份网站及下载到移动设备后的用户代理。每个用户代理都有一个序列号或ID便于以后管理。用户代理也可以设置与UID1和pwd1不同的用户名UID2和密码pwd2。下载成功后统一身份网站也记录一下该用户代理的序列号或ID以便于后期管理。
专用移动设备在发放给用户时也可以包含已经注册并下载好的用户代理及统一身份包,其用户名和密码已经预先设定并可以随后在第一次登录后更改。该专用移动设备同时可以设置采用指纹或其他生物信息登录。
用户代理及统一身份包在初次获得后可以立即,或在正式使用前或使用后的任意时间设置用户名、密码、和/或真实身份信息,包括但不限于身份证号码,或护照号码等,和/或设置用户生物身份信息,如指纹、虹膜、声音等。在未设置前,无法用真实身份和/或生物身份信息去认证,丢失或损毁后也就无法用真实身份和/或生物身份信息认证后寻回统一身份包中的内容。
用户代理及统一身份包和/或统一身份网站包含用真实身份和/或生物身份信息进行手工认证身份功能。在无法使用用户名及密码自动认证,如忘记用户名和/或密码时可以通过真实身份信息和/或生物身份信息进行手工认证。
用户可将其统一身份包上传到统一身份网站服务器中存储,当该用户的用于存储统一身份包的移动设备或装置和/或用户代理应用程序丢失、损毁后,该用户可以获得新的设备或下载生成新的用户代理应用程序,在统一身份网站上认证其身份后可以下载其统一身份包到新设备及新的用户代理。
本发明方法还提供一统一身份网站及授权机构进行人工认证每一个请求使用本发明的身份认证(包括注册及登录)方法的系统是否是真及批准请求的步骤。特别是对重要的系统,人工认证包括从工商注册处获取联系信息并与之联系,或签署协议等方式,这样假冒或作恶者的成本就大大地提高了,从而减少或杜绝网络攻击者。
用户代理登录步骤S2:通过一设置于移动终端上的生物特征采集模块采集用户的生物特征信息进行登录,或者通过在移动终端输入预注册的用户代理的用户名和密码登录,或者通过任何现有认证登录方法登录到用户代理。
每个设备上的用户代理在使用前需要在设备上使用用户名UID1和密码pwd1登录,登录后首先与统一身份网站同步,查询其统一身份包是否有更新,如果有更新则下载。对于专用移动设备或配备生物信息认证功能的通用设备,可以采用指纹或其他生物信息登录。
身份信息获取步骤S3:用于通过一移动终端上的一用户代理通过一系统代理获取加密的一系统的身份信息及该系统代理与系统之间的对话信息。
用户在一终端上通过调用系统的一客户端程序,或在通用浏览器或专用程序上访问系统的注册和/或登录网页,获取到系统的一系统代理。系统代理,作为一应用程序或一应用程序的一部分,用于显示系统的相关信息及与系统服务器进行通信。系统代理包含系统的一注册登录界面,注册和登录的界面可以合二为一,也可以是分开的界面。系统代理还包含系统的身份信息,包括但不限于系统名称及URI,及系统代理与系统之间正在进行的通信对话(Session)的信息,包括但不限于SessionID和/或SessionKey。系统的身份信息及对话信息可以加密,具体加密算法可以使用现有成熟的方法,如SHA和RSA,及近年出现的完美正向加密方法PFS-perfect forward secrecy,如ECDHE-Elliptical Curve,Diffie-Hellman,Ephemeral signed后,隐藏在诸如音频信号或一维码、二维码等图形图像中,相应的信息获取方法即为用音频接收器扫描接收音频信号,或用如摄像头/扫码仪扫描图形图像后再解密/解析。
需注册或登录的系统的客户端注册和/或登录界面除了包括系统代理以外,还可以包括传统的用户名及密码界面。在用传统用户名及密码方式登录后,在界面的用户中心或类似的用户信息维护功能界面可以增加一个系统代理。系统代理可以以二维码或其他形式提供系统的身份信息及当前正在使用的用户名和密码,供用户代理获取并存入统一身份包。
身份注册信息查询步骤S4:用户代理根据接收到的系统身份信息在统一身份包中进行查询,如果该系统身份信息已经存在,则在统一身份包中找到该系统身份信息对应的用户名和密码,将用户名和密码及对话信息加密后发送到系统,系统解密后进行自动登录操作和相应授权;否则,执行注册信息生成步骤。
在统一身份包中查询系统身份信息,如果该系统身份已经存在,说明该用户曾经在该系统上注册过,则在统一身份包中找到该系统身份信息对应的用户名和密码,连同系统身份信息中的对话信息一起加密后发送给系统,系统接收到加密信息后解密并用用户名及密码在系统上登录,并给系统代理的客户端的相应的对话相应的授权。如果用户名、密码及对话信息三者中有一个与系统保存的对应信息不匹配,则登录不成功,不能授权,返回用户代理相应错误码。
注册信息生成步骤S5:用户代理根据接收到加密身份信息及对话信息后,解密后自动生成一统一身份码,并将包含统一身份码在内的注册登录信息加密后发送到系统,进行身份注册。
注册登录信息包含:统一身份码,或/和系统身份信息及系统代理与系统之间对话信息。其中统一身份码包含:用户名和密码,用于用户自动登录系统。
用户代理自动生成一对用户名和密码,并把注册登录信息发送给系统,其中,注册登录信息可以是加密后的。注册登录信息包含用户名和密码,以及包含系统身份信息和对话信息。用户名和/或密码可以是随机生成的,也可以是根据系统身份信息的部分或全部和/或用户代理的身份信息的部分或全部使用某一算法生成。每次生成的用户名和/或密码可以是定长的,也可以是不定长的,但两者加在一起并加上校验位的总长度不超过一个阈值,本实施例具体采用256二进制位(bits),但并不限于此,可以采用更长的或更短的总长度。在某些系统中用户名和密码可以连接成一个字串使用而不区分哪部分是用户名或密码。在某些系统中,用户名和/或密码要求是可显示的字符,甚至是部分可显示字符或是某些特定字符的一个集合,而其他系统对用户名和/或密码中的每个字符(字节)的ASCII码数值没有限制,即可以是0到255之间的任意数值。
密码可以是自动定期或不定期更换的,如随机地在系统上进行某次登录后,用户代理自动要求系统更换密码(不更换用户名),在获得授权后,生成新密码发送到系统执行密码更新并更新统一身份包。
身份注册步骤S6:系统收到包含统一身份码的注册登录信息解密后,自动执行身份注册操作。
注册登录信息可以是加密的,也可以是不加密的,但是不加密的安全性很差。如果是加密的,系统收到注册登录信息后就要先解密获得用户名和密码。系统查询系统的注册数据库或用户名列表,看看其中有没有该用户名存在,如果有,说明重名,返回给用户代理一个“该用户名已存在”的错误码并再次执行步骤S5。否则,返回正确码,并用该用户名和密码在系统注册,在注册数据库或用户名列表中加入一条记录、记载下该用户名及密码并为该用户名创建相应空间及赋予相应权限及属性等,同时在统一身份包中生成一条记录,记下系统的身份信息,及用户名和密码。
账户合并步骤S7:用于将同一用户对应同一系统的多个账户进行合并处理。
用户使用统一身份包对需登录的一目标系统进行注册后,如果该用户以前在目标系统曾经以用户名及密码的方式注册过,并使用过,积累了有用的用户资料等历史信息,即,用户在目标系统就有两个账户或两套用户名及密码了并希望使用原来的用户资料。此时,需要把两个账户的用户资料合并。一般情况下,因为后来注册的账户信息较少,所以可以以原来的账户的信息为主。此时,用户可以以原来的用户名及密码登录目标系统成功后,在用户中心或类似的用户信息维护功能界面的一个账户合并界面再次输入用户名和密码认证后,再以扫码的方式用统一身份包中提供的用户信息登录,系统获得了这个新账户的用户名和密码后,就把现有(以前的、老的)账户下的信息在不冲突的情况下拷贝到新账户下,如果冲突,即新账户下的某个数据域不空,则该数据域就不拷贝,而保留使用新账户下的数据。在新的账户下,可以保留一个页面或功能可以去查看老的账户下的内容,特别是因为冲突而没拷贝过来的信息。
在另一实施例中,以扫码方式使用统一身份包中用户名和密码登录后,在系统的用户中心或类似的用户信息维护功能界面的一个账户合并(或“合并其他账户”)界面以人工输入其他用户名和密码的方式认证,把其他用户名下的账户中的信息全部合并过来,有冲突的数据域中信息不动。如果其他用户名和密码是无法输入的,如是由其他用户代理生成的,则在系统管理员的帮助下使用特殊方法认证后,也可以把其他用户名下账户的信息合并过来。
统一身份包更新步骤S8:用于移动终端上的统一身份包与统一身份网站进行同步更新。
每个设备上的统一身份包有改动后都可以自动或经过用户请求后更新或同步到统一身份网站。这样同一用户在其他移动终端上下载新的用户代理时或在其它用户代理上登录时可以从统一身份网站下载或更新用户最新的统一身份包。
用户代理或其运载设备上可以设置一按钮,用于产生一个一次性的密码(OTP),这个一次性密码的作用相当于网上银行U盾产生的一次性密码,用于网上银行或其他系统上的敏感操作,如转账时作为额外的验证用。
直接登录步骤S9:用户代理及统一身份包可以在同一个移动终端或同一个固定终端上同时使用,从所述统一身份包中存储的所有已注册的系统身份信息中选择一系统,将所述系统对应的用户名和密码取出连同所述系统代理与所述系统的对话信息一起发送到所述系统直接登录,所述系统登录成功后向所述系统代理返回授权界面,所述授权界面为连接所述系统的一应用程序界面,或连接所述系统的通用浏览器界面。
用户代理及统一身份包可以在同一个移动终端或同一个固定终端上同时使用,用户代理显示统一身份包中所有已注册的系统,用户在其中选择一系统请求登录,系统代理连接该系统并创建一个对话,用户代理将该系统对应的用户名和密码取出连同系统代理与该系统的对话信息一起发送到该系统直接登录,系统登录成功后向系统代理返回授权界面,返回的系统授权界面可以是连接该系统的某一应用程序界面,也可以是连接该系统的通用浏览器界面。这种方式省去了获得系统身份信息的过程也可以登录到系统。
如图2所示,注册信息生成步骤S5进一步,包括:
用户名生成步骤S51:将用户代理的身份信息对应转换为一个N位二进制数,将系统身份信息对应转换为一个M位二进制数,将系统时间对应转换为一个P位二进制数,将生成的随机数对应转换为一个Q位二进制数,并将N位二进制数、M位二进制数、P位二进制数和Q位二进制数按预定规则填充到统一身份码中,生成用户名;
密码生成步骤S52:将生成的随机数转换为一个W位二进制数,将W位二进制数按预定规则填充到统一身份码中,生成密码;
可见字符生成步骤S53:如果系统需要使用可见字符或特定字符集中的字符作为用户名和密码中的字符,则分别将用户名生成步骤所生成的用户名和密码生成步骤所生成的密码中的每个字符对应的ASCII码整数进行整除取模,按取模的结果和预定规则替代用户名和密码中的相应字符。
其中,身份注册步骤S6还包括:
注册信息系统查询步骤S61:用于当系统收到注册登录信息后,在系统注册数据库中查询统一身份码中的用户名,如果查找失败,则自动执行身份注册操作,并返回注册成功的结果给用户代理和系统代理,系统在成功注册后或用用户名和密码登录并给系统代理相应的对话授权,用户代理把用户名和密码及系统的身份信息存入统一身份包;否则,返回用户名已存在或注册失败的结果给用户代理,用户代理再次执行注册信息生成步骤。
某些系统在新用户注册完成后,接着马上授权给新用户登录系统,但其他系统需要用户再次输入用户名和密码才能登录系统。因此本发明的一个实施例中,系统在为用户成功注册后也可以马上用用户名和密码登录并给系统代理及对应的对话授权。本发明的另一实施例中,在系统注册成功后,用户代理需要再次扫描二维码,或一般地,重新获取系统身份信息后,才能执行登录操作。这样做的原因包括用于注册的对话信息和用于登录的对话信息可以是不同的,所以用于注册的二维码和用于登录的二维码也可以是不同的。如果不同,用户代理就必须扫描新的二维码或重新获取系统身份信息后才能登录。
在本发明的一实施例中,添加一统一系统注册数据库部署在某一专用服务器上或部署在统一身份网站的服务器上。想要使用本发明的方法、系统及服务的系统需要在统一系统注册数据库上注册系统的身份信息及相关信息,包括但不限定于URI,IP地址,服务器硬件信息,软件信息,如操作系统类型,带宽等,也可以从统一系统注册数据库下载软件包安装于系统的服务器上,用于产生及加密编码特殊的二维码或其他形式的媒体来储存该系统的身份信息供用户代理获取。用户代理扫描二维码或其他形式的系统身份信息后经过解析就知道系统提供的二维码是否合法生成,用户代理可以因此决定是否继续执行操作。
如图3所示,以下为本发明方法的一个具体实施例详细说明:用户在系统代理所在的终端上通过输入系统URI要求访问系统,系统代理向系统发送访问系统的请求,系统返回给系统代理一个注册登录界面,该界面包含系统的身份信息。
用户在用户代理上登录后,具体如步骤S2所示,通过其运载设备上的扫描仪器或程序扫描获得所述系统的身份信息,具体如步骤S3所示,在统一身份包中查询所述系统的身份信息,如果存在,则从统一身份包中取出所述系统的身份信息对应的用户名和密码,发送到所述系统,所述系统执行登录操作,给用户代理和系统代理都返回执行登录操作的结果,不管是成功或失败。
否则,如果在统一身份包中查不到系统的身份信息,则执行步骤S5生成用户名和密码并发送到系统,系统收到后先在注册数据中检查用户名是否存在,如果不存在,则执行具体注册操作并把结果返回给系统代理和用户代理,用户代理在同一身份包中添加一条包含系统身份信息,用户名和密码的记录。
否则,如果用户名存在,则重新执行步骤S5及以后的步骤。
以下为本发明方法具体实施例在ATM机终端场景下详细说明:
ATM机终端的登录界面显示二维码,包含加密的银行系统服务器的连接信息及该终端与系统服务器的对话(Session)信息,所述登录界面可以定期短时(如每分钟)更换对话的SessionID,及包含当前的SessionID的二维码。
用户首次在所述银行的系统注册后,把所需银行卡绑定到其注册的账户,在ATM通过扫码登录后会显示几张卡的信息,选择其中一张卡后再进行后续操作,如取款,转账,付费,查询等。用户也可以在网上银行选择禁止用扫码的方式而用传统的ATM界面在ATM上登录。
为了避免同一个用户代理频繁连续扫码登录已经注册的系统,如果发送了所述统一身份包中所存有的所述系统上的用户名和密码,但所述系统拒绝登录,说明不匹配,返回相应的错误码并要求用户通过联系客户服务人员进行人工审核后,再登录并进行账户信息维护,如注册新账户后再合并账户。
如图4所示,以下为本发明具体实施例注册信息生成步骤中用户名和密码生成过程的详细说明:
自动生成一对用户名和密码的算法可以有很多,长度也可以有不同限制,本发明以生成128位长(二进制位bit)用户名和128位长的密码为例提出以下一个优选算法:
输入参数:用户代理身份信息did(如设备ID及用户自设的设备用户名,电话,设备及用户代理应用程序的序列号等),系统身份信息sid(如URI等),所需要生成的用户名及密码的长度lu及lp(如,256二进制位,以下如不特殊说明,整数指的都是二进制整数,位置及位数也是二进制的位),输出格式要求(如用户代理部分位置起始位dsb,终结位deb,系统身份部分起始位ssb,终结位seb),对输出结果字符集的要求(如,必须是可见字符或给定字符集charset中的字符)等;输出结果:用户名及密码。
步骤如下:
a、初始化位长为lu的uid和位长为lp的pwd;
b、将did中包含的每一单项数据转化成所占空间为4个字节(32位)长,当作一个32位的整数,所有项的数据相加后获得一个32位的整数didi,将didi的每一位按顺序(可以从左到右或从右到左)填充到uid中的第dsb至deb位,如果didi太长,则截断;如果太短,则循环再用didi中每一位一遍至多遍继续填充直到填充至deb位结束;
c、用步骤2中方法将sid转化成一个32位整数并用其填充到uid中的ssb至seb位;
d、调用系统时间函数获取系统的时间(或时钟)t,并用步骤2中方法将t中的每一位填充到uid中的剩余空位的一半中;
e、调用系统的随机数生成器函数(也可以由硬件芯片,如Intel810芯片生成,这时就是通过读取该硬件芯片上的寄存器里的数值)来生成一个随机数r,并用步骤2中方法将r中的每一位填充到uid中的剩余空位中;
f、可选地,将uid中的最后几位(如1-3位)作为校验位,用其余位计算校验位后填充到校验位中;
g、调用系统的随机数生成器函数(也可以由硬件芯片,如Intel810芯片生成,这时就是通过读取该硬件芯片上的寄存器里的数值)来生成一个随机数r2,并用步骤2中方法将r2中的每一位填充到pwd中;
h、如果对输出结果有要求,如必须是给定字符集charset中的字符,则将uid和pwd中每8位(即每一个字符或字节)当做一个8位长的整数i8,计算imode=i8%lset,其中lset为给定字符集charset的大小,该字符集中字符的个数,%为整除取模操作,转化后的新字符即为特定字符集charset中字符按某种规则排序后的第imode个字符,用该转化后的字符替代原来的i8代表的字符。
i、输出uid和pwd。
以下为本发明具体实施例统一身份包及统一身份包网站数据库和系统注册数据库的容量估算详细说明:
以下实施例估计证明一个服务器可以承担系统注册数据库的服务和数据:
统一身份包中的每个登录名和密码(可以分别用256字长或更长):256x2=512bits(64bytes,64个字符),可以是一体的,当一个用户名,前半段当ID后半段当密码。
所述系统的URI:1K bits=128chars(也可以使用万维网标准中对URI长度的限制)
这样统一身份网数据库的每条记录是1.5KB(可以预留至2KB)
这样每个用户的统一身份包中有如果平均有100个系统的用户名和密码,
每个统一身份包的大小为200KB,可以存储于手机上。
100亿用户=10B(Billion)的用户共需要10Gx200K=2000TB=2PB的空间存储他们的统一身份包,全世界估计互联网用户不超过500亿,共需10PB空间,可以用一个服务器及超大数据库处理,每个用户不是频繁访问该中心,只有在丢失后从新设置用户代理或在新系统上注册时才需要更新或下载。
系统注册数据库上每个系统要保存一条记录:各占2KB(包括URL/URI,系统参数,数据库参数,OS等),这样全世界估算最多有10亿(1Billion)的系统需要占用1Gx2K=2TB的空间,另外每个系统在系统注册数据库中注册时可能需要下载必要的软件包及页面代码段,这样系统注册数据库可以用一个服务器提供服务。
本发明还提供一种电子身份注册及认证登录系统,采用如电子身份注册及认证登录方法,如图5所示,系统包括:
用户代理设置模块1:通过一统一身份网站注册后,下载一包含一空的统一身份包的作为用户代理的一应用程序到所述移动终端;
用户代理登录模块2:通过一设置于所述移动终端上的生物特征采集模块采集用户的生物特征信息进行登录,或者通过在所述移动终端输入预注册的用户代理的用户名和密码登录,或者通过任何现有认证登录方法登录到用户代理。
身份信息获取模块3:用于通过一移动终端上的一用户代理通过一系统代理获取一系统的加密身份信息及该系统代理与系统之间的对话信息;
注册信息生成模块4:所述用户代理根据接收到所述加密身份信息及对话信息后,解密后自动生成一统一身份码,并将包含所述统一身份码在内的注册登录信息加密后发送到所述系统,进行身份注册;
身份注册模块5:所述系统收到包含所述统一身份码的注册登录信息解密后,自动执行身份注册操作。
身份注册信息查询模块6:所述用户代理根据接收到的所述系统身份信息在统一身份包中进行查询,如果该系统身份信息已经存在,则在所述统一身份包中找到该系统身份信息对应的用户名和密码,执行所述自动登录操作,否则,执行所述注册信息生成操作;
账户合并模块7:用于将同一用户对应同一系统的多个账户进行合并处理;
统一身份包更新模块8,用于所述移动终端上的统一身份包与所述统一身份网站进行同步更新。
直接登录模块9:用户代理及统一身份包可以在同一个移动终端或同一个固定终端上同时使用,从所述统一身份包中存储的所有已注册的系统身份信息中选择一系统,将所述系统对应的用户名和密码取出连同所述系统代理与所述系统的对话信息一起发送到所述系统直接登录,所述系统登录成功后向所述系统代理返回授权界面,所述授权界面为连接所述系统的一应用程序界面,或连接所述系统的通用浏览器界面。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。