论文摘要:为防止恶意攻击,文章从税控信息加密、税控软件系统在线升级、异常情况处理等方面阐述了进一步提高税控收款机安全性的设计方法
论文关键词:税控收款机;信息加密;软件在线升级;异常情况处理
税控系统由于涉及信息的敏感性,自然成为黑客的攻击目标。为防止恶意攻击,并保证税控收款机在诸如掉电、异常拔卡等异常事件发生时的信息安全,根据信息技术安全性评估准则(GB/T18336—2001)的要求,税控收款机必须达到以下信息安全目标:应用软件的维护、升级应严格授权管理;税控收款机应保证存储数据的完整性;当异常事件发生时,应保证存储数据的一致性;能够记录任何对税控收款机的访问、操作;税控收款机保留的所有接口必须受控,不允许留有通用调试接口,不允许留有隐蔽通道;对于嵌入式操作系统,应只提供与税控收款机业务相关的功能;确保税控IC卡与税控收款机间的数据一致性。鉴于篇幅所限,且有关税控收款机掉电保护方面的信息安全设计之前已撰文论述,以下只从税控信息加密、税控软件系统在线升级、异常情况处理等方面阐述进一步提高税控收款机的信息安全性的设计方法。
l税控信息加密
为防止黑客攻击税控收款机的信息系统,税控收款机采用MD5加密算法进行数据加密,为税控收款机的信息安全提供了多重保护。
1.1MD5加密算法简介
MD5算法是一种著名的Hash算法。MD5的全称是Message-DigestAlgorithm5(信息一摘要算法),在20世纪90年代初由MitLaboratoryforComputerScience和RsaDataSecurityInc的Ronald1.Rivest开发,经MD2、MD3和MD4发展而来,如今它在技术上更加成熟,安全性也更高。Hash算法(也称杂凑函数或杂凑算法)是把任意长的输入消息串变化成固定长的输出串的一种算法。这个输出串称为该消息的杂凑值。一个安全的杂凑函数应该至少满足以下四个条件:
(1)输入长度是任意的;
(2)输出长度是固定的;
(3)对每一个给定的输入,计算输出即杂凑值是很容易的;
(4)给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息,使得它们杂凑到同一个值是计算上不可行的,这样就保证了加密数据的安全。
1.2税务申报数据加密
本机软件系统的税控密钥(包括主控密钥、数据加密解密密钥、税控数据鉴别密钥、发票管理密钥、外部认证密钥等)、软件升级、电子签名、通讯口令等都采用了MD5加密方式。
本机软件系统存放和校验经过加密的数据,防止因为口令丢失而给用户造成不必要的损失。税控收款机内置大容量税控存储器,保存每笔交易记录。每笔交易记录包含的信息有;发票流水号、开票时间、交易金额、税额、税种、税率、记录号等。这些信息应以MD5密文方式存储,防止篡改数据。
税控收款机开出的累计发票或退票金额以及近期税务申报数据同时保存在税控IC卡中。税控IC卡中累计发票金额和税务申报数据应与税控存储器保存的数据一致,这样可以有效地防止篡改、删除记录。
2税控系统软件在线升级的信息安全设计
为了确保嵌入式系统软件在线升级的安全性,系统采用地址向量跳转的方式来指向不同的系统软件程序。所有系统程序的人口地址保存在NandFlash的一个指针向量表中,这个向量表正常运行期间不能改变且地址固定。
系统上电后,通过BootLoader建立系统的运行环境,接着到指针向量表中读取向量指针;然后跳转到向量指针所指的地址读取数据,即将NandFlash中的系统程序复制到Sdram中;BootLoader把控制权交给操作系统,系统开始运行;然后嵌入式系统根据网络数据来决定是否升级;软件升级执行完毕后,修改指针向量表中的向量指针,使之指向新的系统模块。
本机税控软件的在线升级,应该遵循《XX信息软件产业集团有限公司一税控事业部一软硬件发布和升级细则》。
研发部开发的硬件产品,经过ESD和EMI等测试合格以后,形成正式版本,交由信息安全管理办公室登记备案。经过测试和安全评估的新版软件,连同信息安全内部测试和评估报告,一同提交信息安全管理办公室,经过确认以后,形成本税控收款机嵌入式软件的正式版本。信息安全管理办公室再进行加密处理
(如图2,软件在线升级加密流程),并在公司产品库里登记,登记完成的新版软件才可以通过各种媒介向工厂和产品代理商发布。信息安全管理办公室应确保将与新版本配套的软硬件下发给工厂安装及生产。本机软硬件版本号为18位ASCII码,包括:1/0(1为硬件,0为软件)+公司代码(3位)+公司产品型号代码(3位)+此产品型号的版本(2位)+“一”+软硬件发布的日期(8位,YYYYMMDD)。本公司所有软硬件维护人员,包经过培训后的代理商的维护人员都在公司数据库中注册,这些在册人员只有凭借其注册密码才能获取公司的维护许可派工单。维护人员只有使用本公司开发的专用下载软件才能对税控收款机进行如升级程序等操作。
在图3的第2步中,工作内容是可选择的,如升级软件程序等;工作密码就是派工单上面的校验码。在图3的第3步中,“下载软件”可根据其选择的工作内容,开放不同的工作程序供其操作。下载软件与税款收款机中的税控专用BIOS通讯必须使用加密校验机制,防止非法下载。
下载软件应该记录所有的通讯记录,形成日志文件。税控收款机中的税控B10S也应该记录部分重要的通讯记录,如升级程序等,形成日志文件。记录的内容应该包括:下载人员ID和下载时问等。这样做到每一次下载都有记录可循、有人可查,确保下载升级软件过程中的信息安全。
3异常拔卡情况下信息安全保护的硬件及软件设计
3.1异常拔卡保护设计需求
如果在与IC卡交换数据的时候,IC卡被拔出,将会导致通讯异常,导致税控数据出错。所以在税控收款机设计过程中,应该充分考虑这种异常情况,特别针对用户卡,因为其更容易被拔出。
3.2异常拔卡保护的硬件设计
(1)税控卡拔卡保护的硬件设计。税控卡采用PLUG—IN型IC卡卡座,此卡座无插卡检测功能。可以在卡座上贴“铅封”,防止人为地恶意拔卡操作,保证税控数据的完整。
(2)用户卡拔卡保护的硬件设计。用户卡采用ID一1型IC卡卡座,其引脚CRD_DET能够检测IC卡是否插入,将其接入CPU的一个I/0口,卡座内无卡的时候,此引脚为高电平;卡插入后,产生低电平。通讯查询CPU此I/0口状态,可以得知IC卡是否存在。
3.3异常拔卡保护的软件实现
拔卡保护的软件实现主要考虑用户卡被拔出的异常情况。与用户卡通讯属于可逆转事件,
4其他异常情况下的信息安全保护的软件设计
其他异常情况是指在与卡进行税控数据交换的时候出现的除系统异常掉电和异常拔卡以外的异常情况,如卡错误、RAM错误等异常情况。其他异常情况通常是由不可预测的硬件错误导致。通常只能在软件设计上采用容错设计,与系统硬件设计无关。其他异常情况的软件处理从两方面考虑:不可逆转事件和可逆转事件。
4.1不可逆转事件的软件处理
对于不可逆转事件只能执行一次,如果出现异常后重新再执行一次,则可能导致数据出错,所以需要先把数据备份,再执行不可逆转事件。
Step作为一个全局变量,保存在存储器中,保证了步骤信息不会丢失,掉电重启后不会重复已完成的步骤。如果不可逆操作过程出现异常,不能未经任何处理继续执行下面的步骤,否则数据A可能已经被更改,成为脏数据。等异常消除后,重新执行该步骤,因Step不变,则脏数据A不会影响数据B,数据A将会被数据B还原为一块干净的数据后再执行此操作,那么执行结果将不会发生错误。
4.2可逆转事件的软件处理
在可逆转事件处理过程中出现异常,不会导致数据紊乱。可以等异常消除后,再执行一遍,软件无需作过多的处理,只需对异常错误作简单提示即可。
5结束语
税控收款机的信息安全性的设计是一项较为复杂的系统工程,随着黑客攻击手段的不断翻新,信息安全设计人员应不断提高加密软件的破解难度。