Itsofvc2应用监视器的制作方法

文档序号:6568485阅读:118来源:国知局
专利名称:Itso fvc2应用监视器的制作方法
技术领域
本发明涉及对现存的ITSO技术的改进,即由共同使用的售票智 能卡组织(Interoperable Ticketing Smartcard Organisation)所提议的电 子售票方案,其标准由英国政府开发,且并入到欧洲标准EN 1545 中,所述ITSO技术包括当前可用或在未来应可用的任何版本,特别 是用户媒体定义-ITSO part 10. CD10 I丁SO TS1000-10 2003-11 。如以 下所述,术语"售票方案"不仅包含了传统的运输售票操作,也包括 任何安全方案,在所述安全方案中,票证、辅币、代金券或处方有效 用于换取商品或服务。具体而言,本发明涉及在ITSO方案中使用的 可编程智能卡装置,所述可编程智能卡装置承载文件系统和操作软 件,所述软件能使所述装置上(on-device)文件系统与至少一个装置 外(off-device) ITSO应用交互,以使所述装置外ITSO应用能够访 问和/或修改所述装置上文件系统中的数据。
背景技术
现有ITSO方案的实现是基于仅针对简单的存储卡的。这意味着 "服务点终端(POST)"除了需要提供适当的密码之外,可以自由地 以任何顺序对卡进行读写,而无任何的检查或限制。虽然在ITSO规 范中也可以使用微处理器卡("智能卡"),但所述智能卡与POST的 交互方式和存储卡与POST的交互方式在很大程度上相似,即必须将 智能卡设置为模拟存储卡。取代在存储卡中使用扇区的是,基于智能 卡的系统在智能卡中使用文件,但它们的结构和读/写访问限制是相 似的。ITSO方案对数据使用加密的多个封缄(seal),该数据例如可以 表示对某种服务或某些其他物品价值的访问。数据的完整性通过这些 封缄来保护,而在POST中由安全访问模块("SAM")来完成的所有处理。在现有的方案中,可以将ITSO Value产品用作"电子钱包"以 保存余额(balance),其可由ITSO POST来增加或减少。可以将其实 现为一个固定数据组(Fixed Data Group, FRDG)和通常为两个的价 值数据组(Value data group, VRDG),在两个价值数据组中, 一个保 存当前的余额,而另一个保存余额的先前副本。由于ITSO规范适用 于诸如Mifare Classic之类的较低性能类型的内存卡,因此POST必 须直接涉及内存管理任务,例如当由于过早地将卡从POST移开而造 成交易异常中止时会出现何种情况。这种情况在业内被称为"防破损 (anti-tear)"。两个VRDG被用于防破损的目的,以确保在VRDG更新期间如 果卡"破损",则至少一个VRDG的副本是没有错误的。在常规操作 下,当修改IPE ("ITSO产品实体(ITSO Product Entity)"——用户 媒体或智能卡上的票证(ticket)数据集的ITSO形式)的余额时,POST 将会交替地更新VRDG组,以使一个VRDG包含当前的余额副本而 另一个包含先前的余额副本。针对防破损保护,存在两个壳体(shell) 目录的实体。"壳体"是构造为与包含多个IPE的"票证钱包"等同 的ITSO数据。当前的实体会指向当前的VRDG,而先前的实体会指 向具有余额的先前副本的VRDG。由上述涉及到的标准所提议的现有FVC2安全消息方案支持在 用户媒体(智能卡)禾卩ISAM (ITSO安全应用模块(ITSO Secure Application Module)——在POST中插入的可信计算机)之间的双向 认证来生成会话密钥。会话密钥针对从智能卡读取的数据和更新到智 能卡上的数据创建消息认证证书(Message Authentication Certificate, "MAC")(由MAC确保其完整性的一组数据的加密保护的散列 (HASH)),会话密钥在会话过程期间不会改变。对于智能卡或用户 媒体的"读取"命令,智能卡(用户媒体)对用户媒体返回的数据进 行MAC计算,并由ISAM进行验证。而在FAC2用户媒体内部,没有针对文件的选择和读取的安全条件。对于FVC2用户媒体的"更新"命令,在用户媒体文件的内部更新之前,仅由ISAM针对命令数据进行MAC计算,并由用户媒体对 其进行验证。除了应用到"更新"命令数据的安全消息,每个文件都 具有唯一的密码,该密码在"更新"命令完成之前必须被发送到用户 媒体。因为密码是静态的,因此将相同的密码应用到每一个会话中。该方案允许POST确定数据在什么时候从用户媒体(智能卡)中 读取,但它不能确定该数据是否是从正确的文件中读取的。通过幵始 新的会话和因而生成的新的会话密钥,POST能够确定用户媒体的更 新是否成功,但是其依然不能验证是否是对正确文件的更新。在现有的FVC2用户媒体接口中,除了验证MAC或更新序列是 正确的之外,用户媒体(智能卡)并不能检测正被写入的数据是否正 确。在如前述段落所描述的现有的FVC2方案中,无论有没有安全消 息,攻击者都可能从用户媒体(智能卡)读取数据并把数据写回到用 户媒体的不同的文件中,并从而通过选择不同的文件来改变由POST 写入数据的文件。通过利用这些弱点,攻击者能够制造IPE产品的多 个副本、或者复制己更新的产品到在POST进行产品的更新验证时将 读取的用户媒体上的不同文件中。这些攻击可以在ITSO应用中使用以停止VRDG的修改,在该 VRDG中,POST试图减少VRDG上的余额,即攻击者已经改变了位 置(将更新的VRDG写到用户媒体上的该位置),并且当POST读回 数据时返回此数据。即使POST开始新的会话来生成新的会话密钥, 也无法确定读取的数据是否存储到了正确的文件中。类似地,可以利 用攻击来停止对指向更新的VRDG的ITSO目录的更新,该更新的 VRDG使POST在下一次使用CM时使用先前的VRDG副本。这被 称为一种"重放攻击",导致了 "无限的钱包"。因而,现有的ITSO规范的当前微处理器版本(FCV2)并不能 保护智能卡抵挡涉及对POST和卡之间交易步骤的重排序的攻击。发明内容根据本发明,上述的可编程智能卡装置的特征在于,其包括监视模块,所述监视模块监视由离线应用执行的、对在所述装置上文件中 的数据进行访问和/或修改的一系列操作,并在所述一系列操作不符 合预定标准时限制或阻止对这种数据的进一步的访问或修改。优选 地,所述监视模块包括可以被设置为多个状态中一个状态的状态机, 所述多个状态中的至少一个状态是错误状态,在所述错误状态下,在 所述一系列操作被重新开始之前,阻止对在一些或所有的所述装置上 文件中的数据的进一步的修改。本发明还提供了智能卡方案,包括至少一个可编程智能卡装置, 所述可编程智能卡装置承载文件系统和操作软件,所述软件能使所述 装置上文件系统与在接口装置的至少一个装置外应用交互,以使所述 装置外应用能够访问和/或修改所述装置上文件系统中的数据;所述 系统使所述智能卡装置与所述接口装置相互接合(inter-engagement), 以使所述接口装置生成在一系列操作期间在数据和/或命令的加密/解 密中使用的会话密钥,所述一系列操作被执行以访问和/或修改由所 述可编程智能卡装置承载的数据,所述方案的特征在于,修改所述可 编程智能卡装置上的数据的一系列操作的完成使得所述接口装置打 幵新的会话,生成第二个会话密钥,并使用所述第二个会话密钥来验 证己经根据预期的一系列操作修改了所需的数据。根据本发明的优选实施例,通过监视FVC2用户媒体(智能卡) 的更新,来确保写入到用户媒体的数据的内容正确,以及被发送到了 正确的目的地,从而抑制对上述ITSO方案的安全威胁。同时,还提 出了在提供了正确的密码和MAC的情况下,FVC2用户媒体不是简 单地将数据写到任何文件中,而是强制实施相关的ITSO应用处理规 则,以阻止上面所详述的攻击。因而,本发明可以实现增强的ITSO 兼容卡和终端,其足够安全以可用作在全国部署应用的电子钱包。


下面将通过示例并引用附图来对本发明的实施例进行详细描述, 所述附图是表示能够实现本发明效果的状态机的示意图。
具体实施方式
本发明只涉及对ITSO Value产品的修改。其基于用户媒体定义 (ITSOpart 10. CD10ITSOTS1000-10 2003-11)中指定的处理规则。 在本发明中,FVC2用户媒体(其例如是智能卡等)将会在常规处理期 间执行以下的处理和数据监视检査。 状态l在状态1中,FVC2用户媒体将监视到来的更新命令,并且在以下任何一种检测失败的情况下,将状态变换为"错误"。*检测在IPE中仅出现了多个VRDG数据组中的一个数据组的一次 更新。这可以确保攻击者不能进行多次更新,即恢复VRDG的原 始内容。这不会影响其中将两个VRDG都写入到用户媒体的IPE 的创建,这是由于IPE不会存在于目录扇区链表或者专属 (proprietary)文件中,并且因此将不会受用户媒体监视。*通过验证VRDGISAMID和ISAM S弁来检测更新的VRDG是相 同的IPE产品。这是为了确保VRDG不会被另一个IPE产品的另 一个VRDG所重写。*检测所更新的VRDG没有被IPE固定数据组(FRDG)所重写。*检测VRDG更新的偏移量(offset)是0x0000。*检测在更新的VRDG中最高的价值序列号(TS#)等于在其他 VRDG中的最高的TS^加上1。这条规则对常规操作和从防破损 状态的复原是有效的。它能确保先前的VRDG副本没有被恢复, 且确保该VRDG没有被使用其它VRDG副本而重写。*检测没有对不应存储的VRDG的其他文件的更新。这可以通过解 释目录扇区链表来实现,解释目录扇区链表以确定哪些文件应该 具有VRDG或者哪些文件应该从专属文件或指定用户媒体上 VRDG的位置的单元中读取数据。*检测已更新的目录仅被写入到为目录副本保留的用户媒体上的最 后两个文件之一。这确保了攻击者不能制造临时目录副本来通过*检测只有目录的副本被更新到保留的目录文件中。这确保了攻击者无法破坏IPE数据组的目录。 状态2在ITSO方案常规处理中,只执行了目录的一个更新。目录的更 新将会把内部FVC2用户媒体的状态变为2。在状态2中,FVC2将 不允许任何其它命令被成功执行。 错误状态在错误状态中,在用户媒体被复位之前,FVC2用户媒体将不允 许对用户媒体进行任何进一步的更新。此外,在现有的ITSOFVC2安全消息方案中,POST无法确认其 请求写入到FVC2用户媒体的数据在用户媒体中确实被更新,这是因 为对于更新操作的响应并没有包括来自FVC2用户媒体的任何安全 消息的验证数据。对于更新操作的响应只包括了攻击者可能生成且返 回到POST的状态字节。进一步地说,POST无法确定发送到FVC2 用户媒体的更新命令是否被发送到正确的文件中或者被修改来更新 预期的文件中的不同偏移量。在现有的FVC2安全消息方案中,攻击 者能够停止对于正在减少价值的文件的更新,能够在会话的开始时用 文件的先前内容来更新文件,或者能够通过把数据写到FVC2用户媒 体上正确文件中的不正确位置来破坏文件。在后一种情况下,攻击者 将会破坏ITSO产品的副本,使ITSO的应用还原至FVC2用户媒体 上ITSO产品的较旧副本,如同ITSO防破损方案的部分常规操作那 样。通过在"更新"命令之后读回数据,POST可以使用ISAM来验 证从FVC2用户媒体读取的数据。然而,由于"读取"和"更新"这 两个命令都只对命令数据计算MAC,所以从相同偏移量的读取返回 的MAC将会是包含在对应的"更新"命令中的同一 MAC,因此, POST无法确定数据是否被更新或者它只接收了由它产生的MAC。为了克服上述缺点,在本发明中,第二次安全会话开始于会话中 的FVC2用户媒体更新之后。第二安全消息会话将会生成新的安全消 息会话密钥。POST能够执行在FVC2用户媒体上其请求被更新的数 据的读取,来验证数据被写入到了正确文件的正确偏移量中。在POST没有更新整个数据组的情况下,它必须确保读取验证包含了数据组中 足够的数据范围,来确保攻击者在数据组更新中没有变更偏移量来破 坏或修改数据组。因而,可以实现本发明所提供的技术以使通常在较低安全的环境中工作的FVC2用户媒体能够以足够安全的方式被使用,以用作在全 国范围内部署的电子钱包方案。
权利要求
1、一种在ITSO方案中使用的可编程智能卡装置,所述可编程智能卡装置承载文件系统和操作软件,所述软件能使所述装置上文件系统与至少一个装置外ITSO应用交互,以使所述装置外ITSO应用能够访问和/或修改所述装置上文件系统中的数据;所述可编程智能卡装置的特征在于,其包括监视模块,所述监视模块监视由离线应用执行的、对在所述装置上文件中的数据进行访问和/或修改的一系列操作,并在所述一系列操作不符合预定标准时限制或阻止对这种数据的进一步的访问或修改。
2、 根据上述任一权利要求所述的装置,其中,所述监视模块包 括可以被设置为多个状态中一个状态的状态机,所述多个状态中的至 少一个状态是错误状态,在所述错误状态下,在所述一系列操作被重 新开始之前,阻止对在一些或所有的所述装置上文件中的数据的进一 步的修改。
3、 根据权利要求2所述的可编程智能卡装置,当所述监视模块 确定在同一ITSO产品实体中的多个价值数据组之一已经进行了多于 一次的更新时,将所述状态机设置为所述错误状态。
4、 根据权利要求2或3所述的装置,当所述监视模块通过对价 值数据组的ISAM ID和ISAM S^进行验证而确定己更新的价值数 据组没有与正确的ITSO产品实体相关联时,将所述状态机设置为所 述错误状态。
5、 根据权利要求2至4中任何一项权利要求所述的装置,当所 述监视模块确定所述己更新的价值数据组已经被与所述ITSO产品实 体相关联的固定数据组重写时,将所述状态机设置为所述错误状态。
6、 根据权利要求2至5中任何一项权利要求所述的装置,当所 述监视模块确定所述价值数据组更新的偏移量不是0x0000时,将所 述状态机设置为所述错误状态。
7、 根据权利要求2至6中任何一项权利要求所述的装置,当所 述监视模块确定所述已更新的价值数据组中的最高价值序列号比与 所述同一 ITSO产品实体相关联的其他价值数据组的最高价值序列号 大一时,将所述状态机设置为所述错误状态。
8、 根据权利要求2至7中任何一项权利要求所述的装置,当所 述监视模块确定价值数据组已经被更新到不应存储VRDG的文件上 时,将所述状态机设置为所述错误状态。
9、 根据权利要求2至8中任何一项权利要求所述的装置,当所 述监视模块确定已更新的目录被写入到的文件不是在为目录副本保 留的所述装置上的最后两个文件之一时,将所述状态机设置为所述错 误状态。
10、 根据权利要求2到9任何一项权利要求所述的装置,当所述 监视模块确定目录副本已经被更新到的文件不是保留的目录文件时, 将所述状态机设置为所述错误状态。
11、 一种ITSO智能卡方案,包括至少一个可编程智能卡装置, 所述可编程智能卡装置承载文件系统和操作软件,所述软件能使所述 装置上文件系统与在接口装置的至少一个装置外ITSO应用交互,以 使所述装置外ITSO应用能够访问和/或修改所述装置上文件系统中 的数据;所述系统使所述智能卡装置与所述接口装置相互接合,以使 所述接口装置生成在一系列操作期间在数据和域命令的加密/解密中 使用的会话密钥,所述一系列操作被执行以访问和/或修改由所述可编程智能卡装置承载的数据,所述方案的特征在于,修改所述可编程智能卡装置上的数据的一 系列操作的完成使得所述接口装置打开新的会话,生成第二个会话密 钥,并使用所述第二个会话密钥来验证已经根据预期的一系列操作修 改了所需的数据。
12、根据权利要求11所述的方案,其中,所述可编程智能卡装置是根据权利要求1至10中任何一项权利要求所述的装置。
全文摘要
本发明提供了一种基于ITSO的智能卡系统,该系统包括在ITSO方案中使用的可编程智能卡装置,所述可编程智能卡装置承载文件系统和操作软件,所述软件能使所述装置上文件系统与至少一个装置外ITSO应用交互。在接口,允许离线装置ITSO应用访问和/或修改所述装置上文件系统中的数据。所述可编程智能卡装置包括监视模块,所述监视模块监视由离线应用执行的、对在所述装置上文件中的数据进行访问和/或修改的一系列操作,并在所述一系列操作不符合预定标准时限制或阻止对这种数据的进一步的访问或修改。优选地,所述监视模块包括可以被设置为多个状态中一个状态的状态机,所述多个状态中的至少一个状态是错误状态,在所述错误状态下,在所述一系列操作被重新开始之前,阻止对在一些或所有的所述装置上文件中的数据的进一步的修改。所述系统使所述智能卡装置与所述接口装置相互接合,以使所述接口装置生成在一系列操作期间在数据和/或命令的加密/解密中使用的会话密钥,所述一系列操作被执行以访问和/或修改由所述可编程智能卡装置承载的数据。优选地,修改所述可编程智能卡装置上的数据的一系列操作的完成使得所述接口装置打开新的会话,生成第二个会话密钥,并使用所述第二个会话密钥来验证已经根据预期的一系列操作修改了所需的数据。因此本发明能够为基于ITSO的系统提供更好的防欺骗保护。
文档编号G06F21/50GK101238492SQ200680029073
公开日2008年8月6日 申请日期2006年6月6日 优先权日2005年6月7日
发明者A·布雷斯林, B·S·霍赫菲尔德, S·威廉森 申请人:埃塞博斯集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1