1、 税控收款机系统设计方案叶晓锋税控收款机系统设计方案 27 2020年5月29日 文档仅供参考 嵌入式系统分析课程论文 税控收款机系统设计方案 作者:叶晓锋 学号: M 2月 目 录 1项目背景概述…………………………………………………………………………………....3 2需求分析…………………………………………………………………………………………3
2、 2.1基本需求 2.2功能需求 2.3可用性需求 2.4可靠性需求 3税控收款机硬件设计……………………………………………………………………………3 3.1关键技术……………………………………………………………………………………...4 3.1.1IC卡技术 3.1.2加密防伪技术 3.2税控收款机设计方案………………………………………………………………………...5 3.2.1硬件方案 3.2.2软件方案 3.2.3税控稽查功能设计 4电子税控系统架构设计…………………………………………………………………………9 4.1税控收款机发放管理子系统………………
3、………………………………………………...9 4.2CA认证子系统……………………………………………………………………………….11 4.3网络缴税子系统……………………………………………………………………………..13 4.4发票防伪验证子系统………………………………………………………………………..14 5对不同商业用户环境下税控收款机设计探讨...........................................................................15 6结束语……………………………………………………………………………………….
4、….15 1 项目背景概述 随着中国经济的快速发展,越来越多的企业涌现出来。如何能高效的征收企业的税费,有效的防止不法企业偷逃税款,以及防范伪造税务票据犯罪,从而减少国家在税收方面的损失,成为有关部门乃至整个社会近年来越来越关心的问题。科学技术的进步,特别是计算机技术,微电子技术,数字加密技术以及网络技术的出现和应用给上述问题的解决从技术方面带来了希望。 2 需求分析 2.1基本需求: (1)税控收款机(以下简称为收款机)由当地税务机关发放; (2)收款机不能被非法者冒用,克隆,改造; (3)收款机经过网络传送的信
5、息以及本地保存的信息安全性应受到保护; (4)发票能够验证真伪; (5)税务稽查人员能够直接对收款机进行现场真伪验证。 2.2功能需求: (1) 收款机应能自动记录每日的营业数据并实时计算、记录应纳税额,但这些记录不能被更改和抹掉。 (2) 收款机能够经过网络将税务信息向当地税收信息中心提交,也可经过IC卡到当地税务机关办理缴税。 (3) 税务稽查人员以及合法用户可从收款机中提取营业及缴税数据记录。 (4) 所有操作结果或提示信息,有实时显示。 (5) 收款机能够支持打印相关票据。 (6) 收款机能够现场验证其真伪。 2.3可用性需求 (1) 收款机发行机构正常情
6、况下应在10分钟内完成一台收款机的软硬件及加密设置工作; (2) 收款机用户可在说明文档指导下在30分钟内掌握收款机的使用方法; 2.4可靠性需求: (1) 商户营业及缴税数据记录不可被更改、删除,掉电数据不丢失; (2) 非合法操作人员无法操作收款机; (3) 商家的营业及税务信息在网络传输中,第三者无法破译; (4) 她人无法盗用合法用户的收款机税控信息; (5) 收款机无法被克隆或非法改装。 3 税控收款机硬件设计 3.1 关键技术 3.1.1 IC卡技术 IC卡技术是继条码、磁卡等识别技术之后出现的新一代识别技术。按卡中所镶嵌的集成电路类
7、型的不同可分为:存储器卡、逻辑加密卡、智能卡。按与外界传送数据的形式可分为:接触式IC卡和非接触式IC卡。 在税控收款机中,IC卡主要用于存储税控加密信息,和识别收款机操作人员身份,在使用税控收款机时需要这两卡同时存在,缺一不可。因此,采用接触式逻辑加密卡作为工程选用的IC卡。(接触式IC卡必须符合ISO7816标准) 本税控收款机,使用A、B两种IC卡。A卡记录税控收款机原始发行机构登记的收款机编号,商业用户的税务登记号,以及缴税账号,以及信息加密私钥,税务机构等信息。A卡被内置于收款机之中,并有相应措施保护不被非法移动。B卡存储税控收款机使用者信息以及销售税务信息,该信息将作为被加密信
8、息的一部分用来产生加密信息。由于B卡可能经常移动,故需要使用读卡器来读取其信息。由于IC卡在收款机工作中特殊的身份标识作用,关系到商业用户的商业利益,因此应当具有防伪造,防复制的特点,因此在IC卡上加上挑战码及数字签名等功能。另外出于安全原因在采用A、B卡方式后,收款机必须在A、B卡同时处于可读状态时方可正常工作。 3.1.2 加密技术 在税控收款机系统中,税务数据信息需要被加密后才能够进行传输,另外还要在网络进行身份认证等活动。选择一个适当的加密技术是十分必要的。 密码算法分为:对称算法、公开密钥算法以及Hash算法。针对税收系统的特性,采用公开密钥算法。 加密变换:
9、 C=E(Publickey, M) 解密变换: M=D(Privatekey, C) M-明文 C-密文 Publickey-公钥 Privatekey-私钥 在公开密钥算法中又分RSA和椭圆曲线算法。其中RSA算法在以往的电子商务领域有着广泛的应用,但随着椭圆曲线算法的出现,其自身不同于RSA算法的优点使之越来越受人们的关注。椭圆曲线密码算法相对于RSA系统而言,其离散对数的困难性在计算复杂度上达到了全级指数。而RSA所基于的大整数因子分解问题只是亚指数级,因此对于椭圆曲线密码算法来说,只需要180位左右的密钥就可达到1024位RSA算法提供的安全等级。这样,在相
10、同等级的安全条件下,将使网络交易的性能和速度获得显著的提高。因此,越来越多的电子商务系统使用椭圆曲线密码的加密和签名算法代替RSA的算法。鉴于以上优点,在本税控收款机中将采用椭圆曲线密码算法作为其加密技术核心算法。 椭圆曲线密码(ECC)系统 (1)椭圆曲线密码体制的加密原理 椭圆曲线能够定义在任意的有限域上,主要在有限域Zp(p为素数)和特征为2的有限域F2m。(m≥1)上。椭圆曲线密码体制的加密原理是基于有限域上椭圆曲线离散对数问题(ECDLP)的困难性。现以定义在奇特征域上的椭圆曲线为例,说明椭圆曲线密码体制的加密原理。 设GF(p)是一个P≠2,3的奇特征有限域,定义在G
11、F(p)上的椭圆曲线是指满足Weierstrass方程:(a,b∈GF(p),且满足)的所有解,与无穷远点O构成的非空集合。设P是椭圆曲线E(a,b)(GF(p))上的一个点,则E上关于户的椭圆曲线离散对数问题为:给定一点Q∈E(a,b)(GF(p)),求解整数x(x∈GF(p)),使xP=Q。如果这样的数存在,就是椭圆曲线离散对数。也就是说选取该椭圆曲线上的一个点P作为基点,给定一个整数x,求解xP=Q是容易的。可是要从Q点和P点推导出整数x,则是非常困难的。 (2)安全参数的选取和密钥的生成 基于椭圆曲线的密码体制操作都包含由一些椭圆曲线域参数所确定的有限域上椭圆曲线的算术运算
12、一般,将有限域上椭圆曲线域参数T定义为一个六元组:T=(p,a,b,C,n,h)。其中p,a,b的意义同上;G(xCG,yG)是椭圆曲线上的一个基点,G≠O,使nG=O的最小正整数n称为点C的阶,记为n=ord(G);整数h是余因子,h=#E(GF(p))/n。由以上参数能够惟一地确定一个椭圆曲线。在[1,n-1]之间随机地确定一个整数d,计算Q=dG,由此就确定了密钥对(d,Q),其中:d是私钥,需要保密,Q是公钥,能够公开。而六元组T也要完全公开。 3.2 税控收款机设计方案 3.2.1 硬件方案 基于32位MCU处理器的税控收款机硬件方案框图 主要模
13、块功能说明: ◇ 32位MCU:收款机核心组件,处理各种程序指令。 ◇ Boot Flash:存放操作系统及应用程序代码,以及字库。 ◇ SDRAM:程序运行。 ◇ Hand Flash:储存交易信息(要求其容量可保证用户存储5年交易信息,一旦保存不可被更改或删除)。数据在传输过程中采用CRC校验码来保证传输的可靠、准确。对于可靠性与安全性要求高的数据可采用二次数据验证法。 ◇ 键盘:读取用户从键盘输入的指令。 ◇ VFD模块:控制收款机客户信息显示。 ◇ 打印驱动:控制打印机工作。 ◇ LCD模块:控制LCD显示操作结果及系统提示。 ◇
14、IC卡读写模块:读取税控IC卡及用户IC卡信息。 ◇ SuperI/O模块:管理系统I/O接口(RS-232口、并口、USB口及PS/2口),经过这些I/O接口使税控收款机能够与本地其它设备如打印机、条码扫描仪、税控稽查设备进行数据交换。 ◇ 网络通讯模块:管理税控收款机与远程税务管理系统的连接,有以太网和Modem两个接口,用户能够使用宽带或拨号方式经过Internet与当地税务管理机构的网上缴税系统连接。 ◇ 发票数字防伪签名模块:根据不同的销售信息,产生相应的数字签名并经过打印模块打印于发票上,作为发票防伪的重要途径。 ◇ 电源管理模块:交直流电转换,稳压,并向收
15、款机主板供电。 ◇ 抗干扰设计:系统主板采用4层高速PCB设计,优化了布局,降低了电磁干扰;打印控制板是单独设计的,隔离了打印电磁噪声;每块PCB上合理地添加了磁珠、扼流圈以抑制噪声。 ◇ IC卡的作用: (1)税控卡的用途: a. 用来鉴别税控收款机的身份的,并与用户卡、税务管理卡相互认证,保证一机一卡; b. 存储用户信息并确保税控数据不被篡改; c. 协助生成发票防伪码并对传递的税控数据进行电子签名。 (2)用户卡的用途: a. 刚刚从税务局买回后第一次进行初始化操作; b. 报税; c. 监控数据回送(
16、即完税)。 3.2.2 软件方案 操作系统:uC/OS-II嵌入式操作系统,它是一种抢占式实时操作系统内核。其代码精简、稳定,可移植性极好,极大地简化了协调进程所需的控制代码。 软件系统包括下面几大任务:键盘任务、销售任务、报表任务、系统管理任务、税控任务和掉电保护任务。 ◆税控任务:将销售收入经过设定的纳税比率核算程序进行处理,然后存放在收款机专用存储器中,等待报税和稽查;负责与远程服务器连接,传递收款机上存储的税务信息,并将已经报税的交易信息做永久性标识,以免重复纳税;打印发票。 ◆报表任务:根据收款机使用者或税务稽查人员的要求,生成指定的销售、缴税
17、等数据报表。 ◆管理任务:进行税控收款机的设置(如:时间、日期等设定),协调安排各任务的执行,如税控收款机不可能每完成一笔交易就自动报税一次,而应该是是一段时间才上报一次,这样能够大大减少报税过程给收款机和网络带来的压力。上报间隔时间能够人为指定,也能够根据累计交易次数来定,或设定为人工强制方式报税。经过管理任务来确定其它任务的执行方式。 ◆销售任务:接收并记录每笔销售业务的货款信息,并打印销售凭据。 ◆键盘任务:监控键盘输入。 ◆掉电保护:在意外断电情况出现后,保证销售、税收等重要信息不丢失。 税控任务是税控收款机的核心任务,以下加以详细说明: (1)注册
18、初始化)税控卡 在第一次使用税控机前,需要注册税控卡,只要将税控卡和用户卡分别插入指定的卡槽中,选择注册税控卡,系统注册成功或者失败都有相应的提示,若失败则提示用户是哪个地方出错。 (2)监控数据下载 当用户经过用户卡进行数据申报时,税务管理系统会把监控管理数据写入用户卡,用户应经过监控数据下载来更新税控收款机和税控卡上的监控管理数据,当监控数据下载完成后,用户能够在防锁机保护功能中看到税控收款机上更新后的数据。 (3)数据申报 当用户在准备去税务局交税前,要先进行数据申报,系统会自动将销售信息传送到用户卡上,传完之后,用户只要持用户卡就能够到税务局交税。 (4)
19、税务管理 在这一部分的主要任务是由税务局来完成。 (5)生成数字签名 为了发票防伪需要,系统将税务登记号、税控机标识、开票金额、开票日期等信息经过存储于税控卡上的加密私钥经过系统加密模块的加密算法生成数字签名,提供给打印机在发票上打印出该数字签名,以供顾客进行防伪验证。 (6)发票管理 发票管理内设有三项内容:下载发票、安装发票和废票处理。 下载发票、安装发票:每打完一卷发票都需要重新下载发票并安装发票,之前要求插入用户卡。 废票处理:发票打坏,或者在没有打完当前卷发票就想换卷发票时,都要先进行废票处理。 (7)防锁机保护 包括”税控限制值” 和”临
20、界值”两项。”税控限制值”由监控管理数据设定,用户不能修改,每次下载监控管理数据后,此值会被修改;”临界值”由用户自行设定,当”税控限制值”中任何一个的实际值小于临界值时,在销售状态下每完成一笔销售,系统就会提醒用户某个项目的实际值已小于设定的临界值。 3.2.3 税务稽查功能设计 税控稽查是税务人员现场检查纳税户纳税情况的活动。采用税控收款机后,所有纳税户的销售及纳税数据全部存放于税控收款机中,因此稽查人员只需要利用相应的稽查设备直接从税控收款机中读取相关稽查信息即可,经过计算机进行税务稽查能够极大的提高税控稽查工作的效率和准确率。 由于税控稽查任务仅限于税务人员执行,因此在
21、稽查工具方面,主要利用一些现有成熟的计算机设备辅以特制的外挂设备构成。本方案中税务稽查工具为普通笔记本电脑、税务稽查卡、IC卡读卡器以及税务稽查管理系统软件构成。 笔记本电脑中安装税务稽查管理系统软件,笔记本外置一IC卡读卡器读取税控稽查卡信息,经过USB接口与收款机连接后从收款机存储器中读取信息供稽查用。 税务稽查软件流程图 4 电子税控系统架构设计 4.1 税控收款机发放管理子系统 ◇税控收款机的发放子系统由税控机初始化计算机、CA认证子系统和税控收款机信息管理数据库服务器构成。 ◇初始化计算机:用于与税控收款机进行通讯,向收款
22、机中的税控IC卡中写入税控初始化信息;经过网络与CA认证子系统通讯,为税控信息申请数字签名及信息加密密钥;将税控收款机信息经过网络保存到管理信息数据库中。 ◇CA认证系统:颁发身份识别证书,产生加密密钥对,及数字签名。 管理信息数据库:保存税控收款机税控信息。 税控收款机发放管理子系统示意图 工作步骤如下: (1)将要初始化的税控收款机与专用计算机用USB线(也可选用其它数据传输方式)连接。经过该计算机上的管理软件先自动为该税控机生成唯一的标识ID; (2)将商业用户名称、税务登记号以及日期等信息经过CA系统进行数字签名及加密。 (3)将所有信息向
23、税控收款机管理信息数据库和税控机的税控卡中各复制一份。 税控收款机系统初始化软件流程图 4.2 CA认证子系统 CA认证子系统主要是用来对税控收款机签发进行数字签名及认证。在收款机的税控卡第一次被初始化用户信息准备发放给用户使用时,发行机构需要对其中数据信息进行数字签名,以便日后作为防伪验证之用。 另外,在税控收款机与税务部门的缴税系统进行的每一笔缴税业务记录也应有税务部门加电子签名后存储在纳税方的存储器中,作为已经报税的凭证。(类似以往税务部门开具的书面收据加盖公章一样) CA系统结构图 主要功能 (1)根密钥
24、生成:系统采用硬件加密机或加密卡生成高质量的根密钥对,并加密保存。 (2)证书申请:系统提供灵活多样的申请功能,用户提出证书申请后由操作员对其可信性进行审核。 (3)证书审核:对用户提出的各种申请,由系统的审核员对资料进行审核。 (4)证书签发:对于审核经过的用户证书申请请求,系统为其签发证书。签发的证书符合ISO X.509标准。 版本 序列号 算法标识 .算法 .参数 发布者 有效期 .起始日期 .结束日期 主体 主体的公开密钥 .算法 .参数 .公开密钥 签名 ISO X.509证书 (5)证书吊销:对用户提出的证书吊销申请,由系统的资料录入员录入
25、申请资料,审核员对吊销资料进行审核,吊销审核经过的证书被列入CRL。 (6)全面的系统管理和审计功能:系统经过CA系统管理终端提供统一而全面的系统管理和审计功能。 4.3 网络缴税子系统 电子缴税网络结构示意图 各税控收款机用户,经过宽带或拨号方式连接到Internet,再经过Internet访问到当地税务信息中心,经过信息中心的安全防火墙后,将需要提交的税务信息与税务信息服务器进行信息交换,再由服务器将提交上来的数据进行处理后保存在税务数据库中。也能够持用户卡直接到税务部门办理缴税业务。同时在税务信息网的内网里,税务人员能够经过税务管理系统终端机随时从服
26、务器端查询各种税务数据并生成各类报表。 上述过程中的信息全部采用加密方式传递。 4.4 发票防伪验证子系统 发票作为顾客持有的缴税凭证,很容易被伪造,特别是如果使用过于复杂的防伪制造工艺来生产,不但其自身的成本要大幅提高,而且制造工艺很容易被造假者仿造,而检测真伪手段往往不容易掌握和普及,甚至还要为此购买专门的验伪设备,很不方便。 因此,在这套税控收款机系统中的防伪将从数字信息技术方面来实现发票的防伪功能。这样不但防伪造性好,而且查验方便。 发票真伪验证子系统结构图 税控收款机机打发票应具有:机打发票号(与发表自身印制的发票号相同),商业用户的税务登记号,收
27、款单位名称,付款单位名称,收款明细,总金额(大小写兼备),税控装置号,税控装置防伪码,开票日期及数字签名信息。还应有电话防伪密码(有保护层覆盖)。 (1)电话验证方式: 顾客刮开保护层后可见密码,然后拨打验伪电话,在提示下键入发票号,然后键入密码数字,电话验伪服务器在数据库中查找对应的发票信息(这些信息是在发票被印刷过程中用计算机生成的同时被存放于数据库中以备将来查询),如果发票号与密码相匹配而且是第一次查询则提示发票为真;若不是第一次查询则提示此发票及密码曾经被查询过;如果二者不匹配,则提示顾客发票号与密码不匹配发票有问题,提示顾客是否重新输入一次。 (2)Internet验证
28、方式: 顾客经过网络登录到指定网站,在浏览器界面下能够对电话验证的内容进行验证,同时能够进行更为复杂和可靠的验证。如根据发票上打印的税务登记号、金额,开票日期和发票打印的数字签名来验明发票的真伪。这一验证方法是利用加密算法技术、数字签名技术和CA认证技术来保证的,由于本文前段已做详细说明故此处不作详细说明。 5 对不同商业用户环境下税控收款机设计探讨 在实际的税控收款机发行和使用中常会出现以下问题:有些商家(如小型商店、超市)已经购买使用了无税控功能的收款机;有的企业收款机量很多(如大型超市),如果都更换成本会很高,即便商家愿意出钱,这么多的税控收款机频繁的发生业务活动,势
29、必给税务征收系统及网络资源造成不必要的负担。还有就是某些商业环境对收款机的处理速度要求很高,比如一个小超市可能只有一、两台收款机,可顾客却很多,如果税控收款机的运行速度较慢,延长顾客付款等待时间,会给商家带来不良影响。而与此相反,有些税控收款机使用相对不频繁,而且顾客也不急于马上完成交款业务,这样对收款机的运行速度要求就不高。 因此,针对上述这些情况,在设计税控收款机系统时应尽可能更加灵活。能够考虑采用模块化的设计思想。各模块功能相对独立,经过模块的组合来构成一部税控收款机,同一类模块根据不同的价格及性能要求有不同的型号,但它们具有同样的功能并遵循一致接口标准,这样根据不同的商业用户要求,更
30、换相应的模块得到性能及价格都可满足用户的要求。另外对已有收款机的商家而言,只需要购买相应的税控功能模块将其与已有收款机组合即可将已有收款机升级为一台税控收款机。 针对大型超市这样的用户,需要开发的系统应是能够直接安装在其中央收款管理系统计算机上的装置,直接获取汇总各收款机的收款数据,然后定时统一向税务机构进行网上电子报税。这样不但使商业用户投入减少,而且还减轻网络负担。 另外,随着电子信息化在中国商业领域的不断深入以及与国外的经济往来增多,支付方式从现金、纸制支票支付将逐渐扩大到电子支付方式,因此在税控收款机的设计上要有超前性,为将来的电子支付方式预留出软件和硬件的接口。 6
31、结束语 在税控收款机的设计中,最为关键的技术问题就是数据的安全、加密问题和防伪及身份识别问题。本文提及的椭圆密码算法虽不是唯一可行的加密算法,但属于前景看好的加密算法,当前市场上已经出现高速椭圆曲线密码算法芯片及IP核(如天一集团的 SSX32-A密码算法芯片和SSX32-B密码算法IP核)产品,因此使得应用这类新型加密算法的实际应用成为可能。另外此类产品设计应考虑到与老产品的兼容性和未来升级换代简单方便性,故设计中还应考虑数据库设计,系统设计等具有长期影响力的问题。本文仅就税控收款机的硬件、软件和整个应用系统做概括性设计和说明,还有很多不妥之处有待改正,请读者指正。 参考资料 <嵌入式系统分析讲义> 杨栋毅 博士 <应用密码学-协议、算法与C源程序> Bruce Schneier(美) 机械工业出版社






