CN104717198B - 安全元件上的软件更新方法和设备 - Google Patents

安全元件上的软件更新方法和设备 Download PDF

Info

Publication number
CN104717198B
CN104717198B CN201410588846.1A CN201410588846A CN104717198B CN 104717198 B CN104717198 B CN 104717198B CN 201410588846 A CN201410588846 A CN 201410588846A CN 104717198 B CN104717198 B CN 104717198B
Authority
CN
China
Prior art keywords
ciphertext blocks
sequence
key
host equipment
blocks
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.)
Active
Application number
CN201410588846.1A
Other languages
English (en)
Other versions
CN104717198A (zh
Inventor
迪米特里·华尼兹
蒂埃里·格鲁德
拉斐尔·让·约瑟夫·缪森
安德里亚斯·莱西克
弗兰克·西德尔
恩斯特·哈塞尔斯特因纳
布鲁斯·默里
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of CN104717198A publication Critical patent/CN104717198A/zh
Application granted granted Critical
Publication of CN104717198B publication Critical patent/CN104717198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

公开了一种向主机设备中包括的安全元件提供软件更新的方法,包括:使用链式加密方案将软件更新转换为密文块的序列;以及将所述密文块的序列传输至主机设备。另外,公开了一种在主机设备包括的安全元件上安装软件更新的方法,包括:由主机设备接收密文块的序列,所述密文块的序列由所述提供软件更新的方法产生;将所述密文块的序列转换为软件更新;以及在安全元件上安装软件更新。另外,公开了相应的计算机程序产品和相应的主机设备。

Description

安全元件上的软件更新方法和设备
技术领域
本公开涉及向主机设备中包括的安全元件提供软件更新的方法。另外,本公开涉及在主机设备中包括的安全软件上安装软件更新的方法。另外,本公开涉及相应的计算机程序产品和相应的主机设备。
背景技术
当今,安全在许多电子设备和计算环境中起到重要的作用。例如,传统的移动电子设备可以用于支付业务,所述支付业务要求将诸如用户凭证之类的敏感支付相关数据输入和/或存储在所述设备中。例如,这些移动电子设备可以配备有基于射频(RF)技术的近场通信(NFC)接口,以便与销售点(POS)的支付终端设备交换支付相关数据。
通常,已经将敏感的支付相关数据合并到诸如智能卡之类的专用安全令牌中,其中将数据固有地限制到相对信任的环境。然而,随着集成解决方案的出现,具体地将所谓的安全元件(SE)集成到移动设备中,经常将支付相关数据暴露到可能敌对的环境,因此这些数据的机密性可能成为问题。
通常将安全软件实现为嵌入式芯片,更具体地实现为具有(预先) 安装的智能卡级别应用(例如支付应用)的抗篡改集成电路,其具有规定的功能和规定的安全级别。替代地,所谓的用户身份模块(SIM)或通用用户身份模块(USIM)可以用作安全元件。另外,诸如传统SD卡或微 SD卡之类的安全数字(SD)卡可以用作安全元件。安全元件可以嵌入到移动设备或另一个主机设备中,例如作为直接焊接到印刷电路板上的小外形封装。替代地,可以将安全元件包括在所述移动设备中作为可拆卸部件(例如,SIM或SD卡)。
尽管安全元件提供用于执行应用程序的相对安全的环境,然而例如当需要安装和/或配置安全元件的操作部件时,实现或保持这种安全级别相对困难。具体地,如果需要更新在安全元件上安装的软件,例如安全元件的操作系统,那么安全元件可能易受攻击。尽管存在提供安全软件更新的许多技术,这些技术通常不会解决所述种类的安全元件上的软件更新。例如,WO 2012/109640A2描述了一种安全软件更新,所述安全软件更新向目标设备提供具有更新定义、私有加密密钥和公共签名密钥的更新功能。在便携媒质上准备了软件更新包,所述软件更新包包括可执行更新程序、用对称密钥加密的程序的检验和、用公共加密密钥加密的已加密对称密钥和用私有签名密钥准备的数字签名。更新过程认证数字签名,使用私有加密密钥解密对称密钥,并且使用对称密钥解密检验和。针对可执行的更新程序产生新的检验和,并且将新的检验和与已解密的检验和进行比较。如果在更新过程期间检测到不一致,终止过程。否则,可以以相对高的抗讹误、抗病毒和抗第三方干扰保证来安装软件更新。
作为另一个示例,WO 2007/014314 A2描述了一种对已经使用的电子设备中的软件进行更新的改进技术。在一个实施例中,可以使用密码术按照安全和受控的方式来更新软件。可以在更新之前确认已更新软件的可靠性和针对具体电子设备的适当性。也可以逐个模块地更新软件。在一个实施例中,服务器主持针对各种电子设备的软件更新,并且经由数据网络向电子设备供应适当的软件更新。
图1示出了其中使用安全元件的传统计算系统。计算系统100包括主机设备102、主机设备卖主108、受信服务管理方110和安全元件发行方112。例如,主机设备102可以是配备有如上所述的NFC技术的所谓的智能电话或平板设备。主机设备102包括中央处理单元104和安全元件106。为了准备计算系统100来使用,安全元件发行方112发布用于集成到主机设备102中的安全元件106。此外,安全元件发行方112或者代表安全元件发行方112的安全元件生产者(未示出)在安全元件106 上安装操作系统的初始版本。应该注意的是安全元件106的操作系统在该文档的其余部分称作“安全OS”。另外,主机设备卖主108在主机设备102中(典型地在所述主机设备102的闪存(未示出)中)安装主机设备102的操作系统的初始版本。应该注意的是主机设备102的操作系统在该文档的其余部分中称作“主机OS”。
在使用时,可能必须更新安全OS和主机OS,例如以便提供附加的安全特征或其他功能。典型地,主机设备卖主108负责在主机设备102 上安装主机OS的更新。例如,现今许多主机设备配置为自动地接收和安装所广播的主机OS的更新。这种规律更新的主机OS的示例是安卓操作系统。也必须规律地更新安全OS。然而在这种情况下,称作受信服务管理方(TSM)110的第三方典型地用作安装安全OS的更新的媒介。具体地,因为安全元件发行方112不再访问已经在现场(即在使用中)的安全元件,安全元件发行方112向受信服务管理方110提供安全OS的更新。随后,受信服务管理方110管理安全元件106上安全OS更新的安装。
然而不幸地是,用于在安全元件106上安装这些更新的机制典型地是相当麻烦的。具体地,这些机制依赖于复杂且不灵活的硬件特定加密方法。同样,这些机制典型地要求在安全元件和受信服务管理方之间建立安全的点对点通信信道。考虑到这些因素,需要促进和简化安全元件上操作系统更新的安装。应该注意的是如果必须在安全元件上安装其他软件更新,可能发生同样的问题;换句话说,这种问题不局限于安全OS 的更新。因此更一般地来说,需要促进和简化在所述种类的安全元件上软件更新的安装。
发明内容
公开了一种向主机设备中包括的安全元件提供软件更新的方法,包括:使用链式加密方案将软件更新转换为密文块的序列,以及将所述密文块的序列传输至主机设备。
根据说明性实施例,转换软件更新包括:通过加密明文块来产生所述序列中除了第一密文块之外的每一个密文块,所述明文块包括软件更新的一部分。
根据另一个说明性实施例,利用在序列的在先密文块中包括的密钥对明文块进行加密。
根据另一个说明性实施例,通过利用根密钥对用于产生所述序列的第二密文块的密钥进行加密来产生所述序列的第一密文块。
根据另一个说明性实施例,在将密文块的序列传输至主机设备之前,对密文块的序列进行加密签名。
根据另一个说明性实施例,将所述密文块的序列集成到针对主机设备的软件更新中。
另外,公开了一种计算机程序产品,包括程序指令,当通过处理单元执行时,所述程序指令使所述处理单元执行或控制所述种类的提供软件更新的方法的步骤。
另外,公开了一种在主机设备包括的安全元件上安装软件更新的方法,包括:由主机设备接收对软件更新加以表示的密文块的序列,所述序列是通过所述种类的提供软件更新的方法产生的;将所述密文块的序列转换为软件更新;并且在安全元件上安装软件更新。
根据另外的说明性实施例,转换密文块的序列包括:从所述序列中除了第一密文块之外的每一个密文块提取明文块,所述明文块包括软件更新的一部分。
根据另外的说明性实施例,从密文块提取明文块包括:利用在所述序列的在先密文块中包括的密钥来解密密文块。
根据另外的说明性实施例,在从除了第一密文块之外的每一个密文块提取明文块之前,用根密钥解密第一密文块,以便解锁用于对所述序列的第二密文块进行解密的密钥。
根据另外的说明性实施例,在转换密文块的序列之前,验证密文块的序列的加密签名。
根据另外的说明性实施例,从针对主机设备的软件更新中提取所述密文块的序列。
另外,公开了一种计算机程序产品,包括程序指令,当通过处理单元执行时,所述程序指令使所述处理单元执行或控制所述种类的安装软件更新的方法的步骤。
另外,公开了一种包括安全元件的主机设备,所述主机设备设置为执行所述种类的安装软件更新的方法。
附图说明
将参考附图更加详细地描述实施例,其中:
图1示出了使用安全元件的传统计算系统;
图2示出了根据本公开的计算系统的说明性实施例;
图3示出了加密方法的说明性实施例;
图4示出了解密方法的说明性实施例;
图5示出了通信方法的说明性实施例;
图6示出了安装方法的说明性实施例;
图7示出了签名方法的说明性实施例;
图8A示出了链式加密方案的说明性实施例;
图8B示出了链式签名方案的说明性实施例。
具体实施方式
图2示出了根据本公开的计算系统的说明性实施例。再次,计算系统200包括主机设备102(包括中央处理单元104和安全软件106)、主机设备卖主108和安全元件发行方112。然而,与图1的传统计算系统相反,计算系统200不包括受信服务管理方。也就是说,可以经由主机设备卖主108提供和安装安全OS的更新。因此,不需要受信服务管理方或者其他第三方,从而简化了所述更新的安装。为了维持适当的安全级别,安全OS的更新包括基于链式加密方案的密文块的序列。可以将安全 OS更新作为包含所述密文块序列的软件包或软件镜像通过主机设备卖主108广播至主机设备102。与针对安全元件的传统软件更新相反,可以将相同的软件包或软件镜像广播至许多主机设备,并且不需要在安全元件和受信服务管理方之间建立安全的点对点通信信道。主机设备102 重新装配安全OS更新,并且随后将安全OS更新安装到安全元件106上。因此,按照广播的方式有效地实现了安全元件106的操作系统升级。应该强调的是可以按照相同的方式提供和安装其他类型的针对安全元件的软件更新。也就是说,本公开不局限于安全OS的更新,但是也可以应用于其他类型的软件更新。
图3示出了加密方法的说明性实施例。安全OS更新可以包括通过这种加密方法300加密的密文块的序列。根据这种说明性实施例,加密方法300包括以下步骤。首先,通过用根密钥对第一密钥加密来产生302 根密文。基本上,根密文包含密钥的已加密版本,所述密钥将会用于加密第一密文块,所述第一密文块包含安全OS更新的一部分。其次,将安全OS更新分割304为多个部分,即分割为明文,每个明文包含软件(即安全OS更新)的一部分。接下来,通过连接(concatenate)第一明文块与第二密钥并且用第一密钥加密这种连接的结果,来产生306所述序列的第一密文块。按照这种方式,在第一密文块中包含了第二密钥,第二密钥将用于对下一个(即第二)明文块进行加密。接下来,通过连接第二明文块与第三密钥并且用第二密钥加密这种连接的结果,来产生 308第二密文块。针对所有的明文块重复这一过程。因此,假设存在n 个明文块,那么倒数第二个步骤包括:通过连接第(n-1)明文块与第n 密钥并且用第(n-1)密钥加密这种连接的结果,来产生310第(n-1) 密文块。另外,最后一个步骤包括:通过用第n密钥对第n明文块进行加密来产生312第n密文块。
按照这种方法,安全OS更新有效地包括密文块的序列,所述密文块的序列可以直接作为软件包或软件镜像被广播,或者可以容易地集成到主机OS更新中(例如,通过将所述密文块嵌入到组成主机OS更新的数据中和/或与组成主机OS更新的数据进行交织)。另外,因为每一个密钥只使用一次,有效地消除了当广播安全OS更新时可能产生的安全风险。应该注意的是将一组数据集成到另一组数据中的方法也是已知的。也就是说,如果要将密文块集成到主机OS更新中(或者集成到针对主机设备的另一个软件更新中),那么本领域普通技术人员可以应用任意合适的方法以集成所述密文块。
例如,可以将密文块格式化为所谓的应用程序协议数据单元 (APDU)。APDU是用于在智能卡(即实际或仿真智能卡)和智能卡读取器之间交换数据的常用通信单元。因此,安全OS更新可以包括:由APDU的序列组成的软件包或软件镜像,或者嵌入到主机OS更新的数据单元中或者与主机OS更新的数据单元相交织的APDU的序列。主机OS更新的数据单元进而也可以格式化为APDU。另外,应该注意的是,所述加密方法可以由安全元件发行方112例如在安全环境中执行,或者由代表安全元件发行方112的主机设备卖主108在适当的情况下执行。可以将加密方法嵌入到计算机程序中,所述计算机程序在适当的情况下可以由安全元件发行方 112或者主机设备卖主108拥有的处理单元执行。
图4示出了解密方法的说明性实施例。基本上,解密方法400对应图 3所示的加密方法300。主机设备102执行解密方法400。更具体地,例如,实际的解密可以由安全元件106至少部分地在中央处理单元104的控制下执行。按照这种方式,可以实现合理级别的安全性。根据这种说明性实施例,解密方法400包括以下步骤。首先,用根密钥对根密文块进行解密 402,得到第一密钥。根密钥例如在安装之前或者在安装期间已被安全元件发行方112或者代表安全软件发行方的安全元件生产者存储在安全元件106中,使用诸如Diffie-Hellman密钥一致性协议(agreement protocol)之类的适当协议对根密钥达成一致并且与主机设备卖主108 共享根密钥。其次,用第一密钥来解密404第一密文块(即,序列中实际包含安全OS更新一部分的第一密文块),得到第一明文块和第二密钥。接下来,用第二密钥解密406第二密文块,得到第二明文块和第三密钥。针对所有的密文块重复这一过程。因此,假设存在n个密文块,那么导数第二个解密步骤包括:用第(n-1)密钥解密408第(n-1)密文块,得到第 (n-1)明文块和第n密钥。最后一个解密步骤包括:用第n密钥解密410 第n密文块,得到第n明文块。在该阶段,n个明文块的序列已经变得可用。在最后一个步骤中将这些明文块重新装配412,从而产生了安全OS更新。应该注意的是重新装配安全OS更新的最后步骤不是实际的解密步骤,而是在图3的加密方法中分割安全OS更新的步骤的对应步骤。
图5示出了通信方法的说明性实施例。作为通信方法500的第一步骤,通过图3所示的加密方法300产生密文块。随后,通过签名方法700 产生安全OS更新签名,将参考图7详细解释签名方法700。接下来,将密文块格式化502为APDU。最后,例如按照软件包或软件镜像的格式将APUD 经由主机设备卖主108广播504至主机设备102。应该注意的是将这些步骤映射到计算系统200的功能单元可以采取不同的形式。也就是说如上所述,例如加密方法300可以由安全软件发行方112执行,后者如果合适的话由代表安全元件发行方112的主机设备卖主108执行。这同样适用于产生700安全OS更新签名和将密文块格式化502为APDU。在该示例中,由主机设备卖主108来执行广播步骤504;为了促进所述广播,主机设备卖主 108可以将APDU集成到主机OS更新中,如上所述。因为主机设备将接收更少的软件更新,这种集成也增加了系统的用户友好性。
图6示出了安装方法的说明性实施例。作为安装方法600的第一步骤,主机设备102从主机设备卖主108接收602安全OS更新。随后,验证604 安全OS更新签名。例如,已经使用私钥产生了签名,并且安全元件106 可以包含将用于验证签名的相应公钥。已经将这种签名嵌入到或者附着于安全OS更新的第一APDU,以便避免在签名无效的情况下对APDU的序列进行解密。因此,进一步增强了安全性,并且防止计算资源的浪费。如果签名无效,那么将不再执行安装方法600的后续步骤,并且主机设备102 等待新的安全OS更新。否则,在下一个步骤中将APDU恢复格式化 (unformat)606。接下来,执行图4中所示的解密方法400,即对密文块进行解密并且重新装配安全OS更新。随后,将安全OS更新安装608在安全元件106上。应该注意的是将这些步骤映射到主机设备102的功能单元可以采取不同的格式。也就是说如上所述,解密方法400的实际解密步骤例如可以由安全元件106至少部分地在中央处理单元104的控制下执行。可以由中央处理单元104经由移动设备102的通信单元(未示出)来接收安全OS更新。签名的验证、APDU的恢复格式化和安全OS更新的安装可以涉及中央处理单元104和安全元件106两者。为了实现高安全级别,优选地,安全元件106执行实施这些步骤所必须的数操作的大多数。为了执行这些操作,安全元件106也可以包括处理单元(未示出)。
图7示出了签名方法的说明性实施例。签名方法700是用于产生安全 OS更新签名的方法的示例。作为第一步骤,通过对第n密文块进行散列处理,产生702第n散列值。随后,通过连接第(n-1)密文块和第n散列值并且对这种连接的结果进行散列处理,产生第(n-1)散列值。重复这些处理,直到处理了所有密文块为止。因此在最后的步骤中,通过连接第二密文块与第三散列值并且对这种连接的结果进行散列处理,产生706 第二散列值。随后,通过连接第一密文块和第二散列值并且对这种连接的结果进行散列处理,产生708第一散列值。最后,例如通过以公钥-私钥密钥对的私钥作为输入的加密函数,通过连接根密文块和第一散列值并且对这种连接的结果进行签名,产生710安全OS更新签名。
图8A示出了链式加密方案的说明性实施例,图8B示出了链式签名方案的说明性实施例。这些附图还分别说明了图3中所示的加密方法300和图7中所示的签名方法700。
应该注意的是主机设备可以广义上解释为包括例如智能卡。因此,根据本公开的方法也可以有利地用于智能卡,以便促进在嵌入到这种智能卡中的安全元件上安装软件更新。
应该注意的是附图只是示意性的。在不同的图中,类似或相同的元件具有相同的参考符号。另外,应该注意的是为了提供说明性实施例的简明描述,可能不会描述落到本领域普通技术人员惯例内的实施细节。应该理解的是在任意这些实施方式的发展中,如在任意工程或设计项目中一样,必须进行许多特定于实施方式的决定以便实现开发者的特定目的,例如符合与系统相关和商业相关限制,这些限制在实施方式之间变化。此外,应该理解的是这种开发努力可能是复杂且耗时的,但是绝不会是本领域普通技术人员惯用的设计、生产和制造。
最后,应该注意的是领域普通技术人员在不脱离所附权利要求范围的情况下能够设计许多替代实施例。在权利要求中,放置在圆括号中的任何参考符号不应该解释为限制权利要求。词语“包括”不排除除了权利要求中所列举的元件或步骤以外其他元件或步骤的存在。元件前的词语“一种”不排除存在多个这种元件。权利要求中引用的措施可以通过包括多个分立元件的硬件和/或通过适当编程的处理器来实现。在枚举了多个装置的设备权利要求中,可以由同一个硬件来实现这些装置中的多个。在相互不同的从属权利要求中使用特定的措施并不表示不能有利地使用这些措施的组合。
参考符号列表
100 计算系统
102 主机设备
104 中央处理单元
106 安全元件
108 主机设备卖主
110 受信服务管理方
112 安全元件发行方
200 计算系统
300 加密方法
302 加密方法步骤
304 加密方法步骤
306 加密方法步骤
308 加密方法步骤
310 加密方法步骤
312 加密方法步骤
400 解密方法
402 解密方法步骤
404 解密方法步骤
406 解密方法步骤
408 解密方法步骤
410 解密方法步骤
412 解密方法步骤
500 通信方法
502 通信方法步骤
504 通信方法步骤
600 安装方法
602 安装方法步骤
604 安装方法步骤
606 安装方法步骤
608 安装方法步骤
700 签名方法
702 签名方法步骤
704 签名方法步骤
706 签名方法步骤
708 签名方法步骤
710 签名方法步骤

Claims (10)

1.一种向主机设备中包括的安全元件提供软件更新的方法,包括:
使用链式加密方案将软件更新转换为密文块的序列,其中在链式加密方案中,每个密钥只使用一次;
对密文块的序列进行加密,包括:
通过用根密钥对第一密钥加密来产生根密文;
将软件更新分割为多个明文块;
连接多个明文块的第一明文块与第二密钥以产生第一密文块;
以第一密钥加密第一密文块;
对多个明文块中除最后的明文块外的每个相继的明文块,连接在先明文块与各自特定的密钥以产生相应的密文块,以及使用前一特定密钥加密每个密文块;以及
通过用最后密钥对最后明文块加密以产生最后密文块;以及
将所述密文块的序列传输至主机设备。
2.根据权利要求1所述的方法,其中在将密文块的序列传输至主机设备之前,对密文块的序列进行加密签名。
3.根据权利要求1所述的方法,其中将所述密文块的序列集成到针对主机设备的软件更新中。
4.一种在主机设备包括的安全元件上安装软件更新的方法,包括:
由主机设备接收对软件更新加以表示的密文块的序列,所述序列是通过如权利要求1至3中任一项所述的方法产生的;
将所述密文块的序列转换为软件更新;并且
将在安全元件上安装软件更新。
5.根据权利要求4所述的方法,其中转换密文块的序列包括:从所述序列中除了第一密文块之外的每一个密文块提取明文块,所述明文块包括软件更新的一部分。
6.根据权利要求5所述的方法,其中从密文块提取明文块包括:利用在所述序列的在先密文块中包括的密钥来解密密文块。
7.根据权利要求5所述的方法,其中在从除了第一密文块之外的每一个密文块提取明文块之前,用根密钥解密第一密文块,以便解锁用于对所述序列的第二密文块进行解密的密钥。
8.根据权利要求4所述的方法,其中在转换密文块的序列之前,验证密文块的序列的加密签名。
9.根据权利要求4所述的方法,其中从针对主机设备的软件更新中提取所述密文块的序列。
10.一种包括安全元件的主机设备,所述主机设备设置为执行根据权利要求4至9中任一项所述的方法。
CN201410588846.1A 2013-12-13 2014-10-28 安全元件上的软件更新方法和设备 Active CN104717198B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13290314.7 2013-12-13
EP13290314.7A EP2884692B1 (en) 2013-12-13 2013-12-13 Updating software on a secure element

Publications (2)

Publication Number Publication Date
CN104717198A CN104717198A (zh) 2015-06-17
CN104717198B true CN104717198B (zh) 2019-01-01

Family

ID=50097525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410588846.1A Active CN104717198B (zh) 2013-12-13 2014-10-28 安全元件上的软件更新方法和设备

Country Status (3)

Country Link
US (1) US9979703B2 (zh)
EP (1) EP2884692B1 (zh)
CN (1) CN104717198B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012012509B4 (de) * 2012-06-22 2021-02-04 Giesecke+Devrient Mobile Security Gmbh Verfahren und Vorrichtung zum Austausch des Betriebssystems eines ressourcenbeschränkten tragbaren Datenträgers
EP3048776B2 (en) 2015-01-22 2021-03-17 Nxp B.V. Methods for managing content, computer program products and secure element
KR102028197B1 (ko) * 2015-02-11 2019-10-04 한국전자통신연구원 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법
CN104778794B (zh) * 2015-04-24 2017-06-20 华为技术有限公司 移动支付装置和方法
EP3176695A1 (en) * 2015-12-04 2017-06-07 Gemalto Sa Method for managing a package in a secure element
US10122533B1 (en) * 2015-12-15 2018-11-06 Amazon Technologies, Inc. Configuration updates for access-restricted hosts
US10013558B1 (en) * 2015-12-17 2018-07-03 Lockheed Martin Corporation Method and computer readable medium for secure software installation mechanism
KR102444239B1 (ko) 2016-01-21 2022-09-16 삼성전자주식회사 보안 칩, 어플리케이션 프로세서, 보안 칩을 포함하는 디바이스 및 그 동작방법
US11050726B2 (en) * 2016-04-04 2021-06-29 Nxp B.V. Update-driven migration of data
US10169614B2 (en) 2016-11-17 2019-01-01 International Business Machines Corporation Container update system
US11194562B2 (en) * 2017-05-19 2021-12-07 Blackberry Limited Method and system for hardware identification and software update control
US10826691B2 (en) * 2017-05-30 2020-11-03 Servicenow, Inc. Edge encryption
US10594670B2 (en) * 2017-05-30 2020-03-17 Servicenow, Inc. Edge encryption with metadata
EP3629610B1 (en) * 2017-06-14 2021-07-14 Huawei Technologies Co., Ltd. Method and apparatus for managing embedded universal integrated circuit card configuration file
CN109863475A (zh) * 2017-10-09 2019-06-07 华为技术有限公司 一种安全元件中的应用的升级方法及相关设备
CN110062016B (zh) 2018-01-18 2023-05-09 阿里巴巴集团控股有限公司 用于可信服务管理的方法及装置
CN113056739B (zh) * 2018-09-27 2024-06-11 兰迪斯+盖尔科技股份有限公司 用于减轻安全漏洞的方法和计算机可读介质及验证文件系统的系统
JPWO2020090418A1 (ja) * 2018-10-31 2021-09-30 日立Astemo株式会社 電子制御装置、電子制御装置のリプログラミング方法
EP3722981A1 (en) * 2019-04-12 2020-10-14 Nxp B.V. System and method for applying patches to executable codes
US10997297B1 (en) * 2019-12-06 2021-05-04 Western Digital Technologies, Inc. Validating firmware for data storage devices
CN112004227B (zh) * 2020-08-25 2024-02-02 上海商米科技集团股份有限公司 移动设备的刷机控制方法和系统
US11698968B2 (en) 2021-03-05 2023-07-11 Red Hat, Inc. Management of building of software packages using a trusted execution environment

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128737A (en) * 1998-04-20 2000-10-03 Microsoft Corporation Method and apparatus for producing a message authentication code in a cipher block chaining operation by using linear combinations of an encryption key
US6226742B1 (en) * 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
DE19925389A1 (de) * 1999-06-02 2000-12-21 Beta Res Gmbh Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
US6570988B1 (en) * 1999-06-09 2003-05-27 Microsoft Corporation Simple technique for implementing a cryptographic primitive using elementary register operations
US6813354B1 (en) * 2000-03-09 2004-11-02 Lucent Technologies Inc. Mixing in small batches
CN100530026C (zh) * 2002-01-18 2009-08-19 艾利森电话股份有限公司 移动终端,把数据装入或上载到移动终端的方法和系统
AU2003303882A1 (en) * 2003-02-03 2004-08-30 Nokia Corporation Architecture for encrypted application installation
US20060053285A1 (en) * 2004-07-29 2006-03-09 Kimmel Gerald D Object access level
US9489496B2 (en) 2004-11-12 2016-11-08 Apple Inc. Secure software updates
JP4606421B2 (ja) * 2004-12-20 2011-01-05 パナソニック株式会社 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造
US8781967B2 (en) * 2005-07-07 2014-07-15 Verance Corporation Watermarking in an encrypted domain
US7792301B2 (en) * 2006-06-29 2010-09-07 Microsoft Corporation Access control and encryption in multi-user systems
US8416463B2 (en) * 2007-03-23 2013-04-09 Anoto Ab Printing of a position-coding pattern
US20090067685A1 (en) * 2007-09-07 2009-03-12 Authentec, Inc. Finger sensing apparatus using template watermarking and associated methods
US8150372B2 (en) * 2007-09-28 2012-04-03 Symbol Technologies, Inc. Method and system for distributing data within a group of mobile units
US8804953B2 (en) * 2008-11-18 2014-08-12 Red Hat, Inc. Extensive ciphertext feedback
EP2197148A1 (en) * 2008-12-15 2010-06-16 Gemalto SA Data providing process based on an IBPE scheme
EP2196937A1 (en) * 2008-12-15 2010-06-16 Thomson Licensing Methods and devices for instruction level software encryption
US20100158243A1 (en) * 2008-12-19 2010-06-24 Robert Bosch Gmbh Method of encryption in networked embedded systems
US8934630B2 (en) * 2009-11-02 2015-01-13 International Business Machines Corporation Compressing block-cipher encrypted data
EP2507708B1 (en) * 2009-12-04 2019-03-27 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
ES2902644T3 (es) 2011-02-11 2022-03-29 Siemens Healthcare Diagnostics Inc Sistema y método para actualización segura de software
JP5652363B2 (ja) * 2011-03-28 2015-01-14 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
EP2506487B1 (en) * 2011-03-30 2013-10-23 Nagravision S.A. Method of encryption with bidirectional difference propagation
JP2014523192A (ja) * 2011-07-07 2014-09-08 ベラヨ インク デバイス及びサーバの通信におけるファジーな認証情報を用いた暗号化によるセキュリティ
US9152811B2 (en) * 2012-03-12 2015-10-06 International Business Machines Corporation Transparent real-time access to encrypted non-relational data
EP2698756B1 (en) 2012-08-13 2016-01-06 Nxp B.V. Local Trusted Service Manager
EP2717511A1 (en) * 2012-10-05 2014-04-09 Nagravision S.A. Method and device for digital data blocks encryption and decryption
US10009168B2 (en) * 2012-11-26 2018-06-26 Massively Parallel Technologies, Inc. System and method for secure communications and data storage using multidimensional encryption
US9165143B1 (en) * 2013-03-15 2015-10-20 Xilinx, Inc. Image file generation and loading
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system

Also Published As

Publication number Publication date
EP2884692A1 (en) 2015-06-17
EP2884692B1 (en) 2020-05-20
CN104717198A (zh) 2015-06-17
US20150172255A1 (en) 2015-06-18
US9979703B2 (en) 2018-05-22

Similar Documents

Publication Publication Date Title
CN104717198B (zh) 安全元件上的软件更新方法和设备
AU2021203184B2 (en) Transaction messaging
CN112260826B (zh) 用于安全凭证供应的方法
CN107358441B (zh) 支付验证的方法、系统及移动设备和安全认证设备
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
WO2020072551A1 (en) Contactless card emulation system and method
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
WO2021231087A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
CN109982150B (zh) 智能电视终端的信任链建立方法和智能电视终端
CN103516524A (zh) 安全验证方法和系统
EP2950229B1 (en) Method for facilitating transactions, computer program product and mobile device
EP3340094B1 (en) Method for renewal of cryptographic whiteboxes under binding of new public key and old identifier
JP2016012902A (ja) 電子データ利用システム、携帯端末装置、及び電子データ利用システムにおける方法
JP2022509794A (ja) 回路チップおよびそれを動作させる方法
CN107846274B (zh) 一种控制方法及终端、服务器、处理器
KR101834515B1 (ko) 입력부를 포함하는 암복호화 장치
WO2023144687A1 (en) System and method for identity management
CN114531236A (zh) 一种密钥的处理方法、装置及电子设备
CN115765981A (zh) 一种可信网络通信方法、装置
CN112380574A (zh) 一种基于区块链及se芯片的数据上链方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant