巧用二维码反验票务系统数据可靠性

2019-02-19 13:28杨俊宏武汉市审计局
审计月刊 2019年2期
关键词:字符串票务门票

◆范 芹 杨俊宏/ 武汉市审计局

随着互联网大数据时代的到来,旅游行业和现代网络信息技术不断融合,旅游景点所售门票也从传统的单一实体票向二维码电子票转变,网络售票逐渐成为主要售票形式,这就对售票系统功能设计的规范、完善提出了更高的要求。今年,随着审计覆盖面加大,审计逐步开始对票务系统进行关注,笔者所在审计部门也尝试在投资项目绩效审计中将票务系统的投建与运营绩效纳入审计范畴。

笔者在对某项目票务系统进行调查了解发现,一般情况下,票务系统管理员对数据库有较高的操作权限,如果有人利用系统管理员的ID对系统数据做出一些修改,是难以及时被发现的。而票务系统后台数据库中记录了票种标识、人员数量、交易时间等一系列重要的信息,是反映真实业务情况的重要记录,如果信息被篡改,势必影响其他业务指标的评判,甚至被人利用而非法获利。在获取系统数据后,如何验证该数据的真实性、完整性、可靠性,便成了票务系统审计中第一道亟待攻克的难关。

经过审计组反复讨论研究,决定将电子票二维码作为一个关键的突破口。在产生门票销售订单时,票务系统会自动生成一个唯一对应的二维码,二维码对应的是一段十六进制的字符串,字符串中同样包含了票种标识、人员数量、售票时间等重要信息,而基于系统设计的字符串生成机制和校验机制,除系统编码人员,其他人在程序之外只能看到结果,一般无法知晓字符串所包含的对应信息,而且这些字符串通过非对称秘钥加密,即使了解编码结构也无法对数据进行修改。因此,销售订单一旦生成二维码后,再想通过修改这段十六进制的字符串生成相应的信息与数据库中对应字段来匹配几乎是不可能的,也就是说,二维码或者十六进制代码一旦生成,其对应的数据库系统记录数据就是唯一的,如果后期更改系统数据,其生成的二维码或者十六进制代码必然与修改前的原始数据生成的二维码及十六进制代码不一致,因此,审计人员可以通过已经生成的二维码或十六进制代码反推出数据库原始数据,然后跟数据库中对应的现有数据进行对比,如果不一致,即可认定现有数据是被篡改过的,以此来验证票务系统数据的可靠性。

具体方法就是:从票务系统的后台数据库中取得二维码对应的十六进制字符串集合,以及直接存放的门票交易订单信息,先从解析二维码开始,通过数据库取得解析字符串对应的信息,截取对应信息的数据映射字符串;再对数据字节的顺序进行调整,以取得对应信息的合序数据,对数据进行编码转换,得到对应信息的数值,生成原始信息数据;最后与数据库当前的订单信息数据进行对比,通过匹配门票编号、类型等信息,核对时间、人数信息,看二者数据是否匹配,如若匹配,数据未被修改,反之,数据已被篡改。

猜你喜欢
字符串票务门票
地铁多元支付与票务安全融合发展研究
提前预登记,免费参观
基于文本挖掘的语词典研究
民航票务企业所需人才现状分析
地铁票务收益安全管理的分析和探讨
买门票
北京“门票达人”办展览
乡村旅游不再是“门票+凉皮”
SQL server 2008中的常见的字符串处理函数
千亿电子票务风口到来