基于ECC加密的乡村特产溯源系统智能合约设计

2022-11-10 06:09梁峰源唐建云满熊刘顺陈纪铭
科技风 2022年29期
关键词:加密算法数字签名特产

梁峰源 唐建云 满熊 刘顺 陈纪铭*

1.湖南工学院计算机科学与工程学院 湖南衡阳 421002; 2.湖南省东安县第一中学 湖南永州 425900

1 概述

近年来,在乡村特产溯源过程中,面临着由于网络协议不够完善而导致溯源信息不准确、溯源记录可能被窃取等安全问题。为解决智能合约在设计与加密传输过程中可能出现的安全问题,本文提出一种基于椭圆加密算法(ECC)的双向认证方式,作为系统中用户认证方式,利用ECC的双向认证方式结合智能合约协议保障乡村特产溯源系统的安全、可靠,进而来确保交易安全性。

2 研究现状

智能合约技术已广泛应用在数据存储体系、跨境电商溯源、医保系统等领域。2021年,梁秀波、吴俊涵等人将智能合约技术应用于隐私保护,安全存储,加强了数据存储的安全性[1];2020年,高阳阳等人采用了多方参与验证的方式,使用区块链技术建立了溯源数据可信程度较高的机制[2]。智能合约的提出者尼克·萨博将智能合约协议的实现分为协定、形式化、执行三个步骤;他提出“智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议”[3],被称为1.0阶段。2013年,以太坊将能够自动执行的技术运用到智能合约上,进入了2.0阶段。卡润提出椭圆曲线密码与机器学习在基于MQTT协议的物联网安全通信中的应用方法[4],证明了基于ECC加密的智能合约的安全性。

3 溯源系统智能合约设计

为解决供应链较多时无法及时更新信息等问题,通过智能合约实现对供应链内各环节的智能监控约束,提高效率和有效性。系统存在生产者/农民、加工商、经销商、消费者、监管部门等多种角色。监管部门作为管理员,维护系统的正常运转。为减少恶意节点的出现,本系统采用信誉评估算法,对账户进行信誉评估,当其信誉过低时则阻止账户操作。对系统内各主体合约设计为:农民生产农产品并上传生产信息→加工商进行加工并上传加工信息→销售商仓储、运输,过滤掉不合法信息→消费者通过溯源码查看溯源信息。数据采集的具体环节为:

3.1 特产种植环节

农民对特产进行种植之前初次申请本系统生产者账号,申请通过则合约生成,系统自动创建生产者区块。用户必须上传其种植原料的详细信息,种植期间,记录原料的生长状况及环境监测数据等;采收期间,挑选优质的原料并记录。采收结束前,农户都可对原料信息、农事操作、环境监测等信息做修改,采收结束并确认后,表明系统智能合约的正式建立,农户将不能修改存储的数据。

3.2 特产加工环节

加工商对原料进行筛选,记录原料信息、加工操作等详细信息,加工完成后需在本溯源系统中对加工操作进行确认。加工商在加工期间可对加工产品的信息进行修改,但在质检合格后,数据将无法再进行更改。同时,加工商账号的权限只能查询其负责产品的相关溯源信息。

3.3 特产仓储环节

加工商实质上作为产品存储单位,为避免环境因素导致产品的损耗,存储单位需定期检测并及时淘汰不合格产品,将此产品信息在本溯源系统内标记备注。

3.4 特产运输、销售环节

销售商需对乡村特产运输过程中的数据做具体记录,包括在运输过程中运输的路线、运输时长等信息。在到达目的地后信息将不可更改。消费者在购买该产品时可通过二维码来查询农产品的生产、运输、销售信息。销售商可查询其销售特产的上游溯源信息,但不能更改。

对乡村特产溯源系统存储数据的过程进行分层,如图1所示,智能合约作为核心层,一方面需要验证用户需要存储的数据是否合法,防止无效数据流入区块;另一方面,为了防止非法用户恶意窃取数据,在用户读取数据前需要先对用户的身份进行判断。

图1 乡村特产溯源系统数据分层结构

4 溯源系统的身份数字签名方案

身份认证所使用的技术是数字签名技术,常见的算法有三种:对称密钥加密算法、非对称密钥加密算法,以及对称密钥加密算法和非对称密钥加密算法相结合的算法。

本系统在各节点间数据共识之前必须通过身份数字签名对其身份进行合法认证,本文研究的身份认证策略是将身份认证和密钥协商结合起来,需要通信各方节点确认对方的身份合法性,然后建立起一个会话密钥,并进行通信,各节点均根据这个会话密钥对通信内容进行加密,确保整个会话的安全。

系统身份认证方案的数字签名流程:

(1)系统初始化。由于非对称加密算法中加密、解密需要使用公钥加密、私钥解密,而公私钥需要随机生成,在通信之前选取一段字符串作为安全参数,然后根据安全参数生成系统公钥和私钥。

(2)用户私钥生成。用户将系统初始化时生成的身份标识ID和安全参数发送给乡村特产溯源系统,系统利用用户身份ID,安全参数以及系统私钥为用户生成私钥,并将该用户私钥通过ECC加密的方式安全地回送给用户。

(3)数字签名生成。给定消息m,签名者随机选取一个安全参数,并利用其私钥和系统参数生成对消息m的数字签名报文。

(4)数字签名验证。接收方接收发送方的数字签名以及发送的信息m,利用签名者的公钥、系统参数和消息m来进行解密,通过解密出来的数字签名来核实发送方的身份的真实性,从而确保自己收到的信息是安全、有效的。

5 使用ECC加密算法实现智能合约

随着信息化、物联网、5G等技术的兴起,人们在生活工作中所产生的数据也急剧增加,随之而来的就是在数据传输过程中的安全问题。本系统采用ECC加密算法作为安全保障,合法用户只需要通过本乡村特产溯源系统给其派发的密钥就能将密文转换成明文。加密算法的复杂度的高低就决定整个数据传输存储的数据的安全性高低。通过类似的手段不仅可以达到数据不被非法访问的功能,还能一定程度上解决数据被非法篡改。常见的加密算法如下。

(1)对称加密算法。对称加密算法因为只有一种密钥,在加密方和解密方都是使用同一个密钥进行加密或者解密,而被称之为对称加密算法。对称加密算法的密钥长度一般都较短,例如,AES加密算法的密钥长度一般为128位,较短的密钥长度能够减少计算机的计算难度,加快计算效率。由于加密和解密都是使用同一个密钥,所以密钥如何传输、传输是否安全成为对称加密算法中最大的问题,如果密钥泄露或者被破解将会产生较大的安全问题。

(2)非对称式加密算法。在非对称加密算法中有两种不同的密钥,用于加密的公钥和用于解密的私钥。“公钥”可以通过互联网对外公开,“私钥”只能由接收方私有。在非对称加密算法中接收方需要先生成公钥和私钥,再通过互联网将公钥发送给发送方,因为公钥是可以发送给任何人的,发送方将需要发送的信息用公钥加密,并将密文传送给接收方,接收方收到通过公钥加密的密文后,需要使用单独持有的私钥才能够进行解密,保证信息的安全。非对称密钥算法的优点:通过较短的公钥对需要传输的数据进行加密,加密速度快;密钥的发布较为简单、方便、快捷;可借助现有的公钥加密体系,降低算法复杂度;用户在解密时不需要发送方的密钥。非对称密钥算法的缺点:由于私钥长度比较长,例如,常见的非对称式加密算法RSA算法的密钥长度为2048位,较长的密钥长度会使解密的过程变得较为复杂,并且会消耗更多的计算机资源和性能,而对称式加密算法的密钥较短,例如,加密过程较为简单的AES加密算法,其密钥长度一般为128位。较长的密钥计算难度比较大,使得在使用非对称式加密算法来进行加密和解密时,速度较慢,耗时较长。

本系统为防止生产者、运输者、加工者的过程数据被窃取,采用ECC非对称式加密算法,对数据进行加密。椭圆曲线(ECC)加密算法相较于应用广泛的RSA加密算法,拥有加密速度快、几乎不可破解等优势。本系统通过椭圆曲线加密算法(ECC)来保证系统中数据的安全性和智能合约的可靠性。具体实现步骤如下:

定义一个椭圆曲线Ep(a,b),其中p为任意选取的质数,x,y∈[0,p-1],椭圆曲线方程如下:

y2=x3+ax+b(modp)

(1)

将椭圆曲线的阶定义为N,并在椭圆曲线中选定任意一点t,规定kt为k个t点相加的和,椭圆曲线的解密问题就是通过t和kt找到系数k的值。从(1)式中定义的椭圆曲线中找一点g作为基点,通过对g点多次累加可得:

∀t∈E(F)p,∃k∈[1,n]=>k×g=t

(2)

点t作为加密算法中的公钥,可以随意公开,点k作为加密算法中的私钥,由接收方保存。ECC非对称加密方式避免了密文被黑客破解。在本乡村特产溯源系统中模拟用户进行个人信息的输入,并使用wireshark抓包软件模拟黑客对用户发送的信息进行破解,如图2所示,我们将抓取到的包进行解析得到如图3所示的密文,该密文只能通过用户的私钥才能解密,从而保证了本乡村特产溯源系统中信息传输的安全性。

图3 加密报文

数字签名可以用来验证发送方的身份信息。本乡村特产溯源系统采用ECC加密算法进行数字签名,数字签名完成后通信双方就可以验证对方身份的真伪,并获取真实无误的数据。在本乡村特产溯源系统中,运输方可以通过数字签名验证生产方,也就是农户的身份,并通过智能合约获取运输农产品的各项信息;加工方可以通过数字签名验证运输方的身份,并通过智能合约获得运输方运输农产品的信息;销售方可以通过数字签名验证加工方、运输方、生产方的身份,通过智能合约核对销售农产品的各项信息,确保销售商品各项信息的准确无误;消费者可以通过数字签名来验证生产方、运输方、加工方、销售方的身份,通过智能合约获得该农产品的所有信息。在以上环节中ECC加密算法作为数字签名和智能合约的核心,能够保证信息的安全性,从而提高本乡村特产溯源系统的安全性。

以上流程中主客体间获取数据的过程对应着智能合约实现步骤和对应关系,如图4所示。

图4 溯源系统中通信主体

结语

在整个乡村特产溯源系统的安全性设计中,智能合约是整个系统的灵魂,身份认证,数据加密是系统的安全保障。智能合约规定了各个主体的具体权限及对应的操作,流程中主客体通过智能合约获取数据,保障溯源系统的正确运行以及各主体的数据隐私和共享问题。通过ECC加密的数字签名对网络中的节点进行身份的认证,防止不合法用户的非法操作。并利用区块链的分布式特点,保障数据在存储安全,使用ECC加密的方式对数据加密,保障乡村特产溯源系统中数据的安全性。

猜你喜欢
加密算法数字签名特产
特产小吃DIY
交通运输行业数字签名系统的设计与实现分析
数字签名技术在计算机安全防护中的应用
关于电子商务中安全数字签名的研究
教育云平台的敏感信息保护技术研究
一种改进的加密算法在空调群控系统中的研究与实现
基于Jave的AES加密算法的实现
掌握方法用好数字签名
杭州特产
AES加密算法的实现及应用