网上报税系统数字证书应用方案
    针对网上报税业务流程的具体情况,上海CA设计了一整套与之相适应的证书发放和管理流程。身份鉴别措施是指在用户进入系统进行操作之前登录过程中必须进行的身份的鉴别。其基本流程图如下:



    每个用户要通过客户端(或是浏览器)进入系统,都必须在系统的数据库中先录入用户信息,并分配相应权限,这一过程称为开户。开户过程中如果可得到用户证书则应将用户证书录入到数据库(以下称开户数据库)中。
  • 在每个用户进行登录前,服务器会生成一个随机字符串,并要求登录者对这个字符串进行签名,由于这个字符串是随机的,并含有时间信息,所以这种方法可防止重放攻击。
  • 登录者将随机字符串签名后,将签名及自己的证书发送到服务器端。服务器先校验用户的证书是不是有效(可能见证书验证规范)。如果用户证书有效,可从证书中取出用户的唯一标识(例如单位的报税号等),并根据唯一标识定位开户数据库中的用户权限信息。
  • 将用户证书与开户数据库中的证书进行比对,如果证书发生变化,则说明用户证书进行过更新。如果用户证书进行了更新则将开户数据库中的用户证书也进行更新,否则可从库中取出签名者的证书对签名进行校验。
  • 如果签名校验通过,则证明登录者身份真实,否则说明身份鉴别失败。


    数字信封是指在信息传递的过程中为保证信息的安全,确保只能由指定的人员或部门打开而采用的一种技术手段。



如上图所示,报税的过程中需要用到数字信封的步骤主要有以下6步:
  • 第一步: 用户上送信息给申报服务平台。在这一步工作中,主要的CA操作包括:
    • 用户组包形成明文数据
    • 应用系统调用long SEH_SignData,使用MD5算法对用户明文数据信息进行签名。应用系统将得到SEH_SignData返回的数字签名数据。
    • 应用系统在用户明文数据信息后加入签名(有关具体格式,应用系统可根据不同平台、不同编码方法自己规定)得到传递明文(即传递过程中使用的明文)。传递明文结构示意图表示如下:
      用户明文数据对明文信息进行签名
    • 应用系统用税务局的证书对传递明文进行加密得到用户申报数字信封。
    • 用户对用户申报数字信封再次签名,并将用户纳税登记号与用户申报密文与签名一起形成上送申报平台的传递明文。上送申报平台的传递明文结构示意图如下:
      用户纳税登记号用户申报数字信封用户对用户申报数字信封签名
    • 用户使用申报平台的证书对上送申报平台的传递明文进行加密得到用户上送数字信封。
    • 申报平台得到用户上送数字信封将信封用自己的私钥解开,得到用户纳税登记号、签名与用户申报数字信封(因为是用税务局证书加密,所以申报平台无法解开)。
    • 申报平台根据用户纳税登记号从数据库中选取用户证书,对用户的签名进行校验。
    • 签名校验成功后,申报平台接受用户申报数字信封。


  • 第二步: 申报服务平台上送信息给税务局申报受理服务器。在这一步工作中,主要的CA操作包括:
    • 申报服务平台对用户申报数字信封进行签名,并与签名一同形成服务平台传递明文。服务平台传递明文结构表示如下:
      用户申报数字信封申报平台对用户申报数字信封的签名
    • 应用系统用税务局申报受理服务器证书对传递明文进行加密得到申报平台申报数字信封。
    • 申报平台将申报平台申报数字信封上送给税务局申报受理服务器。
    • 税务局申报受理服务器用自己的私钥将申报平台申报数字信封解开得到用户申报数字信封及申报平台对其的签名。
    • 税务局申报受理服务器用申报平台的证书校验申报平台申报数字信封中的签名,确认其是否来自申报受理服务器。


  • 第三步: 税务局申报受理服务器将明文申报信息传给征管系统。在这一步工作中,主要的CA操作包括:
    • 税务局申报受理服务器用税务局证书对应的私钥解开用户申报数字信封,得到用户申报明文与签名。
    • 税务局申报受理服务器确认用户签名是否有效。如果有效则将明文信息传给征管系统。


  • 第四步: 征管系统将完税信息传给税务局申报受理服务器。在这一步工作中,主要的CA操作包括:
    • 税务局用对完税信息进行签名。
    • 用用户证书对完税信息与签名进行加密,形成税务局下传数字信封


  • 第五步: 税务局申报受理服务器将税务局下传数字信封发送给申报平台。在这一步工作中,主要的CA操作包括:
    • 税务局申报受理服务器对税务局下传数字信封进行签名。
    • 将税务局下传数字信封与申报受理服务器的签名一起用申报平台的证书加密,形成申报受理服务器下传数字信封。
    • 申报平台收到申报受理服务器下传数字信封,用自己的私钥将数字信封解开,得到税务局下传数字信封与申报受理服务器的签名。
    • 申报平台确认申报受理服务器的签名正确后,接受税务局下传数字信封。


  • 第六步: 申报平台将税务局下传数字信封发送给用户。在这一步工作中,主要的CA操作包括:
    • 申报受理平台服务器对税务局下传数字信封进行签名。
    • 将税务局下传数字信封与申报平台的签名一起用用户证书加密,形成申报平台下传数字信封。
    • 用户端程序收到申报平台下传数字信封,使用用户的私钥将数字信封解开,得到税务局下传数字信封与申报平台的签名。
    • 用户确认申报平台的签名正确后,接受税务局下传数字信封。
    • 使用用户的私钥将税务局下传数字信封解开,得到完税信息明文与税务局签名。用户校验签名正确后,接受完税信息。