税务UKey分析及税务UKey数据读写

1.发票2.0系统

        从2019年下半年开始各省开始陆续推广发票2.0系统的使用,发票系统2.0版集成了税控系统、电子底账系统及综合服务平台(包括税务版和企业版),优化升级了原增值税发票选择确认平台和发票查验平台,为纳税人提供了增值税发票的网上抵扣勾选、退税勾选、代办退税勾选、进项发票查询、成品油消费税管理和进销项发票下载等功能,功能更加完善。从2020年10月份开始基于发票2.0系统的增值税专票电子化也在也在按步骤紧锣密鼓的试点推广中,税务UKey也越来越多的在企业中使用。增值税开票软件从之前的航信系的白色金税盘版的开票软件,和百旺系黑色的税控盘版本的开票软件在市场上并行场面过度到百旺的《增值税开票软件(税务UKey版)》寡头的场面。在不远的将来金税盘,税控盘会逐步的被淘汰,全面使用税务UKey开具增值税发票。

                                                        图-1 税务UKey的推广

                                                图-2 增值税开票软件(税务UKey版)

2.税务UKey分析

        本文作者擅长逆向分析,长期从事税控领域的逆向分析工作,本小节从逆向分析的角度对税务UKey进行分析。

2.1 税务UKey和金税盘/税控盘的区别

      税务UKey主要有提供三方面的功能,数据存储功能,税务证书,时钟。

      数据存储功能,在税务UKey中存储着税务相关的各方面的数据,包括企业信息(企业税号,企业名称,企业性质[小规模纳税人,一般纳税人,转登记],主管税务机关代码,主管税务机关名称)等,企业核定信息(税费种核定,开票限额等),发票库存,发票数据,企业的抄报税状态等。这些和金税盘/税控盘相比没有本质的区别,如果要说有区别的话在于税务UKey的存储容量更大,体积更小,方便携带使用。

    税务UKey时钟功能,税务UKey集成了时钟,增值税发票业务所依赖的时间(例如开票日期,抄报税时间等)需要从税务UKey中读取当前的时间。这个和金税盘/税控盘没有本质的区别,无论金税盘和税控盘都集成了时钟,这是税控业务的基本诉求。

      税务UKey中的税务证书,税务UKey中的税务证书有两个方面的功能,一是和发票2.0服务端通信(socket)在SSL协议中使用,保证通讯的安全,并可进行身份识别。另外一个功能是对所开的电子发票数据进行签名,起到数据的防篡改和不可抵赖。金税盘和税控盘中也都集成了税务证书,税务UKey所使用的证书是国密证书,这也是趋势和进步。

2.2 税务UKey安全

      《增值税开票软件(税务UKey版)》在增值税开票软件运行中会读写税务UKey,通过增值税开票软件进行逆向分析,可以分析出税务UKey读写的原理,故税务UKey存在一定安全风险(任何软件都不是绝对安全的,即使在安全方面花费了巨大精力,在技术经验丰富的逆向工作者或黑客面前都是不安全的,也就是破解分析花费的时间的长短而已)。

       通过作者的逆向分析,发现税务UKey的开发者们出于安全考虑,将税务UKey的读写操作分成了两个安全级别。一个是开票软件客户端必须要使用的功能(如读取企业信息,核定信息,库存信息,发票信息,发票统计信息,抄报税状态,密码重置等),者方面的安全限制比较低。另外一个是客户端不使用的功能(例如解锁,企业信息的写入,核定信息的写入,时钟重置等)安全限制比较高,破解索要花费的代价也是巨大的。税务UKey从一定程度上来说也是比较安全的。

2.3 税务UKey读写分析

       读写税务UKey首先要校验税务UKey PIN码后才能进行数据的读写,如果未校验PIN码或校验不通过则读取UKey数据时会返回权限不足的错误。读写不同的数据需要向税务UKey发送不通的指令,并且读写的数据是二进制格式的,不同的指令对应的二进制数据格式差别很大。下面以读取纳税人信息为例来分析税务UKey数据的读写,关于更多数据读写指令,如果有兴趣的话可以联系作者(QQ: 707534032)。

2.3.1 发送指令读取企业信息

       从税务UKey中读取企业信息数据,需要向税务UKey发送指令“FE110100000000000000000000000000”,税务UKey返回的二进制数据如下“01008566790001596720191120000000010000101133020100002823010031333330323237323530302039313333303231324D4132434B4533363745202028B9FABCD2CBB0CEF1D7DCBED6C4FEB2A8CAD0DBB4D6DDC7F8CBB0CEF1BED6B0D9D5C9CBB0CEF1CBF920D2DAC6F3D3AECDF8C2E7BFC6BCBCD3D0CFDEB9ABCBBEC4FEB2A8B7D6B9ABCBBE”,这个返回的二进制数据里包含着企业信息,对该数据的分析才是重点。

2.3.2 企业信息解析

       企业数据解析如下图所示,不再做文字描述。

                                                                     图-3 企业信息数据解析

2.4 税务UKey工具

        作者根据对税务UKey逆向分析的成果,开发了税务UKey工具软件,该工具软件支持税务UKey PIN口令校验修改,证书口令的校验修改。企业信息,税费中核定信息,库存数据,发票数据,抄报税状态,发票汇总数据的读写。税务UKey解锁,税务时钟的读写,开票,以及和发票2.0服务端的交互等。

    该工具软件仅用于技术交流,严禁在任何商用场景使用,欢迎和广大逆向爱好者,税控业务爱好者进行技术经验交流,QQ:707534032。

   本工具软件下载地址:https://download.csdn.net/download/delinkong/16184547

                                                                           图4-税务UKey工具

3. 关于作者

       作者擅长逆向分析,长期从事税控领域的逆向工作,涉及到税控领域的逆向成果颇多,包含金税盘,税控盘,税务UKey各版本开票软件的数据库数据采集,金税盘,税控盘,税务UKey的读写,开票组件。详细请查看作者的其他文章和下载资源。作者欢迎和广大逆向爱好者,税控业务爱好者进行技术,业务,经验交流,QQ:707534032。

猜你喜欢

转载自blog.csdn.net/delinkong/article/details/115284775