会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 微处理器 / 基于微处理器卡进行授权的方法和装置

基于微处理器卡进行授权的方法和装置

阅读:890发布:2021-02-27

IPRDB可以提供基于微处理器卡进行授权的方法和装置专利检索,专利查询,专利分析的服务。并且本发明涉及一种基于微处理器卡进行授权的方法和装置。所述方法包括以下步骤:向微处理器卡发送包含第一验证码的验证命令,其中,所述第一验证码为根据第一会话密钥、对所述微处理器卡的写入数据及写卡信息生成,所述第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成;接收所述微处理器卡对所述第一验证码验证通过后根据所述验证命令返回的第二验证码,其中,所述第二验证码为根据写入数据及第一会话密钥生成;对所述第二验证码进行验证,验证通过后,对终端进行授权。节省了成本,安全性较高。,下面是基于微处理器卡进行授权的方法和装置专利的具体信息内容。

1.一种基于微处理器卡进行授权的方法,包括以下步骤:

向微处理器卡发送包含第一验证码的验证命令,其中,所述第一验证码为根据第一会话密钥、对所述微处理器卡的写入数据及写卡信息生成,所述第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成;

接收所述微处理器卡对所述第一验证码验证通过后根据所述验证命令返回的第二验证码,其中,所述第二验证码为根据写入数据及第一会话密钥生成;

对所述第二验证码进行验证,验证通过后,对终端进行授权。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

接收所述微处理器卡根据所述验证命令返回的业务认证码,其中,所述业务认证码为根据所述验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的,所述第二共同密钥生成的第二会话密钥包括将所述第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥;所述卡片信息包括微处理器卡业务序号和随机数;所述写卡信息包括业务类型、终端标识、第一业务日期和时间;所述验证命令还包括终端业务序号、第二业务日期和时间。

3.一种基于微处理器卡进行授权的方法,包括以下步骤:

接收终端发送的包含第一验证码的验证命令,所述第一验证码为根据第一会话密钥、对微处理器卡的写入数据和写卡信息生成的,所述第一会话密钥为根据所述微处理器卡的卡片信息及第一共同密钥生成的;

根据所述微处理器卡的卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码;

将生成的第一验证码与接收的第一验证码进行比较,若相同,则验证通过,根据所述写入数据及第一会话密钥生成第二验证码,并将第二验证码返回给所述终端,以使所述终端对所述第二验证码进行验证,且验证通过后,对所述终端进行授权。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

根据第二共同密钥生成第二会话密钥,并根据所述验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的业务认证码,将所述业务认证码返回给所述终端。

5.根据权利要求4所述的方法,其特征在于,所述第二共同密钥生成第二会话密钥包括:将所述第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥;所述卡片信息包括微处理器卡业务序号和随机数;所述写卡信息包括业务类型、终端标识、第一业务日期和时间;所述验证命令还包括终端业务序号、第二业务日期和时间。

6.一种基于微处理器卡进行授权的装置,其特征在于,包括:

命令发送模块,用于向微处理器卡发送包含第一验证码的验证命令,其中,所述第一验证码为根据第一会话密钥、对所述微处理器卡的写入数据及写卡信息生成,所述第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成;

信息接收模块,用于接收所述微处理器卡对所述第一验证码验证通过后根据所述验证命令返回的第二验证码,其中,所述第二验证码为根据写入数据及第一会话密钥生成;

验证模块,用于对所述第二验证码进行验证,验证通过后,对终端进行授权。

7.根据权利要求6所述的装置,其特征在于,所述信息接收模块还用于接收所述微处理器卡根据所述验证命令返回的业务认证码,其中,所述业务认证码为根据所述验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的,所述第二共同密钥生成的第二会话密钥包括将所述第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥;所述卡片信息包括微处理器卡业务序号和随机数;所述写卡信息包括业务类型、终端标识、第一业务日期和时间;所述验证命令还包括终端业务序号、第二业务日期和时间。

8.一种基于微处理器卡进行授权的装置,其特征在于,包括:

命令接收模块,用于接收终端发送的包含第一验证码的验证命令,所述第一验证码为根据第一会话密钥、对微处理器卡的写入数据和写卡信息生成的,所述第一会话密钥为根据所述微处理器卡的卡片信息及第一共同密钥生成的;

信息生成模块,用于根据所述微处理器卡的卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码;

比较模块,用于将生成的第一验证码与接收的第一验证码进行比较;

所述信息生成模块还用于当生成的第一验证码与接收的第一验证码相同表示验证通过时,根据所述写入数据及第一会话密钥生成第二验证码;

返回模块,用于将所述第二验证码返回给所述终端,以使所述终端对所述第二验证码进行验证,且验证通过后,对所述终端进行授权。

9.根据权利要求8所述的装置,其特征在于,所述信息生成模块还用于根据第二共同密钥生成第二会话密钥,并根据所述验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的业务认证码,将所述业务认证码返回给所述终端。

10.根据权利要求9所述的装置,其特征在于,所述信息生成模块还用于将所述第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥;所述卡片信息包括微处理器卡业务序号和随机数;所述写卡信息包括业务类型、终端标识、第一业务日期和时间;所述验证命令还包括终端业务序号、第二业务日期和时间。

说明书全文

基于微处理器卡进行授权的方法和装置

技术领域

[0001] 本发明涉及信息安全领域,特别是涉及一种基于微处理器卡进行授权的方法和装置。

背景技术

[0002] 随着计算机技术和网络技术的发展,越来越多的人通过网络实现在线购物,并进行在线支付,通过在线支付时需要验证用户身份,验证通过后进行授权支付,或者通过门禁系统时,需要验证用户身份,验证通过后授权通过门禁,或者登录某应用系统时,需要验证用户身份,验证通过后授权完成登录等。
[0003] 传统的验证方式主要采用指纹验证,指纹验证主要利用每个人的指纹都不一样的特点,达到授权无法伪造的目的,然而需要在终端中内置指纹传感器,采集指纹进行识别,其指纹传感器价格昂贵,大大增加了终端的成本。

发明内容

[0004] 基于此,有必要针对传统的指纹验证需要在终端中内置指纹传感器增加成本的问题,提供一种能节省成本且安全性较高的基于微处理器卡进行授权的方法和装置。
[0005] 一种基于微处理器卡进行授权的方法,包括以下步骤:
[0006] 向微处理器卡发送包含第一验证码的验证命令,其中,所述第一验证码为根据第一会话密钥、对所述微处理器卡的写入数据及写卡信息生成,所述第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成;
[0007] 接收所述微处理器卡对所述第一验证码验证通过后根据所述验证命令返回的第二验证码,所述第二验证码为根据写入数据及第一会话密钥生成;
[0008] 对所述第二验证码进行验证,验证通过后,对终端进行授权。
[0009] 一种基于微处理器卡进行授权的方法,包括以下步骤:
[0010] 接收终端发送的包含第一验证码的验证命令,所述第一验证码为根据第一会话密钥、对微处理器卡的写入数据和写卡信息生成的,所述第一会话密钥为根据所述微处理器卡的卡片信息及第一共同密钥生成的;
[0011] 根据所述微处理器卡的卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码;
[0012] 将生成的第一验证码与接收的第一验证码进行比较,若相同,则验证通过,根据所述写入数据及第一会话密钥生成第二验证码并将第二验证码返回给所述终端,以使所述终端对所述第二验证码进行验证,且验证通过后,对所述终端进行授权。
[0013] 一种基于微处理器卡进行授权的装置,包括:
[0014] 命令发送模块,用于向所述微处理器卡发送包含第一验证码的验证命令,其中,所述第一验证码为根据第一会话密钥、对所述微处理器卡的写入数据及写卡信息生成,所述第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成;
[0015] 信息接收模块,用于接收所述微处理器卡对所述第一验证码验证通过后根据所述验证命令返回的第二验证码,其中,所述第二验证码为根据写入数据及第一会话密钥生成,;
[0016] 验证模块,用于对所述第二验证码进行验证,验证通过后,对终端进行授权。一种基于微处理器卡进行授权的装置,包括:
[0017] 命令接收模块,用于接收终端发送的包含第一验证码的验证命令,所述第一验证码为根据第一会话密钥、对微处理器卡的写入数据和写卡信息生成的,所述第一会话密钥为根据所述微处理器卡的卡片信息及第一共同密钥生成的;
[0018] 信息生成模块,用于根据所述微处理器卡的卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码;
[0019] 比较模块,用于将生成的第一验证码与接收的第一验证码进行比较;
[0020] 所述信息生成模块还用于当生成的第一验证码与接收的第一验证码相同表示验证通过时,根据所述写入数据及第一会话密钥生成第二验证码;
[0021] 返回模块,用于将所述第二验证码返回给所述终端,以使所述终端对所述第二验证码进行验证,且验证通过后,对所述终端进行授权。
[0022] 上述基于微处理器卡进行授权的方法和装置,通过根据卡片信息及第一共同密钥生成第一会话密钥,根据第一会话密钥生成第一验证码,发送包含第一验证码的验证命令,将微处理器卡生成第一验证码和终端的第一验证码进行比较,相同后,返回根据验证命令响应的第二验证码,终端对第二验证码进行验证,验证通过后,即通过双向鉴权实现了对终端的验证并进行授权,不需在终端内设置指纹传感器,也能实现授权,节省了成本,且安全性较高。

附图说明

[0023] 图1为一个实施例中基于微处理器卡进行授权的方法的应用环境示意图;
[0024] 图2为一个实施例中基于微处理器卡进行授权的方法的流程图;
[0025] 图3为另一个实施例中基于微处理器卡进行授权的方法的流程图;
[0026] 图4为一个实施例中基于微处理器卡进行授权的装置的结构示意图;
[0027] 图5为另一个实施例中基于微处理器卡进行授权的装置的结构示意图。

具体实施方式

[0028] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0029] 图1为一个实施例中基于微处理器卡进行授权的方法的应用环境示意图。如图1所示,该应用环境包括微处理器卡110和终端120。
[0030] 微处理器卡110,可为CPU(Central Processing Unit,中央处理器)卡、或这含NFC(Near Field Communication,近场通信)芯片的SD卡、或者含NFC芯片的SIM卡等,其可适用于门禁、支付、门票、机票、会员卡等中,具有存储空间大、读取速度快、支持一卡多用等特点。其中,CPU卡的安全性比普通IC卡(Integrated Circuit Card,集成电路卡)高很多,因CPU卡内含有随机数发生器、DES(Data Encryption Standard,数据加密标准)、3DES加密算法等,配合操作系统,安全等级高。利用CPU卡不易被伪造的特点,可作为应用程序登录或支付或门禁验证等进行验证授权的重要手段。
[0031] 终端120可为带有NFC芯片的设备,如可为智能手机、平板电脑、门禁打卡器、机票验证器等。
[0032] 微处理器卡110和终端120通过NFC无线通信进行交互。
[0033] 图2为一个实施例中基于微处理器卡进行授权的方法的流程图。图2中的基于微处理器卡进行授权的方法运行于图1中的应用环境中,以终端角度描述。如图2所示,该基于微处理器卡进行授权的方法,包括以下步骤:
[0034] 步骤202,向微处理器卡发送包含第一验证码的验证命令,其中,该第一验证码为根据第一会话密钥、对该微处理器卡的写入数据及写卡信息生成,该第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成。
[0035] 具体的,写入数据可为任意数。写卡信息包括业务类型、终端标识、第一业务日期和时间等。业务类型可为06,终端标识可为001122334455,第一业务日期可为20120229,第一业务时间可为135100等。
[0036] 微处理器卡的卡片信息包括微处理器卡业务序号和随机数等。随机数的长度可变。进一步的,卡片信息还可包括卡片余额、透支限额、密钥版本号、算法标识等。例如卡片信息可为00000000、0000、000000、01、00、11223344,其中,00000000为卡片余额,0000为微处理器卡业务序号,000000为透支限额,01为密钥版本号、00为算法标识,11223344为随机数。该随机数的长度可变。
[0037] 在一个实施例中,在步骤202之前,还包括:向微处理器卡发送初始化命令;接收该微处理器卡根据该初始化命令返回的卡片信息。
[0038] 具体的,该初始化命令包括写入数据、终端标识等。写入数据可为00001000;终端标识可为终端编号,如001122334455等。进一步的,初始化命令还可包括指令类别、指令码、参数、数据长度、关键索引等,例如初始化命令可为80、50、01、02、0B、01、00001000、001122334455。80为CLA即指令类别;50为INS即指令码;01为P1,02为P2,P1和P2为参数;0B为LC即数据长度;01为Key Index,即关键索引;00001000为写入数据;
001122334455为终端编号。
[0039] 根据该卡片信息及第一共同密钥生成第一会话密钥。具体的,将卡片信息中的随机数、微处理器卡业务序号、终端业务序号作为第一输入数据,采用3DES加密算法对第一输入数据及第一共同密钥进行加密得到第一会话密钥(SessionKey)。例如,第一共同密钥为11223344556677888877665544332211,随机数为11223344,微处理器卡业务序号为0000,终端业务序号的后四位为0001,输入数据为11223344 0000 0001,第一会话密钥为
3DESEnypt(第一输入数据,第一共同密钥)得到003238ABC57659DD。
[0040] 根据该写入数据、写卡信息、第一会话密钥生成第一验证码。
[0041] 具体的,将写入数据和写卡信息作为第二输入数据,对第二输入数据和第一会话密钥做MAC(Message Authentication Codes)运算得到第一验证码,即MAC1。例如第二输入数据为00001000 06 001122334455 20120229135100,第一会话密钥为003238ABC57659DD,第一验证码MAC1由MAC(第二输入数据,第一会话密钥)计算得到,第一验证码MAC1为F15CAB75。
[0042] 验证命令包括第一验证码、终端业务序号、第二业务日期和时间等。进一步,验证命令还可包括指令类别、指令码、参数、数据长度等。例如80 54 0100 0F 0000000120111221214822 F15CAB75,其中,80为CLA即指令类别;54为INS即指令码;01为P1,00为P2,P1和P2为参数;0F为LC即数据长度,00000001为终端业务序号,20111221为第二业务日期,214822为第二业务时间,F15CAB75为MAC1。
[0043] 步骤204,接收该微处理器卡对该第一验证码验证通过后根据该验证命令返回的第二验证码,第二验证码为根据写入数据及第一会话密钥生成。
[0044] 具体的,微处理器卡根据该卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码,然后将生成的第一验证码与终端所发的第一验证码进行比较,验证通过后,则确认终端合法,然后根据该写入数据及第一会话密钥生成第二验证码,将第二验证码返回给终端,终端对第二验证码进行验证,验证通过后,对终端进行授权,即实现了对终端的验证授权。若生成的第一验证码与终端所发的第一验证码进行比较,两者不同,则验证没有通过,微处理器卡会返回MAC错误终止业务,无法完成授权。
[0045] 例如,写入数据可为00001000,第一会话密钥为003238ABC57659DD,用第一会话密钥对写入数据做MAC运算得到第二验证码,即为56988A13。
[0046] 此外,接收该微处理器卡根据该验证命令返回的业务认证码,其中,该业务认证码为根据该验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的。
[0047] 第二共同密钥可为认证码密钥,即TAC(Transaction Authentication Code,交易验证码)Key,将第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥(TACSessionKey)。
[0048] 例 如,TACKey = 00112233445566778899AABBCCDDEEFF,TACSessionKey =XOR(Left(8),Right(8))=8888888888888888。
[0049] 获取终端标识、业务类型,将写入数据、业务类型、终端标识、终端业务序号、第二业务日期和时间作为第三输入数据,采用第二会话密钥对第三输入数据做MAC运算得到业务认证码。其中,终端业务序号、第二业务日期和时间可从验证命令中得到。例如写入数据为00001000,业务类型为01,终端标识为001122334455,终端业务序号为00000001,第二业务日期为20111221,第二业务时间为214822,将写入数据、业务类型、终端标识、终端业务序号、第二业务日期和时间作为第三输入数据,采用第二会话密钥对第三输入数据做MAC运算得到业务认证码即为3FF7A28A。业务认证码作为本次验证业务数据真伪和完整性的重要依据,连同业务记录保存在终端上。
[0050] 步骤206,对该第二验证码进行验证,验证通过后,对终端进行授权。
[0051] 具体的,终端根据写入数据及第一会话密钥生成第二验证码,将生成的第二验证码与接收的第二验证码进行比较,若相同,则验证通过,对终端进行授权,若不相同,则验证失败,对终端授权失败。
[0052] 上述基于微处理器卡进行授权的方法,通过根据卡片信息及第一共同密钥生成第一会话密钥,根据第一会话密钥生成第一验证码,发送包含第一验证码的验证命令,将微处理器卡生成第一验证码和终端的第一验证码进行比较,相同后,返回根据验证命令响应的第二验证码,终端对第二验证码进行验证,验证通过后,即通过双向鉴权实现了对终端的验证并进行授权,不需在终端内设置指纹传感器,也能实现授权,节省了成本,且安全性较高。
[0053] 图3为另一个实施例中基于微处理器卡进行授权的方法的流程图。图3中的基于微处理器卡进行授权的方法运行于图1中的应用环境中,以微处理器卡角度描述。如图3所示,该基于微处理器卡进行授权的方法,包括以下步骤:
[0054] 步骤302,接收终端发送的包含第一验证码的验证命令,该第一验证码为根据第一会话密钥、对微处理器卡的写入数据和写卡信息生成的,该第一会话密钥为根据该微处理器卡的卡片信息及第一共同密钥生成的。
[0055] 具体的,验证命令包括第一验证码、终端业务序号、第二业务日期和时间等。进一步,验证命令还可包括指令类别、指令码、参数、数据长度等。例如80 54 01 00 0F00000001 20111221214822 F15CAB75,其中,80为CLA即指令类别;54为INS即指令码;01为P1,00为P2,P1和P2为参数;0F为LC即数据长度,00000001为终端业务序号,20111221为第二业务日期,214822为第二业务时间,F15CAB75为MAC1。
[0056] 写入数据可为任意数。写卡信息包括业务类型、终端标识、第一业务日期和时间等。业务类型可为06,终端标识可为001122334455,第一业务日期可为20120229,第一业务时间可为135100等。
[0057] 卡片信息包括微处理器卡业务序号和随机数等。随机数的长度可变。进一步的,卡片信息还可包括卡片余额、透支限额、密钥版本号、算法标识等。例如卡片信息可为00000000、0000、000000、01、00、11223344,其中,00000000为卡片余额,0000为微处理器卡业务序号,000000为透支限额,01为密钥版本号、00为算法标识,11223344为随机数。
[0058] 在一个实施例中,在步骤302之前,还包括:接收终端发送的初始化命令;根据该初始化命令返回卡片信息。
[0059] 具体的,该初始化命令包括写入数据、终端标识等。写入数据可为00001000;终端标识可为终端编号,如001122334455等。进一步的,初始化命令还可包括指令类别、指令码、参数、数据长度、关键索引等,例如初始化命令可为80、50、01、02、0B、01、00001000、001122334455。80为CLA即指令类别;50为INS即指令码;01为P1,02为P2,P1和P2为参数;0B为LC即数据长度;01为Key Index,即关键索引;00001000为写入数据;
001122334455为终端编号。步骤304,根据该微处理器卡的卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息和第一会话密钥生成第一验证码。
[0060] 具体的,将卡片信息中的随机数、微处理器卡业务序号、终端业务序号作为第一输入数据,采用3DES加密算法对第一输入数据及第一共同密钥进行加密得到第一会话密钥。例如,第一共同密钥为11223344556677888877665544332211,随机数为11223344,微处理器卡业务序号为0000,终端业务序号的后四位为0001,输入数据为11223344 0000 0001,第一会话密钥为3DESEnypt(第一输入数据,第一共同密钥)得到003238ABC57659DD。
[0061] 写入数据可为00001000,写卡信息包括业务类型、终端标识、第一业务日期和时间等。业务类型可为06,终端标识可为001122334455,第一业务日期可为20120229,第一业务时间可为135100等。将写入数据和写卡信息作为第二输入数据,对第二输入数据和第一会话密钥做MAC(Message Authentication Codes)运算得到第一验证码,即MAC1。例如第二输入数据为00001000 06001122334455 20120229135100,第一会话密钥为003238ABC57659DD,第一验证码MAC1由MAC(第二输入数据,第一会话密钥)计算得到,第一验证码MAC1为F15CAB75。
[0062] 步骤306,将生成的第一验证码与接收的第一验证码进行比较,若相同,则验证通过,根据该写入数据及第一会话密钥生成第二验证码,并将第二验证码返回给该终端,以使该终端对该第二验证码进行验证,且验证通过后,对该终端进行授权。
[0063] 具体的,微处理器卡将生成的第一验证码与终端所发的第一验证码进行比较,验证通过后,则确认终端合法,然后根据该写入数据及第一会话密钥生成第二验证码,将第二验证码返回给终端,终端对第二验证码进行验证,验证通过后对终端进行授权,即通过双向鉴权实现了对终端的验证授权。若生成的第一验证码与终端所发的第一验证码进行比较,两者不同,则验证没有通过,微处理器卡会返回MAC错误终止业务,无法完成授权。
[0064] 例如,写入数据可为00001000,第一会话密钥为003238ABC57659DD,用第一会话密钥对写入数据做MAC运算得到第二验证码,即为56988A13。
[0065] 此外,在一个实施例中,还包括:根据第二共同密钥生成第二会话密钥,并根据该验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的业务认证码,将所述业务认证码返回给该终端。第二共同密钥可为认证码密钥,即TAC(Transaction Authentication Code,交易验证码)Key。该第二共同密钥生成第二会话密钥的步骤包括:将该第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥。具体的,将第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥(TACSessionKey)。
[0066] 例 如,TACKey = 00112233445566778899AABBCCDDEEFF,TACSessionKey =XOR(Left(8),Right(8))=8888888888888888。
[0067] 获取终端标识、业务类型,将写入数据、业务类型、终端标识、终端业务序号、第二业务日期和时间作为第三输入数据,采用第二会话密钥对第三输入数据做MAC运算得到业务认证码。其中,终端业务序号、第二业务日期和时间可从验证命令中得到。例如写入数据为00001000,业务类型为01,终端标识为001122334455,终端业务序号为00000001,第二业务日期为20111221,第二业务时间为214822,将写入数据、业务类型、终端标识、终端业务序号、第二业务日期和时间作为第三输入数据,采用第二会话密钥对第三输入数据做MAC运算得到业务认证码即为3FF7A28A。业务认证码作为本次验证业务数据真伪和完整性的重要依据,连同业务记录保存在终端上。
[0068] 上述基于微处理器卡进行授权的方法,微处理器卡接收包含第一验证码的验证命令,根据卡片信息及第一共同密钥生成第一会话密钥,根据第一会话密钥生成第一验证码,再将微处理器卡生成第一验证码和终端生成的第一验证码进行比较,相同后,将根据验证命令响应的第二验证码返回给终端,使得终端对第二验证码进行验证,验证通过后,对终端进行授权,即通过双向鉴权实现了对终端的验证并进行了授权,不需在终端内设置指纹传感器,也能实现授权,节省了成本,且安全性较高。
[0069] 图4为一个实施例中基于微处理器卡进行授权的装置的结构示意图。图4中的基于微处理器卡进行授权的装置运行于图1中的应用环境中,以终端角度描述。该基于微处理器卡进行授权的装置包括命令发送模块410、信息接收模块420和验证模块430。其中:
[0070] 命令发送模块410用于向微处理器卡发送包含第一验证码的验证命令,其中,该第一验证码为根据第一会话密钥、对该微处理器卡的写入数据及写卡信息生成,该第一会话密钥为根据微处理器卡的卡片信息及第一共同密钥生成。
[0071] 具体的,写入数据可为任意数。写卡信息包括业务类型、终端标识、第一业务日期和时间等。业务类型可为06,终端标识可为001122334455,第一业务日期可为20120229,第一业务时间可为135100等。
[0072] 微处理器卡的卡片信息包括微处理器卡业务序号和随机数等。随机数的长度可变。进一步的,卡片信息还可包括卡片余额、透支限额、密钥版本号、算法标识等。例如卡片信息可为00000000、0000、000000、01、00、11223344,其中,00000000为卡片余额,0000为微处理器卡业务序号,000000为透支限额,01为密钥版本号、00为算法标识,11223344为随机数。该随机数的长度可变。
[0073] 根据该卡片信息及第一共同密钥生成第一会话密钥。具体的,将卡片信息中的随机数、微处理器卡业务序号、终端业务序号作为第一输入数据,采用3DES加密算法对第一输入数据及第一共同密钥进行加密得到第一会话密钥(SessionKey)。例如,第一共同密钥为11223344556677888877665544332211,随机数为11223344,微处理器卡业务序号为0000,终端业务序号的后四位为0001,输入数据为11223344 0000 0001,第一会话密钥为
3DESEnypt(第一输入数据,第一共同密钥)得到003238ABC57659DD。
[0074] 根据该写入数据、写卡信息、第一会话密钥生成第一验证码。
[0075] 具体的,将写入数据和写卡信息作为第二输入数据,对第二输入数据和第一会话密钥做MAC(Message Authentication Codes)运算得到第一验证码,即MAC1。例如第二输入数据为00001000 06 001122334455 20120229135100,第一会话密钥为003238ABC57659DD,第一验证码MAC1由MAC(第二输入数据,第一会话密钥)计算得到,第一验证码MAC1为F15CAB75。
[0076] 验证命令包括第一验证码、终端业务序号、第二业务日期和时间等。进一步,验证命令还可包括指令类别、指令码、参数、数据长度等。例如80 54 0100 0F 0000000120111221214822 F15CAB75,其中,80为CLA即指令类别;54为INS即指令码;01为P1,00为P2,P1和P2为参数;0F为LC即数据长度,00000001为终端业务序号,20111221为第二业务日期,214822为第二业务时间,F15CAB75为MAC1。
[0077] 信息接收模块420用于接收该微处理器卡对该第一验证码验证通过后根据该验证命令返回的第二验证码,该第二验证码为根据写入数据及第一会话密钥生成。
[0078] 具体的,微处理器卡根据该卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码,然后将生成的第一验证码与终端所发的第一验证码进行比较,验证通过后,则确认终端合法,然后根据该写入数据及第一会话密钥生成第二验证码,将第二验证码返回给终端,终端对第二验证码进行验证,验证通过后,对终端进行授权,即实现了对终端的验证授权。若生成的第一验证码与终端所发的第一验证码进行比较,两者不同,则验证没有通过,微处理器卡会返回MAC错误终止业务,无法完成授权。
[0079] 例如,写入数据可为00001000,第一会话密钥为003238ABC57659DD,用第一会话密钥对写入数据做MAC运算得到第二验证码,即为56988A13。
[0080] 此外,信息接收模块420还用于接收该微处理器卡根据该验证命令返回的业务认证码,其中,该业务认证码为根据该验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的。
[0081] 第二共同密钥可为认证码密钥,即TAC(Transaction Authentication Code,交易验证码)Key,将第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥(TACSessionKey)。
[0082] 例 如,TACKey = 00112233445566778899AABBCCDDEEFF,TACSessionKey =XOR(Left(8),Right(8))=8888888888888888。
[0083] 获取终端标识、业务类型,将写入数据、业务类型、终端标识、终端业务序号、第二业务日期和时间作为第三输入数据,采用第二会话密钥对第三输入数据做MAC运算得到业务认证码。其中,终端业务序号、第二业务日期和时间可从验证命令中得到。例如写入数据为00001000,业务类型为01,终端标识为001122334455,终端业务序号为00000001,第二业务日期为20111221,第二业务时间为214822,将写入数据、业务类型、终端标识、终端业务序号、第二业务日期和时间作为第三输入数据,采用第二会话密钥对第三输入数据做MAC运算得到业务认证码即为3FF7A28A。业务认证码作为本次验证业务数据真伪和完整性的重要依据,连同业务记录保存在终端上。
[0084] 验证模块430用于对该第二验证码进行验证,验证通过后,对终端进行授权。
[0085] 具体的,验证模块430根据写入数据及第一会话密钥生成第二验证码,将生成的第二验证码与接收的第二验证码进行比较,若相同,则验证通过,对终端进行授权,若不相同,则验证失败,对终端授权失败。
[0086] 上述基于微处理器卡进行授权的装置,通过向微处理器卡根据卡片信息及第一共同密钥生成第一会话密钥,根据第一会话密钥生成第一验证码,发送包含第一验证码的验证命令,将微处理器卡生成第一验证码和终端的第一验证码进行比较,相同后,返回根据验证命令响应的第二验证码,终端对第二验证码进行验证,验证通过后,即通过双向鉴权实现了对终端的验证并进行授权,不需在终端内设置指纹传感器,也能实现授权,节省了成本,且安全性较高。
[0087] 在一个实施例中,命令发送模块410还用于向微处理器卡发送初始化命令。
[0088] 具体的,该初始化命令包括写入数据、终端标识等。写入数据可为00001000;终端标识可为终端编号,如001122334455等。进一步的,初始化命令还可包括指令类别、指令码、参数、数据长度、关键索引等,例如初始化命令可为80、50、01、02、0B、01、00001000、001122334455。80为CLA即指令类别;50为INS即指令码;01为P1,02为P2,P1和P2为参数;0B为LC即数据长度;01为Key Index,即关键索引;00001000为写入数据;
001122334455为终端编号。
[0089] 信息接收模块420还用于接收该微处理器卡根据该初始化命令返回的卡片信息。具体的,卡片信息包括微处理器卡业务序号和随机数等。随机数的长度可变。此外,图4中的基于微处理器卡进行授权的装置除了包括命令发送模块410、信息接收模块420和验证模块430,还包括生成模块440。生成模块440用于根据该卡片信息及第一共同密钥生成第一会话密钥。具体的,将卡片信息中的随机数、微处理器卡业务序号、终端业务序号作为第一输入数据,采用3DES加密算法对第一输入数据及第一共同密钥进行加密得到第一会话密钥(SessionKey)。例如,第一共同密钥为11223344556677888877665544332211,随机数为11223344,微处理器卡业务序号为0000,终端业务序号的后四位为0001,输入数据为11223344 0000 0001,第一会话密钥为3DESEnypt(第一输入数据,第一共同密钥)得到
003238ABC57659DD。
[0090] 该生成模块440还用于根据该写入数据、写卡信息、第一会话密钥生成第一验证码。具体的,将写入数据和写卡信息作为第二输入数据,对第二输入数据和第一会话密钥做MAC(Message Authentication Codes)运算得到第一验证码,即MAC1。例如第二输入数据为00001000 06 00112233445520120229135100,第一会话密钥为003238ABC57659DD,第一验证码MAC1由MAC(第二输入数据,第一会话密钥)计算得到,第一验证码MAC1为F15CAB75。
[0091] 图5为另一个实施例中基于微处理器卡进行授权的装置的结构示意图。图5中的基于微处理器卡进行授权的装置运行于图1中的应用环境中,以微处理器卡角度描述。如图5所示,该基于微处理器卡进行授权的装置,包括命令接收模块510、信息生成模块520、比较模块530和返回模块540。其中:
[0092] 命令接收模块510用于接收终端发送的包含第一验证码的验证命令,该第一验证码为根据第一会话密钥、对微处理器卡的写入数据和写卡信息生成的,该第一会话密钥为根据该微处理器卡的卡片信息及第一共同密钥生成的。
[0093] 具体的,验证命令包括第一验证码、终端业务序号、第二业务日期和时间等。进一步,验证命令还可包括指令类别、指令码、参数、数据长度等。例如80 54 01 00 0F00000001 20111221214822 F15CAB75,其中,80为CLA即指令类别;54为INS即指令码;01为P1,00为P2,P1和P2为参数;0F为LC即数据长度,00000001为终端业务序号,20111221为第二业务日期,214822为第二业务时间,F15CAB75为MAC1。
[0094] 写入数据可为任意数。写卡信息包括业务类型、终端标识、第一业务日期和时间等。业务类型可为06,终端标识可为001122334455,第一业务日期可为20120229,第一业务时间可为135100等。
[0095] 卡片信息包括微处理器卡业务序号和随机数等。随机数的长度可变。进一步的,卡片信息还可包括卡片余额、透支限额、密钥版本号、算法标识等。例如卡片信息可为00000000、0000、000000、01、00、11223344,其中,00000000为卡片余额,0000为微处理器卡业务序号,000000为透支限额,01为密钥版本号、00为算法标识,11223344为随机数。
[0096] 在一个实施例中,在步骤302之前,还包括:接收终端发送的初始化命令;根据该初始化命令返回卡片信息。
[0097] 具体的,该初始化命令包括写入数据、终端标识等。写入数据可为00001000;终端标识可为终端编号,如001122334455等。进一步的,初始化命令还可包括指令类别、指令码、参数、数据长度、关键索引等,例如初始化命令可为80、50、01、02、0B、01、00001000、001122334455。80为CLA即指令类别;50为INS即指令码;01为P1,02为P2,P1和P2为参数;0B为LC即数据长度;01为Key Index,即关键索引;00001000为写入数据;
001122334455为终端编号。
[0098] 信息生成模块520用于根据该微处理器卡的卡片信息及第一共同密钥生成第一会话密钥,以及根据写入数据、写卡信息、第一会话密钥生成第一验证码。具体的,将卡片信息中的随机数、微处理器卡业务序号、终端业务序号作为第一输入数据,采用3DES加密算法对第一输入数据及第一共同密钥进行加密得到第一会话密钥。例如,第一共同密钥为11223344556677888877665544332211,随机数为11223344,微处理器卡业务序号为0000,终端业务序号的后四位为0001,输入数据为11223344 0000 0001,第一会话密钥为3DESEnypt(第一输入数据,第一共同密钥)得到003238ABC57659DD。写入数据可为
00001000,写卡信息包括业务类型、终端标识、第一业务日期和时间等。业务类型可为06,终端标识可为001122334455,第一业务日期可为20120229,第一业务时间可为135100等。将写入数据和写卡信息作为第二输入数据,对第二输入数据和第一会话密钥做MAC(Message Authentication Codes)运算得到第一验证码,即MAC1。例如第二输入数据为00001000 06
001122334455 20120229135100,第一会话密钥为003238ABC57659DD,第一验证码MAC1由MAC(第二输入数据,第一会话密钥)计算得到,第一验证码MAC1为F15CAB75。
[0099] 比较模块530用于将生成的第一验证码与接收的第一验证码进行比较。
[0100] 该信息生成模块520还用于当生成的第一验证码与接收的第一验证码相同表示验证通过时,根据该写入数据及第一会话密钥生成第二验证码。
[0101] 返回模块540用于将该第二验证码返回给该终端,以使该终端对该第二验证码进行验证,且验证通过后,对该终端进行授权。
[0102] 具体的,微处理器卡的比较模块530将生成的第一验证码与终端所发的第一验证码进行比较,验证通过后,则确认终端合法,然后根据该写入数据及第一会话密钥生成第二验证码,将第二验证码返回给终端,终端对第二验证码进行验证,验证通过后对终端进行授权,即通过双向鉴权实现了对终端的验证授权。若生成的第一验证码与终端所发的第一验证码进行比较,两者不同,则验证没有通过,微处理器卡会返回MAC错误终止业务,无法完成授权。
[0103] 此外,在一个实施例中,还包括:信息生成模块520还用于根据第二共同密钥生成第二会话密钥,并根据该验证命令、写入数据及第二共同密钥生成的第二会话密钥生成的业务认证码,将所述业务认证码返回给该终端。该信息生成模块520还用于将该第二共同密钥的高8字节和低8字节做异或运算得到第二会话密钥。
[0104] 上述基于微处理器卡进行授权的装置,微处理器卡接收包含第一验证码的验证命令,根据卡片信息及第一共同密钥生成第一会话密钥,根据第一会话密钥生成第一验证码,再将微处理器卡生成第一验证码和终端生成的第一验证码进行比较,相同后,将根据验证命令响应的第二验证码返回给终端,使得终端对第二验证码进行验证,验证通过后,对终端进行授权,即通过双向鉴权实现了对终端的验证并进行授权,不需在终端内设置指纹传感器,也能实现授权,节省了成本,且安全性较高。
[0105] 在一个实施例中,命令接收模块510用于接收终端发送的初始化命令。具体的,该初始化命令包括写入数据、终端标识等。写入数据可为00001000;终端标识可为终端编号,如001122334455等。进一步的,初始化命令还可包括指令类别、指令码、参数、数据长度、关键索引等,例如初始化命令可为80、50、01、02、0B、01、00001000、001122334455。80为CLA即指令类别;50为INS即指令码;01为P1,02为P2,P1和P2为参数;0B为LC即数据长度;01为Key Index,即关键索引;00001000为写入数据;001122334455为终端编号。
[0106] 返回模块540用于根据该初始化命令返回卡片信息。具体的,卡片信息包括微处理器卡业务序号和随机数等。随机数的长度可变。进一步的,卡片信息还可包括卡片余额、透支限额、密钥版本号、算法标识等。例如卡片信息可为00000000、0000、000000、01、00、11223344,其中,00000000为卡片余额,0000为微处理器卡业务序号,000000为透支限额,
01为密钥版本号、00为算法标识,11223344为随机数。
[0107] 上述基于微处理器卡进行授权的方法和装置可应用于支付验证授权、会员卡验证授权、机票授权、门票验证授权、门禁验证授权、应用程序登录验证授权、解锁验证授权等需要验证用户身份的场景中,但不限于此。
[0108] 例如上述基于微处理器卡进行授权的方法和装置应用于手机授权支付中,将微处理器卡贴到手机上,手机采用上述基于微处理器卡进行授权的方法对微处理器卡进行验证,具体过程包括:手机向微处理器卡发送初始化命令;手机接收该微处理器卡根据该初始化命令返回的卡片信息;手机根据该卡片信息及第一共同密钥生成第一会话密钥;手机获取对该微处理器卡的写入数据及写卡信息;手机根据该写入数据、写卡信息、第一会话密钥生成第一验证码;手机向该微处理器卡发送包含第一验证码的验证命令;微处理器卡根据该卡片信息及第一共同密钥生成第一会话密钥,根据写入数据、写卡信息、第一会话密钥生成第一验证码,将生成的第一验证码与接收的第一验证码进行比较,若相同,则验证通过,根据该写入数据及第一会话密钥生成第二验证码,根据第二共同密钥生成第二会话密钥,根据该验证命令、写入数据及第二会话密钥生成业务认证码,并将第二验证码和业务认证码返回给手机,手机被授权,完成支付;验证未通过,则手机无法被授权,无法完成支付。
[0109] 上述基于微处理器卡进行授权的方法和装置应用于门禁验证授权中,具体过程包括:将包含微处理器的门禁卡贴到手机上,手机采用上述基于微处理器卡进行授权的方法对微处理器卡进行验证,验证通过了,手机被授权,通过手机代替门禁卡验证开启门禁,验证未通过,则手机无法被授权,无法通过手机验证用户身份。
[0110] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0111] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用