1、嵌入式系统分析课程论文嵌入式系统分析课程论文税控收款机系统设计方案作者:叶晓锋学号:2004M80170700562005年2月目 录1项目背景概述.32需求分析32.1基本需求2.2功能需求2.3可用性需求2.4可靠性需求3税控收款机硬件设计33.1关键技术.43.1.1IC卡技术3.1.2加密防伪技术3.2税控收款机设计方案.53.2.1硬件方案3.2.2软件方案3.2.3税控稽查功能设计4电子税控系统架构设计94.1税控收款机发放管理子系统.94.2CA认证子系统.114.3网络缴税子系统.134.4发票防伪验证子系统.145对不同商业用户环境下税控收款机设计探讨.156结束语.15第一
2、部分1 项目背景概述随着我国经济的快速发展,越来越多的企业涌现出来。如何能高效的征收企业的税费,有效的防止不法企业偷逃税款,以及防范伪造税务票据犯罪,从而减少国家在税收方面的损失,成为有关部门乃至整个社会近年来越来越关心的问题。科学技术的进步,特别是计算机技术,微电子技术,数字加密技术以及网络技术的出现和应用给上述问题的解决从技术方面带来了希望。2 需求分析2.1基本需求:(1)税控收款机(以下简称为收款机)由当地税务机关发放;(2)收款机不能被非法者冒用,克隆,改造;(3)收款机通过网络传送的信息以及本地保存的信息安全性应受到保护;(4)发票可以验证真伪;(5)税务稽查人员可以直接对收款机进
3、行现场真伪验证。2.2功能需求:(1) 收款机应能自动记录每日的营业数据并实时计算、记录应纳税额,但这些记录不能被更改和抹掉。(2) 收款机可以通过网络将税务信息向当地税收信息中心提交,也可通过IC卡到当地税务机关办理缴税。(3) 税务稽查人员以及合法用户可从收款机中提取营业及缴税数据记录。(4) 所有操作结果或提示信息,有实时显示。(5) 收款机可以支持打印相关票据。(6) 收款机可以现场验证其真伪。2.3可用性需求(1) 收款机发行机构正常情况下应在10分钟内完成一台收款机的软硬件及加密设置工作;(2) 收款机用户可在说明文档指导下在30分钟内掌握收款机的使用方法;2.4可靠性需求:(1)
4、 商户营业及缴税数据记录不可被更改、删除,掉电数据不丢失;(2) 非合法操作人员无法操作收款机;(3) 商家的营业及税务信息在网络传输中,第三者无法破译;(4) 他人无法盗用合法用户的收款机税控信息;(5) 收款机无法被克隆或非法改装。3 税控收款机硬件设计3.1 关键技术3.1.1 IC卡技术IC卡技术是继条码、磁卡等识别技术之后出现的新一代识别技术。按卡中所镶嵌的集成电路类型的不同可分为:存储器卡、逻辑加密卡、智能卡。按与外界传送数据的形式可分为:接触式IC卡和非接触式IC卡。在税控收款机中,IC卡主要用于存储税控加密信息,和识别收款机操作人员身份,在使用税控收款机时需要这两卡同时存在,缺
5、一不可。因此,采用接触式逻辑加密卡作为工程选用的IC卡。(接触式IC卡必须符合ISO7816标准)本税控收款机,使用A、B两种IC卡。A卡记录税控收款机原始发行机构登记的收款机编号,商业用户的税务登记号,以及缴税账号,以及信息加密私钥,税务机构等信息。A卡被内置于收款机之中,并有相应措施保护不被非法移动。B卡存储税控收款机使用者信息以及销售税务信息,该信息将作为被加密信息的一部分用来产生加密信息。由于B卡可能经常移动,故需要使用读卡器来读取其信息。由于IC卡在收款机工作中特殊的身份标识作用,关系到商业用户的商业利益,因此应当具有防伪造,防复制的特点,因此在IC卡上加上挑战码及数字签名等功能。此
6、外出于安全原因在采用A、B卡方式后,收款机必须在A、B卡同时处于可读状态时方可正常工作。3.1.2 加密技术在税控收款机系统中,税务数据信息需要被加密后才能够进行传输,此外还要在网络进行身份认证等活动。选择一个适当的加密技术是十分必要的。密码算法分为:对称算法、公开密钥算法以及Hash算法。针对税收系统的特性,采用公开密钥算法。加密变换: C=E(Publickey, M)解密变换: M=D(Privatekey, C)M-明文 C-密文 Publickey-公钥 Privatekey-私钥在公开密钥算法中又分RSA和椭圆曲线算法。其中RSA算法在以往的电子商务领域有着广泛的应用,但随着椭圆曲
7、线算法的出现,其自身不同于RSA算法的优点使之越来越受人们的关注。椭圆曲线密码算法相对于RSA系统而言,其离散对数的困难性在计算复杂度上达到了全级指数。而RSA所基于的大整数因子分解问题只是亚指数级,因此对于椭圆曲线密码算法来说,只需要180位左右的密钥就可达到1024位RSA算法提供的安全等级。这样,在相同等级的安全条件下,将使网络交易的性能和速度获得显著的提高。因此,越来越多的电子商务系统使用椭圆曲线密码的加密和签名算法代替RSA的算法。鉴于以上优点,在本税控收款机中将采用椭圆曲线密码算法作为其加密技术核心算法。椭圆曲线密码(ECC)系统(1)椭圆曲线密码体制的加密原理椭圆曲线可以定义在任
8、意的有限域上,主要在有限域Zp(p为素数)和特征为2的有限域F2m。(m1)上。椭圆曲线密码体制的加密原理是基于有限域上椭圆曲线离散对数问题(ECDLP)的困难性。现以定义在奇特征域上的椭圆曲线为例,说明椭圆曲线密码体制的加密原理。设GF(p)是一个P2,3的奇特征有限域,定义在GF(p)上的椭圆曲线是指满足Weierstrass方程:(a,bGF(p),且满足)的所有解,与无穷远点O构成的非空集合。设P是椭圆曲线E(a,b)(GF(p)上的一个点,则E上关于户的椭圆曲线离散对数问题为:给定一点QE(a,b)(GF(p),求解整数x(xGF(p),使xP=Q。如果这样的数存在,就是椭圆曲线离散
9、对数。也就是说选取该椭圆曲线上的一个点P作为基点,给定一个整数x,求解xP=Q是容易的。但是要从Q点和P点推导出整数x,则是非常困难的。(2)安全参数的选取和密钥的生成基于椭圆曲线的密码体制操作都包含由一些椭圆曲线域参数所确定的有限域上椭圆曲线的算术运算。通常,将有限域上椭圆曲线域参数T定义为一个六元组:T=(p,a,b,C,n,h)。其中p,a,b的意义同上;G(xCG,yG)是椭圆曲线上的一个基点,GO,使nG=O的最小正整数n称为点C的阶,记为n=ord(G);整数h是余因子,h=#E(GF(p)n。由以上参数可以惟一地确定一个椭圆曲线。在1,n-1之间随机地确定一个整数d,计算Q=dG
10、,由此就确定了密钥对(d,Q),其中:d是私钥,需要保密,Q是公钥,可以公开。而六元组T也要完全公开。3.2 税控收款机设计方案3.2.1 硬件方案基于32位MCU处理器的税控收款机硬件方案框图主要模块功能说明: 32位MCU:收款机核心组件,处理各种程序指令。 Boot Flash:存放操作系统及应用程序代码,以及字库。 SDRAM:程序运行。 Hand Flash:储存交易信息(要求其容量可保证用户存储5年交易信息,一旦保存不可被更改或删除)。数据在传输过程中采用CRC校验码来保证传输的可靠、准确。对于可靠性与安全性要求高的数据可采用二次数据验证法。 键盘:读取用户从键盘输入的指令。 VF
11、D模块:控制收款机客户信息显示。 打印驱动:控制打印机工作。 LCD模块:控制LCD显示操作结果及系统提示。 IC卡读写模块:读取税控IC卡及用户IC卡信息。 SuperI/O模块:管理系统I/O接口(RS-232口、并口、USB口及PS/2口),通过这些I/O接口使税控收款机能够与本地其他设备如打印机、条码扫描仪、税控稽查设备进行数据交换。 网络通讯模块:管理税控收款机与远程税务管理系统的连接,有以太网和Modem两个接口,用户可以使用宽带或拨号方式通过Internet与当地税务管理机构的网上缴税系统连接。 发票数字防伪签名模块:根据不同的销售信息,产生相应的数字签名并通过打印模块打印于发票
12、上,作为发票防伪的重要途径。 电源管理模块:交直流电转换,稳压,并向收款机主板供电。 抗干扰设计:系统主板采用4层高速PCB设计,优化了布局,降低了电磁干扰;打印控制板是单独设计的,隔离了打印电磁噪声;每块PCB上合理地添加了磁珠、扼流圈以抑制噪声。 IC卡的作用:(1)税控卡的用途: a. 用来鉴别税控收款机的身份的,并与用户卡、税务管理卡相互认证,保证一机一卡; b. 存储用户信息并确保税控数据不被篡改; c. 协助生成发票防伪码并对传递的税控数据进行电子签名。(2)用户卡的用途: a. 刚刚从税务局买回后第一次进行初始化操作; b. 报税; c. 监控数据回送(即完税)。3.2.2 软件
13、方案操作系统:uC/OS-II嵌入式操作系统,它是一种抢占式实时操作系统内核。其代码精简、稳定,可移植性极好,极大地简化了协调进程所需的控制代码。软件系统包括下面几大任务:键盘任务、销售任务、报表任务、系统管理任务、税控任务和掉电保护任务。税控任务:将销售收入通过设定的纳税比率核算程序进行处理,然后存放在收款机专用存储器中,等待报税和稽查;负责与远程服务器连接,传递收款机上存储的税务信息,并将已经报税的交易信息做永久性标识,以免重复纳税;打印发票。报表任务:根据收款机使用者或税务稽查人员的要求,生成指定的销售、缴税等数据报表。管理任务:进行税控收款机的设置(如:时间、日期等设定),协调安排各任
14、务的执行,如税控收款机不可能每完成一笔交易就自动报税一次,而应该是是一段时间才上报一次,这样可以大大减少报税过程给收款机和网络带来的压力。上报间隔时间可以人为指定,也可以根据累计交易次数来定,或设定为人工强制方式报税。通过管理任务来确定其他任务的执行方式。销售任务:接收并记录每笔销售业务的货款信息,并打印销售凭据。键盘任务:监控键盘输入。掉电保护:在意外断电情况出现后,保证销售、税收等重要信息不丢失。税控任务是税控收款机的核心任务,以下加以详细说明:(1)注册(初始化)税控卡在第一次使用税控机前,需要注册税控卡,只要将税控卡和用户卡分别插入指定的卡槽中,选择注册税控卡,系统注册成功或者失败都有
15、相应的提示,若失败则提示用户是哪个地方出错。(2)监控数据下载当用户通过用户卡进行数据申报时,税务管理系统会把监控管理数据写入用户卡,用户应通过监控数据下载来更新税控收款机和税控卡上的监控管理数据,当监控数据下载完成后,用户可以在防锁机保护功能中看到税控收款机上更新后的数据。 (3)数据申报当用户在准备去税务局交税前,要先进行数据申报,系统会自动将销售信息传送到用户卡上,传完之后,用户只要持用户卡就可以到税务局交税。 (4)税务管理 在这一部分的主要任务是由税务局来完成。 (5)生成数字签名为了发票防伪需要,系统将税务登记号、税控机标识、开票金额、开票日期等信息通过存储于税控卡上的加密私钥通过
16、系统加密模块的加密算法生成数字签名,提供给打印机在发票上打印出该数字签名,以供顾客进行防伪验证。(6)发票管理 发票管理内设有三项内容:下载发票、安装发票和废票处理。 下载发票、安装发票:每打完一卷发票都需要重新下载发票并安装发票,之前要求插入用户卡。 废票处理:发票打坏,或者在没有打完当前卷发票就想换卷发票时,都要先进行废票处理。 (7)防锁机保护 包括“税控限制值” 和“临界值”两项。“税控限制值”由监控管理数据设定,用户不能修改,每次下载监控管理数据后,此值会被修改;“临界值”由用户自行设定,当“税控限制值”中任何一个的实际值小于临界值时,在销售状态下每完成一笔销售,系统就会提醒用户某个
17、项目的实际值已小于设定的临界值。3.2.3 税务稽查功能设计税控稽查是税务人员现场检查纳税户纳税情况的活动。采用税控收款机后,所有纳税户的销售及纳税数据全部存放于税控收款机中,因此稽查人员只需要利用相应的稽查设备直接从税控收款机中读取相关稽查信息即可,通过计算机进行税务稽查可以极大的提高税控稽查工作的效率和准确率。由于税控稽查任务仅限于税务人员执行,因此在稽查工具方面,主要利用一些现有成熟的计算机设备辅以特制的外挂设备构成。本方案中税务稽查工具为普通笔记本电脑、税务稽查卡、IC卡读卡器以及税务稽查管理系统软件构成。笔记本电脑中安装税务稽查管理系统软件,笔记本外置一IC卡读卡器读取税控稽查卡信息,通过USB接口与收款机连接后从收款机存储器中读取信息供稽查用。 税务稽查软件流程图10