用于与安全元件的安全交互的方法

文档序号:6351169阅读:160来源:国知局
专利名称:用于与安全元件的安全交互的方法
技术领域
本发明涉及一种用于与在终端设备中集成的安全模块的安全交互的方法,具体地,涉及认证数据通过该终端设备的输入设备到该安全模块的安全输入。
背景技术
能够使得例如用于为商品或服务进行付款的许多不同的应用在例如(U) SIM移动无线卡、安全存储卡等形式的安全模块上对用户可用。保护这种应用本身和由该应用处理的数据免遭对安全模块的未经授权的访问。在该应用被释放之前,例如为了实现付款交易,用户例如通过PIN对安全模块认证自身是必要的。这使得有可能阻止第三方在用户不知情 或不同意的情况下为了其目的在终端设备上例如通过恶意代码滥用应用。这种认证数据(例如PIN)的输入通常是通过该终端设备的输入设备(例如键盘)实现,由此该安全模块被集成在终端设备中,优选地以可移除的方式被集成在终端设备中。在输入PIN和向安全模块传递PIN时,必须确保PIN不能被未经授权的第三方侦查出。这可以通过安全输入设备在受限制的框架内实现。但是,这不能排除恶意代码应用为其目的可能滥用安全输入设备。此外,无论如何,希望被侦查出的任何认证数据不能够被未经授权的第三方进一步地使用。

发明内容
因此,本发明的目的在于使得能够通过终端设备的输入设备与终端设备中的安全模块进行安全交互。这个目的通过具有独立权利要求的特征的方法、终端设备和系统实现。有利实施例和发展在从属权利要求中叙述。根据本发明的用于通过终端设备的输入设备与被集成到终端设备的安全模块进行安全交互的方法,包括以下步骤。终端设备的输入设备被可在终端设备的可信赖区域中执行的安全应用预约。随后,通过预约的输入设备输入第一认证数据。然后,安全应用利用在可信赖区域中存储的秘密数据从第一认证数据推导出第二认证数据。第二认证数据随后被安全应用加密和以加密状态传递到安全模块和/或到服务器。在安全模块和/或服务器中,最终解密所接收的加密的第二认证数据。根据本发明的适用于集成安全模块的终端设备包括输入设备和具有在其中可执行的安全应用的可信赖区域。后者适用于预约输入设备和通过预约的输入设备接收第一认证数据。安全应用还适用于利用在可信赖区域中存储的秘密数据从第一认证数据推导出第二认证数据、将第二认证数据加密和将它们以加密形式传递到集成于终端设备的安全模块中和/或传递到服务器。因此,能够确保通过终端设备的可信赖区域中的安全应用专用地接收和处理通过输入设备输入的认证数据。输入设备的预约阻止了在终端设备上的所有其他应用,使得它们在输入设备被安全应用预约的同时不能够利用这个输入设备。同样使得不可能通过安全应用实施下述在输入设备被预约的同时,尚未通过输入设备输入的伪装为假定输入数据的数据例如通过恶意代码而混入(smuggle)可信赖区域。因此,有效地防止了利用混入终端设备的不可信赖区域中的恶意代码,在从输入设备到终端设备的可信赖区域的途中侦查出认证数据的可能性。然而,如果攻击者通过其他方式(例如通过观察用户输入第一认证数据或者通过在硬件级别上篡改输入设备)成功侦查出第一认证数据,那么以这种方式获得的第一认证数据对攻击者来说是毫无价值的。没有在终端设备的可信赖区域中安全地存储的秘密数据的知识,攻击者不能够推导出第二认证数据。然而,这些(而不是第一认证数据)对于到安全模块和/或服务器的成功认证是必须的。只有第二认证数据有权对安全模块和/或服务器进行认证的这种构思有效地防止了所谓的钓鱼攻击。即使用户错误地把第一认证数据传递到不可信赖的应用,由于所述原因,它们也不能够被攻击者所使用。
由于第二认证数据在它们通过安全应用从终端设备的可信赖区域传递到安全模块和/或服务器之前被加密,并且因此一定正常地通过终端设备的不可信赖区域,因此不 再有任何可能通过在不可信赖区域中安装的恶意代码而侦查出此时的第二认证数据。向安全模块和/或服务器的认证所需要的第二认证数据以加密的形式被安全模块和/或服务器接收并且随后在安全模块和/或服务器中解密。因此,使得可以通过终端设备的输入设备与终端设备中的安全模块或者与服务器进行安全交互。本发明的方法的优点不仅在于其高安全性,而且还在于所采用的设备(尤其是终端设备和安全模块和/或服务器)、以及在终端设备和安全模块和/或服务器之间的通信可以维持大致不变。只有在终端设备的可信赖区域中执行的安全应用根据本发明而调整。这意味着,不向对应卡片的授权用户通知PIN,使用该PIN,卡片被个人化。替代地,授权用户可以在首次使用之前被要求自己输入PIN,其例如通过Change (改变)PIN命令写在卡上。终端设备的可信赖区域能够通过已知的硬件体系结构(例如,根据ARM技术,所谓ARM信任区域,以及在其中执行的由安全应用补充的安全运行时间环境)获得。替代地,已知的和适当的硬件体系结构例如是虚拟化技术或者具有TPM的可信计算。在终端设备的可信赖区域中的安全应用和安全模块和/或服务器之间的加密通信可以由已知技术实现。这样,本发明的方法能够以简单的方式集成到现有系统中。安全应用优选地通过控制驱动器应用的安全应用预约终端设备的输入装置,该安全应用在终端设备的可信赖区域中是可执行的而且被提供用于处理与输入设备的数据通信,使得通过输入设备输入的所有数据专用地(exclusively)到达数据载体的可信赖区域。因此确保第一认证数据形式的输入数据不会被可能安装在终端设备的不可信赖区域中的恶意代码侦查出。而且,通过安全应用进行的输入设备的预约阻止其他应用同时使用该输入设备。这样,就创建了从输入设备到终端设备的可信赖区域的安全通信信道。通过安全应用进行的输入设备的预约还具有下述结果在输入设备被预约的同时,除了通过输入设备输入的数据之外,没有来自不可信赖区域的数据到达终端设备的可信赖区域。因此,安全应用监视不通过输入设备输入的所有数据在它们到达终端设备的可信赖区域之前被丢弃。这阻止了恶意代码将假定输入数据混入可信赖区域(特别是越过驱动器应用)。在可信赖区域中存储的秘密数据优选地以终端设备特定的方式进行配置。这样,与将集成到终端设备中的安全模块和其用户配合,秘密数据能够在终端设备的个人化阶段期间合并入终端设备。这样,可以防止第三方在占有安全模块和获得了第一认证数据的知识的情况下能够通过其他的终端设备对安全模块认证自身。这意味着,在第一认证数据已知的情况下,仅仅包括终端设备、安全模块和在终端设备的可信赖区域中与之配合的秘密数据的系统才允许进行对安全模块的成功认证。利用秘密数据作为秘密密钥,例如利用加密哈希函数等,通过用于将第一认证数据加密到第二认证数据中的安全应用,能够从第一认证数据推导出第二认证数据。用于加密第二认证数据并用于以加密形式将第二认证数据传递到安全模块和/或服务器的传送密钥能够在安全应用和安全模块和/或服务器之间以公知方式(例如通过Diffie-Hellman密钥交换方法)进行商议。但是,一个或者几个对应传送密钥也可以已经存储在安全模块和/或服务器和终端设备的可信赖区域中。根据本发明的方法的优选实施例,第二认证数据用于释放在安全模块和/或服务器上可执行的应用,例如付款应用等。作为终端设备,优选采用移动终端设备,具体地,移动无线终端设备、PDA、智能电话、上网本等。适当的安全模块具体是(U) SM移动无线卡、安全存储卡或者优选地能够以可移除方式集成于对应终端设备中的类似的便携数据载体。适当的服务器具体是例如在用于金融交易(例如用于支付发票)的银行(诸如例如在所谓在线银行)上所使用的安全计算机。


以下,将参照附图通过示例描述本发明。附图中图IA示意地表示根据本发明的终端设备的优选实施例;图IB以同样的示意表示示出与本发明相关的图IA的终端设备的各个部分;以及图2表示根据本发明的方法的优选实施例的各个步骤。
具体实施例方式图IA示出移动无线终端设备形式的终端设备100。另外,具体地,例如PDA、智能手机、上网本等的移动终端设备同样也是可能的。终端设备100包括显示器形式的输出设备110和键盘形式的输入设备180。仅概要地表示,终端设备100包括芯片集120,利用该芯片集120控制终端设备100,参考图IB将更详细地说明该芯片集120。终端设备100适用于以可移除方式接收安全模块200 (在所示例子中为(U)SIM移动无线卡)。不同类型和设计的安全模块(例如安全存储卡)是同样可能的。安全模块200能够使得各种应用(例如支付应用210 (参考图IB))对于终端设备100的用户可用。为了防止未经授权的第三方例如通过安装在终端设备100上的恶意代码而为其目的滥用这种应用,提供有将在下面参考图IB和图2详细说明的不同的安全措施。终端设备100的控制单元所基于的硬件120使得可信赖区域130和不可信赖区域160可用。在硬件级别,安全相关的应用和数据已经能够以这样的方式与较少安全相关的数据和应用分开。来自公司ARM的硬件体系结构提供了例如在名称“信任区域”之下的这种 设置。在软件级别,安全运行时间环境140控制在可信赖区域130中的操作。用于处理在终端设备的输入设备180上的所有输入的驱动器应用142是安全运行时间环境140的一部分。因此,如果需要,能够确保通过输入设备180输入的数据不能够到达终端设备100的不可信赖区域160。但是,也能够设置驱动器应用142使得在终端设备100的不可信赖区域160中执行的应用也访问输入设备180。作为将是在可信赖区域130 (参考图2)中存储的秘密密钥keys形式的秘密数据144,下面将参考图2更详细地说明用于补充安全运行时间环境和拥有对驱动器应用142的直接访问和控制的安全应用150。如图IB中进一步所示的,通常的操作系统(0S)170控制终端设备100的不可信赖区域160。不同的非安全相关应用172能够在其中是可执行的。同样地,安全模块200通过不可信赖区域160连接到终端设备100。就是说,在安全模块200为在其上可执行的应用210和由这些应用210处理的数据保证足够的安全的同时,必须通过进一步的措施来保护通常通过终端设备100的输入设备180执行的与安全模块200的交互。这是必须的,因为传递的数据必须总是通过终端设备100的不可信赖区域160,因此可能受到由(通常未被用户注意到的)已经安装于不可信赖区域160中的恶意代码所引起的攻击。
参考图2,以下示出使下述成为可能的方法通过终端设备100的输入设备180,以安全的方式将认证数据传递到安全模块200,从而释放例如在安全模块200上可执行的付款应用210。在第一步骤SI,终端设备100的用户例如通过在终端设备100的不可信赖区域160中执行的应用172,在安全模块200上开始付款应用210的调用。这种调用使得在终端设备100的可信赖区域130中执行的安全应用150在步骤S2预约输入设备180。为此目的,安全应用150以下述这种方式控制驱动器应用142 :在预约输入设备180的同时,经过输入设备输入的所有数据专用地到达终端设备100的可信赖区域130。而且,输入设备的预约具有下述结果除了经过输入设备180输入的数据之外,没有此外的数据(特别地没有来自不可信赖区域160的数据)能够到达可信赖区域130。这样,人们就能够例如防止可能位于不可信赖区域160中的任何恶意代码模仿输入设备。当预约输入设备180时,安全应用150在步骤S3发送能够例如在显示器110上显示给用户的提示(参考图1A)。接着是在步骤S4,利用驱动器应用142,通过完全地由安全应用150控制的预约的输入设备180,通过终端设备100的用户,输入第一认证数据PINl。以这样的方式输入的第一认证数据PINl以安全方式到达终端设备100的可信赖区域130。接着,在步骤S5,利用在可信赖区域130中存储的秘密密钥keys形式的秘密数据144,通过安全应用150,从第一认证数据PINl推导出第二认证数据PIN2。这能够例如利用加密哈希函数由从第一认证数据PIN I和秘密密钥keys形成的第二认证数据PIN2实现。例如依靠安全模块200的规格而仅仅采用计算的哈希值的指定数位也是可能的。秘密密钥keys以终端设备特定的方式进行配置,调整到将要通过密钥keys推导出的认证数据PIN2释放的在安全模块200上的对应应用210。PIN2例如是在所谓EMV-PIN格式24xxxxffffffffff中的PIN。开始的数字2确立格式。数字4确立PIN长度。由xxxx表示的PIN本身与 一起被转换到8字节。这意味着在已经加密PINl之后,所得的ΡΙΝ2必须转换到EMV-PIN。安全应用150被唯一地授权以访问秘密数据144,即秘密密钥keys。仅仅以这样的方式推导出的第二认证数据PIN2 (而不是第一认证数据PIN1)使得对安全模块200的成功认证成为可能。如果攻击者因此以某种方式成功侦查出第一认证数据PIN1,则由于所述原因,他并不能够利用它们,因为他不可能推导出第二认证数据PIN2。这仅仅通过秘密密钥keys才是可能的,但是秘密密钥keys存储在攻击者不可访问的终端设备100的可信赖区域130中。为了将推导出的第二认证数据PIN2以安全方式从终端设备100的可信赖区域130传递到安全模块200,由此传递的数据必须通过终端设备100的不可信赖区域160,在步骤S6,第二认证数据PIN2再一次被安全应用150加密。为此目的,使用传送密钥keyT。后者能够以公知方式在安全应用150和安全模块200之间进行商议。但是,例如在对应个人化阶段的框架之内,使传送密钥keyT已经存储在终端设备100的可信赖区域130中和安全模块200中也是可能的。而且,能够使用用于加密第二认证数据PIN2的不对称加密系统,由此通过不同的密钥(公共密钥和秘密密钥)以公知方式来实现加密和解密。在步骤S7,现在使以此方式获得的加密的第二认证数据PIN3以安全的(因而加密的)方式传递到安全模块200。在步骤S8,在安全模块200中接收的加密的第二认证数据PIN3在其中再次通过传送密钥keyT解密。在步骤S9,在安全模块200中将因此获得的数据PIN2’与期望的认证数据PIN2进行比较。如果比较结果是肯定的,则认为用户被肯定地认证并且在步骤Sll释放付款应用210。但是,如果比较得到解密的数据PIN 2’不匹配期望的第二认证数据PIN2,则在步骤S10,安全模块200终止释放付款应用210的尝试。在这里,终止能够意味着例如在信用卡的情况下,该卡答复具有错误代码的VERIFY (校验)命令,并且重试计数器递减。
本发明的方法不仅能够认证付款功能,而且还能够认证用户,以便通过该方法的对应应用来改变PINl和PIN2。
权利要求
1.一种通过终端设备(100)的输入设备(180)与终端设备(100)中集成的安全模块(200)进行安全交互的方法,包括以下步骤 -通过在终端设备(100)的可信赖区域(130)中可执行的安全应用(150),预约输入设备(180) (S2); -经过该预约的输入设备(180),输入第一认证数据(PINl) (S4); -利用存储在可信赖区域(130)中的秘密数据(144),通过安全应用(150),从第一认证数据(PINl)推导出第二认证数据(PIN2) (S5); -通过安全应用(150)加密第二认证数据(PIN2 ) (S6 ),并且将加密后的第二认证数据(PIN3)传递到安全模块(200)和/或到服务器(S7);以及 -在安全模块(200)中和/或在服务器中解密加密后的第二认证数据(PIN3) (S8)。
2.根据权利要求I的方法,其特征在于,通过在可信赖区域(130)中可执行的用于控制输入设备(180)的驱动器应用(142)的安全应用(150)预约输入设备(180),使得通过输入设备(180)输入的所有数据都专用地到达终端设备(100)的可信赖区域(130)。
3.根据权利要求I或者2的方法,其特征在于,安全应用(150)监控在输入设备(180)被预约的同时,不通过输入设备(180)所输入的所有数据在它们到达终端设备(100)的可信赖区域(130)之前被丢弃。
4.根据权利要求I到3任何一项的方法,其特征在于,在可信赖区域(130)中存储的秘密数据(144)以终端设备特定的方式进行配置。
5.根据权利要求I到4任何一项的方法,其特征在于,安全应用(150)利用秘密数据(144)作为秘密密钥,通过将第一认证数据(PINl)加密到第二认证数据(PIN2),推导出第二认证数据(PIN2)。
6.根据权利要求I到5任何一项的方法,其特征在于,在安全应用(150)与安全模块(200)和/或服务器之间商议用于加密第二认证数据(PIN2)以用于传递加密后的第二认证数据(PIN3)的传送密钥(keyT)。
7.根据权利要求I到6任何一项的方法,其特征在于,作为终端设备(100),采用移动终端设备,具体地采用移动无线终端设备。
8.根据权利要求I到7任何一项的方法,其特征在于,作为安全模块(200),具有集成于终端设备(100)中的便携数据载体,具体地具有(U) SIM移动无线卡或者安全存储卡。
9.根据权利要求I到8任何一项的方法,其特征在于,第二认证数据(PIN2)用于释放在安全模块(200)和/或服务器上可执行的应用(210)。
10.一种适用于集成安全模块(200)的终端设备(100),包括输入设备(180)和可信赖区域(130),在可信赖区域(130)中可执行安全应用(150),安全应用(150)适用于预约输入设备(180)、通过预约的输入设备(180)接收第一认证数据(PIN1)、利用在可信赖区域(130)中存储的秘密数据(144)从第一认证数据(PIN1)推导出第二认证数据(PIN2)、力口密第二认证数据(PIN2)和将它们以加密的形式传递到集成于终端设备(100)的安全模块(200)和/或传递到服务器。
11.根据权利要求10的终端设备(100),其特征在于,安全应用(180)适用于执行根据权利要求I到9任何一项的方法。
12.—种系统,包括根据权利要求10或者11的终端设备(100)和可集成于终端设备(100)的安全模块(200),其适用于执行根据权利要求1到9任何一项的方法。
全文摘要
在通过终端设备(100)的输入设备(180)与集成于终端设备(100)中的安全模块(200)进行安全交互的方法中,输入设备(180)通过在终端设备(100)的可信赖区域(130)中可执行的安全应用(180)进行预约。随后,通过预约的输入设备(180)输入第一认证数据(PIN1)。安全应用(150)利用在可信赖区域(130)中存储的秘密数据(144)从第一认证数据(PIN1)推导出第二认证数据(PIN2)。所述第二认证数据(PIN2)随后被安全应用(150)加密和传递到安全模块(200)和/或到服务器。在安全模块(200)和/或服务器中,最终解密所接收的加密的第二认证数据(PIN3)。
文档编号G06F21/46GK102667800SQ201080052687
公开日2012年9月12日 申请日期2010年10月26日 优先权日2009年11月9日
发明者L·哈默-施密德, S·斯皮茨 申请人:德国捷德有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1