专利名称:一种智能卡上的数据操作方法及装置的制作方法
技术领域:
本发明涉及智能卡领域,尤其涉及一种智能卡上的数据操作方法及装置。
背景技术:
随着城市一^Nt等小额支付系统的发展,符合ISO/IEC 14443标准的机具 和卡片产品得到广泛的应用。其典型的产品为逻辑加密卡(MIFARE)系列产 品。随着双界面智能卡技术的发展,为兼容原有基于MIFARE卡的系统并逐步 向CPU卡升级,出现同一芯片上既有CPU卡,同时在电可擦写可编程只读存 储器(EEPROM)内模拟MIFARE卡片的技术。这种芯片方案同时支持MIFARE 功能,也支持CPU卡的各种功能,为实现灵活的多应用提供了技术基础。这 种类型的芯片可工作于CPU卡模式,也可工作于MIFARE卡片模式。
在CPU卡内模拟支持MIFARE功能的芯片方案中,定义了由CPU卡操作 系统(OS)访问MIFARE区域的接口。 CPU OS访问MIFARE区域数据时, 首先CPU OS读取保存在卡内的MF—Password,并将读取的MF—Password输入 访问MIFARE区域的接口 ,由该接口验ii MF—Password的正确性,在验证通 过后,允许CPU OS访问MIFARE区域的数据。MF_Password是由MIFARE 区域各扇区的两个密钥KeyA和KeyB通过数据加密算法(DES )算法计算得 到的。
CPU OS可访问内建的MIFARE区域内的数据,极大地丰富了 MIFARE的 应用场景,比如,可通过双界面客户识别模块(SIM)卡(SIMpass)的移动通 信功能,对MIFARE区域内的数据进行读、写,实现MIFARE区域内余额的 显示、交易记录的查询、远程充值等功能。
上述能承载多种功能的智能卡芯片,按照定义的CPU OS访问MIFARE区域的接口 ,在MF—Password作为访问时的驺、i正密钥,若对MF一Password !^i正 通过,可对MIFARE区域的相应数据块进行读和写的揭:作,在安全性上会存在 问题。比如,对MIFARE区域内的数据进行写操作可能被用于非法充值等。针 对这个问题,需要有可靠的安全措施保证访问MIFARE区域的数据的安全性及 合法性。
发明内容
本发明实施例提供一种智能卡上的数据操作方法及装置,用于提高读写智 能卡上数据的安全性和合法性。
一种智能卡上的数据操作方法,该方法包括
网络侧确定需要对智能卡进行数据访问操作后,利用设定的安全计算算法 和密钥计算数据操作相关信息的消息鉴别数据,将该消息鉴别翁:据和所述数据 操作相关信息携带在数据操作命令中发送给智能卡;
所述智能卡接收到所述数据操作命令后,读取自身保存的密钥,利用所述 安全计算算法和读取的密钥计算所述数据操作相关信息的消息鉴别数据,若计
算得到的消息鉴别数据与所述数据操作命令中携带的消息鉴别数据一致,则对 所述智能卡进行数据访问操作;否则,拒绝对所述智能卡进行数据访问操作。 一种智能卡,该智能卡包括
数据接收单元,用于接收携带消息鉴别数据和数据操作相关信息的数据操 作命令,所述消息鉴别数据为网络侧在确定需要对本智能卡进行数据访问操作 后利用设定的安全计算算法和密钥计算得到的所述数据操作相关信息的消息 鉴别数据;
操作系统单元,用于读取自身保存的密钥,利用所述安全计算算法和读取 的密钥计算所述数据操作相关信息的消息鉴别数据,若计算得到的消息鉴别数 据与所述数据操作命令中携带的消息鉴别数据一致,则对应用数据单元进行数 据访问操作;否则,拒绝对应用数据单元进行数据访问操作;
8应用数据单元,用于存储应用数据。
本发明中,智能卡接收到网络侧发来的携带消息鉴别数据和数据操作相关 信息的数据操作命令后,利用与网络侧计算消息鉴别数据所使用的安全计算算 法相同的安全计算算法和自身保存的密钥计算数据操作相关信息的消息鉴别 数据,并通过比较计算得到的消息鉴别数据与数据操作命令中携带的消息鉴别 数据是否一致,来判断该数据操作命令的合法性,进而根据合法性判断结果决 定是否对智能卡进行数据访问操作,能够有效的提高对智能卡进行数据访问操 作的安全性和合法性。
图1为本发明实施例提供的方法流程示意图; 图2为本发明应用实例的系统结构示意图; 图3为本发明应用实例的智能卡结构示意图; 图4为本发明应用实例的流程示意图; 图5为本发明实施例提供的装置结构示意图。
具体实施例方式
为了提高对智能卡进行数据访问操作的安全性和合法性,本发明实施例提 供一种智能卡上的数据操作方法,本方法中,网络侧在确定需要对智能卡进行 数据访问操作后,计算数据操作相关信息的消息鉴别数据,并将该消息鉴别数 据携带在数据操作命令中发送给智能卡,智能卡也计算数据操作相关信息的消 息鉴别数据,并判断计算得到的消息鉴别数据与数据操作命令中携带的消息鉴 别数据是否一致,并根据判断结果决定是否对本智能卡进行数据访问操作。
参见图1,本发明实施例提供的智能卡上的数据操作方法,具体包括以下 步骤
步骤10:网络侧确定需要对智能卡进行数据访问操作;步骤11:网络侧利用设定的安全计算算法和密钥计算数据操作相关信息的 消息鉴别数据;
步骤12:网络侧将携带消息鉴别数据和数据操作相关信息的数据操作命令 发送给智能卡;
步骤13:智能卡接收到数据操作命令;
步骤14:智能卡读取自身保存的密钥,利用安全计算算法和读取的密钥计 算数据操作相关信息的消息鉴别数据,并判断计算得到的消息鉴别数据与数据 操作命令中携带的消息鉴别数据是否一致,若一致,则到步骤l5,否则,到步
骤16;
步骤15:对智能卡进行数据访问操作;
步骤16:拒绝对本智能卡进行数据访问操作。
步骤10中,网络侧具体可以是在接收到智能卡发来的数据操作请求后, 确定需要对智能卡进行数椐访问操作,也可以是网络侧自身需要访问智能卡 时,确定需要对智能卡进行数据访问操作。
步骤11和步骤14中,安全计算算法可以采用MAC算法,计算得到的消 息鉴别数据为MAC值。由于密钥分别位于网络侧和智能卡端,是通过密钥管 理系统生成和分发的,此密钥不为第三方拥有,由此保^E安全性。需要说明的 是,在计算数据操作相关信息的消息鉴别数据时,有些安全计算算法还需要初 始值,例如MAC算法等,有些安全计算算法则不需要初始值。在智能卡端保 存有多个版本的密钥时,网络侧还需要将计算消息鉴别数据所使用的密钥的版 本信息携带在数据操作命令中发送给智能卡端,智能卡端则从自身维护的多个 密钥中读取该版本对应的密钥并利用读取的密钥计算数据操作相关信息的消 息鉴别数据。
步骤12中,网络侧可以通过短信或GPRS通道或因特网等方式,将数据 操作命令中发送给智能卡。
较佳的,在网络侧将数据操作命令发送给智能卡之前,按照预先设定的安全计数器值调整MJ'J调整维护的第一安全计^:器的当前取值,并将调整后的第 一安全计数器值携带在数据操作命令中发送给智能卡,智能卡确定接收到的数 据操作命令中携带的安全计数器值是否是按照所述安全计数器值调整规则调 整后的第一安全计数器值,若是,则对本智能卡进行数据访问操作,否则,拒 绝对本智能卡进行数据访问操作。
这里,智能卡确定接收到的数据操作命令中携带的安全计数器值是否是 按照设定的安全计数器值调整规则调整后的第一安全计数器值,其实现方法有 多种,以下举例说明
智能卡维护初始值与网络侧维护的第 一安全计数器的初始值相同的第二 安全计数器。智能卡在接收到数据操作命令后,判断该数据操作命令中携带的 安全计数器值是否与第三取值满足设定关系,该第三取值为将第二安全计数器 的当前取值按照预先设定的安全计数器值调整规则调整后的取值,若满足设定 关系,则确定该数据操作命令中携带的安全计数器值是按照所述安全计数器值 调整规则调整后的第一安全计数器值,并将第二安全计数器的当前取值调整为 第一安全计数器值;若不满足设定关系,则确定该数据操作命令中携带的安全 计数器值不是按照所述安全计数器值调整规则调整后的第一安全计数器值。
安全计数器值调整规则可以采用如下两种
第一种,将维护的安全计数器的当前取值与第一设定数值相加,例如,第 一设定数值的取值为不小于1的整数;
第二种,将维护的安全计数器的当前取值与第二设定数值相减,例如,第
二设定数值的取值为不小于1的整数。
在采用上述第 一种数据操安全计数器则时,网络侧按照该规则调整第 一安 全计数器的当前取值的方法为,将维护的第 一安全计数器的当前取值与第一设 定数值相加;相应的,智能卡判断数据操作命令中携带的安全计数器值是否与 第三取值满足设定关系的具体方法为,读取维护的第二安全计数器的当前取 值,将该当前取值与第一设定数值相加;判断数据操作命令中携带的安全计数
ii器值是否大于或等于所述相加后的数值,若是,则确定数据操作命令中携带的 安全计数器值与第三取值满足设定关系,否则,确定数据操作命令中携带的安 全计数器值与第三取值不满足设定关系。
在采用上述第二种安全计数器值调整规则时,网络侧按照该规则调整第一 安全计数器的当前取值的方法为,将维护的第 一安全计数器的当前取值与第二
设定数值相减;相应的,智能卡判断数据操作命令中携带的安全计数器值是否 与第三取值满足设定关系的具体方法为,读取维护的第二安全计数器的当前取 值,将该当前取值与第二设定数值相减;判断数据操作命令中携带的安全计数 器值是否小于或等于所述相减后的数值,若是,则确定数据操作命令中携带的 安全计数器值与第三取值满足设定关系,否则,确定数据操作命令中携带的安 全计数器值与第三取值不满足设定关系。
当然,安全计数器值调整规则并不局限于以上两种,还可以是其他多种, 例如,安全计数器值调整规则为将维护的安全计数器的当前取值乘以不为0的
整,等等。
较佳的,在设定的安全计数器值调整规则能够将维护的安全计数器的取值 调整为一个与在本次调整前安全计数器的取值均不相同的、新的取值时,能够 避免数据访问操作的重放攻击。例如,用户为某项应用业务只支付了 50元的 业务使用费,在该应用业务对应的运营平台需要向该用户的智能卡进行充值 (充值金辯为50)时,将维护的第一安全计数器值加1后第一安全计数器值变 为2,然后,向智能卡发送包含第一安全计数器值为2的数据操作命令;智能 卡接收到该数据操作命令后,判断数据操作命令中的第一安全计数器值大于自 身维护的取值为1的第二安全计数器值,则确定该数据操作命令合法,向智能 卡上保存该应用业务的余额数据的区域写入充值数据50,并将第二安全计数器 值更新为2。若此后智能卡再次接收到安全计数器值为2的恶意数据操作命令, 判断数据操作命令中的安全计数器值不大于取值为2的第二安全计数器值,则确定该数据操作命令非法,拒绝向智能卡上写入数据50,从而避免了用户只支 付了 50却得到IOO的充值余额的后果。
本发明中,在数据操作命令为写数据操作命令时,所述数据操作相关信息 可以包括待写入智能卡的数据和/或网络侧调整后的第一安全计数器值;在数 据操作命令为读数据操作命令时,所述数据操作相关信息可以包括待读取数
据的地址信息和/或网络侧调整后的第 一安全计数器值。
较佳的,在数据操作相关信息包括调整后的第一安全计数器值时,能够进 一步的保证防止数据访问操作重放攻击的有效性。例如,用户为某项应用业务
只支付了 50元的业务使用费,在该应用业务对应的运营平台需要向该用户的 智能卡进行充值(充值金额为50)时,将维护的第一安全计数器值加1后第一 安全计数器值变为2,然后,向智能卡发送包含取 f直为2的第一安全计数器值、 计算取值为2的第一安全计数器值和充值金额50得到的MAC值、以及充值金 额50的数据操作命令;智能卡接收到该数据操作命令后,判断数据操作命令 中的第一安全计数器值大于自身维护的取值为1的第二安全计数器值后,计算 取值为2的第一安全计数器值和充值金额50的MAC值,并判断计算得到的 MAC值与数据操作命令中携带的MAC值一致,于是确定该数据操作命令合 法,向电信智能卡上保存该应用业务的余额数据的区域写入充值数据50,并将 第二安全计数器值更新为2。若此后电信智能卡再次接收到包含取值为3的安 全计数器值、前述MAC值、以及充值金额50的的恶意数据操作命令,判断数 据操作命令中的安全计数器值大于取值为2的第二安全计数器值后,计算取值
为3的安全计数器值和充值金额50的MAC值,计算得到的MAC值必定与数 据操作命令中携带的MAC值不一致(因为数据操作命令中携带的MAC值是 网络侧计算的取值为2的第一安全计数器值的MAC值),于是确定该数据操作 命令非法,拒绝向电信智能卡上写入数据50,从而避免了用户只支付了 50却 得到100的充值余额的后果。
需要说明的是,本发明中对智能卡进行数据访问操作可以是对智能卡中包
13括逻辑加密卡(MIFARE)区域等任何区域进行的数据访问操作。
下面以对智能卡上的MIFARE区内的钱包进行充值为例对本发明方法进 行说明
本实例应用的系统组网结构示意图如图2所示,包括具有SIM卡的手机终 端、移动通信网络、短信中心、移动支付平台、充值业务运营平台等;智能卡 的内部结构示意图如图3所示,包含支持STK的GSM应用区域,智能卡操作 系统(COS)区域和MIFARE区域,利用GSM应用的短信(SMS)功能建立 智能卡与远端的运营方平台间的远程连接。具体充值流程如图4所示
用户通过SIM卡的STK菜单发起远程充值请求;
充值业务运营平台接收到充值请求后,匹配该充值请求中携带的SIM卡号 对应的安全计数器B,将该安全计数器B加1;
充值业务运营平台根据充值请求,在用户后台资金帐户余额充足的情况 下,组织充值结果数据,充值结果数据包含安全写计数器B加1;
充值业务运营平台选择MAC密钥版本,对充值结果数据计算MAC值, 并将携带充值结果数据、MAC值、密钥版本、安全计数器B加1和SIM卡号 的数据包发送给移动支付平台。
移动支付平台根据SIM卡号匹配到手机号;
移动支付平台附加数据包头和包尾,通过短信中心将该数据包转发给SIM
卡;
SIM卡上的STK程序解析接收到的数据包,调用COS,将解析得到的充 值结果数据、MAC值、密钥版本、安全计数器B加1传递给COS;
SIM卡上的COS比较安全写计数器B+l是否大于自身的安全写计数器A, 以及读取密钥版本对应的密钥计算充值结果数据的MAC值,将计算得到的 MAC值与STK传递来的MAC值比较;若比较B+l大于A并且计算得到的 MAC值与STK传递来的MAC值一致,则解析充值结杲数据后向MIFARE区 域写入数据;否则,返回数据写入失败响应。参见图5,本发明实施例还提供一种智能卡,该智能卡包括数据接收单元70,用于接收携带消息鉴别数据和数据操作相关信息的数据操作命令,所述消息鉴别数据为网络侧在确定需要对本智能卡进行数据访问操作后利用设定的安全计算算法和密钥计算得到的所述数据操作相关信息的消息鉴别数据;
操作系统单元71,用于读取自身保存的密钥,利用所述安全计算算法和读取的密钥计算所述数据4喿作相关信息的消息鉴别凝:据,若计算得到的消息鉴别数据与所述数据操作命令中携带的消息鉴别数据一致,则对应用数据单元进行数据访问操作;否则,拒绝对应用数据单元进行数椐访问操作;
应用数据单元72,用于存储应用数据。
所述操作系统单元71进一步用于
在所述数据操作命令中携带安全计数器值时,确定该安全计数器值是否是网络侧按照预先设定的安全计数器值调整规则调整后的第 一安全计数器值,若是,则对所述应用数据单元进行数据访问操作。
所述操作系统单元71进一步用于
在确定数据操作命令中携带的安全计数器值不是所述第 一安全计数器值时,拒绝对所述应用数据单元进行数据访问操作。所述操作系统单元71用于
维护初始值与应用业务控制装置上维护的第一安全计数器的初始值相同的第二安全计数器;接收到所述数据操作命令后,判断所述数据操作命令中携带的安全计数器值是否与第三取值满足设定关系,所述第三取值为将所述第二安全计数器的当前取值按照所述安全计数器值调整MJ'J调整后的取值,若是,则确定该数据操作命令中携带的安全计数器值是网络側按照所述安全计数器值调整规则调整后的第一安全计数器值,并将所述第二安全计数器的当前取值调整为所述第一安全计数器值;否则,确定该数据操作命令中携带的安全计数器值不是网络侧按照所述安全计数器值调整MJ'J调整后的第 一安全计数器值。所述操作系统单元71用于
读取维护的所述第二安全计数器的当前取值,将该当前取值与第 一设定数
加后的数值,若是,则确定所述数据操作命令中携带的安全计数器值与第三取值满足设定关系,否则,确定所述数据操作命令中携带的安全计数器值与第三取值不满足设定关系。
所述操作系统单元71用于
读取维护的所述第二安全计数器的当前取值,将该当前取值与第二设定数值相减;判断所述数据操作命令中携带的安全计数器值是否小于或等于所述相减后的数值,若是,则确定所述数据操作命令中携带的安全计数器值与第三取值满足设定关系,否则,确定所述数据操作命令中携带的安全计数器值与第三取值不满足设定关系。
若所述数据操作命令为写数据操作命令,则所述数据操作相关信息包括待写入所述智能卡的数据和/或所述调整后的第一安全计数器值;若所述数据操作命令为读数据操作命令,则所述数据操作相关信息包括待读取数据的地址信息和/或所述调整后的第 一安全计数器值。
所述应用数据单元72为所述智能卡的逻辑加密卡MIFARE区域。
综上,本发明的有益效果包括
本发明实施例提供的方案中,网络侧在确定需要对智能卡进行数据访问操作后,通过计算数据操作相关信息的消息鉴别数据,并将该消息鉴别数据和数据操作相关信息携带在数据操作命令发送给智能卡,智能卡也使用保存的密钥计算数据操作相关信息的消息鉴别数据,并将计算得到的消息鉴别数据与数据操作命令中携带的消息鉴别数据进行比对,并根据比对结果最终决定是否对智能卡进行数据访问操作,有效的提高了对智能卡进行数据访问操作的安全性和合法性。
进一步的,本发明实施例提供的方案中,网络侧还按照预先设定的安全计
16数器值调整规则调整维护的第一安全计数器的当前取值,并将调整后的第一安全计数器值携带在数据操作命令中发送给智能卡,智能卡接收到数据操作命令后,确定该数据搡作命令中携带的安全计数器值是否是按照该安全计数器值调
整规则调整后的第一安全计数器值,若是,则对智能卡进^f亍数据访问操作;否则,拒绝对智能卡进行数据访问操作。可见,根据接收到的数据操作命令中的安全计数器值判定该数据操作命令是否合法,进而根据判断结果决定是否对智能卡进行数据访问操作,能够进一步提高对智能卡进行数据访问操作的安全性和合法性,避免数据访问操作的重放攻击。
需要说明的是,本发明中的智能卡可以是SIM、 USIM等电信智能卡,也可以是例如URPASS等其它智能卡。
本发明中计算消息鉴别数据所使用的密钥可以是对称密钥或非对称密钥,在使用对称密钥时,智能卡计算消息鉴别数据所使用的密钥与网络侧计算消息鉴别数据所使用的密钥相同,在使用非对称密钥时,网络侧则利用非对称密钥的公钥计算消息鉴别数据所使用的密钥,智能卡利用非对称密钥的私钥计算消息鉴别数据所使用的密钥。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种智能卡上的数据操作方法,其特征在于,该方法包括网络侧确定需要对智能卡进行数据访问操作后,利用设定的安全计算算法和密钥计算数据操作相关信息的消息鉴别数据,将该消息鉴别数据和所述数据操作相关信息携带在数据操作命令中发送给智能卡;所述智能卡接收到所述数据操作命令后,读取自身保存的密钥,利用所述安全计算算法和读取的密钥计算所述数据操作相关信息的消息鉴别数据,若计算得到的消息鉴别数据与所述数据操作命令中携带的消息鉴别数据一致,则对所述智能卡进行数据访问操作;否则,拒绝对所述智能卡进行数据访问操作。
2、 如权利要求1所述的方法,其特征在于,若所述数据操作命令为写数 据操作命令,则所述数据操作相关信息包括待写入所述智能卡的数据;若所述数据操作命令为读数据操作命令,则所述数据操作相关信息包括 待读取数据的地址信息。
3、 如权利要求1所述的方法,其特征在于,在将数据操作命令发送给所 述智能卡之前,该方法进一步包括网络侧按照预先设定的安全计数器值调整规则调整维护的第一安全计数 器的当前取值,并将携带调整后的第一安全计数器值的数据操作命令发送给所 述智能卡。
4、 如权利要求3所述的方法,其特征在于,在对所述智能卡进行数据访 问操作之前,该方法进一步包括所述智能卡确定接收到的数据操作命令中携带的安全计数器值是否是按 照所述安全计数器值调整规则调整后的第 一安全计数器值; 所述对所述智能卡进行数据访问操作包括在数据操作命令中携带的安全计数器值是按照所述安全计数器值调整规 则调整后的第 一安全计数器值时,对所述智能卡进行数据访问操作。
5、 如权利要求4所述的方法,其特征在于,所述智能卡维护有初始值与所述第一安全计数器的初始值相同的第二安全计数器;所述确定该数据操作命令中携带的安全计数器值是否是按照所述安全计 数器值调整规则调整后的第 一安全计数器值包括判断所述数据操作命令中携带的安全计数器值是否与第三取值满足设定 关系,所述第三取值为将所述第二安全计数器的当前取值按照所述安全计数器 值调整规则调整后的取值,若是,则确定该数据操作命令中携带的安全计数器值是按照所述安全计数 器值调整规则调整后的第一安全计数器值,并将所述第二安全计数器的当前取 值调整为所述第 一安全计数器值,否则,确定该数据操作命令中携带的安全计数器值不是按照所述安全计数 器值调整规则调整后的第 一安全计数器值。
6、 如权利要求5所述的方法,其特征在于,所述安全计数器值调整规则 为将维护的安全计数器的当前取值与第一设定数值相加;所述判断所述数据操作命令中携带的安全计数器值是否与第三取值满足 设定关系包括读取维护的所述第二安全计数器的当前取值,将该当前取值与所述第 一设 定数值相加;判断所述数据操作命令中携带的安全计数器值是否大于或等于所述相加 后的数值,若是,则确定所述数据操作命令中携带的安全计数器值与第三取值 满足设定关系,否则,确定所述数据操作命令中携带的安全计数器值与第三取 值不满足设定关系。
7、 如权利要求5所述的方法,其特征在于,所述安全计数器值调整规则 为将维护的安全计数器的当前取值与第二设定数值相减;所述判断所述数据操作命令中携带的安全计数器值是否与第三取值满足 设定关系包括读取维护的所述第二安全计数器的当前取值,将该当前取值与所述第 一设定数值相减;判断所述数据操作命令中携带的安全计数器值是否小于或等于所述相减 后的数值,若是,则确定所述数据操作命令中携带的安全计数器值与第三取值 满足设定关系,否则,确定所述数据操作命令中携带的安全计数器值与第三取 值不满足设定关系。
8、 如权利要求3-7中任一所述的方法,其特征在于,若所述数据操作命 令为写数据操作命令,则所述数据操作相关信息包括待写入所述智能卡的数 据和/或所述调整后的第 一安全计数器值;若所述数据操作命令为读数据操作命令,则所述数据操作相关信息包括 待读取数据的地址信息和/或所述调整后的第 一安全计数器值。
9、 如权利要求1-7中任一所述的方法,其特征在于,所述对所述智能卡 进行数据访问操作包括对所述智能卡的逻辑加密卡MIFARE区域进行数据访问操作。
10、 如权利要求1-7中任一所述的方法,其特征在于,所述网络侧通过短 信或GPRS通道或因特网,将所述数据操作命令中发送给智能卡。
11、 一种智能卡,其特征在于,该智能卡包括数据接收单元,用于接收携带消息鉴别数据和数据操作相关信息的数据操 作命令,所述消息鉴别数据为网络侧在确定需要对本智能卡进行数据访问操作后利用设定的安全计算算法和密钥计算得到的所述数据操作相关信息的消息 鉴别数据;操作系统单元,用于读取自身保存的密钥,利用所述安全计算算法和读取 的密钥计算所述数据操作相关信息的消息鉴别数据,若计算得到的消息鉴别数 据与所述数据操作命令中携带的消息鉴别数据一致,则对应用数据单元进行数 据访问操作;否则,拒绝对应用数据单元进行数据访问操作;应用数据单元,用于存储应用数据。
12、 如权利要求11所述的智能卡,其特征在于,若所述数据操作命令为写数据操作命令,则所述数据操作相关信息包括待写入所述智能卡的数据; 若所述数据操作命令为读数据操作命令,则所述数据操作相关信息包括 待读取数据的地址信息。
13、 如权利要求11所述的智能卡,其特征在于,所述操作系统单元进一 步用于在所述数据操作命令中携带安全计数器值时,确定该安全计数器值是否是 网络侧按照预先设定的安全计数器值调整规则调整后的第 一安全计数器值,若 是,则对所述应用数据单元进行数据访问操作。
14、 如权利要求13所述的智能卡,其特征在于,所述操作系统单元用于 维护初始值与应用业务控制装置上维护的第一安全计数器的初始值相同的第二安全计数器;接收到所述数据操作命令后,判断所述数据操作命令中携 带的安全计数器值是否与第三取值满足设定关系,所述第三取值为将所述第二 安全计数器的当前取值按照所述安全计数器值调整规则调整后的取值,若是,则确定该数据操作命令中携带的安全计数器值是网络侧按照所述安 全计数器值调整规则调整后的第 一安全计数器值,并将所述笫二安全计数器的 当前取值调整为所述第 一安全计数器值,否则,确定该数据操作命令中携带的安全计数器值不是网络侧按照所述安 全计数器值调整规则调整后的第 一安全计数器值。
15、 如权利要求14所述的智能卡,其特征在于,所述操作系统单元用于 读取维护的所述第二安全计数器的当前取值,将该当前取值与第 一设定数^i才目力口;判断所述数据操作命令中携带的安全计数器值是否大于或等于所述相加 后的数值,若是,则确定所述数据操作命令中携带的安全计数器值与第三取值 满足设定关系,否则,确定所述数据操作命令中携带的安全计数器值与第三取 值不满足设定关系。
16、 如权利要求14述的智能卡,其特征在于,所述操作系统单元用于读取维护的所述第二安全计数器的当前取值,将该当前取值与第二设定数值相减;判断所述数据操作命令中携带的安全计数器值是否小于或等于所述相减 后的数值,若是,则确定所述数据操作命令中携带的安全计数器值与第三取值 满足设定关系,否则,确定所述数据操作命令中携带的安全计数器值与第三取 值不满足设定关系。
17、 如权利要求13-16中任一所述的智能卡,其特征在于,若所述数据操 作命令为写数据操作命令,则所述数据操作相关信息包括待写入所述智能卡 的数据和/或所述调整后的第 一安全计数器值;若所述数据操作命令为读数据操作命令,则所述数据操作相关信息包括 待读取数据的地址信息和/或所述调整后的第一安全计数器值。
18、 如权利要求11-16中任一所述的智能卡,其特征在于,所述应用数据 单元为所述智能卡的逻辑加密卡MFARE区域。
全文摘要
本发明实施例公开了一种智能卡上的数据操作方法,该方法为网络侧确定需要对智能卡进行数据访问操作后,利用设定的安全计算算法和密钥计算数据操作相关信息的消息鉴别数据,将该消息鉴别数据和所述数据操作相关信息携带在数据操作命令中发送给智能卡;所述智能卡接收到所述数据操作命令后,读取自身保存的密钥,利用所述安全计算算法和读取的密钥计算所述数据操作相关信息的消息鉴别数据,若计算得到的消息鉴别数据与所述数据操作命令中携带的消息鉴别数据一致,则对所述智能卡进行数据访问操作;否则,拒绝对所述智能卡进行数据访问操作。本发明实施例还公开了一种智能卡。采用本发明,能够有效的提高对智能卡进行数据访问操作的安全性和合法性。
文档编号G06K19/07GK101667258SQ200910091670
公开日2010年3月10日 申请日期2009年8月28日 优先权日2009年8月28日
发明者佟德海, 蒋学超, 栋 陈, 陈大才 申请人:北京握奇数据系统有限公司