掌桥专利:专业的专利平台
掌桥专利
首页

一种基于RSA数字签名的源机器码比对方法

文献发布时间:2023-06-19 10:29:05


一种基于RSA数字签名的源机器码比对方法

技术领域

本发明涉及计算机技术领域,具体涉及一种基于RSA数字签名的源机器码比对方法。

背景技术

软件代码比对技术是指通过一系列比对手段发现待比较代码之间的一致性或差异性的技术,在计算机各个领域应用颇广。

在国家电网与智能电表生产厂商的合作应用中,智能电表生产厂商在竞标成功后进行生产时,可能产生与竞标时的电表样品质量不一致的情况,其原因多种多样,例如涉及版权欺诈行为、产品版本的升级或是生产过程失误导致的质量不合格等等,但国家电网对于新生产智能电表的要求是要与竞标时的备案样品质量完全一致,这就要求产品在验收时需通过软件代码比对技术将新生产电表的源码与竞标时备案样品源码进行比对以检验电表质量。

现有技术中,一些常用的代码比较工具是采取直接比对机器码,但往往在甲方采用直接比对法产生比较结果不一致时,生产厂商与甲方在电表的真实性上会产生争执,即生产厂商不承认比对时提取的是其生产的电表的源码。

由此可知,现有技术中的方法存在抵赖性的问题。

发明内容

本发明提出一种基于RSA数字签名的源机器码比对方法,用于解决或者至少部分解决现有技术的方法存在抵赖性的技术问题。

为了解决上述技术问题,本发明提供了一种基于RSA数字签名的源机器码比对方法,包括:

S1:预先通过代码比对系统生成密钥对,其中密钥对中的私钥分发给生产厂商,密钥对中的公钥分发给国家电网;

S2:生产厂商利用私钥对预先加密的第一代码进行加密形成签名,其中,预先加密的第一代码由生产厂商利用hash算法中MD5方式对新生产的智能电表源机器码加密后生成;

S3:生产厂商将形成的签名发送给国家电网;

S4:国家电网利用公钥对接收的签名进行解密,得到签名对应的验证;

S5:国家电网将解密得到的验证与预先加密的第二代码进行比较,若一致,则表明新生产的电表源机器码与竞标时备案样品源机器码一致,其中,预先加密的第二代码由生产厂商利用hash算法中MD5方式对竞标时备案样品源机器码加密后生成。

在一种实施方式中,步骤S1包括:

S1.1:预先通过代码比对系统利用Crypto模块中的RSA函数随机生成2048比特的密钥对,其中,Crypto模块为开源的加密功能模块,密钥对中的私钥写入私钥文件private_pem中,密钥对中的公钥写入公钥文件public_pem中;

S1.2:将私钥文件private_pem发送至生产厂商,公钥文件public_pem发送至国家电网。

在一种实施方式中,S2中生产厂商接收到私钥文件private_pem后,从中提取出密钥对中的私钥。

在一种实施方式中,S4中国家电网接收到公钥文件public_pem后,从中提取出密钥对中的公钥。

在一种实施方式中,所述方法还包括:

当新生产的电表源机器码与竞标时备案样品源机器码一致时,则表明新生产智能电表质量合格;当新生产的电表源机器码与竞标时备案样品源机器码不一致时,表明新生产电表与备案样品有差异,判定为质量不合格。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

本发明提供了一种基于RSA数字签名的源机器码比对方法,是一种以RSA数字签名为比对方式的非直接代码比对方法,预先通过代码比对系统产生公钥与私钥,私钥分发给生产厂商是其私有,公钥分发给国家电网持有,用于解密。生产厂商用私钥加密经过hash加密的新生产电表的源机器码(预先加密的第一代码)形成签名交给甲方,那么此时签名后的代码就是独一无二的专属于生产厂商的,国家电网用持有的公钥解密签名后与将同样经过hash加密的备案样品的代码(预先加密的第二代码)进行比对,若比对结果一致,则电表质量相同,若不一致,则质量不同,且生产厂商无法抵赖,因比对代码带有其私钥签名,从而解决了智能电表代码比对时的抵赖性问题,提高了比对的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的基于RSA数字签名的源机器码比对方法的流程图。

具体实施方式

针对现有技术中,一些常用的代码比较方法采取直接比对机器码而产生的抵赖性问题,本发明提供了一种以RSA数字签名为比对方式的非直接代码比对方法,从而改善其中的抵赖性问题,提高对比的可靠性。

为了达到上述目的,本发明的主要发明构思如下:

提供一种基于RSA数字签名的源机器码比对方法,首先由代码比对系统产生私钥公钥密钥对,私钥分发给智能电表生产厂商,公钥分发给甲方(国家电网);然后由生产厂商用RSA算法和私钥加密MD5加密新生产的智能电表源机器码后的代码形成签名signature,并将其交给甲方;甲方用RSA算法和公钥解密签名signature,并将其与用MD5加密备案样品源机器码后的代码进行比较,从而判断新生产智能电表与备案样品质量是否一致。本发明主要应用于国家电网与智能电表生产厂商的产品一致性检查中,因对比过程中带有其私钥加密的签名标记,可以防止代码比对结果不一致时生产厂商抵赖,具有较大应用价值。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

具体实施时,本发明所提供技术方案可由本领域技术人员采用计算机软件技术实现自动运行流程。以下结合附图和实施例详细说明本发明技术方案。

请参见图1,本发明实施例提供了一种基于RSA数字签名的源机器码比对方法,包括:

S1:预先通过代码比对系统生成密钥对,其中密钥对中的私钥分发给生产厂商,密钥对中的公钥分发给国家电网;

S2:生产厂商利用私钥对预先加密的第一代码进行加密形成签名,其中,预先加密的第一代码由生产厂商利用hash算法中MD5方式对新生产的智能电表源机器码加密后生成;

S3:生产厂商将形成的签名发送给国家电网;

S4:国家电网利用公钥对接收的签名进行解密,得到签名对应的验证;

S5:国家电网将解密得到的验证与预先加密的第二代码进行比较,若一致,则表明新生产的电表源机器码与竞标时备案样品源机器码一致,其中,预先加密的第二代码由生产厂商利用hash算法中MD5方式对竞标时备案样品源机器码加密后生成。

具体来说,本发明主要涉及一种以RSA数字签名为对比方式的智能电表源机器码对比的实现,主要应用于国家电网与智能电表生产厂商的产品一致性检查中。本发明设计的以RSA数字签名为代码比对方式的实现是为了解决工业界智能电表源码比对时对比对源码真实性的争执问题。引入数字签名,使得代码比对具有不可抵赖性。

S2中,生产厂商会预先对新生产的智能电表源机器码进行加密,产生预先加密的第一代码,其中利用了hash算法中MD5方式进行加密。然后再利用代码对比系统发送的私钥对预先加密的第一代码进行再次加密,从而形成签名,那么此时产生的签名就是独一无二的专属于生产厂商的。

S5中,国家电网也会对竞标时备案样品源机器码进行加密,产生预先加密的第二代码,其中利用了hash算法中MD5方式进行加密。

在一种实施方式中,步骤S1包括:

S1.1:预先通过代码比对系统利用Crypto模块中的RSA函数随机生成2048比特的密钥对,其中,Crypto模块为开源的加密功能模块,密钥对中的私钥写入私钥文件private_pem中,密钥对中的公钥写入公钥文件public_pem中;

S1.2:将私钥文件private_pem发送至生产厂商,公钥文件public_pem发送至国家电网。

具体来说,Crypto模块为开源的加密功能模块,目的是提供加密功能,包含对OpenSSL的哈希、HMAC、加密、解密、签名、以及验证功能的一整套封装

在一种实施方式中,S2中生产厂商接收到私钥文件private_pem后,从中提取出密钥对中的私钥。

在一种实施方式中,S4中国家电网接收到公钥文件public_pem后,从中提取出密钥对中的公钥。

在一种实施方式中,所述方法还包括:

当新生产的电表源机器码与竞标时备案样品源机器码一致时,则表明新生产智能电表质量合格;当新生产的电表源机器码与竞标时备案样品源机器码不一致时,表明新生产电表与备案样品有差异,判定为质量不合格。

请参见图1,由代码对比系统随机生成数字签名密钥对,其中的私钥发送给生产厂商,公钥发送给甲方(国家电网),其中,生产厂商利用MD5加密方式对新生产的智能电表机器源代码进行加密,形成预先加密的第一代码h,并用私钥对h进行加密,形成签名signature,再将签名signature发给甲方(国家电网),甲方利用公钥对签名signature进行解密得到验证verifier,且甲方预先利用公钥对竞标时备案样品源机器码进行加密得到h’(预先加密的第二代码)。最后,由甲方比较verifier与h’是否一致,如果比对代码一致,则表示新生产的智能电表与竞标时备案样品质量相同,否则,质量不相同。通过本发明得到比对结果生产厂商无法抵赖,因对比过程中待比对代码带有其私钥加密的签名标记,其不可否认抵赖。

本发明中的RSA数字签名代码比对方法能在防止待比对一方抵赖的情况下发挥较大作用,如文中提到的工业界智能电表质量验收时可采用此方法,消除争执,提高验证的效率和可靠性。

本发明中所描述的具体实施的例子仅仅是对本发明的方法和步骤的举例说明。本发明所述技术领域的技术人员可以对所描述的具体实施步骤做相应的修改或补充或变形(即采用类似的替代方式),但是不会背离本发明的原理和实质或者超越所附权利要求书所定义的范围。本发明的范围仅由所附权利要求书限定。

相关技术
  • 一种基于RSA数字签名的源机器码比对方法
  • 一种基于RSA数字签名的源机器码比对方法
技术分类

06120112565582