一种基于拉斯维加斯ELGamal加密的OPC UA秘钥交换方法技术

技术编号:20729666 阅读:37 留言:0更新日期:2019-03-30 19:20
本发明专利技术请求保护一种基于拉斯维加斯ELGamal加密的OPC UA秘钥交换方法,涉及工业数据通信,信息安全。该方法主要应用于OPC UA客户端和服务器之间安全交换秘钥信息。该方法根据拉斯维加斯随机算法产出一个随机数,用这个随机数作为ELGamal加密算法中循环群G的一个生成元,通过OPC UA客户端和服务器之间完成安全信道的建立,协商确定本轮通信的安全机制后再进行秘钥交换。该方法通过随机算法产生的随机数的方式提高了OPC UA系统之间的加密效率,并且通过设计严格的认证和通信流程以及非对称加密的特点保证秘钥在交换过程中的安全性,实现OPC UA之间的非对称加密通信,达到工业信息交换系统中要求得安全性和实时性。

【技术实现步骤摘要】
一种基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法
本专利技术属于工业数据通信领域,属于信息安全方面,具体涉及一种基于随机ELGamal(盖莫尔)加密的OPCUA秘钥交换方法。
技术介绍
OPCUA基金会与2008年发布了全新的OPCUA(OPCUnifiedArchitecture)统一架构规范。相比于传统的OPC技术,提出了一个企业的生产模式具有相同的目的和定义的模式,已全面向服务(SOA)为基础,将原先基于DCOM技术的平台迁移到基于WebService技术的框架之下。重点在于解决目前生产制造系统进行跨防火墙通信的问题,新的统一规范都有明确的安全规范,强调了安全的网络通信在产业安全中的重要性。由于现在大多数制造系统是基于IT系统,一个系统不是孤立的,都将和其他系统的信息进行交换,OPCUA作为现代工业的一个信息交换协议已经得到了大多数制造商的认可,必将成为主流的工业信息交换系统。然而,OPCUA安全领域的研究太少,目前有RSA和SHA1数字签名,其中RSA算法是非对称加密算法,但是用这种算法产生秘钥受到素数产生技术的限制,秘钥分组长度较长,运算速度慢,由于秘钥长度长加密的信息长度短,使用起来受到限制。OPCUA规范定义了OPCUA支持的安全机制和环境安全,并没有针对具体的运行环境详细定义安全策略,尤其是在工业控制领域,特别是底层的控制器对通信的实时性要求极为严格,盲目的使用安全的机制会导致实时性的严重不平衡,造成生产和经济上的损失。如何平衡实时性和性能是现在研究的重点。OPCUA在通信的过程中首先要建立安全通道,服务器和客户端程序相互验证对方的证书,如果双方信任彼此的证书,则在安全通道上建立会话。根据OPCUA规范,采用ELGamal算法加密,该方法的是基于迪菲-赫尔曼密钥交换方式,其中第一步生成元g是协议很久以前就已经对定好了的,g也是公开的,并且可以被所有的攻击者看到,这样就很不安全。为了提高安全性,采用拉斯维加斯算法得到一个的随机数作为生成元,作为ELGamal加密算法的生成元,每次通信建立的时候都用拉斯维加斯算法,这样每次的秘钥对都不一样,提高了通信的安全性。而且ELGamal算法是非对称加密算法,相对于对称加密算法,非对称加密算法的好处是可以用来加密任意长度的消息,而且私钥只有一方保管,不容易被攻击者截取。本专利技术的目的在于提升目前OPCUA系统中数据交换时加密的效率,引入拉斯维加斯随机算法代替传统ELGamal生成循环群生成元的步骤,生成的随机数是唯一确定的正解,安全性高。利用非对称加密算法的特点,安全性高,因为私钥只有一方保管,而且非对称加密可以加密任意长度的消息。
技术实现思路
本专利技术旨在解决以上现有技术的问题。提出了一种有随机性、安全性提高的基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法。本专利技术的技术方案如下:一种基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法,其通过拉斯维加斯生成随机数作为ELGamal盖莫尔加密的生成元g,再通过ELGamal加密算法对OPCUA客户端和OPCUA服务器之间进行信息加密,具体包括以下步骤:a.客户端向服务器发送通信请求;b.服务器回应客服端的请求,验证客服端是否可信,若可信,利用改进的ELGamal算法产生公/私钥对;改进点在于:ELGamal加密的生成元g采用拉斯维加斯生成的随机数,c.服务器用DES算法对公钥进行加密,发送给客户端;d.客户端验证服务器是否可信,若可信,客户端利用服务器产生的ELGamal的公钥,对信息加密,回复服务端;e.服务器用自己的私钥进行解密,得到明文;f.服务器和客户端双方进行非对称加密通信。进一步的,所述步骤a中OPCUA客户端的通信请求包括1.1)客户端支持的安全机制、非对称加密ELGamal算法、数字签名、以及对应支持的最大和最小秘钥长度;1.2)客户端安全证书,OPCUA当中使用X509.v3证书。进一步的,所述步骤b中OPCUA服务器在验证证书可信之后,利用随机ELGamal算法产生公/私钥对,具体步骤如下:2.1)利用随机ELGamal产生一对公钥/私钥,作为加密/解密使用,利用随机算法拉斯维加斯算法得到生成元方法如下:2.1.1)反复调用拉斯维加斯算法LV(n,g),直到找到一个解g(n:输入循环次数);2.1.2)服务器利用生成元g得到一个q阶循环群G;2.1.3)从{1,…,q-1}中随机选择一个x;计算h=gx(h:公钥);2.1.4)服务器将h,q,g及G作为公钥发送给客户端,x作为私钥。进一步的,所述步骤d中客户端验证服务器是否可信,若可信,利用服务器发送的公钥进行加密,若不可信,向客户发送警告信息,由客户决定是否继续通信,明文加密步骤如下:4.1)客户端从{1,…,q-1}中随机选择一个y,然后计算:c1=gy(c1:密文);4.2)客户端计算共享秘密s=hy,把要发送的明文m映射为G上一个元素m′,计算c2=m′·s(c2:密文,m′:m映射为G上一个元素m′);4.3)客户端将密文(c1·c2)=(gy,m′·hy)=(gy,m′·(gx)y)发送给服务器(c2:密文)。进一步的,所述步骤e中服务器利用自己的私钥对客户端发来密文进行解密,步骤如下:5.1)服务器计算:s=c1x(s:群G上的逆元);5.2)然后计算:m′=c2·s-1,将其映射到明文m。进一步的,所述利用拉斯维加斯随机算法得到唯一一个正解具体实现步骤是:选定拉斯维加斯算法;先设定一个布尔型变量名称为success,赋值为false;判断布尔值(!success)是否为真(!表示为非);若为真,利用拉斯维加斯算法得出一个唯一的解,并将值赋给布尔型变量success,再进行步骤3的判断;若为假,则此时的结果就是所求,结束程序。本专利技术的优点及有益效果如下:本专利技术创新点在于:1.利用拉斯维加斯随机算法产生随机数g作为ELGamal中的循环群G的生成元。使生成元g具有随机性,不再是原先就定义好的,这样以来安全性提高。2.本方法在对特定的OPCUA系统提供一种安全的秘钥交换方法,非对称加密方式,克服了对称加密中加密消息短的弱点,该方法可以加密任意长的消息,发送效率得到提高。附图说明图1是本专利技术提供优选实施例基于ELGamal加密服务器和客户端秘钥交换的运行流程图。图2为本专利技术基于拉斯维加斯的ELGamal生成元产生的流程图。具体实施方式下面将结合本专利技术实施中的附图,对本专利技术实施例中的技术方案进行清楚、详细地描述。所描述的实例仅仅是本专利技术的一部分实施例。本专利技术解决上述技术问题的技术方案是:本专利技术提出一种基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法,其特征在于每次通信使用拉斯维加斯随机算法得到一个不同的随机数,作为本次计算的唯一的正解,这个正解代替传统ELGamal生成元的产生,再通过ELGamal公钥加密明文。下面结合附图和具体实施方式对本专利技术作进一步详细说明。图1给出了本专利技术基于拉斯维加斯ELGamal的OPCUA秘钥产生过程和秘钥交换方法的流程图,具体实现过程是:1.OPCUA客户端在需要与服务器通信时首先要像服务器发送通信请求;请求中包括客户端支持的所有安全机制,用于向服务器验证本文档来自技高网
...

【技术保护点】
1.一种基于拉斯维加斯ELGamal加密的OPC UA秘钥交换方法,其特征在于,通过拉斯维加斯生成随机数作为ELGamal盖莫尔加密的生成元g,再通过ELGamal盖莫尔加密算法对OPC UA客户端和OPC UA服务器之间进行信息加密,具体包括以下步骤:a.客户端向服务器发送通信请求;b.服务器回应客服端的请求,验证客服端是否可信,若可信,利用改进的ELGamal算法产生公/私钥对,改进在于:ELGamal加密的生成元g采用拉斯维加斯生成的随机数;c.服务器用DES算法对公钥进行加密,发送给客户端;d.客户端验证服务器是否可信,若可信,客户端利用服务器产生的ELGamal的公钥,对信息加密,回复服务端;e.服务器用自己的私钥进行解密,得到明文;f.服务器和客户端双方进行非对称加密通信。

【技术特征摘要】
1.一种基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法,其特征在于,通过拉斯维加斯生成随机数作为ELGamal盖莫尔加密的生成元g,再通过ELGamal盖莫尔加密算法对OPCUA客户端和OPCUA服务器之间进行信息加密,具体包括以下步骤:a.客户端向服务器发送通信请求;b.服务器回应客服端的请求,验证客服端是否可信,若可信,利用改进的ELGamal算法产生公/私钥对,改进在于:ELGamal加密的生成元g采用拉斯维加斯生成的随机数;c.服务器用DES算法对公钥进行加密,发送给客户端;d.客户端验证服务器是否可信,若可信,客户端利用服务器产生的ELGamal的公钥,对信息加密,回复服务端;e.服务器用自己的私钥进行解密,得到明文;f.服务器和客户端双方进行非对称加密通信。2.根据权利要求1所述的基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法,其特征在于,所述步骤a中OPCUA客户端的通信请求包括1.1)客户端支持的安全机制、非对称加密ELGamal盖莫尔算法、数字签名、以及对应支持的最大和最小秘钥长度;1.2)客户端安全证书,OPCUA当中使用X509.v3证书。3.根据权利要求1所述的基于拉斯维加斯ELGamal加密的OPCUA秘钥交换方法,其特征在于,所述步骤b中OPCUA服务器在验证证书可信之后,利用随机ELGamal盖莫尔算法产生公/私钥对,具体步骤如下:2.1)利用随机ELGamal盖莫尔产生一对公钥/私钥,作为加密/解密使用,利用随机算法拉斯维加斯算法得到生成元方法如下:2.1.1)反复调用拉斯维加斯算法LV(n,g),直到找到一个解g,n:输入循环次数;2.1.2)服务器...

【专利技术属性】
技术研发人员:罗志勇张雪赵杰马国喜郑焕平韩冷蔡婷罗蓉
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

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

1