CN101410847B - 在移动设备处的消息处理方法以及移动设备和智能卡 - Google Patents

在移动设备处的消息处理方法以及移动设备和智能卡 Download PDF

Info

Publication number
CN101410847B
CN101410847B CN2007800112240A CN200780011224A CN101410847B CN 101410847 B CN101410847 B CN 101410847B CN 2007800112240 A CN2007800112240 A CN 2007800112240A CN 200780011224 A CN200780011224 A CN 200780011224A CN 101410847 B CN101410847 B CN 101410847B
Authority
CN
China
Prior art keywords
message
response
mobile device
smart card
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007800112240A
Other languages
English (en)
Other versions
CN101410847A (zh
Inventor
C·宾丁
F·多利沃
R·赫尔曼
D·胡泽曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101410847A publication Critical patent/CN101410847A/zh
Application granted granted Critical
Publication of CN101410847B publication Critical patent/CN101410847B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Abstract

本发明提出了一种用于经由运行在移动设备上的第一应用来从所述移动设备发送消息的方法。所述方法包括:质询步骤,用于向所述第一应用提供质询;响应步骤,用于接收对所述质询的响应;相等性检查步骤,用于判定所接收的响应是否符合预期响应;签名步骤,用于利用密钥和所述相等性检查步骤的结果来为所述消息提供签名;以及发送步骤,用于经由所述第一应用将所签名的消息从所述移动设备发送到后端系统。

Description

在移动设备处的消息处理方法以及移动设备和智能卡
技术领域
本发明涉及一种经由运行在移动设备上的应用来从所述移动设备发送消息的方法。本发明也涉及一种用于在移动设备处接收消息的方法。本发明还涉及一种移动设备和智能卡。 
背景技术
构建包括后端/基础设施组件以及嵌入式系统组件的集成系统会带来确保端到端系统完整性的问题。在此类集成系统中,后端系统依赖于来自嵌入读出组件的数据是正确的且未被篡改。 
确保后端系统的完整性是众所周知的问题,可利用多种机制和措施并且它们通常用于保护系统以及确保系统完整性。此外,后端系统通常安装在也被物理保护的固定物理位置,并且可以监视对所述系统的物理访问。相比之下,嵌入组件经常是移动的、具有有限的资源以及更难保护。通常不能控制或限制对这些嵌入组件的物理访问。例如,嵌入式系统可以安装在汽车上,并且能够接近汽车的任何人都能够使用嵌入式系统本身。 
因此,问题是确保系统完整性,即确保在一侧包括后端系统和在另一侧包括移动设备的环境中没有篡改应用映像。完整性用于确保在后端系统和移动设备之间发送的消息能够被相信为来自完整的源。 
使用具有集成密码组件的专用处理器或者使用集成智能卡(例如可信计算组织(TCG)的可信平台模块(TPM)机制)是众所周知的,其中安全组件可以例如访问CPU的状态,并且能够被动地监视存储器访问,或者依靠应用映像的校验和并将这些校验和与存储在应用映像中的预先计算的校验和相比较。第一个方法从硬件来看是相对昂贵的并且只适用于大批量,而应用映像的逆向工程可使后一方法变得无效。 
因此,提供一种克服上述缺点的用于将消息从移动设备发送到后端系统的方法是一个难题。 
发明内容
根据本发明的一个方面,提供了一种用于经由运行在移动设备上的第一应用来从所述移动设备发送消息的方法,所述方法包括:质询步骤,用于向所述第一应用提供质询;响应步骤,用于接收对所述质询的响应;相等性检查步骤,用于判定所接收的响应是否符合预期响应;签名步骤,用于利用密钥和所述相等性检查步骤的结果来为所述消息提供签名;以及发送步骤,用于经由所述第一应用将所签名的消息从所述移动设备发送到后端系统。利用上述处理,将测试所述第一应用的完整性,并且此测试的结果将影响被发送给所述后端系统的消息的签名。后端系统在此被理解为与所述移动设备物理分离并且具有到所述移动设备的通信连接的系统。在优选实施例中,此类后端系统可以包括以下任意一种功能:控制所述移动设备;存储来自所述移动设备或被发送给所述移动设备的数据;跟踪所述移动设备;执行对所述移动设备的检查;更新所述移动设备上的软件;处理来自所述移动设备或被发送给所述移动设备的数据;将来自所述移动设备的数据发送给其他系统等。 
在一优选实施例中,在所述签名步骤之前,在消息修改步骤中利用所述相等性检查步骤的结果来修改所述消息。此步骤具有以下优点,即它能够相对于所述第一应用透明地被执行,特别是如果在发送所述消息之前所述消息不但被修改而且被加密时。然后即使已经检测到所述第一应用的不完整性(non-integrity),所述第一应用本身也不能检测到所述消息修改,所述消息修改将其不完整性发信号通知后端,并且基于一切正常(即好像它是完整的)的假设,所述第一应用将所述消息传送给所述后端系统。 
在一优选实施例中,通过将所述相等性检查步骤的结果添加到所述消息来修改所述消息。这具有以下优点,即所传送的消息的原始内容将不被改变,并且接收方仍将能够确定进行发送的第一应用的不完整性。此外, 此类消息修改在技术上易于实现。 
在一优选实施例中,所述消息本身携带任意种类的信息,其中所述信息不包含任何与所述第一应用的安全性、真实性或完整性有关的信息。上述方法因此适于修改消息,如果第一应用是完整的则所述消息本身未被修改。因此优点在于,对于完整的第一应用,向/从所述移动设备传送消息的机制与没有任何完整性检查时执行的机制没有不同,例外是由于完整性检查导致的可能延迟。另一方面,优点在于,如果第一应用不完整,则所述消息的接收方能够了解完整性问题,且与该问题有关的信息附加在所述消息上。所述移动设备本身能够充当关于其自己的不完整性的信息的传送者。为了以有利的方式实现这一点,可以在所述第一应用未意识到已检测到其缺少完整性的情况下执行所述方法。因此,能够由所述第一应用以透明的方式传递完整性信息。 
在一优选实施例中,利用存储在智能卡上的私钥/公钥对的私钥来加密所述消息。因此可以实现以下优点,即利用使用非对称密钥的公知机制来提高安全性。具有存储在其上的私钥/公钥对的智能卡是最新技术,因此存在机制以提供增强水平的防篡改,使攻击者更难以获取所述私钥。因此智能卡技术可用于加强所述移动设备的安全性。同时,所述智能卡无需执行像处理传感器数据或向后端系统发送消息和从后端系统接收消息之类的服务。 
在一优选实施例中,所述密钥保存在智能卡上。在一更加优选的实施例中,选择所述密钥以包括存储在智能卡上的私钥/公钥对的私钥。出于与如上所述的关于所述私钥/公钥对的同样的理由,用于签名的密钥也能够存储在所述智能卡上并利用其增强的安全水平。还可以将所述私钥/公钥对的私钥用作所述密钥,由此减少存储的数据量和密钥数。另一方面,使用不同于所述私钥的密钥会增加安全性,因为攻击者将需要破译两个密钥以获得所述消息或修改所述消息。 
根据本发明的第二方面,提供了一种用于经由运行在移动设备上的第一应用来在所述移动设备处接收消息的方法,所述方法包括:消息接收步 骤,用于接收加密形式的所述消息;质询步骤,用于向所述第一应用提供质询;响应步骤,用于接收对所述质询的响应;相等性检查步骤,用于判定所接收的响应是否符合预期响应;如果所述相等性检查步骤的结果是肯定的,则执行用于解密所述消息的消息解密步骤,如果所述相等性检查步骤的结果是否定的,则执行错误生成步骤。结合所述第一方面一起说明的优点对该第二方面也适用。再次地,只有已确认其完整性,所述第一应用才能够继续其操作。否则,它无法访问消息。所述完整性检查在所述第一应用的外部执行,因此所述第一应用本身也不能绕过此安全性操作。 
在一优选实施例中,使用存储在智能卡上的私钥/公钥集的公钥来创建所述加密形式。通过此步骤,能够利用由具有私钥/公钥集的公知智能卡所提供的增强安全性。可以以这样的方式设置此类安全水平:使用公知窃取方法来试图访问智能卡上的私钥的攻击者在所述移动设备的使用寿命期间不能访问此密钥。 
在一优选实施例中,使用与所述消息一起接收的对称密钥来创建所述加密形式,其中以加密的形式接收所述对称密钥,其中使用存储在智能卡上的私钥/公钥集的公钥来创建该加密的形式。但是,在此所述对称密钥作为会话密钥来工作,只有所述智能卡解包所述会话密钥,才可由所述第一应用访问所述会话密钥。再次地,通过所述智能卡上的私钥/公钥加密提供的增强安全性保护所述消息的内容,直到已确认所述第一应用的完整性。会话密钥的使用减少了由所述智能卡执行的工作量。在已确认完整性之后,可以由所述第一应用本身使用解包的会话密钥来执行所述消息的解密。此步骤在计算上比会话密钥解包(即,解密)更加密集,并且因此使用更多的时间以及使用更多的能量。为了减少功耗,在解密所述会话密钥之后可以关闭或减少所述智能卡的电力,并且只有具有其运行的第一应用的移动设备使用能量以继续其操作。 
在一优选实施例中,从一组预定的质询/预期响应选择所述质询和所述预期响应。由此减少了所述第一应用试图通过预先计算预期散列值来绕过完整性检查的风险。所述一组预定的质询/预期响应越大,则尽管所述第一 应用映像不完整但所述第一应用成功创建符合所述预期响应的响应的可能性就越小。 
在一优选实施例中,借助智能卡上的完整性小应用程序来执行所述质询步骤和所述响应步骤。这是有利的,因为与在第一CPU20(在该处,所述第一应用能够影响这些步骤)上执行此操作相比,这些步骤接着在更安全的计算环境中执行。 
在一优选实施例中,所述质询步骤包括请求计算所述移动设备的存储器中的预定存储区域的散列值。其优点是散列值的计算在技术上相当简单,虽然它提供了一种识别与完整存储区域的甚至单个位偏差的方法。 
在一优选实施例中,选择所述存储区域以包括所述第一应用的第一应用映像的至少一部分。通过此选择,在非易失性存储器中检查目标第一应用,因此以有利的方式增加了完整性改变检测的可能性。 
在一优选实施例中,通过起始地址和结束地址来确定所述存储区域,所述存储区域在所述一组预定的质询/预期响应的不同质询之间是不同的。此选择有利地提供了设计不同质询的简单方法,因为所述起始地址和结束地址提供了所述第一应用映像的参数,所述参数提供了相对较多的选择变化。 
在一优选实施例中,如果所述相等性检查步骤的结果是否定的,则将其维护为否定的完整性标志。此操作是有利的,因为由此防止曾经不完整的第一应用返回完整的状态,不允许不完整的第一应用通过重建完整的第一应用映像来采取措施以试图掩饰其持续的不完整性。 
在另一优选实施例中,与相应的质询一起存储所述相等性检查的否定结果。此操作的优点是接着可能导出所述应用的哪一部分已经被篡改。 
在一优选实施例中,可经由所述移动设备的第一通信模块来更新所述第一应用,因此优点在于所述移动设备无需出现在预定位置以执行所述第一应用的更新。 
在一优选实施例中,所述更新后的第一应用存储在第二应用映像中。这允许通过从所述第一应用映像切换到所述第二应用映像来更新第一应用 的有益特性。自然地,这可以通过在所述第一应用映像的存储空间中还存储下一个更新并再次切换到该更新来继续。可以通过维护版本号并使CPU使用较高的版本号作为在何处存储最新更新的指示器来实现此切换。 
在一优选实施例中,与更新后的一组质询/预期响应一起接收所述更新后的第一应用。这样不但应用更新,而且同时还可以加载用于所述完整性检查的相应质询/预期响应,这提供了时间优点。如果经由所述通信模块发送更新,则完全形式的远程更新是可能的,使处于任意位置的所述移动设备正好在所述通信模块的到达距离内。 
在一优选实施例中,所述方法还包括确认步骤,其中在所述相等性检查步骤之后确认接收所述响应而不通知所述相等性检查步骤的结果。此类确认步骤具有以下优点,即将所述第一应用保持在不显示完整性检查结果的信息状态。由此所述完整性步骤和任何最终结果对所述第一应用保持不透明。因此所述确认步骤是所述完整性小应用程序的一个元素,所述完整性小应用程序假装一切正常并且质询响应过程以肯定的结果获得成功。由此所述第一应用保持未被通知并且没有理由执行任何可以损害所述移动设备、消息或后端系统或任何其他附加系统的操作,或者延迟发送所述消息并且由此延迟所述检测。 
根据本发明的第三方面,提供了一种包括计算机程序代码装置的计算机程序元件,当所述计算机程序代码装置被加载到数据处理系统的处理器中时,所述计算机程序代码装置将所述处理器配置为执行所述的方法。有利地,所述方法能够被编程到此类数据处理系统中,其中所述用于经由运行在移动设备上的第一应用来从所述移动设备发送消息的方法将被编程到智能卡数据处理系统中。所述用于经由运行在移动设备上的第一应用来在所述移动设备处接收消息的方法也将被编程到智能卡数据处理系统中。 
还可以以包括计算机可读介质的计算机程序产品的形式来提供所述计算机程序元件,所述计算机可读介质包含可由处理器执行以执行如上所述的方法的程序指令。 
根据本发明的第三方面,提供了一种移动设备,所述移动设备包括: 存储器,用于在其中存储第一应用的第一应用映像;第一处理器,其适于计算对接收的质询的响应;读卡器,用于从智能卡接收所述质询,发送所述响应,以及接收签名消息;以及第一通信模块,用于将所述签名消息发送到后端系统。 
根据本发明的第四方面,提供了一种智能卡,所述智能卡包括在其中存储的完整性小应用程序和电子签名小应用程序,所述完整性小应用程序用于执行:质询步骤,用于向第一应用提供质询;响应步骤,用于接收对所述质询的响应;相等性检查步骤,用于判定所接收的响应是否符合预期响应;所述电子签名小应用程序用于执行:签名步骤,用于利用密钥和所述相等性检查步骤的结果来对消息签名;签名转发步骤,用于将所述消息的签名转发给第一通信模块。 
在一优选实施例中,所述完整性小应用程序还适于执行确认步骤,其中在所述相等性检查步骤之后确认接收所述响应而不通知所述相等性检查步骤的结果。 
在又一优选实施例中,所述智能卡还包括私钥/公钥对,所述私钥/公钥对的公钥可用作所述密钥。 
在另一个优选实施例中,所述智能卡还包括一组预定的质询/预期响应,可从所述一组预定的质询/预期响应选择所述质询及其预期响应。 
在再一个优选实施例中,所述智能卡还包括完整性标志,其中如果所述相等性检查步骤的结果是否定的,则维护所述完整性标志。 
附图说明
通过结合附图参考根据本发明的当前优选但仍是说明性实施例的下列详细说明,将更完整地理解本发明及其实施例。 
这些附图是: 
图1,示出了与移动设备通信的后端系统的示意图; 
图2,非易失性存储器的分区的实例; 
图3,示出了移动设备的功能组件的示意图;
图4,一种用于使用被篡改的第一应用将消息从移动设备发送到后端系统的方法的流程图; 
图5,一种用于使用未被篡改的第一应用将消息从移动设备发送到后端系统的方法的流程图; 
图6,一种用于使用未被篡改的第一应用在移动设备处接收来自后端系统的消息的方法的流程图; 
图7,一种用于使用被篡改的第一应用在移动设备处接收来自后端系统的消息的方法的流程图。 
具体实施方式
图1示出了包括计算环境的移动设备200,所述环境包含存储器40(在下文中被称为非易失性存储器40)、第一通信模块60、第一主存储器30(也被称为第一RAM30)以及第一处理器20(也被称为第一CPU20),所有组件均连接到第一数据/地址总线50。第一CPU20还连接到读卡器100,读卡器100用于当插入智能卡10时读取智能卡10。 
智能卡、芯片卡或集成电路卡在此被理解为具有嵌入集成电路的小型卡。智能卡10也被称为包含卡存储器和微处理器组件的微处理器卡。具体地说,具有防篡改属性(例如,安全密码处理器、安全文件系统、人类可读特征)的信用卡大小或更小的微处理器卡(例如,GSM SIM卡)能够被用作智能卡10,并且能够提供例如在其卡存储器中的信息保密的安全服务。 
在优选实施例中,移动设备200可以是嵌入平台,其中第一应用映像41存储在非易失性存储器40中,非易失性存储器40例如闪速RAM、EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件或可编程逻辑。非易失性存储器40可以包括内部存储设备、附加存储设备和/或可网络访问的存储设备。除了描述的计算环境之外,嵌入平台可以包括一个或多个传感器,可以在移动设备200中处理所述传感器的信号。 
移动设备200可以连接到包括计算环境的后端系统300,所述计算环 境包含第二通信模块70、第二主存储器90(也被称为第二RAM90)和第二处理器80(也被称为第二CPU80),所有的组件均连接到第二数据/地址总线110。 
第一通信模块60和第二通信模块70适于彼此通信。 
第一CPU20从其上存储第一应用映像41的非易失性存储器40加载第一应用1。第一应用1可以例如包括传感器的传感器信号的处理。第一主存储器30是由第一CPU20处理的数据所存储的位置。在一优选实施例中,移动设备200将消息μ发送到后端系统300,例如,消息μ包含处理传感器信号的结果。对于后端系统300,能够依靠所接收消息μ的完整性是所希望的。因为移动设备200一般位于远程并因此不受后端系统300的控制,所以后端系统300无法或只有有限的可能来确定移动设备200没有被未授权的人访问,所述未授权的人可以更改第一应用映像41,由此修改第一应用1并因此修改对传感器信号的处理。结果,消息μ可能包含不再是原始未修改的第一应用1将产生的数据的数据。在下文中,此类未授权的对第一应用1的入侵被称为篡改,由此第一应用1的完整性被破坏。执行此类入侵的实体被称为入侵者。为了允许后端系统300对篡改做出反应,希望检测此类篡改并通知后端系统300此类检测到的篡改。所述通知可以经由在第一通信模块60和第二通信模块70之间的通信链路来发生。经由第一通信模块60发送此类通知是一个难题,因为入侵者可以干扰此类通信以隐藏其篡改活动,使后端系统300不能意识到已经发生了篡改。智能卡10包含完整性小应用程序11,后者与是第一应用1一部分的完整性模块21协作。完整性小应用程序11和完整性模块21共同执行允许智能卡10测试第一应用映像41的完整性的处理。该测试的结果然后被嵌入在发送给后端系统300的消息μ中。 
后端系统300对所通知的篡改的可能反应是忽略消息μ以及来自移动设备200的所有未来消息,或者停用移动设备200,或者发送更新后的应用映像以重建未被篡改的第一应用映像41,或者执行其他活动。 
在图2中,示意性地示出了在非易失性存储器40中驻留的分区。在非 易失性存储器40中存在各种分区,包括引导监视器42、第一应用映像41、第二应用映像43、配置数据44、文件系统45和闪存信息系统46的分区。 
引导监视器42可用于启动移动设备200。它允许第一CPU20加载存储在第一应用映像41中的第一应用1,或备选地加载存储在第二应用映像43中的第二应用。两个应用映像41和43的共存允许经由通信模块60和70的更新操作。第二应用映像43然后用于接收第一应用1的第一更新,并且更新后的第一应用1接收更高的序列号。对于下一次更新,第一应用映像41接收更新的第一应用1,所述更新的第一应用1又接收更高的序列号。应用映像41和43的此类使用交替地继续。引导监视器42查找具有最高序列号的应用,并因此自动选择用于下一次引导过程的最近更新的第一应用1。 
所述配置数据和文件系统将输入提供给所述第一应用。所述配置数据可以包含参数设置,所述参数设置确定使用哪些传感器、多长时间检查一次这些传感器、何时发送消息和警报。此外,参数可以取决于所述移动设备的当前地理位置。配置数据通常存储在所述非易失性存储器的文件系统中,但也能够直接存储在所述非易失性存储器的特别保留的区域中。 
闪存信息系统46允许引导监视器42利用在非易失性存储器40的存储器范围内的符号地址来进行操作。此特性有助于当第一应用1的地址范围尚未被固定地确定时开发应用。因此,利用市场上销售的移动设备200,可以无需闪存信息系统46。 
图3中示意性地示出了智能卡10的内容。它包括私钥/公钥对12,为了防止入侵者访问其中的私钥,私钥/公钥对12保存在提供预定安全水平的位置。私钥/公钥对12可由电子签名小应用程序13访问。此外,智能卡10包括可以访问一组质询-响应对的完整性小应用程序11,在所述质询-响应对中,对于每一个质询18都存储有相应的预期响应19。在可由电子签名小应用程序13和编码器/解码器小应用程序16访问的状态指示符14中维护由完整性小应用程序11提供的结果。此外,智能卡具有串行接口17,智能卡经由该串行接口17与第一CPU20通信(例如,通过标准的ISO7816 APDU)。 
在下文中,描述了利用智能卡10的小应用程序13、16和11在移动设备200和后端系统300之间交换消息μ的方法。所有这些方法都具有在此称为监护器过程的公共过程。在更详细地描述图4-7的方法之前,在前面先描述此过程。在下文中,完整性小应用程序11也被称为监护器小应用程序11,并且完整性模块21也被称为监护器模块21。 
所述监护器过程如下所述地工作:智能卡10上的监护器小应用程序11与运行在第一CPU20上的第一应用1的监护器模块21通信。监护器小应用程序11将完整性质询C_int发送给监护器模块21。完整性质询C_int附带有到监护器模块21的请求,以计算非易失性存储器40的某一区域上的散列值H,具体地说,加密散列H(s,e),其中s表示非易失性存储器40内的开始地址,而e表示非易失性存储器40中的所述区域的结束地址。所述开始地址s和结束地址e因此限定了将在其上计算加密散列H(s,e)的区域。对于每个完整性质询C_int,监护器小应用程序11具有预期响应值R_exp。监护器模块21计算非易失性存储器40的指示区域(s,e)上的加密散列H(s,e),并将其结果R_app=H(s,e)返回监护器小应用程序11。如果R_exp=R_app,则满足完整性质询C_int。由完整性小应用程序11对其结果S检查此相等性。 
监护器小应用程序11如下所述地跟踪(R_exp=R_app)相等性检查的结果S:它更新布尔变量app_integer=app_integer&(R_exp=R_app)的状态,且app_integer初始为真。由此布尔变量app_integer用作完整性标志。一旦它被设为假值,则它不能返回到真值。监护器小应用程序11不会将(R_exp==R_app)相等性检查的结果S通知监护器模块21。 
上述过程被用于优选地监视第一应用映像41的完整性。只要监护器模块21能够将结果R_app提供回监护器小应用程序11以使得R_exp=R_app,则第一应用映像41被认为是完整的。也可以由此过程来监视第二应用映像42的完整性,或监视第一应用映像41和第二应用映像42的任意组合的完整性。优选实施例一起检查两个应用映像41和42。
每个智能卡10能够具有多个存储在其上的完整性质询C_int。此外,发行的每个智能卡10能够具有一组唯一的完整性质询C_int,以便没有两个智能卡10将具有一组相同的完整性质询C_int。两个智能卡10具有相同的完整性质询C_int的概率取决于第一应用映像41的大小。此外对于完整性检查,填充第一应用映像41以便其大小始终大于非易失性存储器40中的空闲存储器的大小是有利的。在此“填充”意味着将开始地址s和结束地址设置为大于第一应用映像41的确切大小的区域。在一个优选实施例中,此区域大于可用非易失性存储器40的大小的一半。这两个措施防止入侵者通过返回预先计算的值或简单地在非易失性存储器40的空闲部分中存储第一应用映像41的副本并根据所存储的副本满足完整性质询C_int,来欺骗完整性小应用程序11。上面描述的此过程允许判定第一应用1是否仍完整。 
第二过程利用完整性标志(即,智能卡10上的app_integer变量)来影响签名、编码和解码操作的结果:当完整性标志app_integer为假时,也就是第一应用1使某一完整性质询C_int失败时,加密操作的结果是伪造的。例如,当第一应用1要求智能卡10生成签名Ω时,智能卡10将不会生成签名Ω而不检查完整性标志app_integer的状态。如果完整性标志app_integer为假,则智能卡10将生成假的签名Ω′并在该签名Ω′中包括关于失败的完整性质询C_int的信息。因此,签名Ω被用作秘密通道以发信号通知后端系统300第一应用映像41被篡改。签名Ω通过使用密钥来创建,所述密钥可以例如是智能卡10的私钥。在发送之前,可以加密消息μ。为此,可以使用智能卡10的私钥。因此,签名Ω和消息μ的加密均能够使用相同的密钥来执行,并均由智能卡10来执行。在此情况下,在使用相等性检查步骤32的结果S的优选实施例中,第一应用1不能检查消息μ的内容,以便在发送消息μ之前修改消息μ。备选地,可以使用后端系统300的公钥在智能卡10上加密消息μ。可以例如在加密和发送之前将此结果S添加到原始消息μ。此外,为了降低智能卡10侧的功耗,智能卡10可以仅执行结果S的加密,此加密的结果S可以被添加到原始消息μ,后者然后由 第一应用1使用诸如后端系统300的公钥之类的另一密钥来加密。 
图4示出了一种用于使用被篡改的第一应用1将消息从移动设备200发送到后端系统的方法的流程图。 
在发送请求步骤中,第一应用1将要发送到后端系统300的消息μ发送给第一通信模块60。在签名请求步骤23中,第一通信模块60请求由电子签名小应用程序13利用签名Ω来对消息μ签名。随即在状态检查步骤24中,电子签名小应用程序13将关于第一应用映像41的完整性状态S的请求发送给完整性小应用程序11。在质询步骤25中,完整性小应用程序11将完整性质询18发送给完整性模块21。然后完整性模块21在响应计算步骤47中计算响应19′。在响应步骤26,将响应19′从完整性模块21发回完整性小应用程序11,其中在相等性检查步骤32中,将所接收的响应19′与预期响应19相比较。在确认步骤27,完整性小应用程序11将确认发回完整性模块21,而不通知完整性模块21相等性检查步骤32的结果S。因此完整性模块21没有指示它是否使用正确的预期响应19做出响应。在状态报告步骤28,完整性小应用程序11将相等性检查步骤32的结果S通知给签名小应用程序13。根据该结果S,签名小应用程序13执行签名步骤49,其具有也可能不具有消息修改步骤48。如果是肯定的结果S,即预期响应19与所接收的响应19′完全相同,则消息μ被签名而没有修改。如果是否定的结果S,即预期响应19与所接收的响应19′不完全相同,则消息μ在签名步骤49之前被改变。可以以不同的方法来设计此类改变或修改。例如,签名小应用程序13可以将子消息附加到消息μ,其中所述子消息告知预期响应19与所接收的响应19′不完全相同。此外,可以例如通过扰乱其信息来更改消息μ。其他修改也是可行的。总之最终在签名步骤49中对消息μ签名。在此为了便于理解,在改变第一应用映像41的情况下,对消息μ的签名Ω在此被指定为Ω′,尽管对于是该签名的消息μ的第一接收方的第一通信模块21来说,如果未篡改第一应用映像41,则签名Ω并没有明显的差异。此后,具有其签名Ω′的消息μ在签名转发步骤31中被转发到第一通信模块60。最后,第一通信模块60在发送步骤31中将签名消息 μ+Ω′发送到第二通信模块70。在后端系统中,可读取消息μ并检测到修改。移动设备200因此用作消息μ的管道,通知由于识别到改变的第一应用映像41而不信赖移动设备200。 
因此,概括此过程,当第一应用1要向后端系统300发送消息时,第一应用1将消息发送给第一通信模块60。然后第一通信模块60向智能卡10请求电子签名Ω,智能卡10保留它的用于电子签名Ω的公钥/私钥对12。在对数据签名之前,智能卡10检查第一应用1的完整性。它激活监护器小应用程序11,后者使用所描述的质询-响应过程以获得完整性标志app_integer的更新。如果完整性标志app_integer仍为真,则将此情况通知电子签名小应用程序13并对数据签名以便将其发送到后端系统300。如果完整性标志app_integer为假,则监护器模块21仍接收确认,但将通知电子签名小应用程序13第一应用1不完整。签名者然后在消息μ中加入报警信息,对消息μ签名并提供消息μ以便发送到后端系统300。消息将报警消息与它本身传送到后端系统300。移动设备200将不可能意识到它已被记录为是恶意的,并将用作传输有关它自己的恶意性的信息的管道。 
如果移动设备200选择不将任何数据发送回后端系统300,以掩饰它自己的恶意性,则后端系统300将不会收到更多的数据。以后端系统300在特定时间间隔内期待特定消息(也被称为心跳消息或有效消息)的方式来设计在后端系统300和移动设备200之间的消息传送协议是有利的。缺少此类心跳消息将被解释为系统故障或恶意的移动设备200,在这两种情况下,后端系统300都将不再向移动设备发送信息200。 
图5示出了一种用于使用未被篡改的应用将消息从移动设备发送到后端系统的方法的流程图。 
在发送请求步骤,第一应用1将要传送到后端系统300的消息μ发送给第一通信模块60。在签名请求步骤23,第一通信模块60请求由电子签名小应用程序13利用签名Ω来对消息μ签名。随即在状态检查步骤24,电子签名小应用程序13将关于第一应用映像41的完整性状态S的请求发送给完整性小应用程序11。在质询步骤25,完整性小应用程序11将完整 性质询18发送给完整性模块21。然后完整性模块21在响应计算步骤47中计算响应19′。在响应步骤26,将响应19′从完整性模块21发送回完整性小应用程序11,其中在相等性检查步骤32中,将所接收的响应19′与预期响应19相比较。在确认步骤27,完整性小应用程序11将确认发送回完整性模块21,而不通知完整性模块21相等性检查步骤32的结果S。因此完整性模块21没有指示它是否使用正确的预期响应19做出响应。在状态报告步骤28,完整性小应用程序11将相等性检查步骤32的结果S通知给签名小应用程序13。根据该结果S,签名小应用程序13执行签名步骤49,其具有也可能不具有消息修改步骤48。如果是肯定的结果S,即预期响应19与所接收的响应19′完全相同,则消息μ被签名而没有修改。如果是肯定的结果S,即预期响应19与所接收的响应19′完全相同,则在签名步骤49之前不会修改消息μ。总之最终在签名步骤49中对消息μ签名。此后在签名转发步骤31中,将具有其签名Ω的消息μ转发到第一通信模块60。最后,第一通信模块60在发送步骤31中将签名消息μ+Ω发送给第二通信模块70。在后端系统中,可读取消息μ。 
另一种情况是处理入站信息。 
图6示出了一种用于使用未被篡改的第一应用1在移动设备200处接收来自后端系统300的消息μ的方法的流程图。 
在消息接收步骤33,在第一通信设备60处接收利用会话密钥∑加密的消息μ。消息μ附带有本身利用私钥/公钥对12的公钥∏进行加密的会话密钥∑。会话密钥∑在此是对称密钥。此类加密也称为混合加密。为了读取消息μ,第一应用1需要解包(即解密)会话密钥∑。第一通信设备60在消息转发步骤34中将加密的消息μ转发到第一应用1,并在会话密钥解包请求步骤35中将加密的会话密钥∑转发到编码器/解码器小应用程序16。在执行任何解码之前,编码器/解码器小应用程序16执行质询/响应过程。 
在状态检查步骤24,编码器/解码器小应用程序16将关于第一应用映像41的完整性状态S的请求发送给完整性小应用程序11。在质询步骤25, 完整性小应用程序11将完整性质询18发送给完整性模块21。然后完整性模块21在响应计算步骤47中计算响应19′。在响应步骤26,将响应19′从完整性模块21发送回完整性小应用程序11,其中在相等性检查步骤32中,将接收的响应19′与预期响应19相比较。在确认步骤27,完整性小应用程序11将确认发送回完整性模块21,而不通知完整性模块21相等性检查步骤32的结果S。因此完整性模块21没有指示它是否使用正确的预期响应19做出响应。在状态报告步骤28,完整性小应用程序11将相等性检查步骤32的结果S通知给编码器/解码器小应用程序16。 
在此实例中,状态检查提供了肯定的结果,即第一应用映像41已被认为是完整的。因此编码器/解码器小应用程序16执行会话密钥解包步骤36,其中使用私钥/公钥对12的私钥来解包(即,解密)会话密钥∑。结果是已解密的会话密钥∑。在会话密钥转发步骤37,会话密钥∑接着被转发到第一应用1。在第一应用1处,所接收的会话密钥∑被用于解密消息μ。最后在消息使用步骤39,由第一应用1使用解密的消息μ。使用此类消息μ的例子可以是更新第一应用1,增强其功能、安装新的驱动软件、修复代码错误、重置特定信息、删除信息、执行数据操作等。 
图7示出了一种用于使用被篡改的第一应用1在移动设备200处接收来自后端系统300的消息μ的方法的流程图。 
在消息接收步骤33,在第一通信设备60处接收利用会话密钥∑加密的消息μ。此后所述过程与结合图6描述的过程相同,直到再一次在状态报告步骤28,完整性小应用程序11将相等性检查步骤32的结果S通知给编码器/解码器小应用程序16。 
在此实例中,状态检查提供了否定的结果,即已发现第一应用映像41不是完整的。因此编码器/解码器小应用程序16执行错误生成步骤51,其中不是解包会话密钥∑,而是生成被称为伪消息54的错误消息。将此伪消息54在错误转发步骤52中发送给第一应用1,并对第一应用1假称所接收的消息μ被破坏。由此第一应用1不会获知它已被识别为被篡改的事实,这实际上防止将消息μ展示给第一应用1。因此,第一应用1没有动机因 为已检测到其丧失完整性而改变其行为。因此防止了不完整的第一应用1接收消息μ的内容。 
为了概括上述接收机制,如果移动设备200接收使用会话密钥∑编码的消息μ,并且会话密钥∑本身由智能卡10的公钥编码,则在智能卡10中其私钥被用于解包会话密钥∑。然后可以将会话密钥∑转发到第一CPU20以解码编码的消息μ。在执行此操作之前,智能卡10检查完整性标志app_integer的状态。如果完整性标志app_integer为假,则不是将会话密钥∑转发到第一CPU20以便解码消息μ,而是智能卡10将错误返回给第一CPU20,并且假称它接收到不可判读的消息μ。由此第一CPU20被禁止经由消息μ接收信息,因为第一应用1已被识别为是恶意的。通过对CPU20隐藏检测到不完整性,CPU20很可能继续其业务,特别是到后端系统300的消息传送业务,因此可以向后端系统300提供CPU20已被篡改的信息。此过程因此允许防止向不希望的接收方(即攻击者)显示入站数据,并且允许将信号发回给后端系统300以通知第一应用映像41已被篡改。 
上述方法也可与整个消息μ的纯公钥/私钥加密一起工作。但是这将意味着智能卡10被用于解密整个消息μ,这意味着在整个解密操作期间将电力提供给智能卡10,并且由于更有限的智能卡10容量(与第一CPU20相比),其将花费更长的时间。因此会话密钥∑是有用的,因为它允许第一CPU20使用会话密钥∑来进行解码而不涉及智能卡10。但是,使用公钥/私钥对12打包会话密钥∑允许智能卡10控制会话密钥∑,并且只有已验证第一CPU20的完整性后才允许将其显示给第一CPU20。 
因此,所提议的方法利用存储在智能卡10上的一系列完整性质询18。与运行质询/响应处理的过程相独立,当发送或接收消息μ时,运行在智能卡10上的监护器小应用程序11能够被设计为在不同时刻-优选地是随机选择的时刻-将完整性质询18发送到第一应用1。第一应用1被期望满足完整性质询18,并且只要它能够将正确的响应19提供给完整性质询18,则它被认为是完整的。此外,利用在智能卡10本身上的公钥/私钥密码,智能卡10可用于对从例如嵌入式系统的移动设备200到后端系统300的消息μ 进行签名、解密和加密。 
此解决方案的优点是:不需要修改CPU20,也不需要在第一应用映像41本身的内部存储校验和的结果。而是智能卡10被用作充当监护器的更加防篡改的组件。此外,通过规定由智能卡10审查外部通信,确保了与智能卡10本身一起发生通信。这样,攻击者不能只选择忽略智能卡10。利用公知的智能卡技术,智能卡10以及因此存储在其上的数据能够被设计为展示增强的安全水平。智能卡10的安全水平高于没有智能卡10的移动设备200的安全水平。 
所述技术可以实现为包括软件、固件、微码、硬件和/或它们的任意组合的方法、装置或制品。在此使用的术语“制品”指在介质中实现的代码或逻辑,其中此类介质可以包括硬件逻辑,例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等或计算机可读介质,如磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储装置(CD-ROM、光盘等)、易失性和非易失性存储设备,例如,电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、固件、可编程逻辑等。由处理器来存取和执行所述计算机可读介质中的代码。其中编码所述代码或逻辑的介质还可以包括通过空间传播的传输信号或诸如光纤、铜线之类的传输介质。其中编码所述代码或逻辑的传输信号还可以包括无线信号、卫星传输、无线电波、红外线信号、蓝牙等。其中编码所述代码或逻辑的传输信号能够通过发射站发射并且通过接收站接收,其中在传输信号中编码的代码或逻辑可以被解码并存储在硬件或接收和发射站或设备处的计算机可读介质中。此外,“制品”可以包括其中包含、处理和执行代码的硬件和软件组件的组合。当然,本领域的技术人员将认识到,可以做出许多修改而不偏离实施例的范围,并且所述制品可以包括任何信息承载介质。例如,所述制品包括其中存储有指令的存储介质,当由机器执行时,所述指令将导致执行操作。 
某些实施例可以采取完全硬件实施例、完全软件实施例或包含硬件和 软件元素两者的实施例的形式。在一个优选实施例中,本发明以软件实现,所述软件包括但不限于固件、驻留软件、微代码等。 
此外,某些实施例可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供了可以被计算机或任何指令执行系统使用或与计算机或任何指令执行系统结合的程序代码。出于此描述的目的,计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的装置。所述介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前实例包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(CR-R/W)和DVD。 
术语“特定实施例”、“一个实施例”、“实施例”、“多个实施例”、“所述实施例”、“所述多个实施例”、“一个或多个实施例”、“某些实施例”和“某一实施例”指一个或多个(但不是所有)实施例,除非另外明确指出。术语“包含”、“包括”、“具有”及其变型指“包括但不限于”,除非另外明确指出。列举的项目列表并非暗示任何或所有的项目互相排斥,除非另外明确指出。术语“一”、“一个”和“所述”指“一个或多个”,除非另外明确指出。 
相互通信的设备不必持续地相互通信,除非另外明确指出。此外,相互通信的设备可以通过一个或多个媒介直接或间接地通信。此外,具有若干相互通信的组件的实施例的描述并非暗示所有此类组件都是必需的。相反,描述了多种可选的组件以说明更多可能的实施例。 
此外,尽管可以按照连续的顺序来描述处理步骤、方法步骤、算法或类似步骤,但是此类处理、方法和算法可以被配置为以替代顺序工作。换句话说,所描述的步骤的任何序列或顺序并不一定指示要求按此顺序执行步骤。实际可以按任何顺序执行在此描述的处理的步骤。此外,可以同时、并行或并发地执行某些步骤。
当在此描述单个设备或物品时,将显而易见的是,可以使用多个设备/物品(无论它们是否协作)来代替单个设备/物品。同样,当在此描述了多个设备或物品(无论它们是否协作)的情况下,将显而易见的是,可以使用单个设备或物品来代替多个设备或物品。设备的功能和/或特性可以替代地由一个或多个其他未明确描述为具有此类功能/特性的设备来体现。因此,其他实施例不必包括设备本身。 
某些实施例可以涉及用于由个人或集成计算机可读代码的自动处理将计算指令部署到计算系统中的方法,其中所述代码结合所述计算系统被使能执行所描述的实施例的操作。 
此外,出于说明的目的在单独的模块中描述了许多软件和硬件组件。此类组件可以集成到更少数量的组件中或者分成更多数量的组件。另外,所描述的由特定组件执行的某些操作可以由其他组件来执行。 
因此,出于说明和描述目的提供了以上实施例的描述。其并非旨在是穷举的或将所述实施例限于已披露的精确形式。根据上述教导,可以做出许多修改和变型。

Claims (34)

1.一种用于经由运行在移动设备(200)上的第一应用(1)来从所述移动设备(200)发送消息(μ)的方法,所述方法包括:
质询步骤(25),用于向所述第一应用(1)提供质询(18);响应步骤(26),用于接收对所述质询(18)的响应(19′);
相等性检查步骤(32),用于判定所接收的响应(19′)是否符合预期响应(19);
签名步骤(49),用于利用密钥来为所述消息(μ)提供签名(Ω),其中,如果所述相等性检查步骤(32)的结果(S)是肯定的,则消息(μ)被签名而没有修改,而如果所述相等性检查步骤(32)的结果(S)是否定的,则消息(μ)在被签名之前被修改;
发送步骤(31),用于经由所述第一应用(1)将所签名的消息(μ+Ω)从所述移动设备(200)发送到后端系统(300),
其中借助智能卡(10)上的完整性小应用程序(11)来执行所述质询步骤(25)和所述响应步骤(26)。
2.根据权利要求1所述的方法,其中在所述签名步骤(49)之前,在消息修改步骤(48)中利用所述相等性检查步骤(32)的结果(S)来修改所述消息(μ)。
3.根据权利要求2所述的方法,其中通过将所述相等性检查步骤(32)的结果(S)添加到所述消息(μ)来修改所述消息(μ)。
4.根据权利要求1到3中的任一权利要求所述的方法,其中在所述发送步骤(31)中经由所述移动设备(200)的第一通信模块(60)发送所签名的消息(μ+Ω)。
5.根据权利要求1到3中的任一权利要求所述的方法,其中利用存储在智能卡(10)上的私钥/公钥对(12)的私钥来加密所述消息(μ)。
6.根据权利要求1到3中的任一权利要求所述的方法,其中所述密钥保存在智能卡(10)上。
7.根据权利要求1到3中的任一权利要求所述的方法,其中所述密钥包括存储在智能卡(10)上的私钥/公钥对(12)的私钥。
8.根据权利要求1到3中的任一权利要求所述的方法,其中从一组预定的质询/预期响应(18,19)选择所述质询(18)和所述预期响应(19)。
9.根据权利要求1到3中的任一权利要求所述的方法,其中所述质询步骤(25)包括请求计算所述移动设备(200)的存储器(40)中的预定存储区域的散列值(H)。
10.根据权利要求9所述的方法,其中选择所述存储区域以包括所述第一应用(1)的第一应用映像(41)的至少一部分。
11.根据权利要求9所述的方法,其中通过起始地址和结束地址来确定所述存储区域,所述存储区域在所述一组预定的质询/预期响应(18,19)的不同质询(18)之间是不同的。
12.根据权利要求1到3中的任一权利要求所述的方法,其中如果所述相等性检查步骤(32)的结果(S)是否定的,则将其维护为否定的完整性标志。
13.根据权利要求1到3中的任一权利要求所述的方法,其中可经由所述移动设备(200)的第一通信模块(60)来更新所述第一应用(1)。
14.根据权利要求13所述的方法,其中更新后的第一应用(1)存储在第二应用映像(43)中。
15.根据权利要求13所述的方法,其中与更新后的一组质询/预期响应(18,19)一起接收所述更新后的第一应用(1)。
16.根据权利要求1到3中的任一权利要求所述的方法,还包括确认步骤(27),其中在所述相等性检查步骤(32)之后确认接收所述响应(19′)而不通知所述相等性检查步骤(32)的结果(S)。
17.一种用于经由运行在移动设备(200)上的第一应用(1)来在所述移动设备(200)处接收消息(μ)的方法,所述方法包括:
消息接收步骤(33),用于接收加密形式的所述消息(μ);
质询步骤(25),用于向所述第一应用(1)提供质询(18);
响应步骤(26),用于接收对所述质询(18)的响应(19′);
相等性检查步骤(32),用于判定所接收的响应(19′)是否符合预期响应(19);
如果所述相等性检查步骤(32)的结果(S)是肯定的,则执行用于解密所述消息(μ)的消息解密步骤(38),
如果所述相等性检查步骤(32)的结果(S)是否定的,则执行错误生成步骤(51),
其中借助智能卡(10)上的完整性小应用程序(11)来执行所述质询步骤(25)和所述响应步骤(26)。
18.根据权利要求17所述的方法,其中使用存储在智能卡(10)上的私钥/公钥对(12)的公钥来创建所述加密形式。
19.根据权利要求17所述的方法,其中使用与所述消息(μ)一起接收的对称密钥(∑)来创建所述加密形式,其中以加密的形式接收所述对称密钥(∑),其中使用存储在智能卡(10)上的私钥/公钥对(12)的公钥来创建该所述对称密钥(∑)的加密的形式。
20.根据权利要求17到19中的任一权利要求所述的方法,其中从一组预定的质询/预期响应(18,19)选择所述质询(18)和所述预期响应(19)。
21.根据权利要求17到19中的任一权利要求所述的方法,其中所述质询步骤(25)包括请求计算所述移动设备(200)的存储器(40)中的预定存储区域的散列值(H)。
22.根据权利要求21所述的方法,其中选择所述存储区域以包括所述第一应用(1)的第一应用映像(41)的至少一部分。
23.根据权利要求21所述的方法,其中通过起始地址和结束地址来确定所述存储区域,所述存储区域在所述一组预定的质询/预期响应(18,19)的不同质询(18)之间是不同的。
24.根据权利要求17到19中的任一权利要求所述的方法,其中如果所述相等性检查步骤(32)的结果(S)是否定的,则将其维护为否定的完整性标志。
25.根据权利要求17到19中的任一权利要求所述的方法,其中可经由所述移动设备(200)的第一通信模块(60)来更新所述第一应用(1)。
26.根据权利要求25所述的方法,其中更新后的第一应用(1)存储在第二应用映像(43)中。
27.根据权利要求25所述的方法,其中与更新后的一组质询/预期响应(18,19)一起接收所述更新后的第一应用(1)。
28.根据权利要求17到19中的任一权利要求所述的方法,还包括确认步骤(27),其中在所述相等性检查步骤(32)之后确认接收所述响应(19′)而不通知所述相等性检查步骤(32)的结果(S)。
29.一种移动设备(200),包括:
存储器(40),用于在其中存储第一应用(1)的第一应用映像(41);
第一处理器(20),其适于计算对接收的质询(18)的响应(19′);
读卡器(100),用于从智能卡(10)接收所述质询(18),发送所述响应(19′),以及接收签名消息(μ+Ω);
第一通信模块(60),用于将所述签名消息(μ+Ω)发送到后端系统(300)。
30.一种智能卡(10),包括:
完整性模块(11),用于执行以下操作:
质询操作(25),用于向第一应用(1)提供质询(18);
响应操作(26),用于接收对所述质询(18)的响应(19′);
相等性检查操作(32),用于判定所接收的响应(19′)是否符合预期响应(19);
电子签名模块(13),用于执行以下操作:
签名操作(49),用于利用密钥来对消息(μ)签名,其中,如果所述相等性检查操作(32)的结果(S)是肯定的,则消息(μ)被签名而没有修改,而如果所述相等性检查操作(32)的结果(S)是否定的,则消息(μ)在被签名之前被修改;
签名转发操作(29),用于将所述消息(μ)的签名(Ω)转发给第一通信模块(60)。
31.根据权利要求30所述的智能卡(10),其中所述完整性模块(11)还适于执行确认操作(27),其中在所述相等性检查操作(32)之后确认接收所述响应(19′)而不通知所述相等性检查操作(32)的结果(S)。
32.根据权利要求30或31所述的智能卡(10),其中,所述智能卡中存储的私钥/公钥对(12)的公钥可用作所述密钥。
33.根据权利要求30或31所述的智能卡(10),其中,可从所述智能卡中存储的一组预定的质询/预期响应(18,19)中选择所述质询(18)及其预期响应(19)。
34.根据权利要求30或31所述的智能卡(10),其中,如果所述相等性检查操作(32)的结果(S)是否定的,则维护所述智能卡中存储的完整性标志。
CN2007800112240A 2006-06-30 2007-06-28 在移动设备处的消息处理方法以及移动设备和智能卡 Expired - Fee Related CN101410847B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06116410.9 2006-06-30
EP06116410 2006-06-30
PCT/IB2007/052511 WO2008001322A2 (en) 2006-06-30 2007-06-28 Message handling at a mobile device

Publications (2)

Publication Number Publication Date
CN101410847A CN101410847A (zh) 2009-04-15
CN101410847B true CN101410847B (zh) 2011-11-09

Family

ID=38846073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800112240A Expired - Fee Related CN101410847B (zh) 2006-06-30 2007-06-28 在移动设备处的消息处理方法以及移动设备和智能卡

Country Status (6)

Country Link
US (1) US20100318798A1 (zh)
EP (1) EP2044548A2 (zh)
JP (1) JP5035810B2 (zh)
KR (1) KR101055712B1 (zh)
CN (1) CN101410847B (zh)
WO (1) WO2008001322A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2245829B1 (en) * 2008-01-18 2016-01-06 InterDigital Patent Holdings, Inc. Method for enabling machine to machine communication
DE102008025489A1 (de) * 2008-05-28 2009-12-24 Siemens Aktiengesellschaft Verfahren und System zum Überwachen eines sicherheitsbezogenen Systems
JP5453461B2 (ja) 2009-03-05 2014-03-26 インターデイジタル パテント ホールディングス インコーポレイテッド H(e)NB完全性検証および妥当性確認のための方法および機器
US20110010543A1 (en) 2009-03-06 2011-01-13 Interdigital Patent Holdings, Inc. Platform validation and management of wireless devices
US9032058B2 (en) 2009-03-13 2015-05-12 Assa Abloy Ab Use of SNMP for management of small footprint devices
US20100235900A1 (en) * 2009-03-13 2010-09-16 Assa Abloy Ab Efficient two-factor authentication
KR101523420B1 (ko) * 2010-04-12 2015-05-27 인터디지탈 패튼 홀딩스, 인크 부팅 처리에서의 단계화 제어 해제
JP5593850B2 (ja) * 2010-05-31 2014-09-24 ソニー株式会社 認証装置、認証方法、プログラム、及び署名生成装置
JP5594034B2 (ja) 2010-07-30 2014-09-24 ソニー株式会社 認証装置、認証方法、及びプログラム
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
CN106055930A (zh) 2010-11-05 2016-10-26 交互数字专利控股公司 设备检验和遇险指示
CN102137105B (zh) * 2011-03-11 2012-11-07 华为技术有限公司 机器通信的私密性保护方法、系统和机器通信业务管理实体及相关设备
US9749377B2 (en) 2011-08-01 2017-08-29 Intel Corporation Method and system for network access control
WO2013182376A1 (en) * 2012-06-06 2013-12-12 Nec Europe Ltd. Method and system for executing a secure application on an untrusted user equipment
DE102012217743B4 (de) * 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US8904195B1 (en) * 2013-08-21 2014-12-02 Citibank, N.A. Methods and systems for secure communications between client applications and secure elements in mobile devices
US9749131B2 (en) * 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
JP6659220B2 (ja) * 2015-01-27 2020-03-04 ルネサスエレクトロニクス株式会社 通信装置、半導体装置、プログラムおよび通信システム
JP2016171530A (ja) * 2015-03-13 2016-09-23 株式会社東芝 通信装置、通信方法、プログラムおよび通信システム
CN105471877B (zh) * 2015-12-03 2019-09-17 北京小米支付技术有限公司 证明资料获取方法及装置
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11211140B1 (en) * 2019-09-24 2021-12-28 Facebook Technologies, Llc Device authentication based on inconsistent responses

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2416956A (en) * 2004-07-29 2006-02-08 Nec Technologies Method of testing integrity of a mobile radio communications device and related apparatus

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5995624A (en) * 1997-03-10 1999-11-30 The Pacid Group Bilateral authentication and information encryption token system and method
US6772336B1 (en) * 1998-10-16 2004-08-03 Alfred R. Dixon, Jr. Computer access authentication method
US6546492B1 (en) * 1999-03-26 2003-04-08 Ericsson Inc. System for secure controlled electronic memory updates via networks
US6804778B1 (en) * 1999-04-15 2004-10-12 Gilian Technologies, Ltd. Data quality assurance
EP1055990A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
US6954861B2 (en) * 2000-07-14 2005-10-11 America Online, Inc. Identifying unauthorized communication systems based on their memory contents
GB0020370D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted device
EP1349033B1 (en) * 2002-03-26 2004-03-31 Soteres GmbH A method of protecting the integrity of a computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2416956A (en) * 2004-07-29 2006-02-08 Nec Technologies Method of testing integrity of a mobile radio communications device and related apparatus

Also Published As

Publication number Publication date
KR101055712B1 (ko) 2011-08-11
WO2008001322A3 (en) 2008-06-19
EP2044548A2 (en) 2009-04-08
JP5035810B2 (ja) 2012-09-26
KR20090028728A (ko) 2009-03-19
WO2008001322A2 (en) 2008-01-03
CN101410847A (zh) 2009-04-15
JP2009543414A (ja) 2009-12-03
US20100318798A1 (en) 2010-12-16

Similar Documents

Publication Publication Date Title
CN101410847B (zh) 在移动设备处的消息处理方法以及移动设备和智能卡
US20220116221A1 (en) Verifying identity of a vehicle entering a trust zone
US20220277650A1 (en) Verifying Identity of an Emergency Vehicle During Operation
US11429921B2 (en) Tracking shipments with a local and remote blockchain
US10547625B2 (en) Software tampering detection and reporting process
US9256881B2 (en) Authenticating and managing item ownership and authenticity
JP5543949B2 (ja) 制御装置およびモニタプログラム
US20080001752A1 (en) System and method for securing rfid tags
KR20210131444A (ko) 물리적 복제 방지 기능을 사용한 컴퓨팅 디바이스에 대한 신원 생성
CN113572715B (zh) 基于区块链的数据传输方法和系统
CN101983375A (zh) 将密码模块绑定到平台
US8981935B2 (en) Method and system for supplying target information
EP2172866A1 (en) Information processor and tampering verification method
US8730015B2 (en) Duplication detection for non-cryptographic RFID tags using encrypted traceability information
US20150172275A1 (en) Method and system for verification of presence
CN102843232A (zh) 生成安全装置密钥
US10591573B2 (en) Secure communication with a traffic control system
CN107657199B (zh) 行动装置、验证装置及其验证方法
CN114124549A (zh) 一种基于可见光系统的安全访问邮件的方法、系统和装置
KR20210142170A (ko) 보안 긴급 차량 통신
JP7142128B2 (ja) ファクトリデフォルト設定へのリモート再設定の方法及びデバイス
CN110321980B (zh) Rfid认证方法、装置
JPWO2020090418A1 (ja) 電子制御装置、電子制御装置のリプログラミング方法
Orrie Smartphone Application Architecture and Security for Patient Vital Signs Sensors and Indicators
JP2006259952A (ja) Icカードバックアップシステムおよびその方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111109

CF01 Termination of patent right due to non-payment of annual fee