一种基于区块链和SDN的伪钞识别方法与流程

文档序号:21353094发布日期:2020-07-04 04:15阅读:448来源:国知局
一种基于区块链和SDN的伪钞识别方法与流程

本发明涉及计算机通信技术,尤其涉及一种基于区块链和sdn(软件定义网络)的伪钞识别方法。



背景技术:

区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任“基础,创造了可靠的“合作”机制,具有广阔的运用前景。

区块链技术是由共识机制、数据库、密码学、p2p等技术构成的新技术,而安全性一直是各方研究的重点。针对发送方、接收方和各方之间的交易金额的信息是隐私保护的重要部分。在没有保护的情况下,用户面临着身份盗窃、非法转账或其他潜在损失的风险。

软件定义网络(sdn)将传统网络硬件设备的控制层和数据层分离,相对于传统网络提供了两大优势,控制层中心化的sdn控制器提供数据层资源的全网视图,sdn控制器应用使数据层设备的网络流配置具有可编程性。

钞票鉴别是一种能判断钞票是否伪造的方法,如验钞机,能对钞票真伪进行有效的识别。是通过检测人民币的固有特性来分辨真假。点钞机是机电一体化产品,涉及机械、电、光、磁等多个领域。现有技术中验钞机或atm取款机通过真钞的特性来和待检验钞票对比,需要针对真钞的所有特性一一进行对比,对比的工作量大,需要耗费巨大的资源,验钞机或atm取款机需要存储真钞的特性,又面临着真钞特性被黑客攻击,被非法盗取后将进一步给制假人员提供真钞特性数据,带来严重的安全风险。另一方面,现有技术中验钞机或atm取款机使用的网络属于传统专用网络,交换机和路由器执行功能多,但也面临着易被攻击的风险,中央集中控制需要设置独立的服务器,耗费较多的硬件资源。



技术实现要素:

为了解决现有技术中的问题,本发明提出了基于区块链和sdn(软件定义网络)的伪钞识别方法,能够解决验钞机或atm取款机验钞时资源耗费大,真钞特性易被盗取的问题,以及传输网络安全性低,建立中央服务器耗费资源的问题。

本发明提出一种基于区块链和sdn(软件定义网络)的伪钞识别方法,包括终端和交换机相连,所述交换机和sdn控制器相连,所述sdn控制器和云服务器相连,组成伪钞识别系统,所述伪钞识别系统执行以下步骤:

a0.所述sdn控制器向全网所有所述终端下发疑似伪钞特征信息,根据所述疑似伪钞特征信息可以初步判定待验证钞是否是疑似伪钞,所述疑似伪钞特征信息仅包括疑似伪钞区别于真钞的物理信息,如质地,花纹,图案,磁性,厚度,光谱等;

a.当所述终端判断待验证钞是疑似伪钞时,所述终端提取疑似伪钞的特征数据,并将所述特征数据封装为数据包,在所述数据包中添加标签,所述标签指示所述数据包为疑似伪钞;

b.所述终端将所述数据包发送给所述交换机,所述交换机识别到标签后,将所述数据包转发给所述sdn控制器;

c.所述sdn控制器读取所述数据包,根据从所述云服务器获取的真钞特征信息库分析数据包中的特征数据,经分析,如果鉴别出所述特征数据对应的所述疑似伪钞是伪钞,执行步骤d,否则执行步骤h,所述真钞特征信息库保存在所述云服务器中;

d.所述sdn控制器根据所述特征数据生成标识码,将所述标识码和所述特征数据发送给所述云服务器,所述云服务器建立所述特征数据对应的所述伪钞的档案库;所述sdn控制器将接收到的特征数据和真钞特征信息库进行比对,分析出区别特征数据,并更新到疑似伪钞特征信息库中;

e.所述sdn控制器根据所述特征数据和所述标识码创建伪钞黑名单策略,并将所述黑名单策略和所述特征数据存储到区块链节点中,通过智能合约确保所述区块链节点存储信息的安全;

f.所述sdn控制器将所述区块链节点相关信息发送所述交换机,所述交换机将所述区块链节点相关信息发送给全网所有的终端;

g.所述全网所有的终端读取所述区块链节点中的所述黑名单策略,并执行黑名单策略;

h.所述sdn控制器向所述终端下发指令,所述指令指示所述疑似伪钞是真钞。

所述终端提取疑似伪钞的特征数据,包括通过磁性分析,激光检测,红外检测,荧光检测来提取特征数据。所述终端进一步包括:atm取款机,atm存取款机,验钞机,点钞机等。

所述sdn控制器根据所述特征数据生成标识码,包括使用哈希函数根据所述特征数据生成唯一的标识码。

所述黑名单策略包括划分伪钞的等级,和真钞的相似度大于90%属于高仿,需要进行一级警告;和真钞的相似度大于50%小于90%属于中仿,需要进行二级警告;和真钞的相似度小于50%属于低仿,需要进行三级警告。

智能合约使用的智能合约算法进一步包括签名加密算法,具体签名加密算法如下:

加密算法中首先需用到数字签名进行身份认证;

第一步,有限域上元素运算,将运算分为四个层次:模加和模减运算、模乘运算、模幂和模逆运算、模除运算,

模加运算c=(a+b)modp,声明为add(a,b,c,p),

模减运算c=(a-b)modp,声明为sub(a,b,c,p),

模乘运算c=(a×b)modp,声明为mul(a,b,c,p),

模幂运算c=abmodp,声明为ind(a,b,c,p),其中,

a,b,c均为整数,p为素数;

模逆运算可以通过费马小定理得到,即当p为素数时,有ap-1≡1modp,则可得到模逆运算a-1≡ap-2modp,可以利用模幂运算来表示模逆运算,模逆运算c≡a-1modp声明为inv(a,c,p)=ind(a,p-2,c,p);先求出分母的模逆再与分子进行模乘运算而得到模除运算;先求出分母的模逆再与分子进行模乘运算而得到模除运算;

第二步,标量乘运算的设计与实现,

采用仿射与雅可比混合坐标系下的运算规则:y2=x3+axz4+bz6,其中,a,b为椭圆曲线上的整数,并且δ=(4a3+27b2)modp≠0;

三维坐标p(x1,y1,z1),q(x2,y2,1)的无穷远点为(1,1,0);倍点运算p+p=(x3,y3,z3)声明为padd1(x1,y1,z1,x3,y3,z3),点加运算p+q=(x3,y3,z3)声明为padd2(x1,y1,z1,x2,y2,x3,y3,z3),2个函数padd1和padd2仅仅是中间的调用函数,要把结果(x3,y3,z3)从雅可比加重摄影坐标系下转换到仿射坐标系下,需要对参数进行转换:x3=x3/z12,y3=y3/z13,即可得到所需的二维坐标点(x3,y3);

设已知有限域椭圆曲线的参数:素数p,系数a,b,基点g的坐标(gx,gy)≠0,g的阶n,用户a持有的私钥为da,与之配对的公钥为pa(xa,ya),把签名者的身份id转换为长度为idlena比特的ida,用2个字节的idlena表示整数idlena,za定义为用户a的个人id与椭圆曲线参数组成的杂凑值,za=zcz(idlena‖ida‖a‖b‖gx‖gy‖xa‖ya),在数字签名的生成算法和数字签名的验证算法中都需要za这个参数,以此来表示用户a的个人信息,设n=za‖m,哈希函数值结果e=hash(n);

第三步,数字签名生成算法,

1)用随机数生成器产生随机数k,0<k<n;

2)计算椭圆曲线的点(x,y)=[k]g;

3)计算r=(m+x)modn,若r=0或者r+k=n,则返回步骤1,否则进行下一步;

4)计算s=((1+da)-1)(k-rda))modn,若s=0,则返回第1步,否则进行下一步;

5)签名成功并输出签名消息m及其签名r和s;

第四步,数字签名验证算法,

1)检验r和s是否都属于[0,n];

2)计算t=(r+s)modn,若t为0,则验证不通过;

3)计算椭圆曲线上的点(x,y)=[s]g+[t]p;

4)r=(e+x)modn;

5)若r=r则验证通过,否则验证不通过。

与现有技术相比,本发明具有以下有益效果:

1.本发明设置疑似伪钞特征信息库,该疑似伪钞特征信息库仅包括已知的伪钞与真钞的区别特征信息,特征信息量小,终端根据疑似伪钞特征信息对待验证钞进行比对时,耗费资源小,速度快,能够快速识别出疑似伪钞,并且由于特征信息量小,也减轻了终端存储大量特征信息的压力。

2.终端仅存储疑似伪钞特征信息,而终端的网络防护能力低,最易遭到黑客攻击,避免了遭到黑客攻击后,真钞特征信息被盗取的风险。

3.利用sdn网络特性,通过sdn控制器创建黑名单策略,通过sdn网络的交换机传输疑似伪钞特征数据以及黑名单策略数据,方便在sdn控制器中进行编程,而sdn网络的交换机转发速度更快,更稳定。

4.通过区块链存储黑名单策略和特征数据,利用区块链的“不可篡改性”保证了黑名单策略和特征数据的安全性,降低了被盗取的风险。

5.通过疑似伪钞特征信息,终端进行了初步筛查,再经过sdn控制器二次筛查,二级筛查降低了终端和sdn控制器筛查的资源压力,提升了筛查的速度。

6.通过终端不断提交的疑似伪钞特征信息,sdn控制器可以及时更新疑似伪钞特征信息,利用sdn控制器的中央控制优势,可以快速将更新后的疑似伪钞特征信息传递给全网所有终端,从而提升全网所有终端的识别率。

附图说明

在所附说明书中具体阐述了本技术各实施例的特定特征。通过参考以下具体描述,将更好地理解所述技术的特征和优势,具体描述阐述了利用了本发明的原理的示意性实施例,附图如下:

图1示出了示例性区块链。

图2示出了基于区块链和sdn的伪钞识别系统。图3示出了流程图。

具体实施方式

现在将详细参考示例性实施例,其示例在附图中示出。以下描述参照附图,其中除非另有所指,否则不同附图中的相同数字代表相同或相似的元件。与本发明一致的示例性实施例的以下描述中所阐述的实施方式不代表与本发明一致的所有实施方式。取而代之的是,它们仅是与所述发明相关的方面一致的系统和方法的示例。

区块链技术最早起源于自中本聪(satoshinakamoto)2008年提出的比特币(bitcoin)。它是一种分布式网络交易记账系统,集p2p网络、非对称加密和数字签名、哈希算法、工作量证明机制等技术,能够完整、安全地记录大规模网络交易。主要通过创建区块来实现。不易篡改、可追溯、难伪造等特性是区块链技术的显著优势。

区块链技术的突破在本质上其实是一种数据库系统的突破。传统数据库不管是关系型数据库(mysql、db2、sqlite)还是非关系型数据(leveldb、couchdb)可以对数据进行任意的增加、删除、修改、查询操作,并且还能将这些数据操作记录也一并删除。区块链技术的特点却能改变了这一状态。

虽然区块链技术的使用越来越多样化,项目体系也趋于成熟化,但万变不离其宗,区块链在底层架构上存在诸多共性,在密码学技术上需要使用各类hash算法,根据存储情况选择数据库,根据应用场景选择合适的共识算法。

图1示出了根据各种实施例的示例性区块链。如图1中所示,在应用层,金融、医疗、供应链等是区块链技术的前沿应用领域;通过api、sdk对外提供服务,服务层我们需要实现信息在p2p网络上的传播,数据在共识机制上的确认,逻辑在智能合约上的处理;底层一般提供三种类型的链类型处理。

区块链采用的是一种安全的存储模型,该模型采用分布式记账,本质上是一个分布式存储系统。在区块链网络中,每一节点都存储了系统中的每一笔交易,每笔交易都可追溯且不可修改。区块链技术依托去中心化的的p2p网络,网络中所有节点对等且开放。通过非对称加密和数字签名技术作用于交易以保证交易数据的正确性与安全性。共识机制是区块链中各节点对交易区块形成一致决定的策略,对交易完成的时间具有重要影响。从安全的角度来看,智能合约是作为保证区块链安全的一种技术手段。

如图2所示,伪钞识别系统,包括终端和交换机相连,所述交换机和sdn控制器相连,所述sdn控制器和云服务器相连,组成伪钞识别系统,所述伪钞识别系统执行以下步骤:

a0.所述sdn控制器向全网所有所述终端下发疑似伪钞特征信息,根据所述疑似伪钞特征信息可以初步判定待验证钞是否是疑似伪钞,所述疑似伪钞特征信息仅包括疑似伪钞区别于真钞的物理信息,如质地,花纹,图案,磁性,厚度,光谱等;

a.当所述终端判断待验证钞是疑似伪钞时,所述终端提取疑似伪钞的特征数据,并将所述特征数据封装为数据包,在所述数据包中添加标签,所述标签指示所述数据包为疑似伪钞;

b.所述终端将所述数据包发送给所述交换机,所述交换机识别到标签后,将所述数据包转发给所述sdn控制器;

c.所述sdn控制器读取所述数据包,根据从所述云服务器获取的真钞特征信息库分析数据包中的特征数据,经分析,如果鉴别出所述特征数据对应的所述疑似伪钞是伪钞,执行步骤d,否则执行步骤h,所述真钞特征信息库保存在所述云服务器中;

d.所述sdn控制器根据所述特征数据生成标识码,将所述标识码和所述特征数据发送给所述云服务器,所述云服务器建立所述特征数据对应的所述伪钞的档案库;所述sdn控制器将接收到的特征数据和真钞特征信息库进行比对,分析出区别特征数据,并更新到疑似伪钞特征信息库中;

e.所述sdn控制器根据所述特征数据和所述标识码创建伪钞黑名单策略,并将所述黑名单策略和所述特征数据存储到区块链节点中,通过智能合约确保所述区块链节点存储信息的安全;

f.所述sdn控制器将所述区块链节点相关信息发送所述交换机,所述交换机将所述区块链节点相关信息发送给全网所有的终端;

g.所述全网所有的终端读取所述区块链节点中的所述黑名单策略,并执行黑名单策略;

h.所述sdn控制器向所述终端下发指令,所述指令指示所述疑似伪钞是真钞。

所述终端提取疑似伪钞的特征数据,包括通过磁性分析,激光检测,红外检测,荧光检测来提取特征数据。所述终端进一步包括:atm取款机,atm存取款机,验钞机,点钞机等。

所述sdn控制器根据所述特征数据生成标识码,包括使用哈希函数根据所述特征数据生成唯一的标识码。

所述黑名单策略包括划分伪钞的等级,和真钞的相似度大于90%属于高仿,需要进行一级警告;和真钞的相似度大于50%小于90%属于中仿,需要进行二级警告;和真钞的相似度小于50%属于低仿,需要进行三级警告。

具体的智能合约涉及的加密算法如下:加密算法中首先需用到数字签名进行身份认证。

第一步,有限域上元素运算,将运算分为四个层次:模加和模减运算、模乘运算、模幂和模逆运算、模除运算,模加运算c=(a+b)modp,声明为add(a,b,c,p),模减运算c=(a-b)modp,声明为sub(a,b,c,p),

模乘运算c=(a×b)modp,声明为mul(a,b,c,p),

模幂运算c=abmodp,声明为ind(a,b,c,p),其中,a,b,c均为整数,p为素数。模逆运算可以通过费马小定理得到,即当p为素数时,有ap-1≡1modp,则可得到模逆运算a-1≡ap-2modp,可以利用模幂运算来表示模逆运算,模逆运算c≡a-1modp声明为inv(a,c,p)=ind(a,p-2,c,p)。

第二步,标量乘运算的设计与实现,采用仿射与雅可比混合坐标系下的运算规则:y2=x3+axz4+bz6,其中,a,b为椭圆曲线上的整数,并且δ=(4a3+27b2)modp≠0,三维坐标p(x1,y1,z1),q(x2,y2,1)的无穷远点为(1,1,0)。倍点运算p+p=(x3,y3,z3)声明为padd1(x1,y1,z1,x3,y3,z3),点加运算p+q=(x3,y3,z3)声明为padd2(x1,y1,z1,x2,y2,x3,y3,z3),2个函数padd1和padd2仅仅是中间的调用函数,要把结果(x3,y3,z3)从雅可比加重摄影坐标

系下转换到仿射坐标系下,需要对参数进行转换:x3=x3/z12,y3=y3/z13,即可得到所需的二维坐标点(x3,y3)。

设已知有限域椭圆曲线的参数:素数p,系数a,b,基点g的坐标(gx,gy)≠0,g的阶n。用户a持有的私钥为da,与之配对的公钥为pa(xa,ya)。把签名者的身份id转换为长度为idlena比特的ida,用2个字节的idlena表示整数idlena。za定义为用户a的个人id与椭圆曲线参数组成的杂凑值,za=zcz(idlena‖ida‖a‖b‖gx‖gy‖xa‖ya),在数字签名的生成算法和数字签名的验证算法中都需要za这个参数,以此来表示用户a的个人信息。设n=za‖m,哈希函数值结果e=hash(n)。

第三步,数字签名生成算法,用随机数生成器产生随机数k,0<k<n;

计算椭圆曲线的点(x,y)=[k]g;计算r=(m+x)modn,若r=0或者r+k=n,则返回步骤1,否则进行下一步;计算s=((1+da)-1)(k-rda))modn,若s=0,则返回第1步,否则进行下一步;签名成功并输出签名消息m及其签名r和s。

第四步,数字签名验证算法,1)检验r和s是否都属于[0,n];2)计算t=(r+s)modn,若t为0,则验证不通过;3)计算椭圆曲线上的点(x,y)=[s]g+[t]p;4)r=(e+x)modn;5)若r=r则验证通过,否则验证不通过。

本发明提出了基于区块链和sdn(软件定义网络)的伪钞识别方法,不仅能够解决验钞机或atm取款机验钞时资源耗费大,真钞特性易被盗取的问题,以及传输网络安全性低,建立中央服务器耗费资源的问题。还进一步实现了以下有益特性:

1.本发明设置疑似伪钞特征信息库,该疑似伪钞特征信息库仅包括已知的伪钞与真钞的区别特征信息,特征信息量小,终端根据疑似伪钞特征信息对待验证钞进行比对时,耗费资源小,速度快,能够快速识别出疑似伪钞,并且由于特征信息量小,也减轻了终端存储大量特征信息的压力。

2.终端仅存储疑似伪钞特征信息,而终端的网络防护能力低,最易遭到黑客攻击,避免了遭到黑客攻击后,真钞特征信息被盗取的风险。

3.利用sdn网络特性,通过sdn控制器创建黑名单策略,通过sdn网络的交换机传输疑似伪钞特征数据以及黑名单策略数据,方便在sdn控制器中进行编程,而sdn网络的交换机转发速度更快,更稳定。

4.通过区块链存储黑名单策略和特征数据,利用区块链的“不可篡改性”保证了黑名单策略和特征数据的安全性,降低了被盗取的风险。

5.通过疑似伪钞特征信息,终端进行了初步筛查,再经过sdn控制器二次筛查,二级筛查降低了终端和sdn控制器筛查的资源压力,提升了筛查的速度。

6.通过终端不断提交的疑似伪钞特征信息,sdn控制器可以及时更新疑似伪钞特征信息,利用sdn控制器的中央控制优势,可以快速将更新后的疑似伪钞特征信息传递给全网所有终端,从而提升全网所有终端的识别率。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1