专利名称:一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法
技术领域:
本发明涉及通讯领域。具体涉及密码学和网络安全领域。说明书中的术语定义本说明书中,术语“原语”(!Primitives),指用于生成和验证数字签名的已知系统, 例如椭圆曲线Diffie-Hellman系统和椭圆曲线数字签名系统,同时也指用于验证信息真 实性的已知系统,例如信息随机化系统、雅可比恒等式验证系统以及诸如此类的系统。本说明书中,术语“数字签名” (Digital Signature),或称“签名” (Signature), 指一种真实性检验机制,用于信息、金融交易以及有必要检测伪造和篡改的场合。这些定义是对技术领域内已有定义的补充。
背景技术:
客户/服务器网络是一种分布式应用架构,这种架构可在服务提供者(服务器) 和服务请求者(客户端)之间分担任务或工作负荷。此类网络通信不一定安全。为了在 客户/服务器之间建立安全的通讯,许多研究人员和机构吸纳了诸如基于公钥的密码学方 法、基于身份的密码学方法以及类似的方法。一种基于口令的强认证密钥交换协议(Authentication Key Exchange, PAKE) 由Bollovin和Merritte于1993年获得专利。这是一种两方或多方的交互式方法,基 于获悉一方或多方口令而建立密钥。后来,斯坦福大学取得了安全远程协议Gecure RemoteProtocol, SRP)的专利权,该协议在非信任网络中被用于新口令认证和密钥交换机 制。接着太阳微系统公司(Sim Microsystems)提出了一种椭圆曲线密码学(ECC)技术,与 Open SSL授权证书良好地集成在一起。这种使用基于椭圆曲线加密套接字的编码可保证 TLS/SSL握手的安全。此领域中的其他成就美国专利号64772 授予了 Seiji Miyazaki和Kazuo Takaragi。此项专利提供 了一种数据加密和解密的方法,方法包括一个加密步骤和一个解密步骤。加密时,预先准备 好η对密钥和公钥密码学体制中的公钥(η为正整数)。通过结合至少一个公钥生成一个 新密钥。数据在公共密钥密码学体制中使用新密钥被加密,预先设定一个(k,η)阀值逻辑 (k为整数,其值小于等于η),逻辑项与新密钥和η个公钥关联。通过新密钥和这η个公钥 进行一个阀值逻辑运算,将加密的数据和阀值逻辑运算结果保存起来。解密时,根据从η个 密钥中选出的k个密钥和保存的阀值逻辑运算结果恢复新密钥,用恢复的密钥在公共密钥 密码学体制中按照阀值逻辑进行反向逻辑运算,从而解密存储的数据。美国64772M号专 利的焦点集中于用一种将数据加密和数据解密步骤分离的数据加密解密方法。数据加密步 骤还包括“η”对密钥和公钥,并使用至少两个已生成的公钥生成一个新密钥。美国专利号7673141授予了 Roger Kilian-Kehr等人。此项专利提供了一个系统用于安全访问应用服务。美国7673141号专利的系统内含一个质询提供者,质询提供者采 用第一种密码学技术向试图访问应用服务的客户端提出质询。客户端用第二种密码学技术 生成一个响应,将响应提交给认证服务。认证服务用一个与第一种密码学技术互补的第一 种认证技术和一个与第二种密码学技术互补的第二种认证技术分别对质询和响应进行认 证,只有当认证通过后,认证服务才授予客户端对应用服务的访问权。美国专利申请号2008069338,申请人为Robert Relyea,此项专利提供一个计算机 系统和一种将位置因素与令牌(客户端)相结合的方法。令牌接收来自服务器的加密质询, 此加密质询是用服务器和令牌公用共享的一个密钥加密而成。令牌用这个公用共享的密钥 对加密的质询进行解密,然后用一个预先准备好的椭圆曲线密码学(ECC)过程处理质询, 获得一个处理过的质询。令牌返回签名处理过的质询和一个ECC公钥给服务器作为对质询 的回复。服务器收到签名处理过的质询并验证该签名处理过的质询确由基于令牌的ECC公 钥所生成。在美国专利申请号2008069338中,客户端收到来自服务器的加密质询,而该质 询由服务器和客户端双方共同知悉的密钥进行加密(公钥)。美国专利申请号2009003597,申请人为Alexander Gantman等,此项专利提供一 种方法和装置,装置内含有双方同意使用一个共用的模数N进行认证的方法。美国专利申 请号2009003597方法的步骤包括由一个输入值生成一个伪随机字串;基于模数N和该伪 随机字串生成第一个公钥值;生成与第一个公钥值相对应的第一个私钥值;接收第二个公 钥值;基于模数N、第一个私钥值和第二个公钥值生成一个共享的密钥;用这个共享的密钥 决定认证签名并传送上述认证签名。美国专利申请号2009003597构想的系统,使用密钥生 成单元来生成第一个公钥和第一个私钥。该系统还用接收器单元接收第二个公钥值,而用 一个密钥生成单元生成一个共享的密钥值。美国专利申请号2010211779,申请人为Ganapathy S. Sundaram,此项专利在第一 方和第二方之间达成一项密钥协商协议。根据美国专利申请号2010211779,由第一方(服 务器)生成一个随机密钥组件,将密钥组件加密后发送给第二方(客户端)。随机密钥部分 使用第二方的公钥加密。对应地,第二方接收由第一方发送的随机密钥组件,并且,除了接 收第一个随机密钥组件外,第二方还生成第二个随机密钥组件。在客户端(第二方),第一 个密钥组件和第二个密钥组件都被加密形成一个加密的随机密钥组件对。这样,生成的加 密的随机密钥组件对从第二方(客户端)传送到第一方(服务器)。从第二方接收到加密 的随机密钥组件对后,服务器(第一方)发送一个加密的第二随机密钥组件给第二方,而这 个基于第二随机密钥组件由第一方(服务器)计算和决定的密钥将用于客户端和服务器之 间后续的所有通讯中。美国专利申请号2010211779的焦点集中于提供了一个基于身份的 加密方案。美国专利号7549044颁发给了 Lane W. Lee,此项专利提供了 一个块级存储设备, 该设备已经过配置用于实现一个数字版权管理(DRM)系统。存储设备收到来自相关主机系 统的公钥后,向该主机发送质询以证明它具有对应的私钥以用来建立信任。这个信任通过 用公钥加密一个安全会话密钥而建立。主机系统用它的私钥恢复该安全会话密钥。存储 设备也可能存储依据内容密钥加密后的密文。此外,存储设备可能使用安全会话密钥来加 密内容密钥。美国专利号7549044的焦点集中于提供一个数字版权管理。在美国专利号 7549044专利中,安全会话密钥本身就是被加密的,并随后被解密以确保存储设备和客户端之间的安全通讯。中国专利申请号1444168,申请人为朱华飞。此项专利基于非对称加密方法的概率 生成一个椭圆曲线公钥证书。它是从椭圆曲线上的Diffie-Hellman判定问题出发,辅以抗 碰撞杂凑函数和公钥证书进行加密和解密的公钥密码系统。为了加强客户端和服务器之间 的通讯安全,中国专利申请号1444168专利还进一步使用了抗碰撞哈希函数原理、公钥加 密系统和公钥证书方案。本发明与中国专利申请号1444168专利的系统在这一点上不同, 本发明使用无证书公钥基础结构。尽管中国专利申请号1444168专利也使用椭圆曲线密码 学,实际中的主要不同在于本发明使用无证书公钥基础结构而中国专利申请号1444168专 利使用一个基于证书的公钥基础结构。现有技术提议的系统及其现有相关专利文献的缺陷在于以上所有方法都是采用 基于证书的公钥密码学和基于身份的密码学技术实现的。这些密码学方法在现实生活 部署中都面临昂贵复杂的密钥管理问题和密钥托管问题。最近,无证书公钥密码学体制 (CL-PKC)被引入用来应对这些并没有完全被解决问题。典型地,无证书公钥密码学体制使 用双线性对和逆运算,这将降低统性能。因此,有必要研制一种基于无证书公钥密码体制但不使用双线性对原理的低开销 省时间的系统。发明目的本发明的目的是为客户端和服务器之间提供一种安全通讯系统;本发明的另一目的是为客户端和服务器之间提供一种健壮的安全通讯的系统;本发明的另一目的是提供一种防止篡改系统;本发明的另一目的是提供一种轻量级认证系统;本发明的另一目的是提供一种采用无证书公钥密码体制技术的低开销系统;本发明的另一目的是提供一种采用无证书公钥密码体制技术而不使用双线形对 的具备时效性的系统;本发明的另一目的是提供一种较低带宽情况下能够正常工作的系统;本发明的另一目的是提供一种运行时要求存储空间更小的节约空间系统;本发明的另一目的是提供一种具备及时安全进行网上现金交易方法的系统;本发明的另一目的是提供一种能够防止发生重放攻击和急送攻击的系统;本发明的另一目的是提供一种能够帮助减少信息丢失的系统;以及本发明的另一目的是提供一种即使传送大量数据也不会危及性能的系统。
发明内容
本发明提供了一种加强客户/服务器通讯安全的系统。所述系统包括·随机数发生器,用于生成随机数;·处理方法,用于接收上述随机数并产生一个已处理数值; 第一验证方法,用于接收并验证上述已处理数值进行伪造检测,并进一步采用所 述第一验证方法产生一个已验证数值;·与第一验证方法配对的计算方法,采用所述计算方法生成第一个数值,进一步采 用所述计算方法生成与上述第一个数值对应的第二个数值;
·拥有预定原语的第二验证方法,采用所述第二验证方法接收并验证上述第二个 数值,进一步采用所述第二验证方法生成一个公钥和与其对应的私钥;·拥有上述预定原语的密钥生成方法,采用所述密钥生成方法接收由上述第二验 证方法生成的上述公钥并生成一个密钥;以及·拥有上述预定原语的会话密钥生成方法,采用所述会话密钥生成方法接收由上 述密钥生成方法生成的上述密钥并生成一个会话密钥;上述密钥和上述会话密钥可以加强客户/服务器通讯的安全性。更为可取的是,依照本发明,处理方法包括采用一个加密方法用于接收上述随机 数,而且采用椭圆曲线加密方法应用公钥对上述随机数进行加密。更为可取的是,依照本发明,处理方法包括采用一个预处理的方法接收上述随机 数,而且应用信息随机化的方法处理上述随机数。更为可取的是,依照本发明,第一验证方法包括采用一个解密方法接收上述已处 理的随机数,而且采用椭圆曲线加密方法应用私钥对上述已处理的随机数进行解密。更为可取的是,依照本发明,第一验证方法包括采用一个预处理的方法,预处理的 方法通过应用信息随机化的方法来接收并验证上述已处理数值以进行伪造检测。更为可取的是,依照本发明,第一个数值从由成对的公钥和私钥以及雅可比恒等 式所组成的组中选出。更为可取的是,依照本发明,第二个数值从由数字签名值和Lie积所组成的组中 选出。更为可取的是,依照本发明,预定原语从由椭圆曲线Diffie-Hellman方法、椭圆 曲线数字签名方法和雅可比恒等式验证系统所组成的组中选出。更为可取的是,依照本发明,预定原语从由椭圆曲线Diffie-Hellman系统和椭圆 曲线数字签名系统所组成的组中选出。本发明提供了一种加强客户/服务器通讯安全的方法。所述方法的步骤为·生成一个随机数;·处理上述随机数生成一个已处理数值;·验证上述已处理数值以检测伪造;·生成第一个数值;·生成与上述第一个数值对应的第二个数值;·使用预定原语验证上述第二个数值;·生成一个公钥和一个与之对应的私钥;·传输上述公钥而保留上述私钥;·接收传输的公钥并采用预定原语生成一个密钥;以及·基于上述密钥和预定原语生成一个会话密钥。典型地,依照本发明,处理上述随机数生成一个已处理数值的方法中进一步包括 的步骤还有采用椭圆曲线加密系统应用公钥对上述随机数进行加密。典型地,依照本发明,处理上述随机数生成一个已处理数值的方法中进一步包括 的步骤还有应用从位交换、压缩、T函数和线形反馈移位寄存器所组成的组中选出的原语 处理上述随机数。
典型地,依照本发明,验证上述已处理数值的方法中进一步包括的步骤还有采用 椭圆曲线加密系统应用私钥对上述已处理数值进行解密。典型地,依照本发明,验证上述已处理数值的方法中进一步包括的步骤还有应用 信息随机化方法验证上述已处理数值。典型地,依照本发明,生成上述第一个数值的方法中进一步包括的步骤还有生成 一对公钥和私钥;典型地,依照本发明,生成上述第一个数值的方法中进一步包括的步骤还有生成 雅可比恒等式。典型地,依照本发明,基于上述第一个数值生成上述第二个数值的方法中进一步 包括的步骤还有生成一个数字签名值。典型地,依照本发明,基于上述第一个数值生成上述第二个数值的方法中进一步 包括的步骤还有生成一个Lie积。典型地,依照本发明,使用预定原语验证上述第二个数值的步骤中进一步包括的 步骤还有使用从由曲线Diffie-Hellman方法、椭圆曲线数字签名方法和雅可比恒等式验 证方法所组成的组中选出的预定原语对上述第二个数值进行验证。典型地,依照本发明,接收传输的公钥并基于预定原语生成一个密钥的步骤中进 一步包括的步骤还有基于由椭圆曲线Diffie-Hellman方法和椭圆曲线数字签名方法所 组成的组中选出的预定原语生成上述密钥。典型地,依照本发明,基于上述密钥和预定原语生成一个会话密钥的步骤中进一 步包括的步骤还有使用上述密钥和由椭圆曲线Diffie-Hellman方法和椭圆曲线数字签 名方法所组成的组中选出的预定原语生成一个会话密钥。
本发明描述的参考图如下图1该图依照本发明绘制,显示第一网络安全协议的顺序图;图2该图依照本发明绘制,显示第二网络安全协议的顺序图;以及图3该图依照本发明绘制,显示第三网络安全协议的顺序图。
具体实施例方式附图描述了本发明的具体实施方式
。
具体实施方式
并不限制本发明的范围和权 利。本描述仅为关于本发明的优选实施方式和建议的应用。按照本发明,设想系统和一个包含三个网络安全协议的集合提供基于无证书的公 钥基础结构(Public Key Infrastructure, PKI)的客户/服务器安全通讯。系统至少包括一个服务器和一个客户端。服务器用来执行生成密钥功能,密钥为 一对公钥和私钥,服务器为密钥生成中心(Key Generation Center,KGC)。系统形成客户/ 服务器架构和PKI所要求的基础结构,PKI包括一组硬件、策略、过程以及通讯所需要的类 似要求。使用第一网路安全协议的基于无证书PKI的通讯最初以服务器作为KGC向客户端 分配公钥和私钥。使用第一网路安全协议建立基于无证书PKI通讯的步骤如图1。
8
如图1所示,客户端首先发起通讯,发送一个诸如“客户问候”的初步信息。对客 户问候信息的回应,服务器用随机数发生器生成一个长度为“η”个比特位的随机数(值)。 接着服务器用客户端的公钥对生成的随机数进行加密。在随机数的加密过程中,并无数字 证书生成。服务器记录私钥集和分配给每一个客户端的公钥。在服务器侧,使用椭圆曲线加 密方法对该随机数进行加密。将用客户端公钥加密过的值发送给客户端。服务器质询客户 端去解密这个加密形式的值,用以验证客户端的身份。客户端收到这个加密值后,用它的私 钥解密这个加密值。客户端用它的私钥和椭圆曲线Diffie-Hellman算法对这个加密值进 行解密,并验证该值是否来自一个可信任源。成功解密这个加密值并恢复其原值后,客户端 向服务器证明了它的可信任性。客户端在完成验证服务器发送过来的值的步骤中(例如 解密服务器发送过来的加密值),使用椭圆曲线密码学生成了一对公钥和私钥。客户端用椭圆曲线数字签名算法对解密的值生成一个签名,并将签名发送到服务 器,服务器端收到客户端发送的签名后,用椭圆曲线数字签名算法对签名进行验证。验证过 客户端发送的签名后,服务器很快用椭圆曲线Diffie-Hellman算法生成一对公钥和私钥, 并将生成的公钥发送给客户端。客户端收到服务器发送的公钥后,客户端用椭圆曲线Diffie-Hellman算法生成 一个长度为“III”个比特位的密钥,并与服务器共享该密钥。服务器对应地使用椭圆曲线 Diffie-Hellman算法生成一个“m”比特位的会话密钥。密钥和对应的会话密钥都是用椭圆 曲线Diffie-Hellman算法生成。参考图1中的数字100表示用椭圆曲线Diffie_HelIman 算法生成“m”比特位长度的会话密钥的步数。该会话密钥用于服务器和客户端之间所有后 续的通讯和事务。因为该会话密钥仅为服务器和客户端所知,客户端与服务器之间的通讯 是完全安全的。使用第一网络安全协议加强服务器与客户端之间的通讯安全方的方法中所包含 的步骤如下初始设置服务器作为密钥生成中心(Key Generation Center,KGC),每个客户端 有一对由服务器生成的公钥和私钥。第一步客户端首先发起通讯,发送一个“客户问候”信息。第二步服务器用伪随机数发生器(Pseudo Random Number Generator, PRNG)生 成一个η比特位的随机质询,或称随机数(值)。进一步,服务器应用客户端的公钥使用椭 圆曲线加密(Elliptic Curve Encryption,ECE)方法加密此随机数。客户端应用自己的私 钥使用ECE方法解密加密的随机数。第三步客户端使用椭圆曲线密码学方法生成椭圆曲线上的公钥和私钥。公钥 和私钥的长度可以如美国国家标准与技术研究院(National Institute of Standards andTechnology,NIST)所推荐的或256个、或384个、或512个比特位。客户端用椭圆曲线 数字签名算法对该值生成一个签名,并将签名发送到服务器。第四步服务器用椭圆曲线数字签名算法验证该签名并接着在椭圆曲线上生成一 个密钥对。服务器将生成的公钥发送给客户端第五步客户端和服务器使用椭圆曲线Diffie-Hellman (Elliptic Curve diffie he 1 Iman, E⑶H)算法协商一个m比特位长的共享密钥。第六步客户端和服务器使用ECDH算法协商一个m比特位长的会话密钥用于加密。客户端和服务器有了加密套接字。第七步客户端与服务器之间的安全通讯建立。以上协议中,攻击者无法猜到协议生成的随机质询值、或称随机数(值)。因为该 值是以加密的形式传送的,因此可防止重放攻击和急送攻击。使用第二网路安全协议建立基于无证书PKI通讯的步骤如图2。使用第二网路安 全协议的基于无证书πα的通讯与第一网络安全协议略有不同,它没有为客户端和服务器 生成一对公钥和私钥的初始设置,而是客户端和服务器有个唯一信息预处理函数可以将明 文转换成随机信息。随机数发送时,采用一一对应映射以确保无修改发生。对于随机数值, 表示特定数值的位次序被改变或随机化,这样原值就被掩蔽了。如图2所示,客户端首先发起通讯,发送一个诸如“客户问候”的初步信息。对客户 问候信息的回应,服务器用随机数发生器生成一个长度为“η”个比特位的随机数(值)。服 务器使用信息预处理函数(信息随机化函数)处理生成的随机数。信息预处理函数内部按 顺序执行三个运算。这三个运算是位交换、T函数和线形反馈移位寄存器(Linear Feedback Shift Register,LFSR)。预处理过程首先进行位交换。位交换可以增加扩散。扩散是指输 入消散于输出在统计上的冗余度属性。位交换的过程是可逆的,而且很容易从交换过的位 次序恢复成原先的位次序。位交换过程之后紧接着是T函数过程。T函数是个更新函数,可以线形合并相同比 特位和次要比特位从而更新每一个比特位。T函数过程之后是LFSR函数,LFSR内含一个不 可约的周期为232-1的32次多项式。在LFSR中,给定的输入被给定的多项式切换4到15 个圈。经过位交换、T函数和LFSR(统称为预处理)之后的输出是一个高度随机值。提交生成的值到预处理函数之后,服务器发送已预处理值和原值到客户端。已预 处理值由原值衍生而来,已预处理值和原值唯一不同在于已预处理值的比特位次序被改变 了。在客户端,以相反的顺序使用位交换、T函数和LFSR函数对已预处理值进行验证,例如 先进行LFSR,之后是T函数和位交换。上述的过程的传导顺序与进行预处理时的顺序是相 反的。因为所有三个函数都是可逆的,因而传导顺序可被反转并没有任何数据丢失和不利 影响。在以相反顺序(例如先进行LFSR,之后是T函数和位交换)执行上述函数后,客户端 获得了验证值。客户端用服务器发送过来的原值和这个经过LFSR,T函数和位交换等运算 得到的验证值进行比较,从而检测该值是否被伪造。验证过服务器发送过来的值后,如果服 务器发送过来的值为真实,客户端用椭圆曲线Diffie-Hellman算法生成一对公钥和私钥。 客户端用椭圆曲线数字签名算法对服务器发送过来的值生成一个签名,并将签名连同公钥 发送到服务器。收到签名后,服务器用椭圆曲线数字签名算法验证客户端发送过来的签名并接 着用椭圆曲线数字签名算法生成一对公钥和私钥。随后,服务器发送生成的公钥到客户 端。客户端收到服务器发送的公钥后,客户端用椭圆曲线Diffie-Hellman算法生成一个 长度为“m”个比特位的密钥,并与服务器共享该密钥。服务器对应地基于该密钥和椭圆曲 线Diffie-Hellman算法生成一个“m”比特位的会话密钥。密钥和对应的会话密钥都使用 椭圆曲线Diffie-Hellman算法生成。参考图2中的数字200表示基于密钥和椭圆曲线 Diffie-Hellman算法生成“m”比特位长度的会话密钥的步数。该会话密钥用于服务器和客 户端之间所有后续的通讯和事务。因为该会话密钥仅为服务器和客户端所知,客户端与服务器之间的通讯是完全安全的。使用第二网络安全协议加强服务器与客户端之间的通讯安全方的方法中所包含 的步骤如下第一步客户端首先发起通讯,发送一个“客户问候”信息。第二步服务器用伪随机数发生器(Pseudo Random Number Generator, PRNG)生 成一个η比特位的随机质询,或称随机数(值),并计算随机数的信息预处理值。客户端接 收随机数和信息预处理值。验证信息预处理值。第三步客户端在椭圆曲线上生成公钥和私钥。公钥和私钥的长度可以如美国国 家标准与技术研究院(National Institute of Standards and jTechnologyjIST)所推荐 的或256个、或384个、或512个比特位。客户端用椭圆曲线数字签名算法对服务器发送过 来的值生成一个签名,并将签名连同公钥发送到服务器第四步服务器验证该签名并接着在椭圆曲线上生成一个密钥对。服务器将生成 的公钥发送给客户端。第五步客户端和服务器使用椭圆曲线Diffie-Hellman(Elliptic Curve diffie hellman,E⑶H)算法协商一个m比特位长度的共享密钥。第六步客户端和服务器使用ECDH算法协商一个m比特位长的会话密钥用于加 密。客户端和服务器有了加密套接字。第七步客户端与服务器之间的安全通讯建立。上面的协议中,随机数明文连同信息预处理值一起发送,防止了重放攻击和急送 攻击,有意思的是信息预处理值具有一一对应属性,攻击者可以改变随机数,但信息预处理 值无法改变。使用第三网路安全协议的基于无证书的通讯与使用第一网路安全协议的情 况相似,但在签名生成上有所不同。客户端使用雅可比恒等式认证服务器,雅可比恒等式是 基于Lie代数的一种特殊积。雅可比恒等式质询随机数满足关系RC = X ||y ||z*[[x, y], z] + [[y, ζ], χ] + [[ζ, χ], y] = O。使用第三网路安全协议建立基于无证书PKI通讯的步骤如图3。如图3所示,客户端首先发起通讯,发送一个诸如“客户问候”的初步信息。对客 户问候信息的回应,服务器用随机数发生器生成一个长度为“η”个比特位的随机数(值)。 服务器用客户端的公钥对生成的随机数进行加密。在随机数的加密过程中,并无数字证书 生成。服务器记录私钥集和分配给每一个客户端的公钥。在服务器侧,使用椭圆曲线密码 学方法对该随机数进行加密。将用客户端公钥加密过的值发送给客户端。服务器质询客户 端去解密这个加密值,用以验证客户端的身份。客户端收到这个加密值后,用它的私钥和椭 圆曲线密码学方法解密这个加密值,从而向服务器证明它是可信任方。客户端进一步在该值上计算雅可比恒等式。即,客户端将解密值分为三个部分。客 户端进一步在收到的值上生成Lie积。依照本发明,设该值分为三个部分分别为χ、y、X,那么雅可比恒等式将表示为 X I I y I I Z。随机数的恒等式通过关系式[[x,y],z] + [[y, z],x] + [[z,x],y] =0来验证。依照本发明,当客户端生成并发送该值的Lie积到服务器,服务器使用关系式 [[χ, y],z] + [[y, z],x] + [[z,x],x] =0验证客户端发送过来的Lie积。验证了客户端发送过来的Lie积之后,服务器进一步使用椭圆曲线密码学算法生成一对公钥和私钥。椭 圆曲线Diffie-Hellman算法形成了椭圆曲线密码学的一部分用于生成公钥和私钥对; 服务器随后发送公钥到客户端。客户端收到服务器发送的公钥后,客户端用椭圆曲线 Diffie-Hellman算法生成一个长度为“m”个比特位的密钥,并与服务器共享该密钥。服务 器对应地使用该密钥和椭圆曲线Diffie-Hellman算法生成一个“m”比特位的会话密钥。密 钥和对应的会话密钥都使用椭圆曲线Diffie-Hellman算法生成。参考图3中的数字300 表示生成“m”比特位长度的会话密钥的步数。该会话密钥用于服务器和客户端之间所有后 续的通讯和事务。因为该会话密钥仅为服务器和客户端所知,客户端与服务器之间的通讯 是完全安全的。使用第三网络安全协议加强服务器与客户端之间的通讯安全方的方法中所包含 的步骤如下初始设置服务器作为密钥生成中心(Key Generation Center,KGC),每个客户端 有一对由服务器生成的公钥和私钥。第一步客户端首先发起通讯,发送一个“客户问候”信息。第二步服务器用伪随机数发生器(Pseudo Random Number Generator, PRNG)生 成一个η比特位的随机质询,或称随机数(值)。进一步,服务器应用客户端的公钥使用椭 圆曲线密码学(Elliptic Curve Cryptography,ECC)方法加密此随机数。客户端应用自己 的私钥使用椭圆曲线密码学方法解密加密的随机数。第三步客户端计算雅可比恒等式(Random Number = χ | | y | | ζ)并发送Lie积 [[x,y],z]到服务器。第四步服务器验证关系式[[X,y],z] + [[y,Z],X] + [[Z,X],y] =O0服务器用椭 圆曲线密码学发送公钥到客户端。第五步客户端和服务器使用椭圆曲线Diffie-Hellman (Elliptic Curve diffie he 1 Iman, E⑶H)算法协商一个m比特位长的共享密钥。第六步客户端和服务器使用ECDH算法协商一个m比特位长的会话密钥用于加 密。客户端和服务器有了加密套接字。第七步客户端与服务器之间的安全通讯建立。技术先进性本发明的技术先进性如下·本发明为客户端和服务器之间提供了一种健壮的安全通讯系统。·本发明提供了一种防篡改系统。·本发明提供了一种轻量级认证系统。·本发明提供了一种采用无证书公钥密码体制技术的低开销系统。 本发明提供了一种采用无证书公钥密码体制技术而不使用双线形对的具备时效 性的系统。·本发明提供了一组协议用于防止重放攻击和急送攻击的系统。·本发明提供了一组协议即便在低带宽的情况下也可以正常工作。·本发明提供了一组协议采用强大的分析函数降低了信息丢失的概率。·本发明提供了一组协议能使用户进行安全的在线现金交易。
·本发明提供了一组协议其性能不受传输数据量大的不利影响。·本发明可应用于如下的客户/服务器结构传输层安全协议(Transport Layer Security,TLS)和用户数据报协议(User Datagram Protocol,UDP)通讯、智能手机、手机银 行、基于位置的系统、机顶盒装置、访问控制系统、远程协议系统、个人数字助理、无线设备、 报警系统、网状拓扑网络、移动支付系统、无钥匙启动系统、移动通讯以及其他类似系统。尽管本发明的特点已于此文件中着重强调,但显而易见的是,熟悉本领域的技术 人员,在不背离本发明原则的前提下,可以对本发明进行各种修改以及对首选具体实施方 式进行多种改变,我们对此表示感谢。据此,前文描述仅是为了说明本发明之目的而非限 制。
权利要求
1.一种加强客户/服务器通讯安全的系统。所述系统包括 随机数发生器,用于生成随机数;处理方法,用于接收上述随机数并产生一个已处理数值;第一验证方法,用于接收并验证上述已处理数值进行伪造检测,并进一步采用上述第 一验证方法产生一个已验证数值;与第一验证方法配对的计算方法,采用所述计算方法生成第一个数值,进一步采用所 述计算方法生成与上述第一个数值对应的第二个数值;拥有预定原语的第二验证方法,采用所述第二验证方法接收并验证上述第二个数值, 进一步采用所述第二验证方法生成一个公钥和与其对应的私钥;拥有上述预定原语的密钥生成方法,采用所述密钥生成方法接收由上述第二验证方法 生成的上述公钥并生成一个密钥;以及拥有上述预定原语的会话密钥生成方法,采用所述会话密钥生成方法接收由上述密钥 生成方法生成的上述密钥并生成一个会话密钥;上述密钥和上述会话密钥可以加强客户/服务器通讯的安全性。
2.根据权利要求1所述的系统,其中所述的处理方法包括采用一个加密方法用于接收 上述随机数,而且应用椭圆曲线加密公钥对上述随机数进行加密。
3.根据权利要求1所述的系统,其中所述的处理方法包括采用一个预处理的方法接收 上述随机数,而且预处理上述随机数产生一个已处理数值。
4.根据权利要求1所述的系统,其中所述的第一验证方法包括采用一个解密方法接收 上述已处理的随机数,而且采用椭圆曲线加密方法应用私钥对上述已处理数值进行解密。
5.根据权利要求1所述的系统,其中所述的第一验证方法包括采用一个预处理的方法 接收并验证上述已处理数值以进行伪造检测。
6.根据权利要求1所述的系统,其中所述的第一个数值从由成对的公钥和私钥以及雅 可比恒等式所组成的组中选出。
7.根据权利要求1所述的系统,其中所述的第二个数值从由数字签名值和Lie积所组 成的组中选出。
8.根据权利要求1所述的系统,其中所述的预定原语从由椭圆曲线Diffie-Hellman系 统、椭圆曲线数字签名系统和雅可比恒等式验证系统所组成的组中选出。
9.一种加强客户/服务器通讯安全的方法。所述方法包括如下步骤 生成一个随机数;处理上述随机数生成一个已处理数值; 验证上述已处理数值以检测伪造; 生成第一个数值;生成与上述第一个数值对应的第二个数值; 使用预定原语验证上述第二个数值; 生成一个公钥和一个与之对应的私钥; 传输上述公钥而保留上述私钥;接收上述传输的公钥并基于预定原语生成一个密钥;以及 基于上述密钥和预定原语生成一个会话密钥。
10.根据权利要求9所述的方法,其中所述的处理上述随机数生成一个已处理数值的 步骤中进一步包括的方法还有使用从由椭圆曲线Diffie-Hellman方法、椭圆曲线数字签 名方法和信息随机化方法所组成的组中选出的预定原语处理上述随机数。
11.根据权利要求9所述的方法,其中所述的验证上述已处理数值以检测伪造的步骤 中进一步包括的方法还有使用从由椭圆曲线Diffie-Hellman方法、椭圆曲线数字签名方 法和信息随机化方法所组成的组中选出的预定原语验证上述已处理数值。
12.根据权利要求9所述的方法,其中所述的生成上述第一个数值的步骤中进一步包 括的方法还有生成一个数值从由成对的公钥和私钥以及雅可比恒等式所组成的组中选 出ο
13.根据权利要求9所述的方法,其中所述的生成与上述第一个数值对应的上述第二 个数值的步骤中进一步包括的方法还有生成一个数值从由从由数字签名值和Lie积所组 成的组中选出。
14.根据权利要求9所述的方法,其中所述的生成一个密钥的步骤中进一步包括的方 法还有基于由椭圆曲线Diffie-Hellman方法和椭圆曲线数字签名方法所组成的组中选 出的预定原语生成上述密钥。
15.根据权利要求9所述的方法,其中所述的基于上述密钥和预定原语生成一个会话 密钥的步骤中进一步包括的方法还有使用从由椭圆曲线Diffie-Hellman方法和椭圆曲 线数字签名方法所组成的组中选出的预定原语生成上述会话密钥。
全文摘要
本发明涉及一种基于无证书公共密钥基础结构用于加强客户/服务器通讯协议安全性的系统和方法。本发明提出了一种使用椭圆曲线密码学和无证书的公钥基础结构加强客户/服务器通讯安全的系统和方法。系统包括一种密钥生成方法,该方法使用椭圆曲线Diffie-Hellman算法生成一个m比特位长度的密钥。系统还包括一种会话密钥生成方法,该方法使用上述密钥和椭圆曲线Diffie-Hellman算法生成一个会话密钥。会话密钥用于加强服务器与客户端之间的通讯安全。
文档编号H04L9/32GK102098157SQ201010589090
公开日2011年6月15日 申请日期2010年12月10日 优先权日2009年12月10日
发明者纳塔拉詹·维贾雅兰甘 申请人:塔塔咨询服务有限公司