一种基于椭圆曲线的身份认证系统技术方案

技术编号:3480737 阅读:246 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于椭圆曲线的身份认证系统。利用设备内部预置公私钥对、DH密钥交换协议以及杂凑函数实现快速地进行身份认证,避免了使用公钥证书体系中的证书链和数字签名等复杂算法进行身份识别。设备A的公私钥对为x和xG,设备B的公私钥对为y和yG,当设备A和设备B进行身份认证时,相互交换x、y(或者xG、yG),然后双方计算标量乘xyG。设备A和设备B再利用杂凑函数H对各自的标量乘结果xyG进行运算,得出杂凑值h1和h1’,若h1=h1’,则双方设备都是合法的。该系统可以用于数字内容保护接口、电子商务、银行系统、智能卡、身份验证等软硬件环境中。

【技术实现步骤摘要】

本专利技术是一种身份认证系统,具体地说是基于椭圆曲线密码体系和DH密钥交换协议, 对通信双方身份的合法性进行认证的方法。
技术介绍
在各种信息传送系统中,为了保证参与信息交换的实体是合法的、有效的,需要对参与 实体的身份进行认证。例如在军事通信中需要确认对方身份,以防止军事情报信息的泄露; 在电子商务等互联网环境中,需要对对方的身份进行鉴别;在智能卡等应用环境中,需要对 接入设备的合法有效性进行认证;在知识产权领域,需要通过对知识产权内容进行加密、签 名等手段保证不被非法窃取。通常在通信双方进行传输加密的数据之前,要对设备进行身份 认证以保证通信双方的身份都是真实的、合法有效的。如果认证不能获得成功,则不进行数 据传输或者不能对加密的数据进行正确的解密,以让受保护的数据信息不受非法侵害。1976年Diffie和hdlman在"密码学的新方向"提出了公钥密码的思想,开创了公钥密码 学的新纪元。在基于公钥体制的密码系统中, 一般由可信任的权威机构给每个设备颁发设备 证书和设备私钥。通信双方利用根证书的公钥以证书链的形式提取出对方设备的公钥和ID等 信息。然后由一方用自己的设备私钥对一些公共信息数据进行数字签名,另一方利用对方的 公钥对该签名信息进行验证,如此可以验证对方设备的合法性。公钥密码体制的安全性都是 基于求解某个数学难题的,其中的椭圆曲线密码算法具有多方面的优点。椭圆曲线的求解难 度是指数级的,高于以往任何一种密码算法;在相同安全强度下椭圆曲线具有最短的密钥长 度,这样就使其对存储空间的要求少;在数字签名与验证、加解密等算法中,椭圆曲线的计 算量小,处理速度快,比较适合于资源受限的环境中。目前有多种认证系统和认证算法,大致分为单向认证系统(图1)和双向认证系统(图2)。 一般基于ECC的认证系统的椭圆曲线基点G都是公开的,它们都是利用证书链和数字签名 来对设备进行认证的。单向认证系统只能保证被认证设备的合法性,而不能保证认证设备的 合法性;只有双向认证才能保证认证双方都是合法的设备,但是双向认证比较复杂,耗费的 时间和资源都比较多。本专利技术提出了一种崭新的认证思路,避免了通过证书链和数字签名进 行认证的方法。由第三方权威信任机构选定椭圆曲线参数,并严格对基点G进行保密,通过 交换x、 y (或者xG、 yG)产生共享密钥xyG,根据通信双方所计算出的xyG是否一致来判 断设备的合法性,如图3所示。该方法不仅实现了通信双方设备的合法性检验,简化了认证 过程,而且交换的数据仅仅是x、 y (或者xG、 yG),监听者根本无法求解点xG、 yG (或者 x、 y)和基点G的坐标,从而使系统具有更高的安全强度。
技术实现思路
本方法的目的是利用公钥密码体制中的椭圆曲线算法和DH交换算法产生共享密钥,通过对比通信双方所产生的共享密钥的一致性来判断通信两端是否都是合法有效的设备。该方 法如下1、 首先选定椭圆曲线参数(p, a, b, G, n, h)等; 其中需要公开的参数为p为素域Fp的阶,a、 b为椭圆曲线y^P+ax+b的系数; 需要严格保密的参数为G为椭圆曲线上的一个点,n为点G的阶,h为余因子。2、 分别为设备A和B选择两个参数x、 y,要求x、 ye,并计算椭圆曲线标量乘xG和yG。将x和xG分配给设备A,将y和yG分配给设备B,并严格 保密xG和yG。3、 设备A发送x给设备B,设备B发送y给设备A。4、 设备A计算标量乘yxG得到共享密钥xyG;设备B计算标量乘tyG,得到共享密 钥xyG。5、 设备A和设备B分别用数字摘要函数计算共享密钥xyG的哈希值hl和hl',并将 计算出哈希值发送给对方。6、 通信双方将接收到哈希值同自己计算的哈希值进行比较,若hl二hl',则通信双方 身份认证成功;否则,返回第3步重新执行身份认证。以上认证过程中,可以将x、 y严格保密,而通信双方交换xG和yG。也可以以保密的形 式将基点G植入设备,由设备自己选择随机数x、 y,并计算标量乘xG和yG,然后通过交 换x、 y (或者xG、 yG)来进行双方身份认证。在整个身份认证过程中,若参数x、 yE, xy的值有可能大于等于基点G的阶n,因此通信双方计算出共享密钥xyG后,需要检 测其是否为无穷远点。如果xyG为无穷远点,则需要返回重新选择x或y的值。若x、 yE[l,Vi^T],则不需要检测xyG是否为无穷远点。第三方设备能监听和窃取的只有x、 y (或者xG、 yG)两个参数,攻击者几乎没有办法 以此计算出基点G以及xG、 yG (或者x、 y)的值,所以该身份认证系统是很安全的。附图说明图1是一般的单向认证过程 图2是一般的双向认证过程 图3是本专利技术的身份认证过程具体实施例方式具体操作实现时,该算法的所有参数均由可信任的第三方权威机构确定。把一部分参数 公开,而另一部分参数严格保密,并把相应的参数设置到设备A和设备B中去。为简便起见,本实施例选用了 NIST所推荐的素数域上的P-192椭圆曲线和一些简单参数。首先由权威信任机构选定椭圆曲线参数(p, a, b, G, n, h)等其中需要公开的参数为椭圆曲线方程y2=x3 —ax_bp=2192 —264_ia—3 (modp) 二p—3=2192—264—22b=0x 64210519 E59C80E7 0FA7E9AB 72243049 FEB8DEEC C146B9B1需要严格保密的参数为Gx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012 Gy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811 n=0x FFFFFFFF FFFFFFFF FFFFFFFF 99DEF836 146BC9B1 B4D22831 h=l基点G应该由权威信任机构选取并严格保密,此处为简单起见而选取NIST所推荐的基 点参数G。然后由权威信任机构为设备A和设备B选取两个可公开的设备私钥x、 y,且x、 yE,为了计算简单此处x、 y取值为x二y二l。计算标量乘xG、 yG如下xGx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012 xGy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811 yGx=0x 188DA80E B03090F6 7CBF20EB 43A18800 F4FF0AFD 82FF1012 yGy=0x 07192B95 FFC8DA78 631011ED 6B24CDD5 73F977A1 1E794811 将标量乘xG和yG作为设备的公钥,分配如下公私钥对xG和x分配给设备A,公私 钥对yG和y分配给设备B。其中,私钥x和y严格保密。双向认证过程如下1、 设备A发送xG给设备B,设备B发送yG给设备A。2、 设备A计算标量乘iyG得到共享密钥yxG;设备B计算标量乘yxG,得到共享密 钥xyG。计算结果如下yxGx=0x 188DA80E B03090F6 7CBF20EB 43A1880本文档来自技高网
...

【技术保护点】
一种基于椭圆曲线的身份认证系统,利用椭圆曲线密码体系和DH密钥交换协议,对通信设备双方的合法性进行身份认证。其特征是:严格保密椭圆曲线基点G、G点的阶n以及余因子h等参数,公开大素数域的阶p、椭圆曲线参数(a,b)等参数;选择整数x、y并计算标量乘xG、yG,认证双方交换x、y(或者xG、yG)后计算标量乘x.yG与y.xG;通过比较x.yG与y.xG的一致性可以对双方的身份合法性进行认证。

【技术特征摘要】

【专利技术属性】
技术研发人员:王志辉刘律宏
申请(专利权)人:四川虹微技术有限公司
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1