一种基于标识型密码实现用户登录鉴别的系统及方法
【专利摘要】本发明涉及一种基于标识型密码实现用户登录鉴别的系统及方法,基于所述系统,用户的一个与Web信息系统帐户无关的密码标识作为帐户的鉴别数据保存在Web信息系统的用户帐户数据中;当用户登录Web信息系统时系统通过确认用户拥有帐户的密码标识的当前有效的标识私钥从而确认用户是帐户的拥有者。进一步地,若Web信息系统原本采用帐户名+口令或密码的登录方式,则实施登录处理的安全网关或插件在完成用户登录的帐户鉴别后将用户密码标识作为口令或密码代用户填写到登录请求中从而实现用户在Web信息系统的登录。在本发明中用户的标识型密钥仅用于替代帐户的口令或密码作为证明用户拥有帐户的安全私密数据而不是作为用户登录系统的身份凭证。
【专利说明】一种基于标识型密码实现用户登录鉴别的系统及方法【技术领域】
[0001]本发明属于信息安全领域,特别是一种基于标识型密码实现用户登录鉴别的系统及方法。
【背景技术】
[0002]用户访问一个受到安全保护和限制的Web信息系统(包括各种应用系统和安全系统)时,通常需要进行登录操作(Logon或Login)。用户登录操作的目的就是要确认用户是Web信息系统的一个合法用户,即进行用户鉴别(User Authenticat1n);而实际上对许多Web信息系统而言,用户的身份信息是否真实、他是谁并不重要,因此,更确切地说,用户登录操作的目的就是要确认用户是Web信息系统的一个注册帐户的拥有者,即进行帐户鉴别(Account Authenticat1n)。
[0003]目前的Web信息系统普遍采用帐户名+口令或密码(帐户名也称用户名)的方式作为用户登录(Long On或Long In) Web信息系统的用户或帐户鉴别的安全手段。帐户名+口令或密码的方案简单、用户操作使用方便,但它的不安全是众所周知的。PKI(Public KeyInfrastructure)数字证书(Digital Certificate)虽然安全,但将它用于Web信息系统的用户或帐户鉴别,存在用户操作使用不方便、用户私钥丢失恢复困难、证书更新麻烦(通常需要手工操作)等易用性差的问题,而且需要针对相关浏览器开发控件或插件,导致出现技术开发工作量大、适用性差等问题:一是因为需要针对不同的浏览器开发不同的控件或插件,而目前浏览器众多,针 对所有浏览器包括运行在不同环境下的浏览器进行控件或插件开发的工作量是非常大的;二是因为有的浏览器对控件或插件的支持非常有限甚至不支持。进一步,将PKI数字证书实施用于已部署的采用帐户名+ 口令或密码的系统时,需要对已有系统进行改造,故到目前为止PKI数字证书并未获得广泛应用。
[0004]基于标识的密码技术(Identity Based Cryptography, IBC)是一种新近获得人们广泛重视的公开密钥密码技术,它克服了 PKI数字证书在易用性方面的缺点,它的主要技术特点是用户的一个唯一标识(如电子邮箱地址)就构成了用户的一个公钥(严格说来是用户的一个唯一标识加上一组公开参数构成了公钥),可用于数据加密或签名验证,一个标识同时对应有一个私钥,用于数据解密或数字签名(用于数据加密的IBC公钥和私钥同用于数字签名的IBC公钥和私钥不一定相同);私钥由一个专门的称为私钥生成器的密钥服务系统产生。IBC同样可用于Web信息系统中用户登录时的用户或帐户鉴别,但将IBC直接用于Web信息系统的用户或帐户鉴别也存在如下问题:
[0005]I)将IBC用于Web信息系统的用户或帐户鉴别时,通常的方案是将用户在Web信息系统的帐户名作为用户的IBC标识,这种方案的缺点是:一是用户在不同的Web信息系统有不同的帐户名,故需要获得不同的IBC密钥对,二是用户从密钥服务系统获得非电子通信标识(电子邮件地址、手机号码等用于电子通信的地址或终端标识称为电子通信标识)对应的私钥时,密钥服务系统确认用户是标识的真正拥有者是比较麻烦、困难的(对于电子通信标识,如电子邮箱地址、手机号码,做到这点比较容易);[0006]2)将IBC用于Web信息系统时,由于在用户端要调用密码模块进行IBC密码运算,因此,与数字证书类似,目前的方案通常是在用户端使用浏览器控件和插件调用密码模块进行IBC密码运算,这就存在同数字证书在Web信息系统用户登录中应用一样的问题;
[0007]3)目前有大量的已部署的采用帐户名+ 口令或密码的系统,在这些系统中直接部署基于IBC的用户或帐户鉴别方案,需要对Web信息系统作修改。
[0008]本发明的目的就是将标识型密码(Identity-Typed Cryptography)技术用于Web信息系统登录时的用户或帐户鉴别,并避免采用浏览器插件和控件技术,同时保持与已部署系统的兼容。
[0009]本发明的标识型密码技术包括前面所述的基于标识的密码技术(Identity-BasedCryptography)和基于标识的椭圆曲线技术(参见本发明 申请人:的专利申请“一种基于标识的椭圆曲线密码系统”,申请号:20131052098.5)。
[0010]本发明所采用的标识型密码技术,无论是IBC密码技术还是基于标识的椭圆曲线密码技术,它们都有如下共同特点:
[0011]I)用户的一个标识对应一个标识公钥和一个标识私钥(用于数据加密的标识公钥和私钥同用于数字签名的标识公钥和私钥不一定相同);
[0012]2)在实际的密钥生成和密码运算过程中,并不是将一个标识本身用于密钥生成和密码运算,而是将附加了其他限定信息后的扩展标识用于密钥生成和密码运算;
[0013]3)若采用“一种自动更新和恢复私钥的标识型密码系统及方法”(申请号:201410058689.3)中的专利技术,则能够实现自动恢复私钥,以及实现自动更新标识的当前有效的标识公钥和标识私钥。
[0014]常用的标识限定信息是时间段限定信息,如“标识11时间段”,其中的“ 11 ”表示字串合并。时间段限定信息规定扩展标识对应的公钥和私钥仅在规定的时间段内有效和使用。时间段覆盖当前时刻的扩展标识对应的公钥和私钥称为标识的当前有效的标识公钥和标识私钥。
【发明内容】
[0015]本发明的目的是提供一种将标识型密码技术用于Web信息系统登录时的用户或帐户鉴别,并避免采用浏览器插件和控件技术,同时保持与已部署系统的兼容的基于标识型密码实现用户登录鉴别的系统及方法。
[0016]为了实现上述目的,本发明所采用的技术方案是:
[0017]一种基于标识型密码实现用户登录鉴别的系统,所述系统包括:
[0018]Web信息系统:基于Web技术开发面向用户提供信息或应用服务的系统:用户的一个标识(如电子邮箱地址、手机号码)或用户的一个标识的散列值作为用户在Web信息系统的帐户的鉴别数据(Authenticat1nData)保存在Web信息系统的用户帐户数据中(若Web信息系统原本的帐户鉴别数据是口令或密码,则用户标识或用户标识的散列值作为口令或密码保存在Web信息系统的用户帐户数据中的原有口令或密码存放处);所述作为用户帐户的鉴别数据保存在用户帐户数据中的用户标识,或者散列值作为用户帐户的鉴别数据保存在用户帐户数据中的用户标识,称为用户帐户对应的密码标识或简称用户帐户的密码标识;所述用户帐户的密码标识由用户在Web信息系统注册帐户时输入,或者由帐户管理系统或工具通过其他方式获得并设置(帐户管理系统或工具如何获得用户的密码标识属于本发明之外的问题);
[0019]浏览器:用户用于访问Web信息系统的客户端;在用户登录过程中所述浏览器通过后台处理程序使用用户登录帐户的标识密码的标识私钥对Web信息系统返回的随机字串进行数字签名或对Web信息系统返回的加密的随机字串数据进行解密,以及进行其他密码预算(用于数据加密的标识公钥和私钥同用于数字签名的标识公钥和私钥不一定相同);
[0020]后台处理程序:一个运行在用户端的计算设备后台的程序;在用户登录过程中调用密码模块对Web信息系统返回的随机字串进行数字签名或对Web信息系统返回的加密的随机字串数据进行解密,以及进行其他密码计算;
[0021]密码模块:实施标识型密码技术进行密码运算的用户端软件组件或软件和硬件相结合的组件;
[0022]当用户使用浏览器访问Web信息系统提交帐户名进行帐户登录时,Web信息系统通过如下数字签名方式或数据加密方式通过验证用户拥有密码标识的标识私钥完成用户是登录帐户的拥有者的鉴别:
[0023]数字签名方式:Web信息系统返回用户登录帐户的密码标识和一个随机生成的字串(随机字串)到用户端浏览器,浏览器通过后台处理程序调用密码模块采用用户登录帐户的密码标识的标识私钥对返回的随机字串签名,然后将随机字串的签名数据提交到Web信息系统,Web信息系统利用返回给浏览器的随机字串和用户登录帐户的密码标识的标识公钥验证用户端浏览器提交的随机字串的签名数据的有效性从而确认用户是密码标识的拥有者,并进而确认用户是登录帐户的拥有者;
[0024]数据加密方式:Web信息系统返回一个使用用户登录帐户的密码标识的标识公钥加密的随机生成的字串(随机字串)到用户端浏览器,浏览器通过后台处理程序调用密码模块采用用户登录帐户的密码标识的标识私钥对返回的加密的随机字串进行解密,然后通过直接返回解密的随机字串方式或利用解密得到的随机字串通过HMAC (Hashed MessageAuthenticat1n Code)数字签名方式完成用户登录鉴别操作(若正确返回解密的随机字串,或用解密的随机字串实现正确的HMAC数字签名,则表明用户有能正确解密加密的随机字串的标识私钥,则可以确定用户是密码标识的拥有者,从而确定用户是登录帐户的拥有者);
[0025]若用户登录的Web信息系统原本采用帐户名+ 口令或密码的方式对用户是帐户的拥有者进行鉴别且保持原有鉴别方式不变,而Web信息系统信息基于标识型密码实施用户登录鉴别的系统组件是前置于Web信息系统的一个安全网关或插入到Web信息系统的请求响应传输通道中的一个安全插件,则用户帐户的密码标识或用户帐户的密码标识的散列值作为口令或密码保存在Web信息系统的用户帐户数据中的原有口令或密码存放处,而所述安全网关或安全插件在利用用户帐户的密码标识完成对用户是帐户的拥有者鉴别后,将用户的帐户名和帐户的密码标识作为用户登录Web信息系统的帐户名和口令或密码代用户以登录请求的方式提交到Web信息系统完成登录操作,或者将用户的帐户名和帐户的密码标识的散列值作为用户登录Web信息系统的帐户名和口令或密码代用户以登录请求的方式提交到Web信息系统完成登录操作,前者对应于Web信息系统的用户帐户数据中保存的帐户鉴别数据是用户帐户的密码标识的情形,后者对应于Web信息系统的用户帐户数据中保存的帐户鉴别数据是用户帐户的密码标识的散列值的情形;无论何种情形,Web信息系统自身按验证帐户名和口令或密码的方式对用户登录进行帐户鉴别处理。
[0026]若用户的一个密码标识作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数据加密方式完成用户登录鉴别处理:
[0027]第I步:Web信息系统通过浏览器要求用户输入帐户名;
[0028]第II步:用户通过浏览器输入帐户名并将输入的帐户名提交到Web信息系统;
[0029]第III步:Web信息系统接收到用户端浏览器提交的帐户名后,利用接收的帐户名在用户帐户数据中通过查询帐户名对应的用户帐户的鉴别数据获得用户帐户的密码标识,然后用获得密码标识的当前有效的标识公钥将Web信息系统名称和一个随机生成的字串(随机字串)加密,然后将加密后的Web信息系统名称和随机字串返回到用户端的浏览器;
[0030]第IV步:用户端的浏览器接收到Web信息系统返回的数据后,通过网络通信机制将接收到的加密的Web信息系统名称和随机字串提交到用户端本地的一个后台处理程序,然后提示用户将计算终端上显示的随机口令或密码输入到浏览器的口令或密码输入框;
[0031]第V步:用户端本地的后台处理程序接收到浏览器提交的加密的Web信息系统名称和随机字串后,使用用户帐户的密码标识调用密码模块使用密码标识的当前有效的标识私钥解密Web信息系统返回的加密的Web信息系统名称和随机字串,然后将解密后的Web信息系统名称以及随机字串作为用户登录Web信息系统的一次性随机口令或密码在计算终端上通过一个人机界面向用户显示;
[0032]第VI步:用户将后台处理程序显示的作为一次性随机口令或密码的随机字串输入到浏览器的口令或密码输入框并通过浏览器将用户输入的作为帐户口令或密码的随机字串提交到Web信息系统;
[0033]第VII步:Web信息系统接收到用户端浏览器提交的作为帐户口令或密码的随机字串后,将接收到的作为帐户口令或密码的随机字串与(第III步)返回到浏览器的随机字串的明文进行比较,若一致,则确认用户是提交的帐户名所对应的用户帐户的拥有者并允许用户登录,否则拒绝。
[0034]若用户的一个密码标识作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数据加密方式完成用户登录鉴别处理:
[0035]第I步:Web信息系统通过浏览器要求用户输入帐户名;
[0036]第2步:用户通过浏览器输入帐户名并将输入的帐户名提交到Web信息系统;
[0037]第3步:Web信息系统接收到浏览器提交的帐户名后,利用接收的帐户名在用户帐户数据中通过查询帐户名对应的用户帐户的鉴别数据获得用户帐户的密码标识,然后用获得密码标识的当前有效的标识公钥对一个随机生成的字串(随机字串)加密,之后将加密后的随机字串返回到用户端的浏览器;
[0038]第4步:用户端的浏览器接收到Web信息系统返回的数据后,通过网络通信方式将接收到的加密的随机字串提交到后台处理处理程序,请求解密加密的随机字串;
[0039]第5步:后台处理处理程序接收到用户端浏览器提交的请求解密加密的随机字串的请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥解密加密的随机字串,然后将解密的随机字串返回到用户端浏览器;
[0040]第6步:用户端浏览器接收到后台处理处理程序返回的解密的随机字串后,通过直接返回解密的随机字串方式或利用解密得到的随机字串通过HMAC数字签名方式完成用户登录鉴别操作。
[0041]若用户的一个密码标识的散列值作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数据加密方式完成用户登录鉴别处理:
[0042]步骤1:Web信息系统通过浏览器要求用户输入帐户名和鉴别数据;
[0043]步骤2:用户通过浏览器输入帐户名和帐户的密码标识,其中帐户的密码标识作为鉴别数据输入,然后通过浏览器将输入的帐户名和作为帐户鉴别数据的密码标识提交到Web信息系统;
[0044]步骤3 =Web信息系统接收到浏览器提交的数据后,计算接收到的密码标识的散列值,并将计算得到的密码标识的散列值与Web信息系统的用户帐户数据中保存的与用户提交的帐户名对应的用户帐户的密码标识的散列值比对,若一致,则使用用户提交的密码标识的当前有效的标识公钥对一个随机生成的字串加密,之后将加密的随机字串返回到用户端的浏览器;否则,返回报错;
[0045]步骤4:若接收到的Web信息系统返回数据提示出错,则用户端的浏览器提示错误;否则,用户端的浏览器通过网络通信方式将接收到的加密的随机字串提交到后台处理处理程序,请求解密加密的随机字串;
[0046]步骤5:后台处理处理程序接收到用户端浏览器提交的请求解密加密的随机字串请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥解密加密的随机字串,然后将解密的随机字串返回到用户端浏览器;
[0047]步骤6:用户端浏览器接收到后台处理处理程序返回的解密的随机字串后,通过直接返回解密的随机字串方式或利用解密得到的随机字串通过HMAC数字签名方式完成用户登录鉴别操作。
[0048]若用户的一个密码标识作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数字签名方式完成用户登录鉴别处理:
[0049]第一步:Web信息系统通过浏览器要求用户输入帐户名;
[0050]第二步:用户通过浏览器输入帐户名并通过浏览器将输入的帐户名提交到Web信息系统;
[0051]第三步:Web信息系统接收到浏览器提交的帐户名后,利用接收到的帐户名在用户帐户数据中通过查询帐户名对应的用户帐户的鉴别数据获得用户帐户的密码标识,然后将获得的密码标识和一个随机生成的字串返回到用户端的浏览器;
[0052]第四步:用户端的浏览器接收到Web信息系统返回的数据后,通过网络通信方式将接收到的密码标识和随机字串提交到后台处理处理程序,请求对返回的随机字串进行数字签名;
[0053]第五步:后台处理处理程序接收到用户端浏览器提交的对返回的随机字串进行数字签名的请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥对随机字串进行数字签名,然后将签名数据返回到用户端浏览器(签名数据无需再包含随机字串本身);
[0054]第六步:用户端浏览器接收到后台处理处理程序返回的随机字串的签名数据后,将签名数据提交到Web信息系统;
[0055]第七步:Web信息系统接收到浏览器提交的随机字串的签名数据后,利用返回到浏览器的随机字串和用户帐户的密码标识的当前有效的标识公钥对浏览器提交的随机字串的签名数据的签名有效性进行验证,验证通过则确认用户是提交的帐户名所对应的用户帐户的拥有者并允许用户登录,否则拒绝。
[0056]若用户的一个密码标识的散列值作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数字签名方式完成用户登录鉴别处理:
[0057]步骤一:Web信息系统通过浏览器要求用户输入帐户名和鉴别数据;
[0058]步骤二:用户通过浏览器输入帐户名和帐户的密码标识,其中帐户的密码标识作为鉴别数据输入,然后将输入的帐户名和作为帐户鉴别数据的密码标识提交到Web信息系统;
[0059]步骤三:Web信息系统接收到浏览器提交的数据后,计算接收到的密码标识的散列值,并将计算得到的密码标识的散列值与Web信息系统的用户帐户数据中保存的与用户提交的帐户名对应的用户帐户的密码标识的散列值比对,若一致,然后将用户提交的密码标识和一个随机生成的字串返回到用户端的浏览器;否则,返回出错;
[0060]步骤四:若接收到的Web信息系统的返回数据提示报错,则用户端的浏览器提示出错;否则,用户端的浏览器通过网络通信方式将接收到的密码标识和随机字串提交到后台处理处理程序,请求对返回的随机字串进行数字签名;
[0061]步骤五:后台处理处理程序接收到用户端浏览器提交的对返回的随机字串进行数字签名的请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥对随机字串进行数字签名,然后将签名数据返回到用户端浏览器(签名数据无需再包含随机字串本身);
[0062]步骤六:用户端浏览器接收到后台处理处理程序返回的随机字串的签名数据后,将签名数据提交到Web信息系统;
[0063]步骤七:Web信息系统接收到浏览器提交的随机字串的签名数据后,利用返回给浏览器的随机字串和用户帐户的密码标识的当前有效的标识公钥对浏览器提交的签名数据的签名有效性进行验证,验证通过则确认用户是提交的帐户名所对应的用户帐户的拥有者并允许用户登录,否则拒绝。
[0064]若用户帐户的密码标识由用户在Web信息系统注册帐户时输入,则Web信息系统在接收到用户的帐户注册信息后,先按用户登录时帐户鉴别一样的方式采用数字签名或数据加密方式验证、确认用户拥有注册输入的密码标识的私钥,从而确认用户是输入的密码标识的拥有者,验证、确认通过后完成用户帐户注册并保存注册信息,否则返回出错。
[0065]若所述基于标识型密码实现用户登录鉴别的系统所采用的标识型密码技术是IBC(Identity-Based Cryptography)密码技术且支持多组不同的IBC密码运算公开参数,则Web信息系统通过如下方式确定用户帐户的密码标识进行密码运算所用的公开参数组:
[0066]若用户通过浏览器登录Web信息系统时同时输入、提交帐户名和作为鉴别数据的密码标识,则浏览器在提交密码标识前先通过网络通信机制请求后台处理程序返回密码标识进行密码运算所用的公开参数组的指示信息(如参数组标识或版本号),后台处理程序接收到请求后调用密码模块查询密码标识进行密码运算所用的公开参数组的指示信息,然后将查询获取的公开参数组的指示信息返回给浏览器,浏览器接收到后台处理程序返回的公开参数组的指示信息后将公开参数组的指示信息同密码标识一起提交到Web信息系统,Web信息系统根据登录请求中提交的公开参数的指示信息确定使用用户帐户的密码标识进行密码运算所用的公开参数组;
[0067]否则,若Web信息系统在用户帐户数据中保存有用户帐户的密码标识进行密码运算所用的公开参数组的指示信息,则Web信息系统在使用用户帐户的密码标识进行加密运算前先通过用户帐户数据中的密码标识进行密码运算所用的公开参数的指示信息确定进行密码运算所用的公开参数组;
[0068]否则,Web信息系统在使用用户帐户的密码标识进行加密运算前先将用户帐户的密码标识返回到用户端的浏览器,请求获取密码标识进行密码运算所用的公开参数组的指示信息;用户端的浏览器接收到Web信息系统返回的密码标识和请求后,通过网络通信机制将接收到的密码标识提交到用户端本地的后台处理程序,请求获取密码标识进行密码运算所用的公开参数组的指示信息;后台处理程序调用密码模块查询获取用户帐户的密码标识进行密码运算所用的公开参数组的指示信息,并将查询获取的公开参数组的指示信息返回给用户端的浏览器;浏览器将获取的密码标识进行密码运算所用的公开参数组的指示信息返回到Web信息系统;Web信息系统根据返回的公开参数组的指示信息确定密码标识进行密码运算所用的公 开参数组;
[0069]进一步地,若后台处理程序调用密码模块对Web信息系统使用密码标识加密的数据进行解密处理过程中发现Web信息系统使用了不正确的公开参数组,则后台处理程序通过浏览器向Web信息系统更新用户帐户的密码标识进行密码运算所用的公开参数组的指不?目息。
[0070]若Web信息系统还在用户帐户数据中保存用户帐户名和用户帐户的密码标识或密码标识的散列值合并后的数据(如字串合并后的数据)的数字签名(由Web信息系统签名),以防止对帐户数据中的用户帐户名和帐户的密码标识或密码标识的散列值的未经授权的修改,则Web信息系统在对用户登录进行帐户鉴别的过程中,在接收到用户通过浏览器提交的帐户名后,先对帐户名和用户帐户的密码标识或密码标识的散列值合并后的数据的数字签名进行验证以确定Web信息系统帐户数据中保存的用户帐户名和用户帐户的密码标识或密码标识的散列值是否被修改,若已被修改,则中止登录帐户鉴别处理并返回错误;否则,继续用户登录的帐户鉴别处理;帐户名和用户帐户的密码标识或密码标识的散列值合并后的数据的数字签名所采用的数字签名方法包括基于HMAC的对称密钥数字签名和基于非对称密钥密码算法(如RSA、ECC、IBC)的数字签名。
[0071]基于以上
【发明内容】
可看到,本发明的系统所采用的用户登录鉴别方案具有如下优点或特点:
[0072]I)若使用的标识是电子通信标识(如电子邮箱地址、手机号码),则标识密钥的生成、恢复、更新将方便;特别地,若进一步地实施标识密钥的自动更新,则标识密钥的更新操作无需用户手工干预,给用户带来极大方便;
[0073]2)没有采用浏览器,故不受浏览器类型和种类的限制,也不受用户端计算设备的运行平台限制;
[0074]3)在本发明中用户标识及标识密钥不是作为用户的身份凭证使用,而是作为高安全强度的帐户鉴别私密数据使用,而且不同的Web信息系统可以使用同一个密码标识的密钥进行用户登录时的帐户鉴别,无需针对不同的Web信息系统使用不同的标识密钥;
[0075]4)本发明的方案能够很好地用于已部署的、自身原本采用帐户名+ 口令或密码进行登录帐户鉴别的Web信息系统,能够在不修改Web信息系统的情况下通过外置安全网关或内置安全插件的方式在采用帐户名+ 口令或密码进行登录帐户鉴别的Web信息系统中实施本发明安全登录方案。
【专利附图】
【附图说明】
[0076]图1为本发明的系统结构示意图。
【具体实施方式】
[0077]下面结合附图和实施例对本发明作进一步的描述。
[0078]本发明的具体实施首先涉及到标识型密码技术的实施方案,有两种方案可选择:1BC密码技术或基于标识的椭圆曲线密码技术,其中采用IBC方案最简单。
[0079]若采用IBC密码技术,这时的标识公钥和私钥就是IBC公钥和私钥,且公钥就是标识本身。此时,还要实施专利申请“一种IBE密码装置及数据加解密方法”(申请号:20131043846.2)中的IBE密码模块和数据加解密方法(该专利申请中的密码模块名称虽称为IBE密码模块,实际上有关技术方案适合于IBC)和专利申请“一种自动更新和恢复私钥的标识型密码系统及方法”(申请号:201410058689.3)中的标识密钥自动更新方案,以及实施一个用于IBC私钥生成和恢复的IBC密钥服务系统(包括IBC私钥生成器)。IBC本身的技术实施方案,可参见IEEE国际标准IEEE Stdl363.3-2013:1EEE Standard forIdentity-Based Cryptographic Techniques using Pairings, 22August2013o 在 IBC 实施方案下,若IBC加密支持使用多组不同的IBC公开参数组进行密码运算,则不同的公开参数组可用不同的标识或版本号指示。
[0080]若采用基于标识的椭圆曲线密码技术,则要实施专利申请“一种基于标识的椭圆曲线密码系统”(申请号:20131052098.5)中的密码系统,包括密钥服务系统和用户端的密码模块,此时标识公钥和私钥就是基于标识生成的椭圆曲线密码公钥和私钥。进一步地,还要实施专利申请“一种自动更新和恢复私钥的标识型密码系统及方法”(申请号:201410058689.3)中的标识密钥自动更新方案。采用基于标识的椭圆曲线密码技术的方案,Web信息系统如何获取密码标识的当前有效的标识公钥有两种方案可供选择:一是从密钥服务系统获取并缓存,二是由浏览器从用户端的密码模块本地的密钥库中获取并提交到Web信息系统,采用后一种方案需要标识公钥被密钥服务系统签名以保证安全性(不需要采用X509格式)。
[0081]无论采用IBC密码技术还是基于标识的椭圆曲线密码技术,利用解密得到的随机字串通过HMAC数据签名方式完成用户是帐户或密码标识的拥有者鉴别的一种方案是(还可以采用其他方案):由用户端的后台处理程序将当前时间与解密得到的随机字串合并,之后通过密码模块针对合并后的数据使用散列算法(如SHA-1)生成一个散列值,然后由浏览器将当前时间与生成的散列值一起发送到Web信息系统;Web信息系统接收到浏览器提交的数据后,先检查浏览器提交的数据中的时间是否与当前时刻之差在规定的时间范围内,若是,则将用户端浏览器提交的数据中的时间同Web信息系统之前返回给客户端的随机字串合并,针对合并后的数据使用同样的散列算法生成一个散列值,然后比对用户端浏览器提交的散列值同Web信息系统自身计算得到的散列值是否一致,若一致,则证明用户拥有密码标识的当前有效的标识私钥,并进而确认用户是登录帐户的拥有者。
[0082]对于后台处理程序,可开发一个运行在用户端计算设备上的程序作为后台处理程序,这个程序一方面接收以HTTP请求形式提交的对随机字串进行签名或对加密的随机字串进行解密的请求,并以HTTP响应形式返回处理结果;另一方面通过调用密码模块对随机字串进行签名或对加密的随机字串进行解密以及获取密码标识进行密码运算所用的公开参数组的指示信息;还有,后台处理程序通过弹出一个人机交互界面提示用户登录Web信息系统的一次性随机口令或密码。
[0083]对应于后台处理程序通过HTTP请求、响应方式接收对随机字串进行签名或对加密的随机字串进行解密的请求并返回处理结果的处理方式,用户端浏览器通过自动HTTPPOST方式将请求提交到后台处理程序并通过自动HTTP POST方式将后台处理程序返回的处理结果提交Web信息系统,或者用户端浏览器通过Ajax与后台处理程序进行交互并将后台处理程序返回的处理结果提交到Web信息系统。
[0084]若Web信息系统还保存帐户名和密码标识或密码标识的散列值的数字签名,则帐户名和密码标识或密码标识的散列值的数字签名数据既可以单独存放,也可以同密码标识或密码标识的散列值一起作为帐户的鉴别数据存放;若数字签名数据同密码标识或密码标识的散列值一起作为帐户的鉴别数据存放,则在实施代用户登录操作时的帐户鉴别数据包括从用户帐户数据中获取的数字签名数据。Web信息系统用一个专门的公开密钥对或随机字串用于数字签名(公开密钥密码签名或HMAC签名)。
[0085]为了进一步加强用户登录鉴别的安全性,可以采用如下方案之一:
[0086]方案一:后台处理程序在使用用户帐户的密码标识的标识私钥对Web信息系统返回的随机字串签名前或对返回的加密的随机字串解密前,先弹出一个人机界面提示用户正在进行登录处理,询问用户是否继续;
[0087]方案二:可信的Web信息系统被签发了一个经数字签名的安全站点令牌,当用户登录Web信息系统时这个安全站点令牌同随机字串(加密或非加密的随机字串)一起被返回到用户端浏览器并被浏览器提交到后台处理程序;后台处理程序在调用密码模块使用用户帐户的密码标识的标识私钥对返回的随机字串签名或对返回的加密的随机字串解密前,先检查是否有可信的安全站点令牌(签名有效且可信),若没有安全站点令牌或安全站点令牌的数字签名不可信,则弹出一个人机交互界面提示用户风险;若有可信的安全站点令牌,则提示用户要访问的系统是可信的并显示用户要访问的站点的地址,询问用户是否继续;
[0088]方案三:Web信息系统在向用户端浏览器返回随机字串或加密的随机字串之前,先采用公开密钥密码技术对返回的数据进行数字签名,然后再返回数据;后台处理程序在调用密码模块对返回的随机字串签名或对返回的加密的随机字串解密之前,先验证Web信息系统返回的数据的数字签名,若返回的数据没有数字签名或签名不可信,则弹出一个人机交互界面提示用户风险;若有数字签名且签名可信,则提示用户要访问的系统是可信的并显示用户要访问的站点的地址;
[0089]方案四:用户端的浏览器在将Web信息系统返回的随机字串或加密的随机字串提交到后台处理程序的同时将用户要登录的Web信息系统的主机地址(主机DNS域名)同时提交到后台处理程序;后台处理程序在调用密码模块使用用户帐户的密码标识的标识私钥对返回的随机字串签名或对返回的加密的随机字串解密前,先通过一个人机交互界面向用户显示当前浏览器要访问的Web信息系统的主机地址,询问用户是否继续;若用户选择继续,则对返回的随机字串签名或对返回的加密的随机字串解密,然后调用密码模块使用Web信息系统的公钥对签名的随机字串或要直接返回的解密的随机字串或用解密的随机字串HMAC签名的登录鉴别数据进行加密,然后将加密后的数据返回到浏览器并由浏览器提交到Web信息系统;Web信息系统在接收到浏览器返回的加密的数据后,先使用Web信息系统的私钥解密接收到的加密的数据,然后根据解密后的数据作进一步的登录鉴别处理;所述Web信息系统的公钥包括Web信息系统的IBC公钥(如以Web信息系统的主机地址作为公钥)或由一个可信密钥服务系统(如CA证书系统)发布的公钥(如通过数据证书发布的RSA、ECC公钥等)。
[0090]除了以上方案外,Web信息系统还可以通过服务器证书和SSL(Secure SocketLayer)安全传输通道来提高系统的安全性。
[0091]若用户登录的Web信息系统原本采用帐户名+ 口令或密码的方式对用户是帐户的拥有者进行鉴别,而Web信息系统实施本发明的技术方案对用户进行登录帐户鉴别的系统组件是前置于Web信息系统的一个安全网关,则安全网关可以基于Web反向代理技术开发(如可用Apache开发);若Web信息系统实施本发明的技术方案对用户进行登录帐户鉴别的系统组件是内置于Web信息系统的一个安全插件,则安全插件可基于过滤器(如ISAP1、Servlet Filter)或其他插件技术开发。
[0092]其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
【权利要求】
1.一种基于标识型密码实现用户登录鉴别的系统,所述系统包括: Web信息系统:基于Web技术开发面向用户提供信息或应用服务的系统:用户的一个标识或用户的一个标识的散列值作为用户在Web信息系统的帐户的鉴别数据保存在Web信息系统的用户帐户数据中;所述作为用户帐户的鉴别数据保存在用户帐户数据中的用户标识,或者散列值作为用户帐户的鉴别数据保存在用户帐户数据中的用户标识,称为用户帐户对应的密码标识或简称用户帐户的密码标识;所述用户帐户的密码标识由用户在Web信息系统注册帐户时输入,或者由帐户管理系统或工具通过其他方式获得并设置; 浏览器:用户用于访问Web信息系统的客户端;在用户登录过程中所述浏览器通过后台处理程序使用用户登录帐户的标识密码的标识私钥对Web信息系统返回的随机字串进行数字签名或对Web信息系统返回的加密的随机字串数据进行解密,以及进行其他密码预算; 后台处理程序:一个运行在用户端的计算设备后台的程序;在用户登录过程中调用密码模块对Web信息系统返回的随机字串进行数字签名或对Web信息系统返回的加密的随机字串数据进行解密,以及进行其他密码计算; 密码模块:实施标识型密码技术进行密码运算的用户 端软件组件或软件和硬件相结合的组件; 当用户使用浏览器访问Web信息系统提交帐户名进行帐户登录时,Web信息系统通过如下数字签名方式或数据加密方式通过验证用户拥有密码标识的标识私钥完成用户是登录帐户的拥有者的鉴别: 数字签名方式:Web信息系统返回用户登录帐户的密码标识和一个随机生成的字串到用户端浏览器,浏览器通过后台处理程序调用密码模块采用用户登录帐户的密码标识的标识私钥对返回的随机字串签名,然后将随机字串的签名数据提交到Web信息系统,Web信息系统利用返回给浏览器的随机字串和用户登录帐户的密码标识的标识公钥验证用户端浏览器提交的随机字串的签名数据的有效性从而确认用户是密码标识的拥有者,并进而确认用户是登录帐户的拥有者; 数据加密方式:Web信息系统返回一个使用用户登录帐户的密码标识的标识公钥加密的随机生成的字串到用户端浏览器,浏览器通过后台处理程序调用密码模块采用用户登录帐户的密码标识的标识私钥对返回的加密的随机字串进行解密,然后通过直接返回解密的随机字串方式或利用解密得到的随机字串通过HMAC数字签名方式完成用户登录鉴别操作; 若用户登录的Web信息系统原本采用帐户名+ 口令或密码的方式对用户是帐户的拥有者进行鉴别且保持原有鉴别方式不变,而Web信息系统信息基于标识型密码实施用户登录鉴别的系统组件是前置于Web信息系统的一个安全网关或插入到Web信息系统的请求响应传输通道中的一个安全插件,则用户帐户的密码标识或用户帐户的密码标识的散列值作为口令或密码保存在Web信息系统的用户帐户数据中的原有口令或密码存放处,而所述安全网关或安全插件在利用用户帐户的密码标识完成对用户是帐户的拥有者鉴别后,将用户的帐户名和帐户的密码标识作为用户登录Web信息系统的帐户名和口令或密码代用户以登录请求的方式提交到Web信息系统完成登录操作,或者将用户的帐户名和帐户的密码标识的散列值作为用户登录Web信息系统的帐户名和口令或密码代用户以登录请求的方式提交到Web信息系统完成登录操作,前者对应于Web信息系统的用户帐户数据中保存的帐户鉴别数据是用户帐户的密码标识的情形,后者对应于Web信息系统的用户帐户数据中保存的帐户鉴别数据是用户帐户的密码标识的散列值的情形;无论何种情形,Web信息系统自身按验证帐户名和口令或密码的方式对用户登录进行帐户鉴别处理。
2.一种利用权利要求1所述的基于标识型密码实现用户登录鉴别的系统的用户登录鉴别方法,其特征是:若用户的一个密码标识作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数据加密方式完成用户登录鉴别处理: 第I步:Web信息系统通过浏览器要求用户输入帐户名; 第II步:用户通过浏览器输入帐户名并将输入的帐户名提交到Web信息系统; 第III步:Web信息系统接收到用户端浏览器提交的帐户名后,利用接收的帐户名在用户帐户数据中通过查询帐户名对应的用户帐户的鉴别数据获得用户帐户的密码标识,然后用获得密码标识的当前有效的标识公钥将Web信息系统名称和一个随机生成的字串加密,然后将加密后的Web信息系统名称和随机字串返回到用户端的浏览器; 第IV步:用户端的浏览器接收到Web信息系统返回的数据后,通过网络通信机制将接收到的加密的Web信息系统名称和随机字串提交到用户端本地的一个后台处理程序,然后提示用户将计算终端上显示的随机口令或密码输入到浏览器的口令或密码输入框; 第V步:用户端本地的后台处理程序接收到浏览器提交的加密的Web信息系统名称和随机字串后,使用用户帐户的密码标识调用密码模块使用密码标识的当前有效的标识私钥解密Web信息系统返回的加 密的Web信息系统名称和随机字串,然后将解密后的Web信息系统名称以及随机字串作为用户登录Web信息系统的一次性随机口令或密码在计算终端上通过一个人机界面向用户显示; 第VI步:用户将后台处理程序显示的作为一次性随机口令或密码的随机字串输入到浏览器的口令或密码输入框并通过浏览器将用户输入的作为帐户口令或密码的随机字串提交到Web信息系统; 第VII步:Web信息系统接收到用户端浏览器提交的作为帐户口令或密码的随机字串后,将接收到的作为帐户口令或密码的随机字串与返回到浏览器的随机字串的明文进行比较,若一致,则确认用户是提交的帐户名所对应的用户帐户的拥有者并允许用户登录,否则拒绝。
3.一种利用权利要求1所述的基于标识型密码实现用户登录鉴别的系统的用户登录鉴别方法,其特征是:若用户的一个密码标识作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数据加密方式完成用户登录鉴别处理: 第I步:Web信息系统通过浏览器要求用户输入帐户名; 第2步:用户通过浏览器输入帐户名并将输入的帐户名提交到Web信息系统; 第3步:Web信息系统接收到浏览器提交的帐户名后,利用接收的帐户名在用户帐户数据中通过查询帐户名对应的用户帐户的鉴别数据获得用户帐户的密码标识,然后用获得密码标识的当前有效的标识公钥对一个随机生成的字串加密,之后将加密后的随机字串返回到用户端的浏览器;第4步:用户端的浏览器接收到Web信息系统返回的数据后,通过网络通信方式将接收到的加密的随机字串提交到后台处理处理程序,请求解密加密的随机字串; 第5步:后台处理处理程序接收到用户端浏览器提交的请求解密加密的随机字串的请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥解密加密的随机字串,然后将解密的随机字串返回到用户端浏览器; 第6步:用户端浏览器接收到后台处理处理程序返回的解密的随机字串后,通过直接返回解密的随机字串方式或利用解密得到的随机字串通过HMAC数字签名方式完成用户登录鉴别操作。
4.一种利用权利要求1所述的基于标识型密码实现用户登录鉴别的系统的用户登录鉴别方法,其特征是:若用户的一个密码标识的散列值作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数据加密方式完成用户登录鉴别处理: 步骤1:Web信息系统通过浏览器要求用户输入帐户名和鉴别数据; 步骤2:用户通过浏览器输入帐户名和帐户的密码标识,其中帐户的密码标识作为鉴别数据输入,然后通过浏览器将输入的帐户名和作为帐户鉴别数据的密码标识提交到Web信息系统; 步骤3:Web信息 系统接收到浏览器提交的数据后,计算接收到的密码标识的散列值,并将计算得到的密码标识的散列值与Web信息系统的用户帐户数据中保存的与用户提交的帐户名对应的用户帐户的密码标识的散列值比对,若一致,则使用用户提交的密码标识的当前有效的标识公钥对一个随机生成的字串加密,之后将加密的随机字串返回到用户端的浏览器;否则,返回报错; 步骤4:若接收到的Web信息系统返回数据提示出错,则用户端的浏览器提示错误;否贝U,用户端的浏览器通过网络通信方式将接收到的加密的随机字串提交到后台处理处理程序,请求解密加密的随机字串; 步骤5:后台处理处理程序接收到用户端浏览器提交的请求解密加密的随机字串请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥解密加密的随机字串,然后将解密的随机字串返回到用户端浏览器; 步骤6:用户端浏览器接收到后台处理处理程序返回的解密的随机字串后,通过直接返回解密的随机字串方式或利用解密得到的随机字串通过HMAC数字签名方式完成用户登录鉴别操作。
5.一种利用权利要求1所述的基于标识型密码实现用户登录鉴别的系统的用户登录鉴别方法,其特征是:若用户的一个密码标识作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数字签名方式完成用户登录鉴别处理: 第一步:Web信息系统通过浏览器要求用户输入帐户名; 第二步:用户通过浏览器输入帐户名并通过浏览器将输入的帐户名提交到Web信息系统; 第三步:Web信息系统接收到浏览器提交的帐户名后,利用接收到的帐户名在用户帐户数据中通过查询帐户名对应的用户帐户的鉴别数据获得用户帐户的密码标识,然后将获得的密码标识和一个随机生成的字串返回到用户端的浏览器; 第四步:用户端的浏览器接收到Web信息系统返回的数据后,通过网络通信方式将接收到的密码标识和随机字串提交到后台处理处理程序,请求对返回的随机字串进行数字签名; 第五步:后台处理处理程序接收到用户端浏览器提交的对返回的随机字串进行数字签名的请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥对随机字串进行数字签名,然后将签名数据返回到用户端浏览器; 第六步:用户端浏览器接收到后台处理处理程序返回的随机字串的签名数据后,将签名数据提交到Web信息系统; 第七步:Web信息系统接收到浏览器提交的随机字串的签名数据后,利用返回到浏览器的随机字串和用户帐户的密码标识的当前有效的标识公钥对浏览器提交的随机字串的签名数据的签名有效性进行验证,验证通过则确认用户是提交的帐户名所对应的用户帐户的拥有者并允许用户登录,否则拒绝。
6.一种利用权利要求1所述的基于标识型密码实现用户登录鉴别的系统的用户登录鉴别方法,其特征是:若用户的一个密码标识的散列值作为用户帐户的鉴别数据保存在Web信息系统的用户帐户数据中,则当用户使用浏览器登录Web信息系统时,Web信息系统、用户、用户端的浏览器和后台处理程序通过如下数字签名方式完成用户登录鉴别处理: 步骤一:Web信息 系统通过浏览器要求用户输入帐户名和鉴别数据; 步骤二:用户通过浏览器输入帐户名和帐户的密码标识,其中帐户的密码标识作为鉴别数据输入,然后将输入的帐户名和作为帐户鉴别数据的密码标识提交到Web信息系统;步骤三:Web信息系统接收到浏览器提交的数据后,计算接收到的密码标识的散列值,并将计算得到的密码标识的散列值与Web信息系统的用户帐户数据中保存的与用户提交的帐户名对应的用户帐户的密码标识的散列值比对,若一致,然后将用户提交的密码标识和一个随机生成的字串返回到用户端的浏览器;否则,返回出错; 步骤四:若接收到的Web信息系统的返回数据提示报错,则用户端的浏览器提示出错;否则,用户端的浏览器通过网络通信方式将接收到的密码标识和随机字串提交到后台处理处理程序,请求对返回的随机字串进行数字签名; 步骤五:后台处理处理程序接收到用户端浏览器提交的对返回的随机字串进行数字签名的请求后,调用密码模块使用用户帐户的密码标识的当前有效的标识私钥对随机字串进行数字签名,然后将签名数据返回到用户端浏览器; 步骤六:用户端浏览器接收到后台处理处理程序返回的随机字串的签名数据后,将签名数据提交到Web信息系统; 步骤七:Web信息系统接收到浏览器提交的随机字串的签名数据后,利用返回给浏览器的随机字串和用户帐户的密码标识的当前有效的标识公钥对浏览器提交的签名数据的签名有效性进行验证,验证通过则确认用户是提交的帐户名所对应的用户帐户的拥有者并允许用户登录,否则拒绝。
7.根据权利要求1所述的基于标识型密码实现用户登录鉴别的系统,其特征是:若用户帐户的密码标识由用户在Web信息系统注册帐户时输入,则Web信息系统在接收到用户的帐户注册信息后,先按用户登录时帐户鉴别一样的方式采用数字签名或数据加密方式验证、确认用户拥有注册输入的密码标识的私钥,从而确认用户是输入的密码标识的拥有者,验证、确认通过后完成用户帐户注册并保存注册信息,否则返回出错。
8.根据权利要求1所述的基于标识型密码实现用户登录鉴别的系统,其特征是:若所述系统所采用的标识型密码技术是IBC密码技术且支持多组不同的IBC密码运算公开参数,则Web信息系统通过如下方式确定用户帐户的密码标识进行密码运算所用的公开参数组: 若用户通过浏览器登录Web信息系统时同时输入、提交帐户名和作为鉴别数据的密码标识,则浏览器在提交密码标识前先通过网络通信机制请求后台处理程序返回密码标识进行密码运算所用的公开参数组的指示信息,后台处理程序接收到请求后调用密码模块查询密码标识进行密码运算所用的公开参数组的指示信息,然后将查询获取的公开参数组的指示信息返回给浏览器,浏览器接收到后台处理程序返回的公开参数组的指示信息后将公开参数组的指示信息同密码标识一起提交到Web信息系统,Web信息系统根据登录请求中提交的公开参数的指示信息确定使用用户帐户的密码标识进行密码运算所用的公开参数组; 否则,若Web信息系统在用户帐户数据中保存有用户帐户的密码标识进行密码运算所用的公开参数组的指示信息,则Web信息系统在使用用户帐户的密码标识进行加密运算前先通过用户帐户数据中的密码标识进行密码运算所用的公开参数的指示信息确定进行密码运算所用的公开参数组; 否则,Web信息系统在使用用户帐户的密码标识进行加密运算前先将用户帐户的密码标识返回到用户端的浏览器,请求获取密码标识进行密码运算所用的公开参数组的指示信息;用户端的浏览器接收到Web信息系统返回的密码标识和请求后,通过网络通信机制将接收到的密码标识提交到用户端本地的后台处理程序,请求获取密码标识进行密码运算所用的公开参数组的指示信息;后台处理程序调用密码模块查询获取用户帐户的密码标识进行密码运算所用的公开参数组的指示信息,并将查询获取的公开参数组的指示信息返回给用户端的浏览器;浏览器将获取的密码标识进行密码运算所用的公开参数组的指示信息返回到Web信息系统;Web信息系统根据返回的公开参数组的指示信息确定密码标识进行密码运算所用的公开参数组; 进一步地,若后台处理程序调用密码模块对Web信息系统使用密码标识加密的数据进行解密处理过程中发现Web信息系统使用了不正确的公开参数组,则后台处理程序通过浏览器向Web信息系统更新用户帐户的密码标识进行密码运算所用的公开参数组的指示信肩、O
9.根据权利要求1所述的基于标识型密码实现用户登录鉴别的系统,其特征是:若Web信息系统还在用户帐户数据中保存用户帐户名和用户帐户的密码标识或密码标识的散列值合并后的数据的数字签名,以防止对帐户数据中的用户帐户名和帐户的密码标识或密码标识的散列值的未经授权的修改,则Web信息系统在对用户登录进行帐户鉴别的过程中,在接收到用户通过浏览器提交的帐户名后,先对帐户名和用户帐户的密码标识或密码标识的散列值合并后的数据的数字签名进行验证以确定Web信息系统帐户数据中保存的用户帐户名和用户帐户的密码标识或密码标识的散列值是否被修改,若已被修改,则中止登录帐户鉴别处理并返回错误;否则,继续用户登录的帐户鉴别处理;帐户名和用户帐户的密码标识或密码标识的散列值合并后的数据的数字签名所采用的数字签名方法包括基于HMAC的对称密钥数字签名和基于非对称密钥密码算法的数字签名。
10.根据权利要求3-6任一项所述的基于标识型密码实现用户登录鉴别的系统的用户登录鉴别方法,其特征是:所述用户登录鉴别方法通过如下方案之一提高用户登录鉴别的安全性: 方案一:后台处理程序在使用用户帐户的密码标识的标识私钥对Web信息系统返回的随机字串签名前或对返回的加密的随机字串解密前,先弹出一个人机界面提示用户正在进行登录处理,询问用户是否继续; 方案二:可信的Web信息系统被签发了一个经数字签名的安全站点令牌,当用户登录Web信息系统时这个安全站点令牌同随机字串一起被返回到用户端浏览器并被浏览器提交到后台处理程序;后台处理程序在调用密码模块使用用户帐户的密码标识的标识私钥对返回的随机字串签名或对返回的加密的随机字串解密前,先检查是否有可信的安全站点令牌,若没有安全站点令牌或安全站点令牌的数字签名不可信,则弹出一个人机交互界面提示用户风险;若有可信的安全站点令牌,则提示用户要访问的系统是可信的并显示用户要访问的站点的地址,询问用户是否继续; 方案三:Web信息系统在向用户端浏览器返回随机字串或加密的随机字串之前,先采用公开密钥密码技术对返回的数据进行数字签名,然后再返回数据;后台处理程序在调用密码模块对返回的随机字串签名或对返回的加密的随机字串解密之前,先验证Web信息系统返回的数据的数字签名,若返回的数据没有数字签名或签名不可信,则弹出一个人机交互界面提示用户风险;若 有数字签名且签名可信,则提示用户要访问的系统是可信的并显示用户要访问的站点的地址; 方案四:用户端的浏览器在将Web信息系统返回的随机字串或加密的随机字串提交到后台处理程序的同时将用户要登录的Web信息系统的主机地址同时提交到后台处理程序;后台处理程序在调用密码模块使用用户帐户的密码标识的标识私钥对返回的随机字串签名或对返回的加密的随机字串解密前,先通过一个人机交互界面向用户显示当前浏览器要访问的Web信息系统的主机地址,询问用户是否继续;若用户选择继续,则对返回的随机字串签名或对返回的加密的随机字串解密,然后调用密码模块使用Web信息系统的公钥对签名的随机字串或要直接返回的解密的随机字串或用解密的随机字串HMAC签名的登录鉴别数据进行加密,然后将加密后的数据返回到浏览器并由浏览器提交到Web信息系统;Web信息系统在接收到浏览器返回的加密的数据后,先使用Web信息系统的私钥解密接收到的加密的数据,然后根据解密后的数据作进一步的登录鉴别处理;所述Web信息系统的公钥包括Web信息系统的IBC公钥或由一个可信密钥服务系统发布的公钥。
【文档编号】H04L29/06GK104038486SQ201410244543
【公开日】2014年9月10日 申请日期:2014年6月4日 优先权日:2014年6月4日
【发明者】龙毅宏, 唐志红 申请人:武汉理工大学