尤其是在无保护的环境下对密码模块中的秘密进行修改的方法

文档序号:6476561阅读:266来源:国知局
专利名称:尤其是在无保护的环境下对密码模块中的秘密进行修改的方法
密码模块中的秘密进行修改的方法
技术领域
本发明涉及一种对包括在密码模块中的一组秘密进行修改的方法。具 体而言,本发明适用于在无保护环境中重新加载包括在一组芯片卡中的存 取密钥。
在包括一组密码模块的系统中(例如包括密码秘密的芯片卡),对包括 在所述模块中的秘密进行管理是一项复杂的工作。尤其是,对秘密进行更 新的操作必须满足特定的安全要求。因此,通常在安全环境下对秘密进行 更新,即,通常在使用密码模块的环境之外的安全设施中进行。当密码模 块数量较多时,该管理性操作是繁重和昂贵的。
此外,为了保证正确的安全级别,密码模块不允许对秘密进行读和写 访问。 一旦更新秘密的过程遭受失败,例如在过程非有意中断之后,就不 可能在出现该故障的确切位置恢复并完成该过程。
本发明的目标主要是克服前述缺点。为此,本发明是对包括在密码模 块中的秘密进行修改的方法。所述密码模块保证了秘密的加载要么成功, 要么无效。密码模块允许读取每个秘密的版本号。密码模块包括指示对应 于一组秘密的版本号的信息。根据本发明的方法主要包括第一步骤,在该 步骤中,如果所述一组秘密的版本号等于要求加载的一组新的秘密的版本 号,则使密码模块的一组秘密的版本号等于特有的号码,使得能够确定所 述密码模块正在进行重新加载。根据本发明的方法包括第二步骤,在该步 骤中,对于每个秘密,如果所述秘密的版本号与对应的将要加载的新的秘 密的版本号不同,则加载所述新的秘密及其版本号。根据本发明的方法包 括第三步骤,在该步骤中,使密码模块的一组秘密的版本号等于所述一组 新的秘密的版本号。
在一个实施例中,将在卡上的密码模块的一组秘密的版本号记录在可 通过不可改变的秘密访问的、卡的密码模块的文件中。
在另一实施例中,在卡上的密码模块的一组秘密的版本号以仅用于指 示所述多个秘密全局版本的秘密的形式进行记录。秘密的版本号以所述第二 步骤中要重新加载的秘密中的最后一个秘密的形式进行记录。
在第二步骤中,具体地说,对每个秘密的版本号的验证是通过对各个 秘密进行相互认证直到找到中断点为止来进行。
本发明的优势主要在于能够对密码模块中的一组秘密进行修改,使得 即使更新仅可采用逐个秘密的方式进行,仍然能保证其一致性。本发明还 可以保证在重新加载密码模块内的秘密以后,已经存在于密码模块中的数 据继续可访问并不受到破坏。此外,根据本发明的方法可在任何时刻中断, 而不使包括在密码模块中的秘密受到破坏。此外,在一个或多个不管是有 意的还是意外的中断以后,在根据本发明方法的步骤的实现过程中,方法 仍可以由相同的机器实现,或者由能够追踪方法步骤的实现的不同机器来 实现。
本发明的其他特征和优势将在下面结合附图给出的描述的辅助下变得 明显,其中

图1表示根据本发明对包括在密码模块中的秘密进行修改的方 法的步骤的示意图。
根据本发明的方法主要能够恢复和完成对一组秘密(附有存取密钥的 敏感数据)的修改,所述秘密不可能重读或重写。
如图1所示,在根据本发明的方法的实施例中,包括秘密的密码模块 主要具有下述特征(该密码在方法步骤的实现过程中使用)
保证秘密的加载要么成功,要么无效(防破坏(anti-tear)原则);
同时对秘密及其版本进行更新;
能够读取每个秘密的版本号,所述秘密本身不可访问; 密码模块还包括指示对应于一组秘密的版本号的信息。
举例来说,这种密码模块可以是芯片卡,特别地是"Mifare⑧DESFire"卡。
根据本发明的方法接收一组新的秘密作为待加载的输入,而不是包括 在密码模块中的秘密。对于一组新的秘密,存在对应于该组新的秘密的相 应版本号。同样,对于包括在密码模块中的一组秘密,存在对应的一个版 本号。对于每个包括在密码模块中的秘密,存在对应的版本号。对于将要 加载的每个新的秘密,存在对应的版本号。因此每个秘密对应于一个版本号。如果版本号是相同的,则表示秘密是相同的。这对于一组秘密的版本 号也成立。
根据本发明的方法包括第一步骤l,在该步骤中,将密码模块标记为对 秘密进行重新加载。因此,在第一步骤1的过程中,在需要时确保了已请 求重新加载秘密以后,读取密码模块的一组秘密的版本号。
然后,将密码模块的一组秘密的版本号与将要加载的一组秘密的版本 号进行比较。该比较判断是否需要加载新的秘密(例如,将要加载的一组 秘密的版本号大于已经加载的一组秘密的版本号)。如果合适,贝U:
使密码模块的一组秘密的版本号等于特有的号码,使得能够确定 密码模块正在进行重新加载;
然后,在根据本发明的方法第二步骤2中,对于每个秘密,如果 该秘密的版本号与待加载的新的秘密的版本号不同,则将对应的 新的秘密与其版本号一起加载;
然后,在根据本发明的方法第三步骤3中,使密码模块的一组秘 密的版本号等于新的一组秘密的版本号。
在第一步骤l中,如果密码模块的一组秘密的版本号等于特有的号码, 使得能够确定密码模块正在进行重新加载,则这表示不可能提前完成更新 操作。在该情形下
在步骤2中,对于每个秘密,如果该秘密的版本号与新的待加载 秘密的版本号不同,则将对应的新的秘密与其版本号一起进行加 载;
然后,在步骤3中,使密码模块的一组秘密的版本号等于一组新 的秘密的版本号。
可以对这些步骤中的任何中断进行恢复,在相同机器或不同机器上在 中断位置继续进行重新加载。
在卡上的密码模块的一组秘密的版本号可以
或者存储在可通过不可改变的秘密访问的卡的文件中;
或者采用特定秘密的版本的形式进行存储,即以下秘密版本形式: O 或者是仅用于给出所述多个秘密全局版本的秘密;
O 或者是将秘密以约定的不可改变的顺序进行加载的步骤中重新加载的秘密中的最后一个。 特别是,根据本发明的方法可以应用于具有不同秘密版本号的芯片卡 池。该情形特别是在当一组芯片卡对应于一批时,以及当秘密为数据存取
密钥时出现。该方法可应用到敏感终端池,其通信秘密必须实时(in the field) 改变。根据本发明的方法还可应用于不允许在单次事务中对访问权限进行 改变的数据库。
在一个实施例中,对每个秘密版本号的验证(特别是当这些秘密不可 用或者不可读取时)可以通过对各个秘密进行相互认证直到找到中断点为 止来完成。
权利要求
1、一种对包括在密码模块中的秘密进行修改的方法,所述密码模块·保证对秘密的加载要么成功,要么无效;·允许读取每个秘密的版本号;·包括指示对应于一组秘密的版本号的信息;其特征在于,所述方法包括·第一步骤(1),在该步骤中,如果所述一组秘密的版本号等于要求加载的一组新的秘密的版本号,则使所述密码模块的所述一组秘密的版本号等于特有的号码,使得能够确定所述密码模块正在进行重新加载;·第二步骤(2),在该步骤中,对于每个秘密,如果所述秘密的版本号与对应于将要加载的新的秘密的版本号不同,则加载所述新的秘密及其版本号;·第三步骤(3),在该步骤中,使所述密码模块的所述一组秘密的版本号等于所述一组新的秘密的版本号。
2、 根据权利要求1所述的方法,其特征在于,在卡上的所述密码模块 的所述一组秘密的版本号记录在可通过不可改变的秘密访问的、所述卡的 密码模块的文件中。
3、 根据权利要求1所述的方法,其特征在于,在卡上的所述密码模块 的所述一组秘密的版本号以仅用于指示多个秘密的全局版本的秘密的形式 进行记录。
4、 根据权利要求1所述的方法,其特征在于,在卡上的所述密码模块 的所述一组秘密的版本号以所述第二步骤(2)中重新加载的秘密中的最后 一个秘密的形式进行记录。
5、 根据前述任意一项权利要求所述的方法,其特征在于,在所述第二步骤(2)中,对每个秘密的版本号的验证是通过对各个秘密进行相互认证 直到找到中断点为止来完成。
全文摘要
本发明涉及对包括在密码模块中的一组秘密进行修改的方法。所述密码模块确保秘密的加载要么完成,要么为空并且无效。所述模块允许读取每个秘密的版本号。所述模块包括指示对应于所述一组秘密的版本号的信息。根据本发明的方法包括第一步骤,在该步骤中,如果所述一组秘密的版本号等于要求加载一组新的秘密的版本号,则使密码模块中的一组秘密的版本号等于特有的号码,使得能够确定所述密码模块正在进行加载。所述方法包括第二步骤,在该步骤中,对于每个秘密,如果所述秘密的版本号与将要加载的对应的新的秘密的版本号不同,则加载所述新的秘密及其版本号。所述方法包括第三步骤,在该步骤中,使所述密码模块的一组秘密的版本号等于所述一组新的秘密的版本号。特别的,本发明可用于在无保护环境中下载包括在一组智能卡中的存取密钥。
文档编号G06F21/62GK101622625SQ200880006865
公开日2010年1月6日 申请日期2008年2月27日 优先权日2007年3月6日
发明者D·拉捷, P·达伊, T·达蒂斯 申请人:塔莱斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1