CN102025711B - 一种智能卡进行外部应用通讯的方法 - Google Patents

一种智能卡进行外部应用通讯的方法 Download PDF

Info

Publication number
CN102025711B
CN102025711B CN200910195626.1A CN200910195626A CN102025711B CN 102025711 B CN102025711 B CN 102025711B CN 200910195626 A CN200910195626 A CN 200910195626A CN 102025711 B CN102025711 B CN 102025711B
Authority
CN
China
Prior art keywords
http
apdu
smart card
request
web server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910195626.1A
Other languages
English (en)
Other versions
CN102025711A (zh
Inventor
庄晓
鲁志军
何朔
孟宏文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN200910195626.1A priority Critical patent/CN102025711B/zh
Publication of CN102025711A publication Critical patent/CN102025711A/zh
Application granted granted Critical
Publication of CN102025711B publication Critical patent/CN102025711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公布了一种智能卡进行外部应用通讯的方法,所述智能卡包括一个WEB服务器,所述智能卡通过HTTP协议承载APDU来进行外部应用通讯,通过HTTP协议方法来传递APDU命令,终端发送命令包含在HTTP请求的请求体中,WEB服务器接受和处理终端发送命令,如果是发送给当前应用的APDU命令,由CWS派发给当前应用,命令的响应保存在HTTP请求的响应中返回到终端。本发明使终端访问智能卡的界面统一到HTTP协议上来,且保留了APDU简单直观的特点,便于应用开发和理解。

Description

一种智能卡进行外部应用通讯的方法
技术领域
本发明涉及智能卡应用系统,尤其涉及智能卡与外部的应用通讯。
背景技术
现在的智能卡主要使用APDU协议和外部应用通讯,直接支持HTTP协议的卡片很少,在电信领域的智能卡通常通过BIP(Beared IndependentedProtocol)来承载HTTP协议,而以后智能卡直接支持HTTP协议的发展趋势非常明显,这也意味着HTTP协议将成为另一个智能卡和外部应用的通讯协议。
APDU协议基于串口通讯协议,具备特定的数据结构,如图1a所示:
终端发送命令C-APDU用于发送命令,其中CLA标识指令的类别;INS标识具体的指令;P1和P2标识指令的参数;Lc标识指令的数据域长度,可选;DATA标识指令的数据域,可选;Le标识要求返回的数据长度,可选。
命令的响应R-APDU用于接受命令响应,如图1b所示,DATA标识响应的数据;SW标识指令的执行状态。
HTTP协议是基于文本的协议,定义于RFC2616[4],HTTP请求和响应附带有许多头信息,这些头信息说明的内容包括:网页资源类型、大小、压缩格式、用户名和密码验证,重定向,时间日期,网页条件,网页缓冲,网络连接状态等等。
APDU协议和HTTP协议目前二者在智能卡的使用上是并行的关系,没有进行一体化设计。APDU协议具有简单直观的特点,易于接受和理解,而且是面向功能和过程的协议;HTTP协议是传统上WEB应用的协议,主要用于文本交互,面向功能和过程的能力较弱。而智能卡同时支持两种协议的复杂度较高,实现的成本和效率值得考虑,如果通过HTTP协议来支撑APDU协议,既可以符合未来智能卡应用接口的发展趋势,也能保留APDU协议直观简单的特点。
发明内容
本发明的目的在于:一种智能卡进行外部应用通讯的方法,本发明定义了如何在HTTP协议之上实现APDU协议的方法的细节,使得应用和智能卡之间的交互仍能保留简单直观的优点。
本发明揭示了一种智能卡进行外部应用通讯的方法,智能卡设置有WEB服务器,在智能卡与外部终端进行外部通讯时,通过HTTP协议承载APDU来进行外部应用通讯,使用HTTP方法传递APDU命令,终端发送命令包含在HTTP请求的请求体中,命令的响应保存在HTTP请求的响应中。
进一步地通过HTTP协议PUT方法往所述的WEB服务器写数据,数据包含在数据体;通过HTTP协议POST方法向所述的WEB服务器发送服务请求,请求的附加信息包含在数据体;通过HTTP协议GET方法向所述WEB服务器请求获取数据,目标数据的路径由URL指明,没有数据体;通过HTTP协议DELETE方法告诉所述WEB服务器“删除”指定路径的信息。
进一步地智能卡与终端进行外部应用通讯的方法包括如下步骤:
步骤1使用HTTP方法传递APDU命令,终端发送命令包含在HTTP请求的请求体中;
步骤2 WEB服务器接受和处理终端发送命令,如果是发送给当前应用的APDU命令,由CWS派发给当前应用;
步骤3命令的响应保存在HTTP请求的响应中返回到终端。
进一步地通过HTTP协议承载APDU来进行外部应用通讯,使用HTTP方法传递APDU命令,其中所使用的HTTP方法包括:PUT方法,POST方法,GET方法,DELETE方法,HEAD方法,TRACE方法。
进一步地智能卡WEB服务器支持的HTTP头信息包括:用户名及密码校验,资源的压缩格式,资源的长度,资源原始位置,资源类型,HTTP命令带入的日期时间,资源位置重定向,发送警告信息,询问用户名和密码,HTTP命令结束后关闭连接。
本发明使终端访问智能卡的界面统一到HTTP协议上来,且保留了APDU简单直观的特点,便于应用开发和理解。
附图说明
图1a为C-APDU数据结构;
图1b为R-APDU数据结构;
图2为本发明AOH原理图。
具体实施方式
本发明提出了AOH(APDU over HTTP)应用,即采用HTTP方法来转义APDU命令,用它定义了应用访问智能卡的方法,传统上智能卡提供给应用访问的协议是APDU协议,它具有简单、直观的特点,易于理解和定义。传统的智能卡应用都是采用APDU协议和外部终端进行通讯,通讯的方式是被动的,即终端发送命令(COMMAND APDU,简写C-APDU)给卡片,卡片返回命令的响应(RESPONSE APDU,简写R-APDU),如此循环完成交互。具体到某个应用的话,例如PBOC电子钱包应用,则根据应用本身定义的流程发送C-APDU和接收R-APDU来完成。在智能卡支持WEB服务器之后,智能卡和外部应用的交互协议以目前流行的HTTP协议为主,这种协议主要是用于文本交互的目的,本提案定义了如何在HTTP协议之上实现APDU协议的方法的细节,使得应用和智能卡之间的交互仍能保留简单直观的优点。
HTTP协议承载APDU协议AOH(APDU over HTTP)命令是通过HTTP协议传递APDU命令。AOH使用HTTP方法传递APDU命令,C_APDU包含在HTTP请求的请求体中;R_APDU保存在HTTP请求的响应中。AOH命令由CWS(Card Web Server)接受和处理,如果是发送给当前应用的APDU命令,由CWS派发给当前应用,R_APDU保存在HTTP请求的响应中返回到终端,如图2所示。
PUT方法在HTTP协议里指的是客户端程序往服务器“写”数据,数据包含在数据体。利用这个方法的含义可以“转义”APDU的部分命令,如更新文件和创建文件等;
POST方法在HTTP协议里指的的客户端程序向服务器发送服务请求,请求的附加信息包含在数据体。利用这个方法的含义可以转义所有的APDU命令。
GET方法是指客户端向服务器请求获取数据,目标数据的路径由URL指明,没有数据体。利用这个方法可以转义APDU命令的读取文件内容的指令。
DELETE方法指客户端告诉服务器“删除”指定路径的信息。利用该命令转义APDU命令里的删除文件指令。
HTTP协议承载APDU协议的定义如表1:
  HTTP方法   APDU转义   接收者   HTTP参数  Content
表1
例1:写数据命令
这个文本就是典型的HTTP请求,
第一行“PUT”告诉服务器客户端要求发送数据给服务器,发送的路径是“/DF01/EF01?INS=D6,P1=81&P2=00”;
第二行content-type标识发送的数据类型,application/octet-stream表示是二进制流数据;
第三行content-length标识发送数据的长度;
第四行HOST标识发送的目标地址,即服务器的地址;
第五行后面的数据就是发送的数据正文。
WEB服务器收到该请求后,根据路径里的信息得知操作的文件为:/DF01/EF01,根据参数INS得知执行的命令为更新文件,P1和P2是更新文件的参数,更新的数据在请求体的最好,收集齐这些信息后,WEB服务器就可以执行该命令了,根据执行的结果返回响应信息,下面是一个成功响应的例子:
【HTTP/1.1 200 OK
User-Agent:cup-cws
Content-Type:application/octet-stream
Content-Length:0】
200这个数字是HTTP协议里定义的标识,表明上次的请求被成功执行,如果执行失败,则这里就返回错误的原因码。
例2:个性化命令
例3:取数据命令
  GET/DF01/EF01?P1=81&P2=00&LE=08Content-Type:application/octet-stream CRLFContent-Length:0 CRLFHost:xxxx CRLFCRLF
  HTTP/1.1 200 OK CRLFxx xx xx xx xx xx xx xx
例2用POST方法向服务器发送了一条命令,该命令可以是任意的APDU命令,例子里的命令是创建文件的指令。
例3是读取文件的指令,采用GET方法进行转义。
HTTP协议定义了很多交互的方法,本发明智能卡支持的方法如表2:
  命令   编码(HEX)   必须支持   可选支持   解释原因
  OPTION   68   不支持
  GET   69   ☆   HTTP1.1规定必须支持
  HEAD   6A   ☆   HTTP1.1规定必须支持
  POST   6B   ☆   客户端提交表格等内容
  PUT   6C   ☆   用于CWS的远程更新
  DELETE   6D   ☆   用于CWS的远程更新
  TRACE   6E   ☆   便于CWS调试
  CONNECT   6F   不支持
表2
HTTP协议RFC2616[4]中规定,HTTP请求和响应附带有许多头信息,这些头信息说明的内容包括:网页资源类型、大小、压缩格式、用户名和密码验证,重定向,时间日期,网页条件,网页缓冲,网络连接状态等等。本发明中CWS只需要支持表3所列的头信息。由于CWS的特别应用环境,其他头信息对CWS没有意义,可以忽略。
表3
AOH协议的存在,使终端访问智能卡的界面统一到HTTP协议上来,且保留了APDU简单直观的特点,便于应用开发和理解。

Claims (3)

1.一种智能卡进行外部应用通讯的方法,所述智能卡包括一个WEB服务器,其特征在于:所述智能卡通过HTTP协议承载APDU来进行外部应用通讯,使用HTTP方法传递APDU命令,终端发送命令包含在HTTP请求的请求体中,命令的响应保存在HTTP请求的响应中,所述进行外部应用通讯的方法包括如下步骤:
步骤1使用HTTP方法传递APDU命令,终端发送命令包含在HTTP请求的请求体中;
步骤2所述WEB服务器接受和处理终端发送命令,如果是发送给当前应用的APDU命令,派发给当前应用;
步骤3命令的响应保存在HTTP请求的响应中返回到终端,
通过HTTP协议PUT方法往所述WEB服务器写数据,数据包含在数据体;通过HTTP协议POST方法向所述WEB服务器发送服务请求,请求的附加信息包含在数据体;通过HTTP协议GET方法向所述WEB服务器请求获取数据,目标数据的路径由URL指明,没有数据体;通过HTTP协议DELETE方法告诉所述WEB服务器“删除”指定路径的信息。
2.根据权利要求1所述的一种智能卡进行外部应用通讯的方法,其特征在于:所述通过HTTP协议承载APDU来进行外部应用通讯,使用HTTP方法传递APDU命令,其中所使用的HTTP方法包括:PUT方法,POST方法,GET方法,DELETE方法,HEAD方法,TRACE方法。
3.根据权利要求1或2所述的一种智能卡进行外部应用通讯的方法,其特征在于:所述WEB服务器支持的HTTP头信息包括:用户名及密码校验,资源的压缩格式,资源的长度,资源原始位置,资源类型,HTTP命令带入的日期时间,资源位置重定向,发送警告信息,询问用户名和密码,HTTP命令结束后关闭连接。
CN200910195626.1A 2009-09-11 2009-09-11 一种智能卡进行外部应用通讯的方法 Active CN102025711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910195626.1A CN102025711B (zh) 2009-09-11 2009-09-11 一种智能卡进行外部应用通讯的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910195626.1A CN102025711B (zh) 2009-09-11 2009-09-11 一种智能卡进行外部应用通讯的方法

Publications (2)

Publication Number Publication Date
CN102025711A CN102025711A (zh) 2011-04-20
CN102025711B true CN102025711B (zh) 2014-09-17

Family

ID=43866568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910195626.1A Active CN102025711B (zh) 2009-09-11 2009-09-11 一种智能卡进行外部应用通讯的方法

Country Status (1)

Country Link
CN (1) CN102025711B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629215A (zh) * 2012-02-28 2012-08-08 东信和平智能卡股份有限公司 一种虚拟智能卡的通信方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101010927A (zh) * 2004-06-15 2007-08-01 雅斯拓股份有限公司 用于sim和终端之间的通信的协议转换“载体无关协议”-tcp/ip
CN101150851A (zh) * 2006-09-20 2008-03-26 雅斯拓(北京)智能卡科技有限公司 用于从服务器传送数据到移动站的方法、服务器和移动站
CN101384037A (zh) * 2007-09-07 2009-03-11 凤凰微电子(中国)有限公司 移动应用与智能卡之间的专用数据通道建立方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101010927A (zh) * 2004-06-15 2007-08-01 雅斯拓股份有限公司 用于sim和终端之间的通信的协议转换“载体无关协议”-tcp/ip
CN101150851A (zh) * 2006-09-20 2008-03-26 雅斯拓(北京)智能卡科技有限公司 用于从服务器传送数据到移动站的方法、服务器和移动站
CN101384037A (zh) * 2007-09-07 2009-03-11 凤凰微电子(中国)有限公司 移动应用与智能卡之间的专用数据通道建立方法

Also Published As

Publication number Publication date
CN102025711A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
RU2488228C2 (ru) Основанная на веб-формате беспроводная связь
CN102457565B (zh) 移动终端访问网络的方法及代理服务器
AU2018204893A1 (en) Mobile dialogue system and mobile content delivery solutions
US20150189036A1 (en) Offline caching method and apparatus
CN102263830B (zh) 便于推送内容的后台处理的装置和相关方法
CN102811379B (zh) 一种电视机、消息处理方法及系统
CN103781028B (zh) 一种移动终端的信息订阅方法、系统和装置
CN102272747A (zh) 用于管理远程用户界面的状态信息的方法和装置
CN102006568A (zh) 用于提供头像服务的方法、设备和系统
CN101930439B (zh) 一种适配各种型号手机的网站处理装置及其应用
CN101990169A (zh) 一种智能卡主动推送系统和智能卡移动终端
CN106033551B (zh) 数据解析方法、装置及系统
US20130179499A1 (en) Method, apparatus and system for displaying radio frequency identification application information
CN109951318A (zh) 应用的功能配置方法及装置
CN102571826B (zh) 从网络平台向客户端推送应用的方法和系统
CN103731492A (zh) 一种页面传输处理方法、装置和系统
CN103581846A (zh) 一种用户名片更新方法和系统
CN103580726B (zh) 用户识别卡、蓝牙设备及访问用户识别卡的方法
CN102256241A (zh) 终端独立承载协议信息获取方法、服务器及智能卡
CN103138871B (zh) 移动通讯系统中应用程序的服务器数据处理系统和方法
CN102523244A (zh) 一种网页文件的上传方法及其系统
CN102025711B (zh) 一种智能卡进行外部应用通讯的方法
CN102937862A (zh) 一种通过浏览器管理移动终端的系统及方法
WO2001098854A2 (en) System to support mobile visual communications
CN102685220A (zh) 一种基于web页面的数据交互方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant