智能卡上的数据管理方法和设备的制作方法

文档序号:6584991阅读:149来源:国知局

专利名称::智能卡上的数据管理方法和设备的制作方法
技术领域
:本发明涉及智能卡
技术领域
,尤其涉及一种智能卡上的数据管理方法和设备。
背景技术
:随着智能卡应用的迅猛发展,各种行业都采用智能卡技术来进行保密及认证工作,几乎每个领域都有其相关的应用和规范。如果按照每个应用都使用一张卡片来实现,则人们可能需要随身带上很多卡片。随着时间的推移,需要携带的卡片会越来越多。这必然会对人们的使用带来很大影响。如果能将这些应用集中在一张卡片上,则能大大方便人们的出行。而且,应用运营商的成本会大大降低,在某种程度上也降低了用户持有卡片的成本,节约了资源。目前,在使用一张智能卡承载多个应用时,对智能卡上这多个应用进行管理的权限集中在发行卡片的发卡商,即只有发卡商能够对智能卡上的应用进行管理维护,包括在智能卡上创建应用、对已创建应用的数据进行读取、修改、删除等操作、对已创建应用进行锁定以及解锁、删除已创建应用等。同时,发卡商还具有对智能卡本身进行管理维护的权限,包括对智能卡进行锁定和解锁、对智能卡数据进行初始化等权限。在实现本发明的过程中,发明人发现现有技术中存在以下技术问题发卡商可以随意在智能卡上创建应用业务文件,使得创建应用业务文件的安全性得不到保证,例如恶意第三方也可以在智能卡上创建应用业务文件,可能会对提供该应用的运营商造成损失。
发明内容本发明实施例提供一种智能卡上的数据管理方法和设备,用于提高在智能卡上创建应用文件的安全性。—种智能卡上的应用业务文件创建方法,该方法包括接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;读取智能卡中保存的应用创建密钥,利用该应用创建密钥对所述密文进行解密;所述应用创建密钥是由对所述智能卡进行初始化的实体写入的密钥;若对所述密文的解密成功,则根据解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件;否则,拒绝在智能卡中创建应用业务文件。—种智能卡,该智能卡包括密钥保存单元,用于存储由对本智能卡进行初始化的实体写入的应用创建密钥;应用创建指令接收单元,用于接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;密文认证单元,用于读取所述应用创建密钥,利用该应用创建密钥对所述密文进行解密;应用创建单元,用于在所述指令认证单元对所述密文的解密成功时,根据解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件;在所述指令认证单元对所述密文的解密失败时,拒绝在智能卡中创建应用业务文件。本发明中,在接收携带密文的应用业务创建指令后,读取智能卡中保存的由对本智能卡进行初始化的实体写入的应用创建密钥,利用该应用创建密钥对应用业务创建指令中的密文进行解密,若解密成功,则在智能卡中执行应用业务文件创建操作;否则,拒绝在智能卡中执行应用业务文件创建操作。可见,通过利用智能卡中保存的应用创建密钥对应用业务创建指令进行合法认证,并在认证通过时才在智能卡中创建应用业务文件,认证失败时拒绝在智能卡中创建应用业务文件,能够阻止非法实体在智能卡中创建应用业务文件,从而有效地提高在智能卡中创建应用业务文件的安全性。图1为本发明实施例提供的方法流程示意图;图2为本发明实施例中的智能卡管理维护流程示意图;图3为本发明实施例中智能卡片状态转换示意图;图4为本发明实施例中应用业务状态转换示意图;图5A为本发明实施例中的第一发卡商发卡流程示意图;图5B为本发明实施例中的第二发卡流程示意图;图6为本发明实施例提供的智能卡结构示意图。具体实施例方式为了提高在智能卡上创建应用业务文件的安全性,本发明实施例提供一种智能卡上的应用业务文件创建方法,本方法中,利用对智能卡进行初始化的实体写入的应用创建密钥对外部发来的应用业务创建指令进行认证,在成功时才允许在智能卡中创建应用业务文件;否则,拒绝在智能卡中创建应用业务文件。参见图l,本发明实施例提供的智能卡上的应用业务文件创建方法,具体包括以下步骤步骤10:接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;步骤11:读取智能卡中保存的应用创建密钥,利用该应用创建密钥对所述密文进行解密;所述应用创建密钥是由对所述智能卡进行初始化的实体写入的密钥;步骤12:若对所述密文的解密成功,则利用解密得到的应用业务文件创建相关数据在所述智能卡中执行应用业务文件创建操作;否则,拒绝在智能卡中执行应用业务文件创建操作。步骤11中,可以在对智能卡进行初始化时,由进行初始化的实体将应用创建密钥写入智能卡,智能卡保存写入的应用创建密钥。当然,也可以在其他时机将应用创建密钥写入智能卡,在智能卡中保存有应用创建密钥时,才能利用该应用创建密钥创建应用业务文件。较佳的,在步骤IO和步骤11之间,可以对应用业务创建指令中的指令摘要信息进行认证,以使得只有合法的实体才可以在智能卡片上创建应用业务文件,进而阻止非法访问,具体如下首先,读取应用业务创建指令中携带的指令摘要信息,该指令摘要信息是发送应用业务创建指令的实体利用随机数根据数据摘要计算算法,计算得到的应用业务创建指令的摘要信息;这里,数据摘要计算算法包括IS09797-1算法、MD5算法等。发送应用业务创建指令的实体可以通过如下方法获取计算指令摘要信息时所使用的随机数发送应用业务创建指令的实体向智能卡发送取随机数指令;智能卡接收到取随机数指令后,生成随机数并将该随机数返回给发送应用业务创建指令的实体,同时智能卡在卡片内部保存该随机数。然后,利用数据摘要计算算法和智能卡中保存的随机数,对指令摘要信息进行认证;具体的,利用数据摘要计算算法和智能卡中保存的随机数,计算应用业务创建指令的摘要信息,然后将计算得到的摘要信息与应用业务创建指令中携带的摘要信息进行比对,若两者一致,则确定对指令摘要信息的认证成功,否则,该认证失败。在对指令摘要信息认证成功后,再执行步骤11,即利用读取的应用创建密钥对密文进行解密。较佳的,在步骤11和步骤12之间,可以对解密后的得到的数据进行认证,具体如下判断解密得到的应用业务文件创建相关数据是否符合预先设定的应用业务文件创建规则;若是,则根据解密得到的应用业务文件创建相关数据在智能卡中执行应用业务文件创建相关操作,否则,拒绝在智能卡中执行应用业务文件创建相关操作。这里,应用业务文件创建相关数据包括任何与创建应用业务文件相关的数据,例如,需要为待创建应用业务文件分配的存储空间大小、需要写入的待创建应用业务文件的基本数据信息等。判断解密得到的应用业务文件创建相关数据是否符合预先设定的应用业务文件创建规则,可以是判断应用业务文件创建相关数据中包含的需要为待创建应用业务文件分配的存储空间大小,是否不大于当前智能卡中的可用存储空间,若是,则应用业务文件创建相关数据符合预先设定的应用业务文件创建规则,否则,应用业务文件创建相关数据不符合预先设定的应用业务文件创建规则。又例如,判断应用业务文件创建相关数据中包含的应用业务文件数据格式,是否符合智能卡所支持的数据格式,若是,则应用业务文件创建相关数据符合预先设定的应用业务文件创建规则,否则,应用业务文件创建相关数据不符合预先设定的应用业务文件创建规则。步骤12中,在智能卡中执行应用业务文件创建操作之后,可以对已创建的应用业务文件进行管理维护操作,具体如下首先,发送应用业务创建指令的实体在智能卡中写入应用业务管理密钥;然后,接收外部发来的携带密文的应用业务管理指令,该密文为对应用业务管理相关数据进行加密后得到的数据信息;接着,读取智能卡中保存的应用业务管理密钥,利用该应用业务管理密钥对应用业务文件管理指令中的密文进行解密;对应用业务管理指令中的密文进行解密;最后,在解密成功时,利用解密得到的应用业务管理相关数据在智能卡中执行该应用业务管理指令对应的应用业务管理相关操作;否则,拒绝在智能卡中执行应用业务管理相关操作。9这里,对已创建的应用业务文件进行的管理维护操作可以是对该应用业务文件进行锁定,即禁止对该应用业务文件的任何操作。该管理维护操作对应的应用业务管理指令为锁定应用指令;对应的应用业务管理密钥为应用锁定密钥;对应的应用业务管理相关数据为应用业务文件的标识信息;对应的应用业务管理相关操作为对智能卡中的所述应用业务文件进行锁定;对已创建的应用业务文件进行的管理维护操作还可以是对已锁定的应用业务文件进行解锁,即解除对该应用业务文件的锁定操作。该管理维护操作对应的应用业务管理指令为解锁应用指令;对应的应用业务管理密钥为应用解锁密钥;对应的应用业务管理相关数据为应用业务文件的标识信息;对应的应用业务管理相关操作为对智能卡中已锁定的所述应用业务文件进行解锁;对已创建的应用业务文件进行的管理维护操作还可以是在智能卡中删除该应用业务文件。该管理维护操作对应的应用业务管理指令为删除应用指令;对应的应用业务管理密钥为应用删除密钥;对应的应用业务管理相关数据为应用业务文件的标识信息;对应的应用业务管理相关操作为对智能卡中的所述应用业务文件进行删除;对已创建的应用业务文件进行的管理维护操作还可以是对该应用业务文件的数据进行读写操作。该管理维护操作对应的应用业务管理指令为应用数据读写指令;对应的用业务管理密钥为应用主控密钥;对应的应用业务管理相关数据为待读取数据的地址信息或待写入数据;对应的应用业务管理相关操作为从智能卡中读取所述地址信息对应的应用业务文件数据或向智能卡写入所述待写入数据;对已创建的应用业务文件进行的管理维护操作还可以是删除智能卡中保存的密钥。该管理维护操作对应的应用业务管理指令为密钥删除指令;对应的应用业务管理密钥为删除密钥;对应的应用业务管理相关数据为待删除密钥;对应的应用业务管理相关操作为在智能卡中删除所述待删除密钥;对已创建的应用业务文件进行的管理维护操作还可以是修改智能卡中保存的密钥。该管理维护操作对应的应用业务管理指令为密钥修改指令;对应的应用业务管理密钥为修改密钥;对应的应用业务管理相关数据为待修改密钥和新密钥;对应的应用业务管理相关操作为将智能卡中的所述待修改密钥修改为所述新密钥。本发明中,在对智能卡进行初始化之后,对该智能卡进行初始化的实体还可以对智能卡卡片本身进行管理维护操作,具体如下首先,对智能卡进行初始化的实体在智能卡中写入卡片管理密钥;然后,接收外部发来的携带密文的卡片管理指令,该密文为对卡片管理相关数据进行加密后得到的数据信息;接着,读取智能卡中保存的卡片管理密钥,利用该卡片管理密钥对卡片管理指令中的密文进行解密;最后,若解密成功,则利用解密得到的卡片管理相关数据在智能卡中执行该卡片管理指令对应的卡片管理相关操作;否则,拒绝在智能卡中执行卡片管理相关操作。这里,对智能卡卡片本身进行的管理维护操作可以是对智能卡进行锁定,即禁止对智能卡的任何操作。对应的卡片管理指令为锁定卡片指令;对应的卡片管理密钥为卡片锁定密钥;对应的卡片管理相关数据为空;对应的卡片管理相关操作为对智能卡进行10锁定;对智能卡卡片本身进行的管理维护操作还可以是对已锁定的智能卡进行解锁,即解除对智能卡的锁定。该管理维护操作对应的卡片管理指令为卡片解锁指令;对应的卡片管理密钥为卡片解锁密钥;对应的卡片管理相关数据为空;对应的卡片管理相关操作为对已进行锁定的所述智能卡进行解锁;对智能卡卡片本身进行的管理维护操作还可以是对智能卡中的应用业务文件进行锁定,即禁止对该应用业务文件的任何操作。该管理维护操作对应的卡片管理指令为锁定应用指令;对应的卡片管理密钥为应用锁定密钥;对应的卡片管理相关数据为应用业务文件的标识信息;对应的卡片管理相关操作为对智能卡中的所述应用业务文件进行锁定;对智能卡卡片本身进行的管理维护操作还可以是对智能卡中已锁定的应用业务文件进行解锁,即解除对该应用业务文件的锁定操作。该管理维护操作对应的卡片管理指令为解锁应用指令;对应的卡片管理密钥为应用解锁密钥;对应的卡片管理相关数据为应用业务文件的标识信息;对应的卡片管理相关操作为对智能卡中已锁定的所述应用业务文件进行解锁;对智能卡卡片本身进行的管理维护操作还可以是删除智能卡中保存的密钥。该管理维护操作对应的卡片管理指令为密钥删除指令;对应的卡片管理密钥为删除密钥;对应的卡片管理相关数据为待删除密钥;对应的卡片管理相关操作为在智能卡中删除所述待删除密钥;对智能卡卡片本身进行的管理维护操作还可以是修改智能卡中保存的密钥。该管理维护操作对应的卡片管理指令为密钥修改指令;对应的卡片管理密钥为修改密钥;对应的卡片管理相关数据为待修改密钥和新密钥;对应的卡片管理相关操作为将智能卡中的所述待修改密钥修改为所述新密钥。步骤12中,应用业务文件创建操作是指与在智能卡中创建应用业务文件相关的任何操作,该操作包括在智能卡中为应用业务文件分配存储空间、建立该应用业务文件使用的文件存储结构、写入应用业务文件基本数据信息等。较佳的,为了密钥安全起见,步骤11在对密文的解密成功后,发送应用业务创建指令的实体可以修改应用业务创建密钥。具体的,发送应用业务创建指令的实体向智能卡发送应用创建密钥修改指令,智能卡接收到该应用创建密钥修改指令后,根据该应用创建密钥修改指令对智能卡中保存的应用创建密钥进行修改,例如将该应用创建密钥修改为应用创建密钥修改指令中携带的新密钥。本发明中,对智能卡进行初始化的实体与发送应用业务创建指令的实体可以相同或不同。在对智能卡进行初始化的实体与发送应用业务创建指令的实体不同时,本发明中对这两个实体分配了不同的智能卡管理维护权限,避免了现有的智能卡操作维护权限集中在发卡商一方,而造成应用业务的机密文件和数据很容易被泄露,安全性受到很大威胁的问题。下面对本发明进行具体说明多应用共存于单卡片的前提条件是这些应用运营实体必须有相关的协议。如果某个应用运营实体企图在某个发卡实体发行的卡片上安装自己的应用,必须获得该发卡实体的许可。这种许可形式可以多样,最核心的是发卡实体在给某个运营实体许可的同时,需要提供一个该应用运营实体专用的应用业务创建密钥。应用运营实体对该密钥进行认证,以此来对发卡实体的认证,证明此卡片是经发卡实体发行后的卡片,且未受到其他攻击。下面结合各图对整个机制进行说明。为描述方便,特对以下词汇解释如下发卡实体发行智能卡片的实体,其对卡片的安全负有责任,并保证各个应用业务文件的独立安全。应用运营实体在卡片上建立应用业务文件,并对建立的应用业务文件进行管理维护。应用业务创建密钥是在智能卡上创建应用业务文件时使用的密钥。主控密钥分为卡片主控密钥和应用主控密钥。卡片主控密钥用来对智能卡片进行初始化。应用主控密钥用来对应用业务文件进行初始化。在智能卡操作系统(COS)的实现上,必须保证各个运营实体的应用业务文件的机密和安全。因此,对系统中各方的权力进行限制和控制。表1中包含了发卡实体的所有权力权力控制密钥类型说明锁定卡片01在MF下有效。解锁卡片02在MF下有效。锁定应用03在MF下有效。锁定应用后应用运营商不能解锁。解锁应用04在MF下有效。初始化卡片05(卡片主控密钥)在MF下有效。采用卡片主控密钥进行外部认证的方式。当卡片中无应用时,可以擦除卡片。在MF下建立基本的卡片EF文件和密钥文件,但不允许建立应用。可以在MF下的密钥文件中添加各种密钥,包括建立应用的密钥,锁定卡片的密钥,解锁卡片的密钥,锁定应用的密钥,解锁应用的密钥。删除卡片密钥在MF下有效。根据密钥的类型及ID,认证了该密钥后就可以删除该密钥。修改卡片密钥在MF下有效。根据密钥的类型及ID,认证了该密钥后就可以修改该密钥。12表1其中,发卡商没有创建应用业务文件和删除应用业务文件的权力。如果某个发卡实体又是应用运营实体,则该发卡实体可以按照应用运营实体的相关权力去创建应用业务文件。所有的权力都由密钥来控制,由不同的指令来实现。当密钥验证不正确时,不执行对应的指令。每个密钥都有可尝试次数,以避免尝试攻击。发卡实体有锁定卡片的权力,运营商没有这个权限。锁定卡片的权力表明,发卡实体有对卡片进行废止的权力。这种权力是否受限应由发卡实体与其他应用运营实体的合作协议决定。发卡实体有对卡片进行解锁的权力,运营实体没有这个权力。由于只有发卡实体有锁定卡片的权力,因此,发卡实体也有解锁卡片的权力。发卡实体有对卡片上的应用进行锁定的权力,这是发卡实体必要的管理权限。由于在运营过程中,是由发卡实体面对用户,如果非发卡实体运营的应用业务文件出现问题,发卡实体能够及时锁定该出错的应用业务文件,并与该应用运营实体一起协同解决问题。运营实体无法解锁由发卡实体锁定的应用业务文件,这个应用业务文件的解锁必须由发卡实体处理。发卡实体有对其先前锁定的应用业务文件进行解锁的权力。如果某个应用业务文件是由发卡实体锁定,则该应用业务文件的运营实体没有解锁该应用的权力。发卡实体有对卡片进行初始化的权力,他能建立MF下的基本文件,不允许建立应用业务文件。如果需要建立应用业务文件,则需要认证其建立应用业务文件的权力。在初始化时,发卡实体可以在此建立密钥文件,这个密钥文件中除了卡片管理密钥外,还有应用业务创建密钥。这些应用业务创建密钥由应用运营实体在创建应用业务文件时使用。发卡实体有删除密钥和修改密钥的权力。该权力的实现由密钥本身控制。应用运营实体有对自己的应用完全的控制权力。表2中列出了应用运营实体的所有权力<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>表2其中,应用运营实体有创建应用业务文件的权力。这种权力是由发卡实体提供的。发卡实体在初始化卡片后,在MF下的密钥文件中写入一些应用业务创建密钥,并将这些应用业务创建密钥以一种机密的方式通知特定的应用运营实体。应用运营实体在发卡实体已经初始化的卡片上建立自己的应用业务文件。运营实体有对自己的应用业务文件进行锁定的权力,且这种锁定只能由该运营实体进行解锁。其他应用运营实体没有这种权力,发卡实体也没有这种权力。运营实体有对自己先前锁定的应用业务文件进行解锁的权力。其他应用运营实体没有这种权力。应用运营实体有对自己应用下的文件和机密数据完全的控制权力,包括读、写、更改等。其他应用运营实体没有这种权力。这种权力由应用主控密钥来控制。应用运营实体没有对其他应用进行任何操作的权力。为保证应用运营实体的安全,发卡实体对卡片上的应用业务文件没有删除的权力。应用业务文件的删除必须由对应的应用运营实体来进行删除。发卡实体没有对应用运营实体锁定的应用业务文件进行解锁的权力。应用运营实体对其应用业务文件进行锁定表明其发现外界正在对其应用进行攻击,这时必须锁定该应用业务文件,以避免应用业务文件的机密数据和文件泄露。这里涉及一个风险问题。如果发卡实体能够删除某个应用或者对应用运营实体锁定的应用进行解锁,则其可以利用这一点来对该应用进行攻击。比如,发卡实体可以在卡片上建立一个伪造的应用业务文件,用来对该应用运营实体进行攻击。应用业务文件是通过应用业务文件的标识(AID)来进行标识的,发卡实体可以伪造该AID,然后尝试该应用业务文件下的各种密钥,而该应用运营实体是无法阻止这种攻击的。因为,当应用运营实体对该应用业务文件进行锁定时,发卡实体能对该应用业务文件解锁或删除,从而能够重复尝试这种攻击。因此,在C0S中,如果应用业务文件的锁定实施者为应用运营实体,则其解锁必须由应用运营实体来进行。如果该应用业务文件的锁定实施者为发卡实体,则应用业务文件的解锁必须由发卡实体来进行。当应用运营实体发现有攻击时,其对应用业务文件进行锁定,这时只有他自己能对这个应用业务文件进行解锁,能有效的防止攻击,这保证了卡片上的应用业务文件的机密数据和文件不会泄露。通过以上的权力控制,可以防止发卡实体对卡片上的其他应用业务文件的非法访问,从而保证各个运营实体的应用业务文件数据的机密和安全。下面结合附图2描述实现以下权力的流程。这些权力包括卡片锁定,卡片解锁,应用锁定,应用解锁,删除密钥,修改密钥。步骤S01:终端向智能卡片发送取随机数指令。步骤S02:智能卡片生成随机数,将该随机数携带在随机数响应中返回给终端,并在智能卡片内部保存该随机数。步骤S03:终端根据要行使的权力,确定发送的指令类型,并采用对应的密钥,对特定数据进行加密得到密文,以及使用智能卡片返回的随机数,计算确定的指令类型对应指令的指令摘要信息。步骤S04:终端向智能卡片发送携带指令摘要信息和密文的指令。步骤S05:智能卡片接收到指令后,根据该指令的指令类型确定终端要行使权力的权力类型。步骤S06:智能卡查找卡片中保存的确定的权力类型对应的密钥。步骤S07:确定密钥是否有效,即判断该密钥的可尝试次数是否为0;若是,则返回错误码,退出本流程;若否,则到下一步骤。步骤S08:根据智能卡片中保存的随机数对指令中的指令摘要信息进行认证,若认证成功,则到下一步骤;否则,将密钥的可尝试次数减l,并返回错误码,退出本流程。步骤S09:对指令中的密文进行解密,得到特定数据的明文。对明文进行认征。步骤S10:对明文认证成功后,执行指令对应的相关操作。步骤Sll:在指令执行成功或失败后,向终端返回对应的状态码,以通知终端该指令的执行状态。不同的指令根据P1P2码来区分。由于各个指令的作用不同,其特定数据也不同,在表3中有以下描述指令PlP2特定数据备注卡片锁定FF01空卡片解锁FF02空应用锁定FF/0003应用业务文件AID在当前的目录中查找对应的密钥。FF标识是发卡商,OO标识应用运营商。应用解锁FF/0004应用业务文件AID在当前的目录中查找对应的密钥。FF标识是发卡商,OO标识应用运营商。15<table>tableseeoriginaldocumentpage16</column></row><table>发卡实体在对智能卡片进行初始化、应用运营实体创建应用业务文件和对应用业务文件进行操作时,需要进行外部认证,其密钥分别为卡片主控密钥,应用业务创建密钥和应用主控密钥。下面结合图3和图4描述智能卡片的状态变化和应用业务文件的状态变化。如图3所示,当发卡实体从卡片生产实体处得到卡片时,卡片状态为未初始化。此时,卡片中只有卡片生产实体设置的密钥文件和卡片主控密钥。这时,发卡实体能对卡片进行初始化。初始化完成后,卡片进入正常状态。当发卡实体成功的对卡片进行锁定时,卡片进入被锁定状态。在被锁定的状态下,发卡实体成功的对卡片进行解锁时,卡片进入正常状态。在卡片被锁定状态时,不能执行任何和应用相关的指令,只能执行卡片解锁相关的指令。如图4所示,在发卡实体对卡片完成初始化后,应用此时还不存在。应用运营实体根据发卡实体提供的应用业务创建密钥,对应用业务文件进行初始化。当应用业务文件建立后,应用业务文件进入正常状态。当应用实体成功的对应用业务文件进行锁定时,应用业务文件进入被应用运营实体锁定的状态,此后,应用运营实体成功的对应用业务文件进行解锁后,应用业务文件进入正常状态。同样,发卡实体对应用业务文件锁定成功后应用业务文件进入被发卡实体锁定的状态,发卡实体对应用业务文件解锁后应用业务文件进入正常状态。下面结合图5A和图5B描述发卡过程。如图5A所示,发卡实体的发卡过程如下。步骤Sll:发卡实体认证卡片生产实体写入的卡片主控密钥,若认证失败则退出本流程;否则,到下一步骤;步骤S12:擦除卡片,建立基本的文件结构,并在MF下的密文文件中写入应用业务创建密钥。此时,发卡实体发卡成功。如果某个应用运营实体与发卡实体有合作,则发卡实体提供一个应用业务创建密钥给该运营实体,并把发卡实体已经成功发行的卡片提供给该应用运营实体。应用运营实体发卡过程如下。步骤S21:认证发卡实体提供的应用业务创建密钥,若认证失败则退出发卡流程;否则,到下一步骤;步骤S22:修改应用业务创建密钥,这是为了安全起见。修改后,发卡实体将不会获知该应用业务创建密钥的值。步骤S23:创建应用业务文件的文件结构。步骤S24:删除MF下发卡实体提供的密钥。这是为了安全起见,防止被攻击。至此,应用运营实体发卡成功。这样,只要发卡实体提供了应用业务创建密钥,各个运营实体就可以独立地建立自己的应用业务文件,不再依赖于发卡实体。除了该运营实体外,其他各方均无法得到应用业务文件中的任何文件和机密数据。这样能增加各个运营实体之间的互信。参见图6,本发明实施例还提供一种智能卡,该智能卡包括密钥保存单元60,用于存储由对本智能卡进行初始化的实体写入的应用创建密钥;应用创建指令接收单元61,用于接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;密文认证单元62,用于读取所述应用创建密钥,利用该应用创建密钥对所述密文进行解密;应用创建单元63,用于在所述指令认证单元对所述密文的解密成功时,根据解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件;在所述指令认证单元对所述密文的解密失败时,拒绝在智能卡中创建应用业务文件。该智能卡还包括指令认证单元64,用于读取所述应用业务创建指令中携带的指令摘要信息,该指令摘要信息是利用随机数根据数据摘要计算算法计算得到的所述应用业务创建指令的摘要信息;利用数据摘要计算算法和所述智能卡中保存的随机数对所述指令摘要信息进行认证;所述密文认证单元62用于在所述指令认证单元对所述指令摘要信息的认证成功时,利用该应用创建密钥对所述密文进行解密。该智能卡还包括明文认证单元65,用于判断所述解密得到的应用业务文件创建相关数据是否符合预先设定的应用业务文件创建规则;所述应用创建单元63用于在所述明文认证单元判断所述解密得到的应用业务文件创建相关数据符合所述应用业务文件创建规则时,利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件。该智能卡还包括应用管理单元66,用于接收携带密文的应用业务管理指令,所述密文为对应用业务管理相关数据进行加密后得到的数据信息;读取所述智能卡中保存的发送所述应用业务创建指令的实体写入的应用业务管理密钥,利用该应用业务管理密钥对所述应用业务管理指令中的密文进行解密;若解密成功,则利用解密得到的应用业务管理相关数据在所述智能卡中执行所述应用业务管理指令对应的应用业务管理相关操作;否则,拒绝在智能卡中执行应用业务管理相关操作。所述应用业务管理指令为锁定应用指令;所述应用业务管理密钥为应用锁定密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中的所述应用业务文件进行锁定;或者,所述应用业务管理指令为解锁应用指令;所述应用业务管理密钥为应用解锁密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中已锁定的所述应用业务文件进行解锁;或者,所述应用业务管理指令为删除应用指令;所述应用业务管理密钥为应用删除密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中的所述应用业务文件进行删除;或者,所述应用业务管理指令为应用数据读写指令;所述应用业务管理密钥为应用主控密钥;所述应用业务管理相关数据为待读取数据的地址信息或待写入数据;所述应用业务管理相关操作为从所述智能卡中读取所述地址信息对应的应用业务文件数据或向所述智能卡写入所述待写入数据;或者,所述应用业务管理指令为密钥删除指令;所述应用业务管理密钥为删除密钥;所述应用业务管理相关数据为待删除密钥;所述应用业务管理相关操作为在所述智能卡中删除所述待删除密钥;或者,所述应用业务管理指令为密钥修改指令;所述应用业务管理密钥为修改密钥;所述应用业务管理相关数据为待修改密钥和新密钥;所述应用业务管理相关操作为将所述智能卡中的所述待修改密钥修改为所述新密钥。该智能卡还包括卡片管理单元67,用于接收携带密文的卡片管理指令,所述密文为对卡片管理相关数据进行加密后得到的数据信息;读取智能卡中保存的对所述智能卡进行初始化的实体写入的卡片管理密钥,利用该卡片管理密钥对所述卡片管理指令中的密文进行解密;若解密成功,则利用解密得到的卡片管理相关数据在所述智能卡中执行所述卡片管理指令对应的卡片管理相关操作;否则,拒绝在智能卡中执行卡片管理相关操作。所述卡片管理指令为锁定卡片指令;所述卡片管理密钥为卡片锁定密钥;所述卡片管理相关数据为空;所述卡片管理相关操作为对所述智能卡进行锁定;或者,所述卡片管理指令为卡片解锁指令;所述卡片管理密钥为卡片解锁密钥;所述卡片管理相关数据为空;所述卡片管理相关操作为对已进行锁定的所述智能卡进行解锁;或者,所述卡片管理指令为锁定应用指令;所述卡片管理密钥为应用锁定密钥;所述卡片管理相关数据为应用业务文件的标识信息;所述卡片管理相关操作为对所述智能卡中的所述应用业务文件进行锁定;或者,所述卡片管理指令为解锁应用指令;所述卡片管理密钥为应用解锁密钥;所述卡片管理相关数据为应用业务文件的标识信息;所述卡片管理相关操作为对所述智能卡中已锁定的所述应用业务文件进行解锁;或者,所述卡片管理指令为密钥删除指令;所述卡片管理密钥为删除密钥;所述卡片18管理相关数据为待删除密钥;所述卡片管理相关操作为在所述智能卡中删除所述待删除密钥;或者,所述卡片管理指令为密钥修改指令;所述卡片管理密钥为修改密钥;所述卡片管理相关数据为待修改密钥和新密钥;所述卡片管理相关操作为将所述智能卡中的所述待修改密钥修改为所述新密钥。该智能卡还包括密钥修改单元68,用于接收发送所述应用业务创建指令的实体发来的应用创建密钥修改指令后,对所述密钥保存单元保存的应用创建密钥进行修改。需要说明的是,本发明中对智能卡进行初始化的实体可以是发卡实体(发卡商),发送应用业务创建指令的实体可以是应用运营实体(应用运营商)。并且,本发明中的应用创建密钥可以为多个,即针对每个待创建的应用业务文件均在智能卡中保存一个应用创建密钥。综上,本发明的有益效果包括本发明实施例提供的方案中,在接收携带密文的应用业务创建指令后,读取智能卡中保存的由对本智能卡进行初始化的实体写入的应用创建密钥,利用该应用创建密钥对应用业务创建指令中的密文进行解密,若解密成功,则在智能卡中执行应用业务文件创建操作;否则,拒绝在智能卡中执行应用业务文件创建操作。可见,通过利用智能卡中保存的应用创建密钥对应用业务创建指令进行合法认证,并在认证通过时才在智能卡中创建应用业务文件,认证失败时拒绝在智能卡中创建应用业务文件,能够阻止非法实体在智能卡中创建应用业务文件,从而有效地提高在智能卡中创建应用业务文件的安全性。同时,本发明中对于对智能卡进行初始化的实体和在智能卡中创建应用业务文件的实体,进行了智能卡管理维护权力的均衡分配,使得对智能卡进行初始化的实体和在智能卡中创建应用业务文件的实体对智能卡具有不同的管理维护权限,避免了现有的智能卡操作维护权限集中在发卡商一方,而造成应用业务文件的机密文件和数据很容易被泄露,安全性受到很大威胁的问题。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。19权利要求一种智能卡上的应用业务文件创建方法,其特征在于,该方法包括接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;读取智能卡中保存的应用创建密钥,利用该应用创建密钥对所述密文进行解密;所述应用创建密钥是由对所述智能卡进行初始化的实体写入的密钥;若对所述密文的解密成功,则根据解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件;否则,拒绝在智能卡中创建应用业务文件。2.如权利要求1所述的方法,其特征在于,在利用该应用创建密钥对所述密文进行解密之前,该方法进一步包括读取所述应用业务创建指令中携带的指令摘要信息,该指令摘要信息是利用随机数根据数据摘要计算算法计算得到的所述应用业务创建指令的摘要信息;利用所述数据摘要计算算法和所述智能卡中保存的随机数对所述指令摘要信息进行认证;所述利用该应用创建密钥对所述密文进行解密包括在对所述指令摘要信息的认证成功时,利用该应用创建密钥对所述密文进行解密。3.如权利要求1所述的方法,其特征在于,在利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件之前,该方法进一步包括判断解密得到的应用业务文件创建相关数据是否符合预先设定的应用业务文件创建规则;所述利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件包括在解密得到的应用业务文件创建相关数据符合所述应用业务文件创建规则时,利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件。4.如权利要求1所述的方法,其特征在于,在利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件之后,该方法进一步包括发送所述应用业务创建指令的实体在所述智能卡中写入应用业务管理密钥;接收携带密文的应用业务管理指令,所述密文为对应用业务管理相关数据进行加密后得到的数据信息;读取智能卡中保存的应用业务管理密钥,利用该应用业务管理密钥对所述应用业务管理指令中的密文进行解密;若解密成功,则利用解密得到的应用业务管理相关数据在所述智能卡中执行所述应用业务管理指令对应的应用业务管理相关操作;否则,拒绝在智能卡中执行应用业务管理相关操作。5.如权利要求4所述的方法,其特征在于,所述应用业务管理指令为锁定应用指令;所述应用业务管理密钥为应用锁定密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中的所述应用业务文件进行锁定;或者,所述应用业务管理指令为解锁应用指令;所述应用业务管理密钥为应用解锁密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中已锁定的所述应用业务文件进行解锁;或者,所述应用业务管理指令为删除应用指令;所述应用业务管理密钥为应用删除密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中的所述应用业务文件进行删除;或者,所述应用业务管理指令为应用数据读写指令;所述应用业务管理密钥为应用主控密钥;所述应用业务管理相关数据为待读取数据的地址信息或待写入数据;所述应用业务管理相关操作为从所述智能卡中读取所述地址信息对应的应用业务文件数据或向所述智能卡写入所述待写入数据;或者,所述应用业务管理指令为密钥删除指令;所述应用业务管理密钥为删除密钥;所述应用业务管理相关数据为待删除密钥;所述应用业务管理相关操作为在所述智能卡中删除所述待删除密钥;或者,所述应用业务管理指令为密钥修改指令;所述应用业务管理密钥为修改密钥;所述应用业务管理相关数据为待修改密钥和新密钥;所述应用业务管理相关操作为将所述智能卡中的所述待修改密钥修改为所述新密钥。6.如权利要求1所述的方法,其特征在于,该方法进一步包括对所述智能卡进行初始化的实体在所述智能卡中写入卡片管理密钥;接收携带密文的卡片管理指令,所述密文为对卡片管理相关数据进行加密后得到的数据信息;读取智能卡中保存的卡片管理密钥,利用该卡片管理密钥对所述卡片管理指令中的密文进行解密;若解密成功,则利用解密得到的卡片管理相关数据在所述智能卡中执行所述卡片管理指令对应的卡片管理相关操作;否则,拒绝在智能卡中执行卡片管理相关操作。7.如权利要求6所述的方法,其特征在于,所述卡片管理指令为锁定卡片指令;所述卡片管理密钥为卡片锁定密钥;所述卡片管理相关数据为空;所述卡片管理相关操作为对所述智能卡进行锁定;或者,所述卡片管理指令为卡片解锁指令;所述卡片管理密钥为卡片解锁密钥;所述卡片管理相关数据为空;所述卡片管理相关操作为对已进行锁定的所述智能卡进行解锁;或者,所述卡片管理指令为锁定应用指令;所述卡片管理密钥为应用锁定密钥;所述卡片管理相关数据为应用业务文件的标识信息;所述卡片管理相关操作为对所述智能卡中的所述应用业务文件进行锁定;或者,所述卡片管理指令为解锁应用指令;所述卡片管理密钥为应用解锁密钥;所述卡片管理相关数据为应用业务文件的标识信息;所述卡片管理相关操作为对所述智能卡中已锁定的所述应用业务文件进行解锁;或者,所述卡片管理指令为密钥删除指令;所述卡片管理密钥为删除密钥;所述卡片管理相关数据为待删除密钥;所述卡片管理相关操作为在所述智能卡中删除所述待删除密钥;或者,所述卡片管理指令为密钥修改指令;所述卡片管理密钥为修改密钥;所述卡片管理相关数据为待修改密钥和新密钥;所述卡片管理相关操作为将所述智能卡中的所述待修改密钥修改为所述新密钥。8.如权利要求1所述的方法,其特征在于,在对所述密文的解密成功后,该方法进一步包括接收发送所述应用业务创建指令的实体发来的应用创建密钥修改指令,根据该应用创建密钥修改指令对所述应用创建密钥进行修改。9.如权利要求1-8中任一所述的方法,其特征在于,对所述智能卡进行初始化的实体与发送所述应用业务创建指令的实体不同。10.—种智能卡,其特征在于,该智能卡包括密钥保存单元,用于存储由对本智能卡进行初始化的实体写入的应用创建密钥;应用创建指令接收单元,用于接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;密文认证单元,用于读取所述应用创建密钥,利用该应用创建密钥对所述密文进行解密;应用创建单元,用于在所述指令认证单元对所述密文的解密成功时,根据解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件;在所述指令认证单元对所述密文的解密失败时,拒绝在智能卡中创建应用业务文件。11.如权利要求10所述的智能卡,其特征在于,该智能卡还包括指令认证单元,用于读取所述应用业务创建指令中携带的指令摘要信息,该指令摘要信息是利用随机数根据数据摘要计算算法计算得到的所述应用业务创建指令的摘要信息;利用数据摘要计算算法和所述智能卡中保存的随机数对所述指令摘要信息进行认证;所述密文认证单元用于在所述指令认证单元对所述指令摘要信息的认证成功时,利用该应用创建密钥对所述密文进行解密。12.如权利要求IO所述的智能卡,其特征在于,该智能卡还包括明文认证单元,用于判断所述解密得到的应用业务文件创建相关数据是否符合预先设定的应用业务文件创建规则;所述应用创建单元用于在所述明文认证单元判断所述解密得到的应用业务文件创建相关数据符合所述应用业务文件创建规则时,利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件。13.如权利要求10所述的智能卡,其特征在于,该智能卡还包括应用管理单元,用于接收携带密文的应用业务管理指令,所述密文为对应用业务管理相关数据进行加密后得到的数据信息;读取所述智能卡中保存的发送所述应用业务创建指令的实体写入的应用业务管理密钥,利用该应用业务管理密钥对所述应用业务管理指令中的密文进行解密;若解密成功,则利用解密得到的应用业务管理相关数据在所述智能卡中执行所述应用业务管理指令对应的应用业务管理相关操作;否则,拒绝在智能卡中执行应用业务管理相关操作。14.如权利要求13所述的智能卡,其特征在于,所述应用业务管理指令为锁定应用指令;所述应用业务管理密钥为应用锁定密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中的所述应用业务文件进行锁定;或者,所述应用业务管理指令为解锁应用指令;所述应用业务管理密钥为应用解锁密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中已锁定的所述应用业务文件进行解锁;或者,所述应用业务管理指令为删除应用指令;所述应用业务管理密钥为应用删除密钥;所述应用业务管理相关数据为应用业务文件的标识信息;所述应用业务管理相关操作为对所述智能卡中的所述应用业务文件进行删除;或者,所述应用业务管理指令为应用数据读写指令;所述应用业务管理密钥为应用主控密钥;所述应用业务管理相关数据为待读取数据的地址信息或待写入数据;所述应用业务管理相关操作为从所述智能卡中读取所述地址信息对应的应用业务文件数据或向所述智能卡写入所述待写入数据;或者,所述应用业务管理指令为密钥删除指令;所述应用业务管理密钥为删除密钥;所述应用业务管理相关数据为待删除密钥;所述应用业务管理相关操作为在所述智能卡中删除所述待删除密钥;或者,所述应用业务管理指令为密钥修改指令;所述应用业务管理密钥为修改密钥;所述应用业务管理相关数据为待修改密钥和新密钥;所述应用业务管理相关操作为将所述智能卡中的所述待修改密钥修改为所述新密钥。15.如权利要求10所述的智能卡,其特征在于,该智能卡还包括卡片管理单元,用于接收携带密文的卡片管理指令,所述密文为对卡片管理相关数据进行加密后得到的数据信息;读取智能卡中保存的对所述智能卡进行初始化的实体写入的卡片管理密钥,利用该卡片管理密钥对所述卡片管理指令中的密文进行解密;若解密成功,则利用解密得到的卡片管理相关数据在所述智能卡中执行所述卡片管理指令对应的卡片管理相关操作;否则,拒绝在智能卡中执行卡片管理相关操作。16.如权利要求15所述的智能卡,其特征在于,所述卡片管理指令为锁定卡片指令;所述卡片管理密钥为卡片锁定密钥;所述卡片管理相关数据为空;所述卡片管理相关操作为对所述智能卡进行锁定;或者,所述卡片管理指令为卡片解锁指令;所述卡片管理密钥为卡片解锁密钥;所述卡片管理相关数据为空;所述卡片管理相关操作为对已进行锁定的所述智能卡进行解锁;或者,所述卡片管理指令为锁定应用指令;所述卡片管理密钥为应用锁定密钥;所述卡片管理相关数据为应用业务文件的标识信息;所述卡片管理相关操作为对所述智能卡中的所述应用业务文件进行锁定;或者,所述卡片管理指令为解锁应用指令;所述卡片管理密钥为应用解锁密钥;所述卡片管理相关数据为应用业务文件的标识信息;所述卡片管理相关操作为对所述智能卡中已锁定的所述应用业务文件进行解锁;或者,所述卡片管理指令为密钥删除指令;所述卡片管理密钥为删除密钥;所述卡片管理相关数据为待删除密钥;所述卡片管理相关操作为在所述智能卡中删除所述待删除密钥;或者,所述卡片管理指令为密钥修改指令;所述卡片管理密钥为修改密钥;所述卡片管理相关数据为待修改密钥和新密钥;所述卡片管理相关操作为将所述智能卡中的所述待修改密钥修改为所述新密钥。17.如权利要求IO所述的智能卡,其特征在于,该智能卡还包括密钥修改单元,用于接收发送所述应用业务创建指令的实体发来的应用创建密钥修改指令后,对所述密钥保存单元保存的应用创建密钥进行修改。全文摘要本发明实施例公开了一种智能卡上的应用业务文件创建方法,该方法为接收携带密文的应用业务创建指令,所述密文为对应用业务文件创建相关数据进行加密后得到的数据信息;读取智能卡中保存的由对所述智能卡进行初始化的实体写入的应用创建密钥,利用该应用创建密钥对所述密文进行解密;若解密成功,则利用解密得到的应用业务文件创建相关数据在所述智能卡中创建应用业务文件;否则,拒绝在智能卡中创建应用业务文件。本发明实施例还公开了一种智能卡。采用本发明,能够有效地提高在智能卡中创建应用业务文件的安全性。文档编号G06K19/073GK101719228SQ200910241518公开日2010年6月2日申请日期2009年11月25日优先权日2009年11月25日发明者张爱明申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1