基于高效短签名的自动售货机安全交易协议

2018-11-02 09:51左黎明张梦丽艾美珍
制造业自动化 2018年10期
关键词:封包管理中心指令

左黎明,王 露,张梦丽,艾美珍

(1.华东交通大学 理学院,南昌 330013;2.华东交通大学 系统工程与密码学研究所,南昌 330013)

0 引言

随着物联网、移动支付和商业自动化的发展,智能化的无人销售成为零售业的发展趋势,而无人零售的最初模式自动售货机也随之备受关注。自动售货机起源于公元一世纪希腊人制造的自动出售圣水装置[1],1904年,日本研制出邮票自动出售机;1925年,美国出现了出售香烟、邮票等的自动售货机,打开自动售货机的全新时代[2]。20世纪50年代,出现大量果汁自动出售机;1962年,出现了以自动售卖机为主体的流通领域的革命[3];20世纪70年代,自动售货机作为一种全新的商业零售形式在日本和欧美快速发展[4]。到目前为止,发展已相对成熟。2016年,自动售货机在日本、欧美等国家普及率特别高[5],日本已有自动售货机2000多种,售卖商品6000多种,美国有691万台自动售货机。中国在自动售卖业虽然起步较晚,于1993年才在广东、上海等地引进,但一直持续发展。据统计,2016年我国自动售货机投放量增长50%,预计2020年出货量将达20万台以上,年销量有望超越日本。2016年,马云于阿里云栖大会上提出“新零售”的概念,即“线上+线下+物流”,自动售货机作为线下销售的一种形式已经越来越标准化规模化发展[6]。自动售货终端简单、高效、便利的优势可以很好的满足现代都市快节奏生活的需求,又能节约成本,成为了继百货商店、超市之后的第三次零售业革命,具有广阔的应用前景[7,8]。

随着自动售货机的普及,不可忽视的是,目前大多数自动售货机都存在安全漏洞,易被黑客入侵,盗取用户数据甚至出现免费拿售卖品、售货机自动吐钱等。2016年8月31日,第一届XPwn大会上,来自百度的黑客小灰灰用多种方法对自动售货机进行测试,发现其硬件端、设备App端、服务端均存在大量漏洞。2017年,Verizon发布的数据泄露报告中显示,黑客利用自动售货机等物联网设备攻击了某大学网络,导致5000操作系统被锁[9]。同年7月,自动售货机厂商Avanti Markets被黑客入侵内网,在终端支付设备中植入恶意软件盗取用户数据[10]。因此,为减少自动售货机被攻击带来的损失,必须对其数据安全性进行保护。针对该问题,设计了自动售货机安全交易协议,利用基于身份的短签名方案保障数据交互安全,保护用户隐私和厂商效益。

1 基础知识

1.1 当前自动售货机的工作原理

以微信、支付宝等手机支付自助购物的自动售货机为例,其工作原理为:1)顾客点击按钮选择商品;2)自动售货机根据选择的商品生成商品二维码;3)手机App扫描二维码获取到商品信息,待用户确认支付后,将支付结果返回给云管理中心;4)云管理中心根据接收到的支付结果向自动售货机发出相应指令;5)自动售货机完成指令对应功能。

图1 基于身份数字签名方案定义

1.2 基于身份的短签名方案定义

基于身份的数字签名方案最早是由Shamir[11]于1984年建立在大整数因式分解困难问题上提出。2000年,Joux[12]利用椭圆曲线上双线性对知识构造了一个基于身份的Diffie-Hellman密钥协商协议后,利用双线性对构造基于身份的数字签名方案成为主流[13~16]。

基于身份的数字签名体制包括参数生成算法、私钥解析算法、签名算法和验证算法。定义具体描述如图1所示。

1.3 双线性对

设G1和G2是分别两个阶数为素数q的加法群和乘法群,g是群G1的一个随机生成元,e:G1×G1→ G2是一个高效计算的函数,具有的性质如下:

1)双线性:对任意的g,h∈G,和任意的a,b∈Zq*,满足e(ga,hb)=e(g,h)ab。

2)非退化性:e(g,g)≠1。

3)可计算性:对任意的U,V∈G1,都存在计算e(U,V)的有效算法。

2 整体设计方案

自动售货机安全交易系统由App客户端、云管理中心和自动售货机组成。App客户端包括信息查看、数据处理和签名三个模块,云管理中心包括数据中心、后台管理模块、签名模块和签名验证模块,自动售货机主要包括工控机主板、签名验证模块、其他外围设备和存储模块。系统各模块间的通信采用4G无线传输模块。系统结构图如图2所示。

图2 系统整体结构图

系统采用App客户端和手动触屏控制两种不同的方式与自动售货机进行人机交互。App客户端用于实时查看自动售货机状态、交易情况和售货机内商品信息等,当顾客选择商品后,扫描二维码完成支付,并对支付结果进行签名后发送给云管理中心。云管理中心远程监控、管理自动售货机,并存储自动售货机的状态信息、商品信息等,根据数据对售货机下发不同指令(如补货、调整价格、关闭售货机等)。自动售货机以工控机主板为核心,结合存储模块、签名模块实现自动出货等功能,其他外围设备为自动售货机功能拓展提供了技术支持。4G无线通信模块实现App客户端、自动售货机与云端之间的稳定通信。

3 基于身份的数字签名方案

基于身份的数字签名方案的安全性建立在解决双线性映射和双线性群上CDH[17]困难问题上,以下给出一个高效的基于身份的短签名方案:

1)Setup(参数生成):给出一个安全参数k,PKG生成系统公共参数

params={k, G1, G2, e, q, P, g, Ppub, H1, H2}。其中G1和G2为两个阶数均为素数的q阶循环群,e:G1×G1→G2为双线性映射且有g=e(P,P),P为G1的生成元,H1:{0,1}*→Zq*,H2:{0,1}*→Zq

*为两个安全Hash函数,随机选取xpkg∈Zq*作为系统主密钥,计算系统公钥Ppub=xpkgP。

2)Extract(私钥解析):PKG根据给定的用户A的身份IDA∈(0,1}*计算用户私钥x=H1(IDA,T,xpkg)xpkg,用户公钥y=xP。将x安全地发送给用户A。其中IDA表示用户唯一标识,T为时间戳以保证不同的身份对应不同的密钥。

3)Sign(签名):对给定的消息m进行签名,步骤如下:

(1)计算h=H2(m,IDA);

(2)计算S=xh得到用户A对消息m的签名S。

4)Verity(验证):用户B作为验证者对消息m及对应签名S进行验证,步骤如下:

(3)计算h=H2(m,IDA);

(4)接受签名S并返回1当且仅当以下等式成立:Verify(m,IDA,S)=1⇔e(S,P)=e(h,y)。

下面验证等式的正确性:e(S,P)=e(xh,P)=e(h,xP)=e(h,y)。

4 自动售货机安全协议及其关键技术

4.1 云管理中心实现

云管理中心包括数据中心、后台管理模块、签名模块和签名验证模块。

数据中心保存着商品的基本参数(包括材质、生产日期、保质期、适宜储藏温度等)、商品价格信息、优惠信息和自动售货机基本信息(包括机器标识、运行状态、售卖商品、内部商品数量、交易情况等),为自动售货机交互安全和产品管理提供数据支持。

后台管理模块为用户提供查看、查询功能,为管理员提供信息新增、修改、删除、出入库管理和统计等功能,能够根据统计结果对商品投放决策给出建议。

签名模块包括基于身份的短签名算法,提供了密钥生成、签名、验证签名等功能,能够对云管理中心向自动售货机发送的指令进行签名,防止信息被伪造或篡改。

签名验证模块利用基于身份的短签名方案中的验证签名算法,对App客户端发送的签名进行验证,保证支付结果不会被篡改。

4.2 自动售货机端实现

自动售卖机主要包括工控机主板、签名验证模块、其他外围设备和存储模块。

自动售卖机以工控机主板为核心,工控机主板与其他模块连接,实现对整个系统的控制。主板采用WTM-1系列的板卡,内置Intel@AtomD2550处理器,拥有丰富的接口,能与当前3G/4G无线网络对接。主控模块可以方便地对自动售货机内流程(包括吐货流程、交易数据上传等)进行管理和控制,低功耗多功能的特性可以很好地满足自动售货机需求。

签名验证模块利用基于身份短签名方案中的验证签名算法,能够对云管理中心发送的签名指令进行验证,保证信息完整性和安全性。

其他外围模块包括键盘、硬币器、纸币器、显示屏和其他装置等,为获取自动售货机相关数据提供支持,集成的丰富接口为拓展其他功能提供了便利。

存储模块保存着该自动售货机基本信息(包括机器标识、运行状态、内部商品数量、交易情况等)、本机内商品信息(包括材质、生产日期、保质期、适宜储藏温度、价格等),以及商品二维码。

4.3 App客户端实现

App客户端支持用户选购商品,与不同支付平台对接实现扫描二维码付款,并对支付结果签名防止数据被篡改。采集自动售货机状态信息、商品基本信息、订单情况等并实时更新内容。通过无线传输模块对自动售货机进行远程控制。

4.4 通信模块

系统中各模块间通信使用4G无线传输模块,采用高通生产的U9507型无线模块,是一款适用于多种网络制式的无线终端产品。将射频、基带集成在PCB上完成无线接收、发射、基带信号处理和音频信号处理等,带有丰富的外设接口,可以很好的与其他产品相结合,实现安全可靠、低功耗的网络传输。

4.5 安全交易协议实现

自动售货机、App客户端和云管理中心之间的数据交互采用packet封包的形式传输,对不同的消息用不同的编码表示,以“#”连接输出为字符串。封包内符号及代表含义如表1所示。

表1 packet封包符号及解释

以手动选择商品的自动售货机和云管理中心数据交互为例,协议交互具体步骤如下,交互示意图如图3所示。

步骤1:自动售货机的存储模块存储着商品名称PName、商品价格PPrice、商品包装规格PSpecification(以下简写为PSpec)等信息。

步骤2:顾客手动选择商品,自动售货机根据设备唯一标识MID和相关商品信息以MID$PName$PPrice$PSpec的格式自动生成二维码。

步骤3:App客户端扫描二维码确认支付,得到支付结果。将解析二维码获取到的商品相关信息和支付结果进行哈希,再利用基于身份签名方案签名得到Sig(h(MID,PName,PPrice,PSpec,Result)),发送封包MID#PName#PPrice#PSpec#Result#Sig到云管理中心。

步骤4:云管理中心对接收到的封包进行验证,若验证通过解析封包,获取到MID、PName、PPrice、PSpec和Result,根据支付结果给出对应指令,并对其进行签名得到Sig2(Order),重新生成封包MID#PName#PPrice#PSpec#Result#Sig2(Order),并发送给自动售货机,若验证失败结束协议交互过程。

步骤5:自动售货机对接收到的签名进行验证,验证通过则执行对应指令(如:“出货”)。否则结束协议交互过程。

图3 自动售货机与云中心交互示意图

5 实验与仿真

5.1 App客户端签名的实验与仿真

图4为App客户端对支付结果进行签名的关键代码。图5所示为对支付结果生成的签名结果。

图4 签名生成关键代码

图5 支付结果的签名

5.2 云管理中心签名验证的实验与仿真

如图6所示为云管理中心对App客户端发送的数据包(MID#PName#PPrice#PSpec#Result#Sig)验证所得结果。

图6 签名验证结果

如图7所示为云管理中心对待发送的指令生成签名结果。

图7 对指令签名结果

5.3 自动售货机验证签名实验与仿真

如图8所示为自动售货机对云管理中心发送的指令签名进行验证的结果。

图8 指令签名验证结果

6 结论

自动售货机安全交易协议对保护用户数据安全和厂商利益具有重要作用。采用基于身份的短签名方案对传输过程中的重要数据签名,确保数据丢失或泄露也不会影响用户和系统交互安全。运用基于身份的短签名方案使得系统安全性大大提高,以自动售货机、App客户端和云管理中心交互实现商品自动送出为例,给出了采用packet封包传输数据的协议实现过程,并对其进行实验与仿真测试,测试结果证明了系统的可行性和安全性,能够有效避免数据泄露带来的不良影响,抵抗部分黑客对自动售货机指令的攻击,可广泛应用于自动售货机设备中。

猜你喜欢
封包管理中心指令
健康管理中心护理质量评价指标体系的构建
中药封包在急诊老年急性胃肠炎患者中的临床应用
漾皮肤管理中心
宸山皮肤管理中心
《单一形状固定循环指令G90车外圆仿真》教案设计
护肤 巧用保鲜膜
无冲突规则校园网络安全系统的设计
关于在蒙医综合医院建立慢病健康管理中心的探讨
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法