利用瞬时模数的密码验证的制作方法

文档序号:6356345阅读:204来源:国知局
专利名称:利用瞬时模数的密码验证的制作方法
技术领域
本发明涉及借助其,诸如个人计算机之类的第一计算机设备可被至少一个第二计算机设备,例如服务器验证的方法和系统的技术领域。
方法本发明涉及借助其,诸如个人计算机之类的第一计算机设备可被至少一个第二计算机设备,例如服务器验证的方法。所述计算机设备与通信网络连接。
根据本发明的方法包括两个阶段指定用户登录,从而在所述第一计算机设备上启动对话的阶段和所述对话阶段。
I.在指定用户登录所述第一计算机设备的阶段内在登录阶段中,对于指定用户,本发明的方法包括通过开始执行登录软件,和通过输入个人标识符,特别是口令和/或指纹,在所述第一计算机设备上登录有限持续时间,例如数小时的对话的步骤。所述个人标识符使得能够检查所述指定用户的身份,并获取所述指定用户的专用签名密钥。
所述登录软件根据用于识别指定用户的数据和/或用于识别所述第一计算机设备和/或根据对话的日期和/或时间和/或所述持续时间,产生对话标识符数据Id。
所述登录软件还产生由下述这种类属等式联系起来的公用瞬时模数n、公用指数v及至少一对瞬时公用数字G和瞬时专用数字QI. G≡Qv(modn)或G×Qv≡1(modn)所述登录软件还在借助所述指定用户的所述专用签名密钥,签署所述对话标识符数据Id和所述公用瞬时模数n,以及所述公用指数v或所述瞬时公用数字G(视情况而定)的过程中产生唯一的瞬时证书;II.对话期间在登录阶段之后,以及在对话的持续时间内,禁止执行登录软件。
在所考虑的对话期间,至少在所述第一计算机设备与各个所述第二计算机设备首次连接过程中,对于所述指定用户来说,本发明的方法包括开始执行证明软件程序的步骤。所述证明软件程序通过通信网络,向第二计算机设备传播所述瞬时证书。所述证明软件产生在零知识验证机制,尤其是GQ型零知识验证机制的实现中起一定作用的证据。
在专利EP0311470B1,在2000年8月10日公开的PCT申请WO00/46946,在2000年8月3日公开的PCT申请WO00/45550和在2000年8月10日公开的PCT申请WO00/46947中描述了零知识GQ验证机制。这些文件作为参考被引用。
就本发明来说,所述证明软件用作目击者,如同在GQ验证协议中理解的那样。
在对话过程中,对于所述第二计算机设备来说,根据本发明的方法还包括开始执行利用与所述专用签名密钥相关的公共密钥打开所述瞬时证书的核实软件程序,和开始从所述瞬时证书抽取对话标识符数据Id和所述公用瞬时模数n,以及所述公用指数v或所述瞬时公用数字G(视情况而定)的步骤。
所述证明软件用作核实者,如同在GQ验证协议中理解的那样。
最好,在备选实施例中,根据本发明的方法是这样的,使得所述指定用户的所述专用签名密钥位于包含在所述第一计算机设备中的密码中。在这种变形情况下,对于所述登录软件来说,根据本发明的方法还包括在实现所述指定用户的所述个人标识符的过程中,译解所述密码的步骤。
最好,在另一备选实施例的情况下,所述指定用户的所述专用签名密钥位于包含在所述指定用户持有的存储卡中的密码中。这种情况下,对于所述指定用户来说,根据本发明的方法还包括把所述存储卡插入与所述第一计算机设备相关的存储卡阅读机中的步骤。这样,对于所述登录软件,根据本发明的方法还包括通过实现所述指定用户的所述个人标识符,译解所述密码的步骤。
最好,在另一备选实施例的情况下,利用所述指定用户持有的存储卡中的签名算法,限制所述指定用户的所述专用签名密钥。就该备选实施例来说,对于所述指定用户,根据本发明的方法还包括把所述存储卡插入与所述第一计算机设备相关的存储卡阅读机中的步骤。就该备选实施例来说,对于所述登录软件,根据本发明的方法还包括在执行实现所述专用签名密钥的所述签名算法的过程中,产生所述瞬时证书的步骤。
第一备选实施例GQ0型验证协议的情况最好,根据本发明的第一备选实施例,在GQ0型验证协议的情况下实现本发明的方法。这样,为了产生所述公用瞬时模数n,所述公用指数v以及至少一对瞬时公用数字G和瞬时专用数字Q,该方法还包括下述步骤-设置所述公用指数v的值的步骤,-随机选择所述公用瞬时模数n的步骤,-选择m个瞬时专用数字Q1~Qm的步骤,-通过获得两个类属等式中的任意一个,计算所述瞬时公用数字G的步骤。
瞬时证书使公用瞬时模数n、公用指数v和瞬时公用数字G和对话标识符数据Id相联系。
同样,在第一备选实施例的情况下,GQ0型验证协议最好包括实现所述公用瞬时模数n和所述m个瞬时专用数字Q1~Qm的证明机制。
第二备选实施例GQ1型验证协议的情况根据第二备选实施例,最好在GQ1型验证协议的情况下实现本发明的方法。这样,为了产生所述公用瞬时模数n,所述公用指数v以及至少一对瞬时公用数字G和瞬时专用数字Q,该方法还包括下述步骤-设置所述公用指数v的值的步骤,
-通过乘以至少两个瞬时质因子(prime factor),产生所述瞬时模数n,从而v是关于每个瞬时质因子减1的质数(prime)的步骤,-通过对消息mi应用RSA签名标准格式机制,产生瞬时公用数字G,G=Red(mi)的步骤,-确定专用指数s,从而s.v-1是每个瞬时质因子减1的倍数的步骤,-通过使瞬时公用数字G自乘到专用指数s模n次幂,产生瞬时专用数字Qi,和/或产生m个瞬时专用数字Qi的m×f个瞬时专用分量Qi,j的步骤。
瞬时证书使公用瞬时模数n和公用指数v与对话标识符数据Id相联系。事实上,在该备选实施例的情况下,消息mi不需要任何特殊保护。
最好,在第二实施例的情况下,GQ1型验证协议包括证明机制,所述证明机制实现·所述公用瞬时模数n和所述m个瞬时专用数字Q1~Qm,·或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf,m×f个瞬时专用分量Q1,1~Qf,m,和瞬时中国余数的f-1个参数。
第三备选实施例GQ2型验证协议的情况根据本发明的第三备选实施例,最好在GQ2型验证协议的情况下实现本发明的方法。这样,为了产生所述公用瞬时模数n,所述公用指数v,以及m对瞬时公用数字G和瞬时专用数字Q,m大于或等于1,所述方法还包括下述步骤-设置参数k的值,使得能够计算v=2k类型的所述公用指数v的步骤,-产生公用瞬时模数n的步骤,公用瞬时模数n是f个瞬时质因子的乘积,n=p1×p2×…pf,f大于或等于2,-选择m个瞬时基数gi的步骤,最好较小,尤其是小于100,使得能够定义Gi=gi2类型的m个瞬时公用数字Gi,-通过使瞬时公用数字G自乘到专用指数s模n次幂,产生m个瞬时专用数字Qi,和/或产生m个瞬时专用数字Qi的m×f个瞬时专用分量Qi,j的步骤。
瞬时证书使公用瞬时模数n和对话标识符数据Id相联系。事实上,数字k和m个基数gi不需要任何特殊保护。
同样,在第三备选实施例的情况下,GQ2型验证协议最好包括证明机制,所述证明机制实现·所述公用瞬时模数n和所述m个瞬时专用数字Q1~Qm,·或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf,m×f个瞬时专用分量Q1,1~Qf,m,和瞬时中国余数的f-1个参数。
通过利用和RSA型登录协议相关的中国余数方法,GQ型验证协议中小的瞬时公用数字G和瞬时专用数字的实现使得能够·减轻工作量,相关地,减小在用户希望访问的服务器验证他们的个人计算机的各个阶段内,用户的等待时间,和如果该方法已实现RSA型协议的情况相比,比率为1比100,·通过在持续时间短的对话期间,实现小的瞬时公用数字G和瞬时专用数字,获得该结果,而不会降低验证方法的安全性。
实际上,·首先,对于可比的占用计算容量来说,GQ协议提供高于RSA协议的安全性,·其次,在对话期间,不可获得用于产生瞬时证书的RSA型、持续时间长并且较大的专用签名密钥,·最后,小的公用数字G和专用数字的瞬时特性不会给予欺诈人员从GQ验证协议取回机密数据所需的时间。
根据本发明的方法可用于识别在对话期间,使用指定个人计算机的用户,并从数个服务器验证该个人计算机。用户不必记忆数个口令。用户和服务器的管理员也不必在他们的个人计算机或服务器中具有较大的计算资源。
系统本发明还涉及一种系统,借助所述系统,第一计算机设备,例如个人计算机能够被至少一个第二计算机设备,例如服务器验证。所述计算机设备与通信网络连接。根据本发明的系统包括实现两个阶段的元件指定用户为了对话登录所述第一计算机设备的阶段和对话阶段。
I.在指定用户登录所述第一计算机设备的阶段内为了实现登录阶段,所述第一计算机设备包括安装在所述第一计算机设备上的登录软件程序。当为了持续时间有限的对话登录所述第一计算机设备时,指定用户通过激活控制单元,特别是所述第一计算机设备的键盘,以及通过所述控制单元,输入个人标识符,特别是口令和/或指纹,开始登录软件程序的执行。所述个人标识符使得能够检查所述指定用户的身份,并获得所述指定用户的专用签名密钥。所述第一计算机设备还包括受所述登录软件控制的第一计算装置,根据识别指定用户的数据和/或识别所述第一计算机设备的数据和/或根据对话的日期和/或时间和/或所述持续时间,产生对话标识符数据Id。由所述登录软件控制的第一计算装置还产生由下述这种类属等式联系起来的公用瞬时模数n、公用指数v及至少一对瞬时公用数字G和瞬时专用数字QG≡Qv(modn)或G×Qv≡1(modn)受所述登录软件控制的第一计算装置还在借助指定用户的所述专用签名密钥,签署所述对话标识符数据Id和所述公用瞬时模数n,以及所述公用指数v或所述瞬时公用数字G(视情况而定)的过程中产生唯一的瞬时证书;II.对话期间所述第一计算机设备还包括在登录阶段之后,以及在对话的持续时间内,禁止执行登录软件的禁止装置。
所述第一计算机设备还包括安装在所述第一计算机设备上的证明软件程序。在所考虑的对话期间,至少在所述第一计算机设备与各个所述第二计算机设备首次连接过程中,所述指定用户通过激活控制单元,特别是所述第一计算机设备的键盘,开始证明软件程序的执行。所述第一计算机设备还包括受所述证明软件控制的第一计算装置,用于通过通信网络向第二计算机设备传播所述瞬时证书,并且用于产生在零知识验证机制,尤其是GQ型零知识验证机制的实现中起一定作用的证据。所述证明软件用作目击者,如同在GQ验证协议中理解的那样。所述第二计算机设备还包括安装在所述第二计算机设备上的核实软件程序,和开始所述核实软件程序的执行的运行装置。所述第二计算机设备还包括受所述核实软件程序控制的第二计算装置,用于利用与所述专用签名密钥相关的公共密钥打开所述瞬时证书,以及用于从所述瞬时证书抽取对话标识符数据Id和所述公用瞬时模数n,以及所述公用指数v或所述瞬时公用数字G(视情况而定)。所述证明软件程序用作GQ协议的核实者。
最好,在备选实施例中,根据本发明的系统是这样的,以致所述指定用户的所述专用签名密钥位于包含在所述第一计算机设备中的密码中。就该备选实施例来说,所述第一计算机设备还包括受所述登录软件程序控制的,在实现所述指定用户的所述个人标识符的过程中,译解所述密码的第一计算装置。
最好,在另一备选实施例的情况下,根据本发明的系统是这样的,以致所述指定用户的所述专用签名密钥位于包含在所述指定用户持有的存储卡中的密码中。就这种变形来说,所述系统还包括与所述第一计算机设备相关的存储卡阅读机,所述指定用户把所述存储卡插入所述存储卡阅读机中。所述存储卡阅读机包括在所述存储卡和所述第一计算机设备之间传送数据的装置。这样,所述第一计算机设备还包括受所述登录软件程序控制,在实现所述指定用户的所述个人标识符过程中,译解所述密码的第一计算装置。
最好,在另一备选实施例的情况下,根据本发明的系统是这样的,以致所述指定用户的所述专用签名密钥由所述指定用户持有的存储卡中的签名算法限制。就该备选实施例来说,所述系统还包括与所述第一计算机设备相关的存储卡阅读机,所述指定用户把所述存储卡插入所述存储卡阅读机中。所述存储卡阅读机包括在所述存储卡和所述第一计算机设备之间传送数据的装置。所述第一计算机设备还包括受所述登录软件程序控制,用于在执行实现所述专用签名密钥的所述签名算法的过程中,产生所述瞬时证书的第一计算装置。
第一备选实施例GQ0型验证协议的情况最好,根据本发明的第一备选实施例,在GQ0型验证协议的情况下实现本发明的系统。这样,为了产生所述公用瞬时模数n,所述公用指数v以及至少一对瞬时公用数字G和瞬时专用数字Q,受所述登录软件程序控制的所述第一计算装置还包括实现下述功能的装置-设置所述公用指数v的值,-随机选择所述公用瞬时模数n,-随机选择m个瞬时专用数字Q1~Qm,-通过获得两个类属等式中的任意一个,计算所述瞬时公用数字G。
瞬时证书使公用瞬时模数n、公用指数v和瞬时公用数字G和对话标识符数据Id相联系。
同样,在第一备选实施例的情况下,GQ0型验证协议最好包括实现所述公用瞬时模数n和所述m个瞬时专用数字Q1~Qm的证明机制。
第二备选实施例GQ1型验证协议的情况根据第二备选实施例,最好在GQ1型验证协议的情况下实现本发明的系统。这样,为了产生所述公用瞬时模数n,所述公用指数v以及至少一对瞬时公用数字G和瞬时专用数字Q,受所述登录软件程序控制的所述第一计算装置还包括实现下述功能的装置-设置所述公用指数v的值,-通过乘以至少两个瞬时质因子,产生所述瞬时模数n,以致v是关于每个瞬时质因子减1的质数,-通过对消息mi应用RSA签名标准格式机制,产生瞬时公用数字G,G=Red(mi),-确定专用指数s,从而s.v-1是每个瞬时质因子减1的倍数,
-通过使瞬时公用数字G自乘到专用指数s模n次幂,产生瞬时专用数字Qi,和/或产生m个瞬时专用数字Qi的m×f个瞬时专用分量Qi,j。
瞬时证书使公用瞬时模数n和公用指数v与对话标识符数据Id相联系。事实上,消息mi不需要任何特殊保护。
同样,在第二实施例的情况下,GQ1型验证协议最好包括证明机制,所述证明机制实现·所述公用瞬时模数n和所述m个瞬时专用数字Q1~Qm,·或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf,m×f个瞬时专用分量Q1,1~Qf,m,和瞬时中国余数的f-1个参数。
第三备选实施例GQ2型验证协议的情况根据本发明的第三备选实施例,最好在GQ2型验证协议的情况下实现本发明的系统。这样,为了产生所述公用瞬时模数n,所述公用指数v,以及至少一对瞬时公用数字G和瞬时专用数字Q,受所述登录软件程序控制的所述第一计算装置还包括实现下述功能的装置-设置参数k的值,使得能够计算v=2k类型的所述公用指数v,-产生公用瞬时模数n,公用瞬时模数n是f个瞬时质因子的乘积,n=p1×p2×…×pf,f大于或等于2,-选择m个瞬时基数gi,最好较小,尤其是小于100,使得能够定义Gi=gi2类型的m个瞬时公用数字Gi,-通过使瞬时公用数字G自乘到专用指数s模n次幂,产生m个瞬时专用数字Qi,和/或产生m个瞬时专用数字Qi的m×f个瞬时专用分量Qi,j。
瞬时证书使公用瞬时模数n和对话标识符数据Id相联系。事实上,数字k和m个基数gi不需要任何特殊保护。
同样,在第三备选实施例的情况下,GQ2型验证协议最好包括证明机制,所述证明机制实现·所述公用瞬时模数n和所述m个瞬时专用数字Q1~Qm,
·或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf,m×f个瞬时专用分量Q1,1~Qf,m,和瞬时中国余数的f-1个参数。
描述本发明补充现有服务及它们的各种改进。提供针对虚拟专用网络中访问控制问题的新颖解决方案的是软件程序块。如同模型和分析所示,工作量降低了两个量级,当和利用目前已知的方法获得的结果相比,工作量减少的比率大于100;此外,工作量平衡,即证明所需的工作量接近于核实所需的工作量,从而使得能够利用简单的方法,实现用户之间的相互验证。
从用户的观点来看,本发明可被总结为两个阶段。
(1)每次登录时,个人计算机必须(重新)启动下述-产生GQ型零知识协议的后续运行所需的瞬时模数以及数字,-借助用户的专用密钥,特别是RSA专用密钥,产生瞬时证书或者实现瞬时证书的产生,使该瞬时模数和对话标识数据联系起来。
(2)对话期间,在通过专用网络访问资源时,-利用瞬时证书和GQ型零知识协议中瞬时模数的分解的知识。
首先,需要说明下述术语-对话,-虚拟专用网络中访问控制造成的问题,-用户的密钥对,和-算术模数的因数分解问题。
随后在估计相应的工作量的情况下,借助比较RSA和GQ零知识技术的验证方案的分类学,补充这些说明。
这些介绍使得随后能够详细说明本发明。
—对话—对话是用户对计算机设备,例如个人计算机、个人管理器、移动电话机或用户电视解码器施加的持续一段有限时间的控制。对话由各种数据识别-识别计算机设备的数据,和-用户标识符数据,和
-登录日期和时间,和-计划的该对话最大持续时间。
—计算机设备不应具有数个用户或者甚至不应在自助(self-service)基础上可用是没有理由的;但是,在指定时刻,计算机设备在单一用户的独占控制下在每个计算机设备上,对话不重叠地彼此跟随。
出于下述原因之一,计算机设备关闭对话-用户方面的关闭对话的明确操作。
-检测到用户方面没有活动。
-超过关于该对话计划的最大持续时间。
-用户打开对话的明确操作。
—起因于虚拟专用网络中访问控制的问题—在公司网络中,访问控制的数目不断地增大,这会产生问题。下面是一些例子-当专用服务器从代理收到离开请求时,它必须识别每个用户,这通常由具有单独口令的特殊过程实现。现在,这种服务跟据特定基础开发的过程而不断地激增,而不大关心一致化。对用户来说,这种服务的高增长速率实在让人头痛。
-流浪用户通过接收电话呼叫的入口服务器访问公司网络;利用单独的口令和硬件装置,例如提供伪随机时间的SecurIdTM卡,按照特殊的过程完成识别。这是由RSA Security公司开发并商业发行的一种卡。出于各种安全原因,不能在几个服务器或资源之间分享这种卡的使用。此外,在电话呼叫时,这种卡的使用对用户来说压力极大。
-最后,计算机设备受到同样实现口令的初始化程序的不同程度的保护;这种程序中最好的通常是由制造商自己开发的那些程序,例如用于带口令启动Toshiba个人计算机的程序。如果口令丢失,通过询问具有访问硬盘中携带的信息的其它可能性的制造商,恢复借助该口令保护的硬盘。
所有这些访问技术正在不断发展,并且彼此受益。
-正在建立公共密钥基础结构,其中专用网络的每个用户配有一对密钥一个专用密钥和一个公共密钥。公司目录管理公共密钥,以及附属于每个用户的权利。
-正在出现当启动计算机时提供安全性的智能卡。这些卡能够携带不同的程序和相应的口令。这些卡还能够限制用户的专用密钥和使用该专用密钥的算法。
-正在开发借助与口令技术互补的技术识别用户的生物统计学。
必须做出一系列的观察结论-就上面涉及的服务方面来说,在下述内容之前没有产生任何区别·用户的识别,即测试口令和/或用户的生物统计特征的操作,从而非加密操作,和·计算机设备的加密验证,即使得人脑不能记录密钥或执行其算法的操作。
-上面涉及的服务是特殊的;不能共享口令。它们不能被合并到公共密钥基础结构中。对于公共服务来说,需要基于公共密钥的背景验证。
-上面涉及的服务的目的在于确定角色个人计算机提出服务器核实的证据。许多情况下,有益的是个人计算机应能够确保服务器或资源的真实性。对于可实现适合于位于目录中的个人计算机或公共密钥的基础结构之间的相互验证的功能来说,需要要证明和核实的工作量的均衡。
-对话期间,驻留在个人计算机中的任意专用密钥有被特洛伊木马截取的危险;瞬时专用密钥的干扰结果非常有限。
-最后,即使用户具有限定专用密钥的芯片卡,并且在其公共密钥在公共密钥的基础结构中时使用算法,由于背景验证的原因,用户的专用密钥应能够访问正在个人计算机中自由执行的软件程序是无益的。用户必须独占控制该专用密钥的使用。即使当限制在该芯片卡中时,在对话期间,个人计算机自由使用的任何专用密钥有超出用户的控制,脱离其应用的危险。
需要做出一个观察结论缺乏有效并且可靠的公共密钥方案。本发明正好使得能够避免口令和程序的倍增(multiplication)独特的口令附属于该用户,用于独占本地使用。本发明打算用根据零知识GQ技术,尤其是ZK GQ2技术的瞬时模数补充用户的密钥对,例如RSA密钥对。本发明补充公共密钥基础结构和限制专用密钥和算法的智能卡的实现。
—用户的密钥对—在该存储器中,每个用户具有一对密钥公共密钥和专用密钥,例如一对RSA密钥。
用户的公共密钥-或者已被用户必须访问的资源和服务器已知,同时这些计算机设备中的每一个都拥有并管理它自己的目录;-或者由专门的目录管理,合并到适用于用户必须访问的资源和服务器的公共密钥基础结构中。
用户的专用密钥被用于计算数字签名;它可位于-存在于个人计算机中的密码中,或者位于将其传递给个人计算机的低价智能卡中;计算机借助用户的口令,译解该密码;在这样获得用户口令的情况下,个人计算机随后执行签名算法,之后从其存储器消除刚刚译解并使用的专用密钥。
-或者存在于高档智能卡中,由签名算法限制,所述签名算法的执行取决于用户口令的存在。
模数的因数分解和大小的问题—各种验证方案使用因数分解的问题,所述因数分解问题可这样陈述“—公用模数n是至少两个保密大质数(即p1≤…pf,f>1,其中至少两个是截然不同的)的乘积,假定p1<pf,从而n=p1×pf”。用户的密钥对必须维持数年;它被称为长期密钥。如果用户的密钥对是RSA密钥对,那么它由其因数分解必须保密数年的公用模数组成。对于长期模数来说,可参考下述结果。目前,512位的数字可在1年内被因数分解,但是要借助相当大的资源。因数分解方法找到高到160位的因子。模数的大小必须大于512位;例如768位需要4年,1024或1536位需要8年。安全余量是必需的。现在,每个长期RSA模数是两个因子的乘积;但是,理应易于使用三个或者更多的因子,对于RSA应用来说,目前实际上并不是这样。
一对瞬时密钥必须维持数小时,最多一个工作日;它被称为短期密钥。本发明考虑基于公用模数的一对瞬时密钥,所述公用模数的因数分解必须保密数小时。目前对于短期模数来说,420位的大小和三个140位的质因子是适当的;也可设想640位的大小和160位的因子。短期模数的大小的扩展是考虑因数分解性能的发展时必须调整的参数;它是可以每天改变、并且当设计系统时必须考虑的参数。
总之,瞬时模数可以比长期模数短2~4倍。
公用模数总是和公用指数一起使用。公用指数的特性取决于考虑的方案。
-RSA方案使用一个奇数作为公用指数,一般是一个质数,特别是v=3和v=216+1。
-ZK GQ1方案取决于RSA签名,特别是在v=216+1的情况下。必须做的是在不暴露RSA签名的知识的情况下,证明RSA签名的知识。
-Rabin签名使用公用指数2,即v=2。
-ZK GQ2方案使用大于2的2的幂作为公用指数,即v=2k,k>1。必须做的是在不暴露模数的分解知识的情况下,证明模数的分解知识。
—验证方案的分类和工作量的评估—验证方案使两个实体发挥作用。一个实体产生与信息相关的证据。另一实体核实与该信息相关的证据。总之,核实实体核实证明者确实正在讨论相同的信息。这是为了转移由入侵者威胁完整性引起的风险。必须区别合法证明者的操作和提交伪选物的入侵者的操作。通过伪造操作,入侵者试图在预先不知道证明者的所有秘密的情况下,诱骗核实者。显然证明者必须至少保护其专用密钥,并使之保密。
静态验证—在无交互作用的验证方案中,证明者把标识数据转发给核实者;相关证据是这些数据的数字签名。核实者对数字签名应用公共核实密钥。通信接口察觉各个验证时通过的相同数据和相同签名。那么认为验证是静态的。
虽然静态验证可用于本地增强卡的视觉观察,但是在穿过诸如因特网之类网络的距离下,通常没有任何效用。实际上,证据可被重放。
利用RSA的静态验证的例子—下述方案自1984年以来已用在法国银行卡中;它还包含在由信用卡执行机构Europay,Mastercard andVisa(TM)并称为EMV′96在1996年公布的国际规范中。ISO/CEI 9796和14888系列标准给出例证的数字签名方案,尤其是RSA型数字签名方案。
-发卡实体具有一对RSA密钥。
○专用签名密钥是发卡实体的秘密。它具有专用签名指数s和公用模数n。
○每个支付终端知道公用核实密钥。它包括公用核实指数v和公用模数n。
-在用户化过程中(于是使用的术语是卡的发行术语),每个卡接收标识数据和该数据的RSA签名。使用中的RSA签名具有格式机制Red( ),所述格式机制Red( )把标识数据,即由Id表示的一串字节转换成整数模n的环(ring)的数字,给出J=Red(Id)。该数据的RSA签名是整数模n的环的数字S;通过把专用签名密钥应用于数字J,获得数字S;给出S≡Js(modn)。
-在每个支付操作内,终端获得卡标识数据Id和它们的借助公用核实密钥核实的签名S的知识。验证成功与否取决于数字Red(Id)是否等于数字Sv(mod n)。
证据于是是RSA置换的一个要点(point)。
核实者把公用核实密钥应用于签名,即它把数字S自乘到v模n次幂。为了实现该运算,它以二进制形式写该指数v,并检查从跟随最高有效位的二进制位直到最低有效位的连续位。根据变量等于S,在每个二进制位,它把该变量自乘到平方模n,随后,如果该位等于1,那么它把该变量乘以S模n。当考虑了所有的二进制位时,变量的值是寻找的结果,即Sv(mod n)。
于是,核实者的工作量取决于公用核实指数v。必须注意平方模代表大约3/4的乘法模,即XMn≈0.75MMn。
-对于v=3(在二进制下,它被写为11),核实者执行其后跟随乘法模n的平方模n。
即,1XMn+1MMn≈1.75MMn-对于v=216+1(在二进制下,它被写为10000 0000 0000 0001),核实者执行16次平方模n,之后是一次乘法模n。
即,16XMn+1MMn≈13MMn动态验证—在具有相互作用的验证方案中,在证明者和核实者之间建立对话;每个实体轮流是发送者和接收者,以便实时地获得证据,即不能重放的证据。在下述两种情况下,核实者发出随机产生的,于是是不可预测的质询;不过我们将看到在双重验证和三重验证之间,质询的性质是完全不同的。
动态双重验证—借助两次传输,核实者发出随机产生的质询;随后,证明者发出响应最后,核实者确定该响应确实适于该质询。每个质询必须是唯一的。如果可能的质询的数目相当大,那么统计上可确保这一点。
为了确保证明者知道该消息,响应必须既依赖于该质询,又依赖于要验证的消息;核实者随后必须确定该响应确实适于该质询和该消息。
需要得出一个观察结论。
-证据可以是数字签名。但是,虽然数字签名所需的约束足以满足这样的协议,反之则不成立。和数字签名相比,这种协议的约束条件要少得多,如下面在ZK双重验证中举例说明的那样。
利用RSA的动态验证的例子—每个证据具有构成RSA和二元组的两个数字数字Red(质询,消息)和在响应中传输的数字。从而,该组证据是RSA置换的子集。证明者计算核实者必须核实的RSA签名。
-在不使用模数n的因数分解,即不使用质因子的情况下,目击者把数字自乘到到s模n次幂,即,它执行log2n次平方模n,平均每隔一次间隔一个乘法模n。
即(log2n)XMn+0.5(log2n)MMn≈5/4log2nMMn-在使用质因子和中国余数的情况下,目击者执行○首先把一个数字(整数模n环的一个元素)分解成f个分量(形成该环的每个有限域中的一个数字)。
○随后在每个域中,用log2p次平方模p,平均每隔一次间隔一个乘法模p表示签名分量,即f(log2p)XMp+f/2(log2p)MMp≈1.25log2nMMp实际上,因子大致具有相同的大小。从而,每个p约比n短f倍,假定pf≈n,从而flog2p≈log2n。
○最后,执行中国余数运算,根据f个分量(每个分量在一个有限域中),确定该整数模n环中的签名。
把模数的长度乘以f等于把乘法模的荷载乘以f2,即MMp≈MMn/f2。这种规则使得能够如下估计荷载。
即分解f+(5/4log2nMMn)/f2+CRTf动态三重验证—借助三次传输,执行零知识验证,即在不暴露除知晓秘密事实之外的任何事的情况下,进行验证;证明者通过确定随机值开始操作,随后证明者计算并发出承诺(commitment),之后核实者发出随机产生的质询;之后,证明者发送随随机值、秘密和质询而变的响应;最后,核实者根据响应和质询重新建立承诺;如果这两个承诺相等并且非零,那么验证成功。
由于对话与彼此无关,可再次产生每个质询;它必须仅是不可预测的;从而,可能质询的数目可减少到2。
必须做出两个观察结论。
-借助三次零知识传输,可确保证明者了解该消息;代替传输承诺,证明者计算并传输承诺的散列码和验证的消息的散列码;核实者根据响应和质询重新确定承诺,随后根据重构的承诺和消息的散列码,重新确定承诺;如果对于非零的重构承诺,这两个散码码相同,那么验证成功。但是,三元组始终处于协议的核心。
-核实者开始着手检查,实际上是通过发出“质询承诺”来实现的,“质询承诺”确保目击者证明的和核实者核实的两个随机draw有效独立。但是,三元组始终处于协议的中心。
利用ZK GQ1的动态三重验证的例子-为了证明利用v=216+1的RSA签名的知识,目击者计算ZK GQ1三元组。
-在不使用模数n的因数分解,即不使用质因子的情况下,目击者计算○首先用16次平方模n,随后一个乘法模n计算承诺rv(mod n),○随后用15次平方模n,平均8次乘法模n,随后一次乘法模n计算响应r×Qd(mod n)即,总共31XMn+10MMn≈33.25MMn-通过利用质因子和中国余数,目击者计算○用16次平方模p和一次乘法模p,计算每个因子一个承诺分量rj×Qjd(mod pj),随后进行中国余数运算,确定承诺模n,○用15次平方模p,平均8次乘法模p,和一次乘法模p,计算每个因子一个响应分量rj×Qjd(mod pj),随后进行中国余数运算,确定响应模n。
即,总共(31XMn+10MMn≈33.25MMn)/f+2CRTf-核实者用16次平方模n,平均8次乘法模n,随后一次乘法模n,重构承诺Gd×Dv(mod n)。
即,总共16XMn+9MMn≈21MMn每个证据包括三个数字承诺、质询和响应。承诺和响应是小于n的两个非零数字R和D。质询是从0~v-1的数字d。它们共同构成ZK GQ1三元组。该组ZK GQ1三元组构成整数模n环的一组v个置换(permutation)。零质询对应于RSA置换。
利用ZK GQ2的动态三重验证的例子—为了证明模数n的因数分解的知识,目击者计算ZK GQ2三元组。
-在不使用模数n的因数分解,即不使用质因子的情况下,目击者用k次平方模n计算承诺。它用k-2次平方模n,平均(m×(k-1))/2次乘法模n,随后一次乘法模n计算响应即kXMn+(k-2)XMn+m(k-2)/2MMn+MMn≈(m+3)(k-1)/2MMn-利用质因子和中国余数,目击者计算○用k次平方模p计算每个因子一个承诺分量,随后进行中国余数运算,建立承诺模n,○以k-2次平方模p,平均(m×(k-1))/2次乘法模p,随后一次乘法模p计算每个因子一个响应分量,随后进行中国余数运算,确定响应模n。
即,总共((m+3)(k-1)/2MMn)/f+2CRTf-核实者打开证书。随后用k次平方模n重构承诺。实际上,关于基数的乘法或除法是可忽略的。
即证书+kXMn≈证书+0.75kMMn每个证据包含三个数字承诺、质询和响应。承诺和响应是小于n的两个非零数字R和D。质询d是由m×k-1位构成的数字。它们构成ZK GQ2三元组。
RSA 1024位和ZK GQ2 420位的比较—一对RSA密钥的现实例子使用具有两个因子的1024位模数。目前RSA未和两个以上的因子一起使用,不过不这样做是没有任何理由的。下面是工作量。
-产生RSA签名表示○无CRT情况下,1280MM1024,○借助CRT(f=2),324 MM1024,-核实RSA签名表示○v=3情况下,1.75MM1024,○v=216+1情况下,13MM1024,一对ZK GQ2密钥的现实例子在两个基数和k=9的情况下,使用具有三个140位因子的420位模数。
-产生三重ZK GQ2表示
○在CRT情况下,11.25MM420,即1.89MM1024。
-核实三重ZK GQ2表示○6.75MM420,即1.14MM1024。
-1024位证书的打开表示○对于平方(Rabin签名)来说,0.75MM1024,○对于立方(RSA签名)来说,1.75MM1024。
这些举例说明证实ZK GQ2技术中,起因于用户的RSA专用密钥的实现的工作量和起因于瞬时模数的实现的工作量之间二个量级的增益。性能方面的这种差异代表技术突破。和现有系统相比,对用户来说,结果是令人满意的人机工程学和提高的安全性。
零知识验证的其它方法—“He who can do more can do less”。零知识技术能够实现双重动态验证甚至消息签名。
ZK GQ双重动态验证的例子—核实者发出包括数十位,例如32熵(entropy)位的质询。
证明者随后计算一个或多个ZK GQ三元组,其ZK质询起源于散列码或者起源于承诺,核实者的质询和要验证的消息。所有ZK质询的熵(entropy)大于或等于核实者的质询的熵,例如48位的ZK质询相对于32位的核实者质询。证据包含一个或多个ZK GQ三元组,或者包含这些三元组的恰当子集,-即,承诺和响应,因为质询易于被重构,-或者更好,质询和响应,因为承诺易于被重构。
ZK GQ1证据的现实例子是v=216+1情况下的三个三元组或者更好,v=248-65情况下的单个三元组。ZK GQ2的另一现实例子使用具有两个基数的三因数模数对于k=9来说,证据包括三个三元组,对于k=25来说,证据只包括一个三元组。
ZK GQ签名的例子—证明者随后计算一个或多个ZK GQ三元组,其ZK质询来自承诺的散列码和要验证的消息。ZK质询的大小必须足够大,例如64位或80位。证据包括ZK GQ三元组或者这些三元组的恰当子集,
-即,承诺和响应,因为质询易于被重构,-或者更好,质询和响应,因为承诺易于被重构。
ZK GQ1证据的现实例子是v=216+1情况下的三个三元组或者更好,v=264-257情况下的单个三元组。ZK GQ2的另一现实例子使用具有两个基数的三因数模数对于k=9来说,证据包括三个三元组,对于k=25来说,证据只包括一个三元组。
现在我们将了解本发明的细节。
—在每次登录操作,计算机设备执行具有下述特征的初始化软件程序(操作的顺序无关紧要)。
-产生正被启动的对话的标识符数据,该数据由Id表示。
-产生公用瞬时模数n,大于2的公用指数v和至少一对GQ数字,例如m对GQ数字,m≥1。每对包括由类属等式GQ联系起来的公用数字G和专用数字Q。
或者直接等式G≡Qv(mod n)或者倒转等式G×Qv≡1(mod n)-通过利用唯一的本地程序,例如用户的唯一口令(可能由生物统计学实现(例如指纹或语音检查))识别用户,在用户的专用密钥的保护下产生或者导致签名的产生,以使瞬时模数和对话的持续时间的对话标识数据联系起来。这种签名是瞬时证书。
根据使用的GQ方法,GQ0、GQ1或GQ2,特定的约束条件应用于瞬时模数、指数和公用数字的产生,以及证书的结构。
在第一种方法(GQ0)中,公用指数v被固定,公用模数n和m个专用数字Qi随机取值。这种情况下,瞬时专用密钥必须由模数n和m个专用数字Q1~Qm表示;瞬时证书使对话标识符数据和公用数字n、v、G1、…Gm相联系。
在第二种方法(GQ1)中,证明者必须在不暴露RSA签名的知识的情况下,证实RSA签名的知识,核实者必须在不获得RSA签名的知识的情况下,核实RSA签名。必须使用具有把要签署的每条消息转换成数字的格式机制的RSA签名标准;这种机制一般使用散列函数。
每个RSA核实密钥具有公用指数v和公用模数n,公用模数n是两个较大的不同保密质因子p1和p2的乘积,以致v是相对于p2-1和p2-1的质数。这种情况下,每个公用数字Gi由对消息应用签名标准的格式机制而产生;即,Gi=Red(messagei);除了由模数n和m个专用数字Q1~Qm表示之外,瞬时专用密钥还可由f个质因子p1~pf,m×f个专用分量Q1,1~Qf,m,和中国余数的f-1个参数表示。瞬时证书使对话标识数据与这两个数字n和v联系起来;实际上,消息1~消息m不需要任何特殊保护。
在第三种方法(GQ2)中,证明者在不暴露模数的分解知识的情况下,证实模数的分解知识,核实者在不获得模数的分解知识的情况下,核实模数的分解。模数n是至少两个较大质因子的乘积,所述至少两个质因子中的至少两个是截然不同,例如f≥2,p1≤p2…≤pf,p1<pf,同时n=p1×p2…×pf;公用指数v是2的大于2的幂,例如v=2k,k≥2;m≥1个公用数字都是较小的平方数Gi=gi2。数字g1~gm都是基数。这种情况下,除了模数n和m个专用数字Q1~Qm表示之外,瞬时专用密钥还可由f个质因子p1~pf,m×f个专用分量Q1,1~Qf,m,和中国余数的f-1个参数表示;瞬时证书使对话和数字n联系起来;实际上,很小的数字k和g1~gm不需要任何特殊保护。
—对话期间,计算机设备与访问资源的设备(例如访问入口)或者与构成资源的设备(例如打印机或档案服务器)对话。
-计算机设备执行具有下述特征的证明软件程序。
○它不知道用户的专用密钥。
○它分发瞬时证书,所述瞬时证书使其能够确定知道用户的专用密钥的任何人的Id和n,所述密钥在公共密钥的目录中。
○它扮演ZK GQ目击者的角色,确定构成证据的ZK GQ三元组。
-每个资源执行具有下述特征的核实软件程序。
○它知道用户的公共密钥,或者它可以可靠的方式获得它自己的密钥。它使用所述密钥“打开”证书,从而确定对话标识符数据和瞬时模数,如果需要,外加指数和公用数字。
○它扮演ZK GQ的角色,核实证据。
必须注意到,如果存在对目录的访问,以便获得公共密钥的知识,那么具有核实软件程序的计算机设备能够绝对验证目录中的任意用户登录的对话。
详细说明结合附图,根据本发明的备选实施例(作为非限制性指示例子)的下述说明,本发明的其它特征和优点显而易见

图1是根据本发明的第二备选实施例的示意图。
根据本发明的系统使个人计算机1能够被一个或多个服务器2验证。按照已知的方式,用户5通过通信网络3把他的个人计算机和服务器2连接。
登录阶段下面将说明批准访问的用户5登录个人计算机1的阶段。
对话计划在一天中的一个有限持续时间内。个人计算机1具有登记软件程序4。该登录软件程序4在由用户5登录或其它被授权的人登录之前安装在该个人计算机1中。用户5通过启动键盘6上的一个键或通过鼠标点击与登录软件程序4相对应的一个图标来启动登录软件程序4的执行。用户5通过键盘6将一个个人标识符21,尤其是一个口令引入到个人计算机1中。口令的使用可补充有指纹。以公知的方式,个人标识符21使登录软件程序4验证指定用户5的身份和访问指定用户的专用签名密钥14。就所述备选实施例来说,所述备选实施例不涉及图1,用户5的专用签名密钥14位于包含在属于指定用户5的存储卡22中的密码20中。存储卡22的阅读机23与个人计算机1连接。在话路开始时,用户5把他的存储卡22插入阅读机23中。阅读机23具有在所述存储卡22和个人计算机1的第一计算装置7之间传送数据的数据传送装置24。在登录软件程序4的控制下,第一计算装置7通过按照已知方式实现指定用户5的个人标识符21来译解所述密码20。
在另一备选实施例中,用户5的专用签名密钥14位于包含在个人计算机1的存储区中的密码20中。就这种备选实施例来说,受登录软件程序4控制的第一计算装置7通过实现用户5的个人标识符21,译解所述密码20。
在另一备选实施例中,利用指定用户5持有的微处理器卡22中的签名算法25限制用户5的专用签名密钥14。就这种备选实施例来说,用户把他的微处理器卡22插入与个人计算机1连接的微处理器卡22的阅读机23中。阅读机23具有在微处理器卡22和个人计算机1之间传送数据的数据传送装置24。由所述登录软件程序4控制的个人计算机1的第一计算装置7通过实现所述专用签名密钥14和执行签名算法25,产生下面将说明的瞬时证书13。
下面继续说明登录阶段。受所述登录软件程序4控制的个人计算机1的第一计算装置根据用户标识符数据5、个人计算机标识符数据1、日期、时间和对话的持续时间,产生对话标识符数据Id8。第一计算装置7还产生公用瞬时模数n9、公用指数v10及至少一对瞬时公用数字G11和瞬时专用数字Q12。参数n、v、G和Q由下述这种类属等式联系起来G≡Qv(mod n)或者G×Qv≡1(mod n)第一计算装置还在借助用户5的所述专用签名密钥14,签署对话标识符数据Id8和所述公用瞬时模数n9的过程中产生唯一的瞬时证书13。如果需要,证书还可包括所述公用指数v10的签名或者瞬时公用数字G11的签名。这里必须清楚的是术语“唯一证书”指的是实际上,在由用户5的标识符数据,个人计算机1的标识符数据,登录日期和时间以及计划的最大对话持续时间识别的对话期间,登录软件程序4不产生任何其它证书的事实。但是,不排除在同一对话期间,用户使用他的专用签名密钥实现签名操作。为了防止在所考虑的对话期间,发出另一证书,个人计算机1具有在登录阶段之后,在对话期间,禁止执行登录软件程序4的禁止装置15。
对话期间下面说明对话过程中的验证操作。至少在个人计算机与服务器2之一的首次连接过程中,用户开始安装在个人计算机1中的证明软件程序16的执行。在用户5或任何有权进行登录操作的人员进行登录操作之前,证明软件程序16已安装在个人计算机1中。用户5通过激活键盘6的按键,或者通过借助他的个人计算机的鼠标,点击证明软件程序16图标,开始执行证明软件程序16。受所述证明软件程序16控制的第一计算装置7通过通信网络3向服务器2发送所述瞬时证书13。受所述证明软件程序16控制的第一计算装置7根据GQ技术,按照已知方式产生证据。这些证据打算供零知识GQ型验证机制的实现之用。按照GQ协议,证明软件程序16充当目击者。
核实软件程序18安装在服务器2上。该服务器具有在建立与个人计算机的计算机链接的过程中,按照已知方式激活的运行装置。这些运行装置开始所述核实软件程序18的执行。
在核实软件程序18的控制下,第二计算装置17利用与所述专用签名密钥14相关的公共密钥19打开瞬时证书13。在核实软件程序18的控制下,第二计算装置17从瞬时证书13抽取对话标识符数据Id8和所述瞬时模数n9,以及所述公用指数v10和所述瞬时公用数字G11(视情况而定)。根据GQ协议,证明软件16充当核实者。
下面更详细地说明当验证协议是GQ0型验证协议时,系统的第一备选实施例。就该备选实施例来说,受登录软件程序4控制的第一计算装置7按照下面描述的方式产生公用瞬时模数n9、公用指数v10和至少一对瞬时公用数字G11和瞬时专用数字Q12。第一计算装置7还包括设置所述公用指数v10的值,随机选择所述公用瞬时模数n9,随机选择所述瞬时专用数字12,通过应用两种类属等式中的任意一种,计算所述瞬时公用数字G11的装置。就该备选实施例来说,瞬时证书13使公用瞬时模数n9、公用指数v10和瞬时公用数字G11与对话标识符数据Id联系起来。就该备选实施例来说,GQ0型验证协议包括实现所述公用瞬时模数n9和所述m个瞬时专用数字Q1~Qm12的证明机制。
下面更详细地说明当验证协议是GQ1型验证协议时,系统的第二备选实施例。就该备选实施例来说,受所述登录软件程序4控制的第一计算装置7按照下面描述的方法,产生公用瞬时模数n9、公用指数v10和至少一对瞬时公用数字G11和瞬时专用数字Q12。第一计算装置7包含设置所述公用指数v10的值,通过乘以至少两个瞬时质因子,产生所述瞬时模数n9,以致v是关于每个瞬时质因子减1的质数,通过对消息mi应用RSA签名标准格式机制G=Red(mi),产生瞬时公用数字G11,确定专用指数s,从而s.v-1是每个瞬时质因子减1的倍数,通过使瞬时公用数字G11自乘到专用指数s模n次幂,产生瞬时专用数字Qi12,和/或产生m个瞬时专用数字Qi12的m×f个瞬时专用分量Qi,j的装置。于是可看出第三备选实施例不必直接使用瞬时专用数字Qi12,相反可使用瞬时专用分量Qi,j12。瞬时证书13使公用瞬时模数n9和公用指数v10与对话标识符数据Id联系起来。事实上,就该变形来说,消息mi不需要任何特殊保护。就该备选实施例来说,GQ1型验证协议包括证明机制,所述证明机制实现所述公用瞬时模数n9和所述m个瞬时专用数字Q1~Qm12或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf26,m×f个瞬时专用分量Q1,1~Qf,m27和瞬时中国余数28的f-1个参数。
下面将更详细地说明当验证协议是GQ2型验证协议时,系统的第三备选实施例。就该备选实施例来说,受所述登录软件程序4控制的第一计算装置7按照下面说明的方式,产生公用瞬时模数n9,公用指数v10,以及至少一对瞬时公用数字G11和瞬时专用数字Q12。第一计算装置7包括设置参数k的值,借助所述参数k,能够计算v=2k类型的所述公用指数v10,产生公用瞬时模数n9,所述公用瞬时模数n9是f个瞬时质因子的乘积,n=p1×p2×…×pf,f大于或等于2,选择m个瞬时基数gi,最好较小,尤其是小于100,使得能够定义Gi=gi2类型的m个瞬时公用数字Gi11,通过使瞬时公用数字G11自乘到专用指数s模n次幂,产生m个瞬时专用数字Qi12,和/或产生m个瞬时专用数字Qi12的m×f个瞬时专用分量Qi,j12的装置。于是可看出第三备选实施例不必直接使用瞬时公用数字Gi11相反可使用瞬时基数gi。同时,不必直接使用瞬时专用数字Qi12,相反可使用瞬时专用分量Qi,j12。就该备选实施例来说,瞬时证书13使公用瞬时模数n9和对话标识符数据Id相联系。事实上,数字k和m个基数gi不需要任何特殊保护。就第三备选实施例来说,GQ2型验证协议包括证明机制,所述证明机制实现所述公用瞬时模数n9和所述m个瞬时专用数字Q1~Qm12或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf26,m×f个瞬时专用分量Q1,1~Qf,m27和瞬时中国余数28的f-1个参数。
利用与RSA型登录协议相关的中国余数方法,在GQ型验证协议中实现较小的瞬时公用数字G11和瞬时专用数字Q12,使得能够解决产生的的问题,并实现本发明的目的。实际上,上述技术特征的组合能够减轻工作量,相应地减少在用户希望访问的服务器验证他们的个人计算机的各个阶段内用户的等待时间。和如果该方法实现已知协议,尤其是RSA协议的情况相比,工作量的减少比率为1比100。通过在持续时间短的对话期间,实现小的瞬时公用数字G11和瞬时专用数字,获得工作量的减轻,不会降低验证方法的安全性,因为·首先,对于可比的占用容量来说,GQ协议提供高于RSA协议的安全性,·其次,在对话期间,不可获得用于产生瞬时证书的RSA型、持续时间长并且较大的专用签名密钥,·最后,小的公用数字G和专用数字的瞬时特性不会给予欺诈个人取回GQ验证协议的机密数据所需的时间。
根据本发明的方法可用于识别在对话期间,使用关心的个人计算机的用户,并从数个服务器验证该个人计算机,·用户不必记忆数个口令,·用户和服务器的管理员不必在他们的个人计算机或服务器中具有较大的可用计算资源。
于是,本发明的方法适用于大量的应用。
权利要求
1.一种使第一计算机设备,尤其是个人计算机可被至少一个第二计算机设备,尤其是服务器验证的方法,所述计算机设备与通信网络连接;所述方法包括下述步骤I.在指定用户(5)登录所述第一计算机设备(1)的阶段内-对于指定用户(5),通过开始执行登录软件程序,和通过输入个人标识符,特别是口令和/或指纹,在所述第一计算机设备(1)上登录持续时间有限,例如数小时的对话的步骤;所述个人标识符(21)使得能够检查所述指定用户(5)的身份,并访问所述指定用户(5)的专用签名密钥(14);所述专用签名密钥(14)具有和对话的持续时间相比,是长期使用的密钥的特性;所述软件程序·根据用于识别指定用户(5)的数据和/或用于识别所述第一计算机设备(1)和/或根据对话的日期和/或时间和/或所述持续时间,产生对话标识符数据Id,·产生由下述这种类属等式联系起来的公用瞬时模数n(9)、公用指数v及至少一对瞬时公用数字G和瞬时专用数字QG≡Qv(modn)或G×Qv≡1(modn)·在借助所述指定用户(5)的所述专用签名密钥(14),签署所述对话标识符数据Id(8)和所述公用瞬时模数n(9),以及所述公用指数v(10)或所述瞬时公用数字G(11)(视情况而定)的过程中产生唯一的瞬时证书(13);所述公用瞬时模数n(9)具有相对于专用签名密钥(14)较小,并且具有和对话的持续时间可比的使用持续时间的特性;II.对话期间在登录阶段之后,以及在对话的持续时间内,禁止执行登录软件程序(4);在所考虑的对话期间,至少在所述第一计算机设备(1)与各个所述第二计算机设备首次连接的过程中,所述方法实现下述步骤对于所述指定用户(5)来说,开始执行证明软件程序的步骤,·通过通信网络,向第二计算机设备(2)传播所述瞬时证书(13),·产生在零知识验证机制,尤其是GQ型零知识验证机制的实现中起一定作用的证据,所述证明软件(16)用作协议目击者;-对于所述第二计算机设备(2)来说,开始执行利用与所述专用签名密钥(14)相关的公共密钥打开所述瞬时证书(13)的核实软件程序,和从所述瞬时证书抽取对话标识符数据Id(8)和所述公用瞬时模数n(9),以及所述公用指数v(10)或所述瞬时公用数字G(11)(视情况而定)的步骤,所述证明软件(16)用作GQ协议的核实者。
2.按照权利要求1所述的方法,所述指定用户(5)的所述专用签名密钥(14)位于包含在所述第一计算机设备(1)中的密码中,所述方法还包括-对于所述登录软件程序(4)来说,在实现所述指定用户(5)的所述个人标识符(21)的过程中,译解所述密码(20)的步骤。
3.按照权利要求1所述的方法,所述指定用户(5)的所述专用签名密钥(14)位于包含在所述指定用户(5)持有的存储卡中的密码(20)中,所述方法还包括-对于所述指定用户(5),把所述存储卡(22)插入与所述第一计算机设备(1)相关的存储卡(22)阅读机中的步骤,-对于所述登录软件程序(4)来说,通过实现所述指定用户(5)的所述个人标识符(21)译解所述密码(20)的步骤。
4.按照权利要求1所述的方法,利用所述指定用户(5)持有的存储卡(22)中的签名算法,限制所述指定用户(5)的所述专用签名密钥(14),所述方法还包括-对于所述指定用户(5)来说,把所述存储卡(22)插入与所述第一计算机设备(1)相关的存储卡(22)阅读机(23)中的步骤,-对于所述登录软件程序(4)来说,在执行实现所述专用签名密钥(14)的所述签名算法(25)的过程中,产生所述瞬时证书(13)的步骤。第一备选实施例GQ0型验证协议的情况
5.按照权利要求1-4任一所述的方法,在GQ0型验证协议的情况下实现所述方法,为了产生所述公用瞬时模数n(9),所述公用指数v(10)以及至少一对瞬时公用数字G(11)和瞬时专用数字Q(12),所述方法还包括下述步骤-设置所述公用指数v(10)的值的步骤,-随机选择所述公用瞬时模数n(9)的步骤,-选择m个瞬时专用数字Q(12)的步骤,-通过获得两个类属等式中的任意一个,计算所述瞬时公用数字G(11)的步骤;所述瞬时证书(13)使公用瞬时模数n(9)、公用指数v(10)和瞬时公用数字G(11)和对话标识符数据Id相联系。
6.按照权利要求5所述的方法,所述GQ0型验证协议包括实现所述公用瞬时模数n(9)和所述m个瞬时专用数字Q1~Qm(12)的证明机制。第二备选实施例GQ1型验证协议的情况
7.按照权利要求1-4任一所述的方法,在GQ1型验证协议的情况下实现所述方法,为了产生所述公用瞬时模数n(9),所述公用指数v(10)以及至少一对瞬时公用数字G(11)和瞬时专用数字Q(12),所述方法还包括下述步骤-设置所述公用指数v(10)的值的步骤,-通过乘以至少两个瞬时质因子,产生所述瞬时模数n(9),从而v是关于每个瞬时质因子减1的质数的步骤,-通过对消息mi应用RSA签名标准格式机制,产生瞬时公用数字G(11),G=Red(mi)的步骤,-确定专用指数s,从而s.v-1是每个瞬时质因子减1的倍数的步骤,-通过使瞬时公用数字G(11)自乘到专用指数s模n次幂,产生瞬时专用数字Qi(12),和/或产生m个瞬时专用数字Qi(12)的m×f个瞬时专用分量Qi,j(27)的步骤,所述瞬时证书(13)使公用瞬时模数n(9)和公用指数v(10)与对话标识符数据Id相联系,消息mi不需要任何特殊保护。
8.按照权利要求7所述的方法,所述GQ1型验证协议包括证明机制,所述证明机制实现所述公用瞬时模数n(9)和所述m个瞬时专用数字Q1~Qm(12),·或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf,m×f个瞬时专用分量Q1,1~Qf,m(27),和瞬时中国余数(28)的f-1个参数。第三备选实施例GQ2型验证协议的情况
9.按照权利要求1-4任一所述的方法,在GQ2型验证协议的情况下实现所述方法,为了产生所述公用瞬时模数n(9),所述公用指数v(10),以及m对瞬时公用数字G(11)和瞬时专用数字Q(12),m大于或等于1,所述方法还包括下述步骤-设置参数k的值,使得能够计算v=2k类型的所述公用指数v(10)的步骤,-产生公用瞬时模数n(9)的步骤,公用瞬时模数n(9)是f个瞬时质因子的乘积,n=p1×p2×…pf,f大于或等于2,-选择m个瞬时基数gi的步骤,使得能够定义Gi=gi2类型的m个瞬时公用数字Gi(11),-通过使瞬时公用数字G(11)自乘到专用指数s模n次幂,产生m个瞬时专用数字Qi(12),和/或产生m个瞬时专用数字Qi(12)的m×f个瞬时专用分量Qi,j(12)的步骤;所述瞬时证书(13)使公用瞬时模数n(9)和对话标识符数据Id(8)相联系,数字k和m个基数gi不需要任何特殊保护。
10.按照权利要求9所述的方法,所述GQ2型验证协议包括证明机制,所述证明机制实现所述公用瞬时模数n(9)和所述m个瞬时专用数字Q1~Qm(12),·或者瞬时模数n=p1×…×pf的f个瞬时质因子p1~pf(26),m×f个瞬时专用分量Q1,1~Qf,m(27),和瞬时中国余数(28)的f-1个参数,从而通过利用和RSA型登录协议相关的中国余数方法,在GQ型验证协议中实现小的瞬时公用数字G(11)和瞬时专用数字使得能够·减轻工作量,相关地,减小在用户希望访问的服务器验证他们的个人计算机的各个阶段内用户的等待时间,和如果该方法实现RSA型协议的情况相比,比率为1比100,·在持续时间短的对话期间,实现小的瞬时公用数字G(11)和瞬时专用数字,不会降低验证方法的安全性,因为··首先,对于可比的占用计算容量来说,GQ协议提供高于RSA协议的安全性,··其次,在对话期间,不可获得用于产生瞬时证书的RSA型、持续时间长并且较大的专用签名密钥(14),··最后,小的公用数字G和专用数字的瞬时特性不会给予欺诈人员从GQ验证协议取回机密数据所需的时间,从而所述方法可用于识别在对话期间使用指定个人计算机的用户,并从数个服务器验证该个人计算机,·用户不必记忆数个口令,·用户和服务器的管理员也不必在他们的个人计算机或服务器中具有较大的计算资源。系统
11.一种使第一计算机设备(1),尤其是个人计算机能够被至少一个第二计算机设备(2),例如服务器验证的系统,所述计算机设备与通信网络(3)连接;I.在指定用户(5)登录所述第一计算机设备(1)的阶段内所述第一计算机设备(1)包括-安装在所述第一计算机设备(1)上的登录软件程序(4),当为了持续时间有限的对话登录所述第一计算机设备(1)时,指定用户(5)通过激活控制单元(6),特别是所述第一计算机设备(1)的键盘,以及通过所述控制单元(6),输入个人标识符(21),特别是口令和/或指纹,开始登录软件程序的执行,所述个人标识符(21)使得能够检查所述指定用户(5)的身份,并访问所述指定用户(5)的专用签名密钥(14);所述专用签名密钥(14)具有和对话的持续时间相比为长期使用密钥的特性;所述第一计算机设备(1)还包括-受所述登录软件(4)控制的第一计算装置(7)·根据识别指定用户(5)的数据和/或识别所述第一计算机设备(1)的数据和/或根据对话的日期和/或时间和/或所述持续时间,产生对话标识符数据Id(8);·产生由下述这种类属等式联系起来的公用瞬时模数n(9)、公用指数v(10)及至少一对瞬时公用数字G(11)和瞬时专用数字Q(12)G≡Qv(modn)或G×Qv≡1(modn)在借助指定用户(5)的所述专用签名密钥(14),签署所述对话标识符数据Id(8)和所述公用瞬时模数n(9),以及所述公用指数v(10)或所述瞬时公用数字G(11)(视情况而定)的过程中,产生唯一的瞬时证书(13);所述公用瞬时模数n(9)具有相对于专用签名密钥(14)较小,并且持续应用时间和对话的持续时间可比的特性;II.对话期间所述第一计算机设备(1)还包括-在登录阶段之后,以及在对话的持续时间内,禁止执行登录软件(4)的禁止装置(15),-安装在所述第一计算机设备(1)上的证明软件程序(16),在考虑的所述对话期间,至少在所述第一计算机设备(1)与各个所述第二计算机设备(2)首次连接过程中,所述指定用户(5)通过激活控制单元(6),特别是所述第一计算机设备(1)的键盘,开始证明软件程序的执行,所述第一计算机设备(1)还包括-受所述证明软件(16)控制的第一计算装置(7),用于·通过通信网络(3)向第二计算机设备(2)传播所述瞬时证书(13),·产生在零知识验证机制,尤其是GQ型零知识验证机制的实现中起一定作用的证据,所述证明软件(16)用作目击者,如同在GQ验证协议中理解的那样,所述第二计算机设备(2)还包括-安装在所述第二计算机设备(2)上的核实软件程序(18),-开始所述核实软件程序(18)的执行的运行装置,-受所述核实软件程序(18)控制的第二计算装置(17),用于·利用与所述专用签名密钥(14)相关的公共密钥(19)打开所述瞬时证书(13),和·从所述瞬时证书(13)抽取对话标识符数据Id(8)和所述公用瞬时模数n(9),以及所述公用指数v(10)或所述瞬时公用数字G(11)(视情况而定),所述证明软件程序(16)用作GQ协议的核实者。
12.按照权利要求11所述的系统,所述指定用户(5)的所述专用签名密钥(14)位于包含在所述第一计算机设备(1)中的密码(20)中;所述第一计算机设备(1)还包括-受所述登录软件程序(4)控制的,在实现所述指定用户(5)的所述个人标识符(21)的过程中译解所述密码(20)的第一计算装置(7)。
13.按照权利要求11所述的系统,所述指定用户(5)的所述专用签名密钥(14)位于包含在所述指定用户(5)持有的存储卡(22)中的密码(20)中;所述系统还包括-与所述第一计算机设备(1)相关的存储卡(22)阅读机(23),所述指定用户(5)把所述存储卡(22)插入所述存储卡(22)阅读机(23)中;所述存储卡(22)阅读机(23)包括在所述存储卡(22)和所述第一计算机设备(1)之间传送数据的装置(24);所述第一计算机设备(1)还包括-受所述登录软件程序(4)控制,在实现所述指定用户(5)的所述个人标识符(21)的过程中译解所述密码(20)的第一计算装置(7)。
14.按照权利要求11所述的系统,所述指定用户(5)的所述专用签名密钥(14)由所述指定用户(5)持有的存储卡(22)中的签名算法(25)限制;所述系统还包括-与所述第一计算机设备(1)相关的存储卡(22)阅读机(23),所述指定用户(5)把所述存储卡(22)插入所述存储卡(22)阅读机(23)中,所述存储卡(22)阅读机(23)包括在所述存储卡(22)和所述第一计算机设备(1)之间传送数据的装置(24),所述第一计算机设备(1)还包括受所述登录软件程序(4)控制,用于在执行实现所述专用签名密钥(14)的所述签名算法(25)的过程中,产生所述瞬时证书(13)的第一计算装置(7)。第一备选实施例GQ0型验证协议的情况
15.按照权利要求11-14任一所述的系统,在GQ0型验证协议的情况下实现所述系统,为了产生所述公用瞬时模数n(9),所述公用指数v(10)以及至少一对瞬时公用数字G(11)和瞬时专用数字Q(12),受所述登录软件程序(4)控制的所述第一计算装置(7)还包括实现下述功能的装置-设置所述公用指数v(10)的值,-随机选择所述公用瞬时模数n(9),-随机选择m个瞬时专用数字Q(12),-通过获得两个类属等式中的任意一个,计算所述瞬时公用数字G(11);所述瞬时证书(13)使公用瞬时模数n(9)、公用指数v(10)及瞬时公用数字G(11)和对话标识符数据Id相联系。
16.按照权利要求11-14任一所述的系统,在GQ0型验证协议的情况下实现所述系统,包括实现所述公用瞬时模数n(9)和所述m个瞬时专用数字Q1~Qm(12)的证明机制。第二备选实施例GQ1型验证协议的情况
17.按照权利要求11-14任一所述的系统,在GQ1型验证协议的情况下实现所述系统;为了产生所述公用瞬时模数n(9),所述公用指数v(10)以及至少一对瞬时公用数字G(11)和瞬时专用数字Q(12),受所述登录软件程序(4)控制的所述第一计算装置(7)还包括实现下述功能的装置-设置所述公用指数v(10)的值,-通过乘以至少两个瞬时质因子,产生所述瞬时模数n(9),以致v是关于每个瞬时质因子减1的质数,-通过对消息mi应用RSA签名标准格式机制,产生瞬时公用数字G(11),G=Red(mi),-确定专用指数s,从而s.v-1是每个瞬时质因子减1的倍数,-通过使瞬时公用数字G(11)自乘到专用指数s模n次幂,产生瞬时专用数字Qi(12),和/或产生m个瞬时专用数字Qi(12)的m×f个瞬时专用分量Qi,j;所述瞬时证书(13)使公用瞬时模数n(9)和公用指数v(10)与对话标识符数据Id相联系,消息mi不需要任何特殊保护。
18.按照权利要求17所述的系统,所述GQ1型验证协议包括证明机制,所述证明机制实现所述公用瞬时模数n(9)和所述m个瞬时专用数字Q1~Qm(12),·或者瞬时模数(9)n=p1×…×pf的f个瞬时质因子p1~pf(26),m×f个瞬时专用分量Q1,1~Qf,m(27),和瞬时中国余数(28)的f-1个参数。第三备选实施例GQ2型验证协议的情况
19.按照权利要求11-14任一所述的系统,在GQ2型验证协议的情况下实现所述系统,为了产生所述公用瞬时模数n(9),所述公用指数v(10),以及至少一对瞬时公用数字G(11)和瞬时专用数字Q(12),受所述登录软件程序(4)控制的所述第一计算装置(7)还包括实现下述功能的装置-设置参数k的值,使得能够计算v=2k类型的所述公用指数v(10),-产生公用瞬时模数n(9),公用瞬时模数n(9)是f个瞬时质因子的乘积,n=p1×p2×…pf,f大于或等于2,-选择m个瞬时基数gi,使得能够定义Gi=gi2类型的m个瞬时公用数字Gi(11),-通过使瞬时公用数字G(11)自乘到专用指数s模n次幂,产生m个瞬时专用数字Qi,和/或产生m个瞬时专用数字Qi(12)的m×f个瞬时专用分量Qi,j(12);所述瞬时证书(13)使公用瞬时模数n(9)和对话标识符数据Id(8)相联系,数字k和m个基数gi不需要任何特殊保护。
20.按照权利要求19所述的系统,所述GQ2型验证协议包括证明机制,所述证明机制实现所述公用瞬时模数n(9)和所述m个瞬时专用数字Q1~Qm(12),·或者瞬时模数(9)n=p1×…×pf的f个瞬时质因子p1~pf(26),m×f个瞬时专用分量Q1,1~Qf,m(27),和瞬时中国余数(28)的f-1个参数,从而通过利用和RSA型登录协议相关的中国余数方法,在GQ型验证协议中实现小的瞬时公用数字G(11)和瞬时专用数字使得能够·减轻工作量,相关地,减小在用户希望访问的服务器验证他们的个人计算机的各个阶段内用户的等待时间,和如果该方法实现RSA型协议的情况相比,比率为1比100,·通过在持续时间短的对话期间,实现小的瞬时公用数字G(11)和瞬时专用数字,获得该结果,而不会降低验证方法的安全性,因为··首先,对于可比的占用计算容量来说,GQ协议提供高于RSA协议的安全性,··其次,在对话期间,不可获得用于产生瞬时证书的RSA型、持续时间长并且较大的专用签名密钥(14)··另外,在对话期间,不可获得用于产生小的公用数字G(11)和专用数字的RSA型、持续时间长并且较大的密钥,··最后,小的公用数字G和专用数字的瞬时特性不会给予欺诈人员从GQ验证协议取回机密数据所需的时间,从而所述方法可用于识别在对话期间,使用指定个人计算机的用户,并从数个服务器验证该个人计算机,·用户不必记忆数个口令,·用户和服务器的管理员也不必在他们的个人计算机或服务器中具有较大的计算资源。
全文摘要
本发明涉及一种使个人计算机(1)可被服务器(2)验证的方法。所述方法包括用户通过输入提供对相对对话的持续时间来说,长期使用的签名专用密钥(14)的访问,开始执行登录软件程序的步骤。登录软件程序产生对话的标识符数据Id,由类属等式G≡Q
文档编号G06F21/20GK1504028SQ02808251
公开日2004年6月9日 申请日期2002年3月12日 优先权日2001年3月12日
发明者路易斯·圭罗, 路易斯 圭罗 申请人:法国电信公司, 法国电视传播公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1