DES算法在自行车租赁系统中的应用

2017-05-08 18:03魏文俊张晶朱鹏宇��
计算技术与自动化 2017年1期
关键词:密钥

魏文俊+张晶+朱鹏宇��

摘要:公共自行车租赁系统已逐步纳入城市公共交通体系,以解决公交出行“最后一公里”问题。本文针对自行车租赁系统中的安全认证问题,提出用软件模块实现DES算法代替传统所使用的PSAM(Purchase Secure Access Module)硬件卡方案,分别在自行车租赁系统内的售卡系统、消费终端和车辆信息几个模块中,实现DES加密。不仅提高现有系统智能卡的扩展性和安全性,而且减少硬件成本,提高了系统的效率。

关键词:DES;自行车租赁;密钥

中图分类号:TP399文献标识码:ADOI:10.3969/j.issn.10036199.2017.01.018

1引言

随着城市交通机动化的发展,交通拥堵、环境污染等问题越来越严重,发展慢行交通,建立城市公共自行车系统显得及其重要。2005年北京出现了公共自行车,但是系统的发展缓慢。直到2008年杭州公共自行车系统的投入使用,才引发了国内公共自行车发展的浪潮[1]。目前,在北京、深圳、武汉等多个城市都启动了公共自行车服务,杭州和武汉拥有世界上最大的公共自行车系统,数量分别在6.5万辆和7万辆。中国已经成为公共自行车规模增长快、发展相对成功的国家之一[2]。公共自行车租赁系统主要由以下四部分组成:自行车(携带RFID)、锁桩、站点、后台管理系统,如图1所示。锁桩通过读取自行车RFID信息和用户卡号进行租还车;站点对锁桩进行统一管理,对用户卡进行鉴权,同时和后台管理系統进行数据交换;后台管理系统完成运营调度和业务管理,其中业务管理作为后台管理系统核心部分,主要负责面向用户的事务处理,涉及卡片管理、用户管理、事务办理等相关内容[3]。

作为公共服务,安全认证是整个系统的重点。传统的安全认证采用硬件(PSAM卡:30元/张)实现,将PSAM卡分别安装在锁桩、站点、后台管理系统,每次租还车交易都需进行PSAM卡安全认证。一个小规模的自行车系统至少需要上千张PSAM卡,成本高且不便于管理。

图1公共自行车租赁系统

DES算法是最常见的对称密钥算法,属于对称算法中的分组密码算法,其算法公开、安全性高、密钥容易获取,运算过程简洁[4]。本文旨在通过DES算法来替换已有的硬件加密模块,主要涉及到业务管理模块中用户卡的安全认证、站点模块的用户卡的安全认证、锁桩模块的自行车RFID信息认证,采用一卡一密。该设计采用软件模块实现,在保证高安全性的前提下,与传统的PSAM卡不再作为硬性捆绑,直接使用DES算法进行消费主密钥的产生和认证,实际使用中降低了硬件成本,操作简便,拥有好的用户体验。

2DES算法原理

DES算法是一种常见的对称加密算法,该算法技术公开,算法简洁,安全性高。DES算法在通信领域一般主要应用在以下几个方面[5]:

(1)计算机网络通信:对计算机网络通信中的数据提供保护是DES的一项重要应用;

(2)电子资金传送系统:采用DES算法加密电子资金传送系统中的信息,可准确、快速地传送数据,并可较好地解决信息安全的问题;

(3)保护用户文件:用户可自选密钥对重要文件加密,防止未授权用户窃密。

DES加密过程由四部分组成,分别为:初始置换函数IP、子密钥Ki、获取密钥函数F及末置换函数IP-1。

DES的加密算法基本过程为:初始置换函数IP接收长度为64位的明文输入,末置换函数IP-1输出64位的密文。在子密钥的获取过程中,通过密钥置换获取从K1到K16共16个子密钥,这16个子密钥分别顺序应用于密码函数的16次完全相同的迭代运算中[6]。如下图2所示。

DES的解密算法与加密算法完全相同,只需要将密钥的应用次序与加密时相反应用即可。3算法模块在自行车系统中的应用

3.1自行车电子标签(RFID)数据存储结构

自行车电子标签内存储行政区划代码、自行车序号和运营机构序号信息,存储位置为电子标签扇区1,存储结构见表1。锁桩通过感应位于自行车前端的RFID(Radio Frequency Identification),通过规定的DES算法来获取自行车的信息,保证系统中自行车的合法身份,自由通过合法验证的车辆才能上架。

3.2用户卡数据存储结构

在本系统中,业务管理模块和站点管理模块均会涉及到用户卡的安全策略。为了享有骑行服务,用户需要在业务管理模块进行业务办理,业务管理模块负责完成用户卡安全策略的初始化操作;租还车时,通过锁桩获取用户卡的卡号,并传递给站点,由站点管理模块负责用户卡合法性的验证,只有验证通过的用户卡才能进行租还车[7]。

3.3密钥管理思路

采用逻辑加密卡密钥安全控制策略保障数据的安全性,制定密钥安全策略如下:

(1)由独立机构生成KeyAn,作为扇区0~2内控制读权限密钥的根密钥,向各区县运营监管机构开放;

(2)各区县运营监管机构生成KeyBn,作为扇区0~2内控制写权限密钥的根密钥,不对外开放;

(3)独立机构与各区县运营监管机构制定密钥管理制度,保障密钥数据的生成、传输、存储和使用的安全。

3.4密钥运算规则

算法的安全性主要在于密钥的安全性,DES算法中密钥是其输入之一,对比两次加密结果来实现安全认证。下边简要描述在系统中DES算法的使用规则。

KeyAn控制读权限,由KeyA对复制1次的唯一标识卡号SN(芯片序列号为4字节,复制后为8字节)进行分散(DES算法加密)获得,即KeyAn= DES (KeyA, SN||SN),保证一卡一密钥;KeyBn控制读写权限,由KeyB对复制1次的唯一标识卡号SN(芯片序列号为4字节,复制后为8字节) 进行分散(DES算法加密)获得,即KeyBn= DES(KeyB, SN||SN),保证一卡一密钥[8]。

猜你喜欢
密钥
春节档多部影片密钥延期最晚至4月中旬
幻中邂逅之金色密钥
幻中邂逅之金色密钥
“墨子号” 实现基于纠缠的无中继千公里量子密钥分发
云计算中密钥管理关键技术研究
BitLocker密钥恢复二三事
当数据抢救遇到BitLocker加密
一种传输密钥安全解决方法
防窃听的加密技术
可证安全的基于属性密钥交换