CN117581225A - 用于向更新代理提供软件更新的加密方案 - Google Patents

用于向更新代理提供软件更新的加密方案 Download PDF

Info

Publication number
CN117581225A
CN117581225A CN202280045866.7A CN202280045866A CN117581225A CN 117581225 A CN117581225 A CN 117581225A CN 202280045866 A CN202280045866 A CN 202280045866A CN 117581225 A CN117581225 A CN 117581225A
Authority
CN
China
Prior art keywords
sequence
software image
encrypted
authentication
secure element
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.)
Pending
Application number
CN202280045866.7A
Other languages
English (en)
Inventor
C·吉弗雷
D·帕蒂诺
F·鲁奥
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.)
Jiede Mobile Security Germany Co ltd
Original Assignee
Jiede Mobile Security Germany Co ltd
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 Jiede Mobile Security Germany Co ltd filed Critical Jiede Mobile Security Germany Co ltd
Publication of CN117581225A publication Critical patent/CN117581225A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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
    • 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]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

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

Abstract

本发明涉及一种用于实现用于向安全元件提供软件映像的加密方案的方法、装置和系统。软件映像被转换成加密块序列,该加密块序列用认证标签保护以获得受保护的块序列,该受保护的块序列然后被传输到安全元件上的更新代理。将软件映像转换成加密块序列并用认证标签保护加密块序列的步骤由使用相同的块密码的认证加密函数来实现。

Description

用于向更新代理提供软件更新的加密方案
技术领域
本发明涉及更新安全元件上的一件软件、例如操作系统,并且更具体地,涉及一种用于实现用于向安全元件提供软件映像的加密方案的方法、一种更新代理和一种系统。
背景技术
最近,已经出现了被配置为采用电子订户简档来在移动网络上进行通信的移动设备。此类移动设备通常配备有包含电子/嵌入式安全元件(SE)的智能卡,诸如电子/嵌入式通用集成电路卡(eUICC)、智能SD或智能microSD,仅举几例。
安全元件是防篡改元件TRE,其在智能卡/设备内提供安全的存储器和执行环境,其中可以安全地存储和管理应用代码和应用数据。安全元件确保仅在被授权时才提供对存储在卡上的数据的访问。
被设计用于电信产品、例如移动设备的安全元件被配置为存储一个或多个电子订户简档,特别是电子订户识别模块(eSIM)简档,其可允许移动设备连接到一个或多个移动网络。订户简档(例如,eSIM简档)可以由移动网络运营商(MNO)生成,并且可以下载到移动网络设备。然后,可以将订户简档安装在移动设备的安全元件上,并用于由移动设备通过相应的移动网络进行通信。
历史上,安全元件的软件一旦超过生产阶段就不会变化。这意味着如果发现与其内的软件相关的任何问题(新的攻击或漏洞、扇区规范的新更新、使用它的设备的预期生命周期),则唯一可能的动作是改变整个安全元件。这使得特别难以在生产方面与市场需求保持最新(生产后的软件更新是不可能的),特别是当生产必须在工厂的认证环境中执行时。
GSMA远程供应架构提供了用于实现将软件加载到安全元件(SE)或防篡改元件(TRE)上的过程的平台。GSMA平台允许通过向安全元件提供包含简档更新的绑定安装包(Bound Installation Package)来实现存储在安全元件中的简档的改变。
为了确保绑定安装包的完整性,GSMA远程供应架构实现了基于SCP03t算法的加密方案。SCP03t算法涉及高级加密标准(AES)中定义的两种不同的加密算法,即用于确保机密性的第一算法AES CBC,以及用于授权认证和完整性的第二算法AES CMAC。也就是说,SCP03t遵循加密MAC类型,具有用于加密和完整性/真实性的单独算法。
在GSMA平台内实现的这种加密方案在其可以准备包含用于负载的简档的绑定简档包之前需要TRE和服务器之间的若干交换,这对于新软件的广播部署可能不是最佳的。
此外,由于复杂的基于SPC03t的安全方案,提供给安全元件的绑定简档包具有复杂的结构。安全元件内的更新代理需要在接收到绑定简档包时执行耗时的解密算法,以能够从绑定简档包中提取所需的数据。
此外,GSMA平台不允许实现SE/TRE中存在的基本软件的改变,例如操作系统的改变,因为所提供的安全方案缺少部署关键数据、例如新操作系统可能需要的额外保护层。
由于几个原因,下载/更新安全方案的一些使用可能需要尽可能快。一些示例可能是需要将其应用于生产线上的若干目标,或者由于该过程被分配在另一个目标内部而具有约束,如安全元件作为设备更新的一部分被更新,并且设备的制造商设置这种约束。因此,当实现用于促进安全软件下载到安全元件上的基于SCP03t的安全方案时,难以满足客户在软件更新期间最小化延迟的要求。
因此,期望提供一种用于以更有效的方式管理软件映像的加密的解决方案,其解决了上述缺点。
发明内容
本发明通过独立权利要求所涵盖的主题来解决上述技术问题。本发明的优选实施例在从属权利要求中限定。
根据本发明的第一方面,提供了一种用于向安全元件提供软件映像的方法,该方法包括:将软件映像转换成加密块序列;用认证标签保护所述加密块序列以获得受保护的块序列;以及将所述受保护的块序列传输到所述安全元件上的更新代理。将软件映像转换成加密块序列并用认证标签保护加密块序列的步骤由使用相同的块密码的认证加密函数来实现。
所提出的方法提供了一种有效且安全的解决方案,用于对一旦安全元件的生产完成就加载到安全元件上的软件进行加密。采用使用相同的块密码的认证加密函数进行加密和认证不仅导致有效且安全的解决方案,而且促进可以以低成本和低延迟实现高速的硬件实现。需要高数据吞吐量的应用可以受益于这些高速实现。
在本发明的一些实施例中,该方法还包括将软件映像分割成输入块序列,其中认证加密函数使用块密码对每个输入块进行加密,由此获得加密块序列。
在本发明的一些实施例中,认证加密函数通过将块密码的前向密码函数应用于每个输入块来加密每个输入块,以获得输出块序列;以及对每对输入块和对应的输出块执行异或XOR运算,以获得加密块序列。
该实施方式的一个优点是块密码的前向(加密)方向可以用于加密和解密。这简化了安全方案的实施方式,因为该过程可以在具有减小的占用空间(例如,较少的存储器)的硬件中实现。此外,对于诸如AES(Advanced Encryption Standard,高级加密标准)的块密码,实现高效加密通常比解密更容易,因为内部系数已经针对该方向进行了优化。
在本发明的一些实施例中,该方法还包括将加密块序列与附加认证数据级联。优选地,附加认证数据包括加密文本本身之外的特定可配置参数,例如底层交换协议,特别是协议消息的版本号、特定随机数、接收者的地址等。
使用附加认证数据允许验证这些参数,因为可以通过验证认证标签来与加密文本一起验证附加认证数据。攻击者不能简单地改变这些参数,例如,通过切换到先前的较不安全的协议号。
在本发明的一些实施例中,认证加密函数还包括将哈希函数应用于加密块序列以获得哈希标签,其中使用块密码生成哈希函数。
优选地,哈希函数是基于有限伽罗瓦域(finite Galois field)中的运算、特别是乘法的GHASH函数。GHASH函数由高级加密标准(AES)内实现的GCM(伽罗瓦/计数器模式)算法使用,以产生消息认证码,并且还支持附加认证数据(AAD),其使用GHASH进行认证但作为明文传输。
每个数据块仅使用一个AES计算,与伽罗瓦域乘法一起,确保了要传输到安全元件的受保护的块的机密性和真实性,而不使用要添加到每个块的附加MAC。因此,可以在块内打包更多的数据,从而减少所传输的绑定安装包的长度。
优选地,使用随机数对哈希标签进行加密以获得认证标签。这进一步增加了机密性和完整性。
在本发明的一些实施例中,认证标签被附加到级联的加密块序列以获得受保护的块序列。
认证标签支持基于标签的认证机制,以确保加密数据的真实性,即揭示数据的意外错误或有意修改。
优选地,认证标签包括加密块内的加密数据上的密码校验和。
在本发明的一些实施例中,将受保护的块序列传输到安全元件上的更新代理包括:对受保护的块序列进行分割,其中,第一片段到倒数第二片段携带加密的软件映像的部分,并且最后一个片段携带认证标签;以及将这些片段传输到所述更新代理。
因此,实现了要传输的数据(即软件映像、更新、简档)的紧凑表示,其中,在这种情况下,每个片段包含更多数据。这减小了完整递送包的大小。
根据本发明第二方面,提供了一种服务器、特别是订阅管理器数据准备服务器,其被配置为通过绑定安装包向安全元件提供受保护的软件更新,该服务器被配置为通过使用块密码实现认证加密函数,以加密软件映像并计算加密的软件映像上的认证标签,来从软件映像生成绑定安装包。
在根据第二方面的本发明的一些实施例中,服务器被配置为执行根据第一方面的方法。
根据本发明第三方面,提供了一种用于向移动设备提供服务的移动网络系统,该移动设备包括安全元件,该系统包括服务器、特别是订阅管理器数据准备服务器,其被配置为通过绑定安装包向安全元件提供受保护的软件更新;其中,所述服务器被配置为通过执行以下操作来从所述软件映像生成绑定安装包:使用块密码实现认证加密函数,以使用所述块密码来加密所述软件映像,并且使用相同的块密码来计算加密的软件映像上的认证标签;以及将所述受保护的块序列传输到所述安全元件上的更新代理。
根据本发明的第四方面,提供了一种在安全元件中使用以在安全元件上安装软件更新的更新代理,该更新代理被配置为:接收包含用于执行软件更新的软件映像的受保护的片段序列,该序列已经通过第一方面的方法生成并且包括加密块序列和认证标签;实现认证解密函数以从所述加密块序列中提取所述软件映像;以及通过验证所述认证标签来认证所述软件映像。
优选地,更新代理被配置为,如果认证标签被验证,则使用软件映像执行软件更新,否则返回失败消息。
根据本发明第五方面,提供了一种用于向安全元件提供受保护的软件映像的非暂时性计算机可读介质,包括存储在其上的指令,当在处理器上执行时,所述指令执行以下步骤:通过实现认证加密函数以加密软件映像并使用块密码计算经加密的软件映像上的认证标签,从要提供给安全元件的软件映像生成绑定安装包;以及将所述受保护的块序列传输到所述安全元件上的更新代理。
本文描述的方面和实施例提供了用于管理要在安全元件上更新的软件映像的加密的高效且安全的解决方案。
必须注意,本申请中描述的所有设备、元件、单元和部件可以以软件或硬件元件或其组合来实现。由本申请中描述的各种实体执行的所有步骤以及所描述的功能旨在表示相应的实体适于或被配置为执行相应的步骤和功能。
在结合附图阅读本发明的优选实施例和变型的以下详细描述后,本发明的其他方面、特征和优点对于本领域普通技术人员将变得显而易见。
附图说明
现在将参考附图,其中:
图1示出了根据实施例的远程eSIM供应系统的简化表示;
图2示出了用于在图1的eSIM供应系统上执行软件/OS更新的安全方案;
图3示出了根据本发明的实施例的用于执行软件/OS更新的修改的安全方案;
图4示出了根据实施例的用于向安全元件提供软件映像的方法的流程图;以及
图5至图7示出了根据优选实施例的图4的方法的步骤的实现。
具体实施方式
下面参考附图给出本发明的详细说明,附图示出了本发明的具体实施例示例。足够详细地描述这些实施例以使本领域技术人员能够实践本发明。应当理解,本发明的各种实施例虽然不同,但不一定是相互排斥的。例如,在不脱离本发明范围的情况下,本文结合一个实施例描述的特定特征、结构或特性可以在其他实施例中实现。另外,应当理解,在不脱离本发明范围的情况下,可以修改每个公开的实施例内的各个元件的位置或布置。因此,以下详细描述不应被视为具有限制意义,并且本发明的范围仅由适当解释的所附权利要求以及权利要求所赋予的等同物的全部范围来限定。在附图中,贯穿若干视图,相同的附图标记指代相同或相似的功能。
图1示出了根据本发明的某些实施例的基于SM-DP+的系统1的示例性架构。该架构是GSM协会发布的SGP.22RSP技术规范2.0版(以下称为GSMARSP 22)中描述的GSMA架构的适配。eSIM供应系统1围绕若干元件组织:SM-DP+(订阅管理器-数据准备和安全路由,300)、SM-DS(订阅管理器-发现服务器,310)、LPA(本地简档辅助,250)和eUICC 100,后者是终端用户330的移动设备200的一部分。
SM-DP+300负责由MNO 320提供的订户简档的创建、下载、远程管理(启用、禁用、更新、删除)和保护。特别地,SM-DP+300可以被配置为在绑定简档包或绑定安装包中提供简档,并且使得绑定简档/安装包能够被安全地传输。
LPA(本地简档辅助,250)是设备200中负责提供将(加密的)简档下载到eUICC/TRE/SE 100的能力的一组功能。它还向终端用户330呈现本地管理终端用户接口,因此他们可以管理eUICC/TRE/SE 100上的简档的状态。
SM-DS 310为SM-DP+300提供与eUICC/TRE/SE 100通信的手段。
外部设备200可以描述控制SE 100并与SE 100通信的实体。它可以是移动终端,或者是SE安装在其上的任何设备。
更新代理110是安全元件100(与OS130分离)内负责接收安装包并执行软件更新的实体。在安全元件100的工厂生产期间,更新代理与(初始)操作系统(OS,图1中的130)一起被加载到安全元件或TRE上。最初,假设OS130处于控制中,这意味着它是在TRE 100引导时执行的OS。
图2示出了用于通过绑定安装包(简称为安装包)向图1的安全元件100提供软件映像(例如,操作系统OS映像)的软件更新安全方案。提供用于更新的软件映像的方案使从GSMARSP 22已知的一般方案适应于图1的架构。
图2中的图示出了简档包(即,绑定安装简档)从其生成到被下载到安全元件上将采用的各种格式。特别地,通过执行诸如前置和分割的若干操作,在从软件映像开始的若干阶段I至V中创建绑定安装简档。
在第一阶段I中,由图像发布者提供的图像501被预先添加清单502和清单签名501。清单502包含与要上传的新软件映像有关的信息,并且确保图像是可接受的并且发行方是可信的。所得到的块包含尚未加密的明文数据。
在阶段II中,SM-DP+300可以根据在阶段I中获得的包生成包含简档元素TLV(标签长度值)TLV1、…、TLVn的序列的不受保护的图像包510。优选地,TLV根据SIMallianceeUICC简档包:互操作格式技术规范V2.0。
在阶段III中,SM-DP+300可以通过应用TLV加密和MAC处理来从不受保护的包简档生成受保护的包简档。这些操作可以优选地遵循GSMA“Remote Provisioning of EmbeddedUICC Technical specification(嵌入式UICC的远程供应技术规范)”V3.1中描述的方案。优选地,通过应用由SM-DP+300生成的私有简档保护密钥PK-ENC来完成TLV加密。得到的数据块被分成片段1至X,521。
在阶段IV中,SM-DP+300可以通过将在阶段III中获得的受保护的图像包链接或绑定到特定的eSIM/eUICC来生成绑定安装简档包500。这是通过eSIM和SM-DP+之间的密钥协议来完成的。
最后,在阶段V中,具有报头部分530和数据承载部分520的绑定安装简档包500被分割成块,并被递送到eSIM或安全元件100上的更新代理110。优选地,通过存储数据命令发送片段。
图2中的方案基于SCP03t算法(例如,在SGP.02-V4.2第4.1.3.3节中描述的),用于在阶段III中实现加密和认证。特别地,SCP03t算法涉及在高级加密标准(AES)中定义的两种不同的加密算法,即用于确保机密性的第一算法AES CBC和用于授权认证和完整性的第二算法AES CMAC。也就是说,SCP03t遵循加密MAC类型,具有用于加密和完整性/真实性的单独算法。
可以在图1的经适配的GSMA远程供应架构上实现的上述软件更新安全方案(在其可以准备用于负载的绑定简档包之前)需要安全元件(或TRE)100和SM-DP+服务器300之间的若干交换,这对于新软件的广播部署可能不是最佳的。该方案还缺少部署关键数据(诸如新OS)可能需要的额外保护层。
此外,安全元件内的更新代理需要执行耗时的解密算法,以便能够从接收到的安装包中提取软件更新。
因此,当实现上述安全方案时,不能满足客户在软件更新期间最小化延迟的要求。
为了解决这个问题,本发明提出了一种用于以更有效的方式管理图像片段的加密的方法、装置和系统。特别地,提出了一种更快的加密方案,用于由SM-DP+服务器300在图2的安全方案的阶段III中实现。
提出的加密方案基于AES GCM(Galois/Counter Mode,伽罗瓦/计数器模式)。AESGCM授予机密性和真实性两者,而不需要添加MAC,并且每个数据块仅使用一次AES计算以及伽罗瓦域乘法。
图3示出了根据本发明的实施例的用于生成要用于执行软件/OS更新的受保护的软件包的修改的安全方案。修改的安全方案基于在阶段III中实现的新颖的包保护方案,这将在下面参考图4至图7进一步描述。
n个片段523中的每一个携带加密块521,加密块521是包含加密的软件映像的块或片段。最后一个片段524携带认证标签522。认证标签可以是加密块内的加密数据上的密码校验和。认证标签可以被设计为确保加密数据的真实性,即揭示数据的意外错误或有意修改。
与使用两种不同算法的常规实现相比,该新方案利用了AES CGM的更好的整体性能。由于不再需要在每个受保护的图像片段内发送MAC,因此可以在每个片段内打包更多的数据,从而减小要传送到安全元件的整个安装包的大小。
在图4至图7中示出了用于向实现图3的安全方案的安全元件提供软件映像的方法。图4示出了主要步骤的流程图,而图5至图7示出了图4的主要步骤的优选实施方式。该方法可以由服务器(诸如图1的SM-DP+服务器300)实现。
参考图4,在第一步骤S1中,通过使用块密码应用认证加密函数,将要提供给安全元件的软件映像501转换成加密块序列。随后,在步骤S2中,通过使用相同的块密码应用认证加密函数,用认证标签保护加密块序列,以获得受保护的块序列。在步骤S3中,然后可以将所获得的受保护的块序列传输到更新代理110。
认证加密函数被应用于使用相同的块密码的加密和认证两者。块密码可以是固定长度的比特串上的置换的参数化族。也是给定长度的比特串的密钥用于确定置换。
本文采用的认证加密函数的示例是用于认证加密的伽罗瓦/计数器模式(GCM)算法。GCM由具有128位的块大小的经批准的对称密钥块密码构造,例如高级加密标准(AES)算法。
现在参考图5举例说明上述步骤S1的优选实施方式。
在图5的步骤S11中,首先将接收到的软件映像501分割成多个输入块BI1、…、BIN
然后将认证加密函数应用于每个输入块,特别是通过在步骤S12中将前向密码函数F应用于每个输入块,并在步骤S13中在所得块和输入块之间逐块执行XOR运算,以获得加密块。即:
-输入块:BI1、…、BIN
-输出块:BO1,…,BON,其中BOi=F(BIi),i=1,…,N
-加密块:X1,…,XN,其中Xi=BOi XOR BIi,i=1,…,N
前向密码函数F可以是固定长度的比特串上的置换,例如具有对称密钥K的前向密码函数CIPHK。密钥K可以均匀且随机地生成,并且应当是秘密的,并且专门用于具有所选择的块密码的GCM。
图4的步骤S1和图5的对应子步骤S11至S13实现机密性机制。图4的步骤S2和图6的对应子步骤S21至S23对在步骤S1中获得的加密块实现认证机制。
参考图6,使用哈希函数对加密块X1、…、XN进行认证操作。
可选地,在应用哈希函数之前,可以在步骤S24中将附加认证数据(AAD)附加到加密块。AAD可以包括网络地址、端口、协议版本号和指示应该如何处理明文(即,软件映像)的其他字段。AAD数据是明文的,即未加密。
在步骤S21中,可以对加密块序列应用哈希函数。使用与用于机密性保护的块密码相同的块密码来生成哈希函数。这种哈希函数的示例包括基于有限伽罗瓦域中的运算的GHASH函数,如在NIST特殊出版物800-38D:Recommendation for Block Cipher Modes ofOperation GCM,2007年11月中所定义的
GHASH(X1,…,XN)=Ym
其中,X1,…,XN表示加密块序列,并且Ym表示通过应用哈希函数获得的哈希标签。
在另一步骤S22中,对哈希标签Ym进行加密以获得认证标签AuthTag522(参见图3)。优选地,使用随机数(诸如具有严格唯一性要求的初始化向量)来执行加密。
最终将所获得的认证标签附加到加密块序列[X1║…║XN║AuthTag],由此获得图3中描绘的受保护的图像包520。
在图4的流程图的步骤S3中,将受保护的图像包520传输到更新代理110。
图7中示出了步骤S3的优选实施方式。受保护的图像包520在步骤S31中被分割成如图3中所描绘的受保护的块523、524的序列,然后在步骤S32中将其传输到更新代理。优选地,第一片段到倒数第二片段523携带加密的软件映像的部分,并且最后一个片段524携带认证标签。
在本发明的另一方面,提供了一种被配置为实现上述方法的服务器。服务器可以是来自图1的SM-DP+服务器300。服务器300可以被配置为根据图3的安全方案生成绑定安装包500,并且将绑定安装包500提供给安全元件100。
特别地,服务器300可以被配置为通过使用块密码实现认证加密函数,以对软件映像501进行加密并计算加密的软件映像上的认证标签522,来从软件映像501生成绑定安装包500。此外,服务器可以被配置为执行根据图4至图7所示的实施例的方法的所有步骤和子步骤。
图1的移动网络系统1是根据本发明的某些实施例的通过图4至图7的方法在SM-DP+服务器300内实现图3的加密方案的示例性系统。
在本发明的另一方面,提供了一种用于在安全元件100中使用以在安全元件100上安装软件更新的更新代理110。更新代理可以是图1中描绘的更新代理100。更新代理被配置为实现安全方案,诸如图3中描绘的安全方案。
特别地,更新代理110可以接收包含用于执行软件更新的软件映像501的受保护的片段523的序列。该序列可能已经通过根据本发明的实施例的方法生成,如上面参考图4至图7所述。在接收到受保护的片段的序列时,更新代理110可以实现认证解密函数以提取软件映像501。
优选地,更新代理实现GCM认证解密函数,其是由SM-DP+服务器300实现的认证加密函数的逆。使用该函数,将密文(即受保护的片段的序列)解密为明文,并验证密文的真实性。更新代理110可以从解密的明文提取软件映像,可以验证认证标签,并且如果认证标签被验证,则可以使用软件映像执行软件更新。在认证标签的验证失败的情况下,更新代理可以向安全元件和/或设备返回失败消息。
本文描述的方面和实施例提供了用于管理要在安全元件上更新的软件映像的加密的高效且安全的解决方案。
与传统的基于SCP03t的实现相比,所提出的绑定包加密利用了AES CGM的更好的整体性能。发送到更新代理的每个受保护的片段仅携带有效载荷数据,而不需要包括通常为8字节长的消息认证码MAC。因此,要传输到更新代理的数据可以打包在较少数量的片段内,从而减小完整递送包的大小。这进而将允许安全元件内的更新代理组件占据较小的占用空间,从而允许其以具有较小可用存储器的安全元件为目标。
利用所提出的方案来更新防篡改元件TRE或安全元件SE中的软件的可能性将证明对于更新TRE中的操作系统以随着市场的演变而保持最新以及在TRE的生命周期中的任何点处提供补丁和安全性以及错误修复是有用的。
在上述说明书中,已经参考本发明的具体实施例描述了本发明。然而,显而易见的是,在不脱离本发明的更宽范围的情况下,可以对其进行各种修改和改变。例如,参考处理动作的特定顺序来描述上述处理流程。然而,在不影响本发明的范围或操作的情况下,可以改变许多所描述的过程动作的顺序。因此,说明书和附图应被认为是说明性的而不是限制性的。

Claims (15)

1.一种用于向安全元件提供软件映像的方法,所述方法包括:
-将所述软件映像转换(S1)成加密块序列;
-用认证标签保护(S2)所述加密块序列以获得受保护的块序列;
-向所述安全元件(100)上的更新代理(110)传输(S3)所述受保护的块序列;
-其中,转换和保护的步骤由使用相同块密码的认证加密函数来实现。
2.根据权利要求1所述的方法,还包括:将所述软件映像分割(S11)为输入块序列,其中,所述认证加密函数使用所述块密码对每个输入块进行加密,从而获得所述加密块序列。
3.根据权利要求2所述的方法,其中,所述认证加密函数通过以下方式对每个输入块进行加密:
-将所述块密码的前向密码函数应用(S12)到每个输入块以获得输出块序列;以及
-对每对输入块和对应的输出块执行(S13)异或运算,以获得所述加密块序列。
4.根据权利要求2或3所述的方法,还包括:将所述加密块序列与附加认证数据级联(S24)。
5.根据权利要求2至4中任一项所述的方法,其中,所述认证加密函数对所述加密块序列应用(S21)哈希函数以获得哈希标签,其中,所述哈希函数是使用所述块密码生成的。
6.根据权利要求5所述的方法,其中,所述哈希函数是基于有限伽罗瓦域中的运算的GHASH函数。
7.根据权利要求5或6所述的方法,还包括:使用随机数对所述哈希标签进行加密(S22)以获得所述认证标签。
8.根据权利要求7所述的方法,还包括:将所述认证标签附加(S23)到级联的加密块序列,以获得所述受保护的块序列。
9.根据上述权利要求中任一项所述的方法,其中,将所述受保护的块序列传输(S3)到所述安全元件内的更新代理包括:对所述受保护的块序列进行分割(S31),其中,第一片段到倒数第二片段承载经加密的软件映像的部分,并且最后一个片段承载所述认证标签;以及将片段传输(S32)到所述更新代理(110)。
10.一种服务器(300)、特别是订阅管理器数据准备服务器,被配置为通过绑定安装包(500)向安全元件(100)提供受保护的软件更新,所述服务器(300)被配置为通过使用块密码实现认证加密函数,以对所述软件映像(501)进行加密并计算经加密的软件映像上的认证标签(522),来从软件映像(501)生成所述绑定安装包(500)。
11.根据权利要求10所述的服务器(300),还被配置为执行根据权利要求2至9中任一项所述的方法。
12.一种用于向移动设备(200)提供服务的移动网络系统(1),所述移动设备(200)包括安全元件(100),所述系统(1)包括服务器(300)、特别是订阅管理器数据准备服务器,其被配置为通过绑定安装包(500)向所述安全元件(100)提供受保护的软件更新;其中,所述服务器(300)被配置为通过执行以下操作从包括所述受保护的软件更新的软件映像(501)生成所述绑定安装包(500):
-使用块密码来实现认证加密函数,以使用所述块密码来加密所述软件映像(501),并且使用相同的块密码来计算经加密的软件映像上的认证标签(522);以及
-将所述受保护的块序列传输到所述安全元件(100)上的更新代理(110)。
13.一种用于在安全元件(100)中使用以在所述安全元件(100)上安装软件更新的更新代理(110),所述更新代理(110)被配置为:
-接收包含用于执行所述软件更新的软件映像(501)的受保护的片段序列(523),所述受保护的片段序列(523)已经通过根据权利要求1至9中任一项所述的方法生成并且包括加密块序列(521)和认证标签(522);以及
-实现认证解密函数,以从所述加密块序列(521)中提取所述软件映像(501);以及通过验证所述认证标签(522)来认证所述软件映像(501)。
14.根据权利要求13所述的更新代理(110),其中,所述更新代理(110)被配置为:如果所述认证标签(522)被验证,则使用所述软件映像(501)执行软件更新,否则返回失败消息。
15.一种用于向安全元件(100)提供受保护的软件映像的非暂时性计算机可读介质,包括存储在其上的指令,所述指令当在处理器上执行时,执行以下步骤:
-通过实现认证加密函数,以对软件映像(501)进行加密并使用块密码在经加密的软件映像上计算认证标签(522),来从所述软件映像(501)生成绑定安装包(500);以及
-将所述绑定安装包传输到所述安全元件(100)上的更新代理(110)。
CN202280045866.7A 2021-06-30 2022-06-29 用于向更新代理提供软件更新的加密方案 Pending CN117581225A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP21382578.9A EP4113341A1 (en) 2021-06-30 2021-06-30 Encryption scheme for providing software updates to an update agent
EP21382578.9 2021-06-30
PCT/EP2022/025295 WO2023274579A1 (en) 2021-06-30 2022-06-29 Encryption scheme for providing software updates to an update agent

Publications (1)

Publication Number Publication Date
CN117581225A true CN117581225A (zh) 2024-02-20

Family

ID=76890967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280045866.7A Pending CN117581225A (zh) 2021-06-30 2022-06-29 用于向更新代理提供软件更新的加密方案

Country Status (4)

Country Link
EP (1) EP4113341A1 (zh)
KR (1) KR20240031332A (zh)
CN (1) CN117581225A (zh)
WO (1) WO2023274579A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2993682B1 (fr) * 2012-07-20 2014-08-22 Oberthur Technologies Mise a jour d'un systeme d'exploitation pour element securise
US9537657B1 (en) * 2014-05-29 2017-01-03 Amazon Technologies, Inc. Multipart authenticated encryption
US20200162247A1 (en) * 2018-11-15 2020-05-21 Iot And M2M Technologies, Llc Secure firmware transfer from a server to a primary platform

Also Published As

Publication number Publication date
KR20240031332A (ko) 2024-03-07
EP4113341A1 (en) 2023-01-04
WO2023274579A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
US10454674B1 (en) System, method, and device of authenticated encryption of messages
US9043604B2 (en) Method and apparatus for key provisioning of hardware devices
US9705673B2 (en) Method, device, and system of provisioning cryptographic data to electronic devices
US7979707B2 (en) Secure seed generation protocol
JP4856080B2 (ja) データ処理装置へのデータのセキュリティ上安全なロード及び格納
EP3693880A1 (en) Software encryption
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
EP1580958A1 (en) Internet protocol tunnelling using templates
WO2016165900A1 (en) Method to check and prove the authenticity of an ephemeral public key
US11683178B2 (en) System and method for measuring and reporting IoT boot integrity
US20200382294A1 (en) Method and apparatus for cryptographically aligning and binding a secure element with a host device
JP2019500798A (ja) 電子エンティティにおけるデータ受信方法および関連する電子エンティティ
Cooper et al. Fido device onboard specification 1.1
US11516024B2 (en) Semiconductor device, update data-providing method, update data-receiving method, and program
CN112069535B (zh) 一种基于访问分区物理隔离的双系统安全智能终端架构
EP4113341A1 (en) Encryption scheme for providing software updates to an update agent
Bäumer et al. Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation
KR100401063B1 (ko) 패스워드 기반 키교환 방법 및 그 시스템
EP4113340A1 (en) Authentication scheme for providing software updates to an update agent
WO2019231348A1 (ru) Способ и система защищенного хранения информации в файловых хранилищах данных
EP4113342A1 (en) Update agent download scheme
JP5149863B2 (ja) 通信装置及び通信処理方法
KR20220081068A (ko) 암복호화 키를 이용한 어플리케이션 보안 장치 및 방법
CN117193836A (zh) 升级方法、装置、电子设备及计算机存储介质
Tsague et al. Secure firmware updates for point of sale terminals

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination