CN110393019B - 更新固件的方法及相关装置 - Google Patents
更新固件的方法及相关装置 Download PDFInfo
- Publication number
- CN110393019B CN110393019B CN201780088276.1A CN201780088276A CN110393019B CN 110393019 B CN110393019 B CN 110393019B CN 201780088276 A CN201780088276 A CN 201780088276A CN 110393019 B CN110393019 B CN 110393019B
- Authority
- CN
- China
- Prior art keywords
- installation package
- information
- message
- euicc
- differential
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种更新固件的方法及相关装置,方法包括:接收更新服务器发送的第一消息,第一消息包括第一数据以及第一数据的签名;对第一消息进行验证,并在第一消息验证通过之后,获取第一数据包括的摘要数据,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,摘要数据还包括第一安装包的摘要信息或者第二安装包的摘要信息中的至少一种;接收更新服务器发送的第二消息,第二消息包括差分安装包;对摘要数据进行验证,并在摘要数据验证通过之后,根据差分安装包更新eUICC的固件;其中,第一安装包是当前固件版本对应的安装包,第二安装包是更新固件版本对应的安装包。通过本申请实施例可以在一定程度上保证eUICC固件更新的安全性。
Description
技术领域
本申请涉及电信智能卡领域,尤其涉及更新固件的方法及相关装置。
背景技术
嵌入式通用集成电路卡(embedded Universal Integrated Circuit Card,eUICC)是第三代电信智能卡,能够执行远程配置文件管理,或者执行本地配置文件管理(比如,用户设备用户触发的配置文件激活、去激活或删除等)。eUICC一词源自嵌入式(embedded)UICC,可以是单个芯片形态嵌入在用户设备中,或者作为用户设备中其它单个芯片的一部分,但不意味着必须嵌入在用户设备中不可移动,也可以是可移动的卡片形态,就像用户身份识别(Subscriber Identification Module,SIM)卡、Micro SIM卡或NanoSIM卡一样。
在eUICC远程管理/配置系统的架构中,远程服务器包括签约管理者-发现(Subscription Manager Discovery Service,SM-DS)服务器等为用户设备提供服务或与用户设备进行交互的服务器。SM-DS又称事件管理服务器,可以用于根据其他远程服务器的事件注册请求进行事件注册,并在用户设备发起查询的情况下将对应的事件记录发送给用户设备,以使用户设备通过事件记录中的远程服务器地址与对应的远程服务器建立连接并进行相应的操作,其中,事件包括但不限于签约信息集(Profile)下载事件、远程Profile管理(Remote Profile Management,RPM)事件、固件更新事件。
目前,在对eUICC固件进行更新时,相关标准没有定义eUICC固件更新的安全性管理机制。如果在更新eUICC固件之前,不对更新安装包进行合法性以及完整性校验,可能会存在被恶意攻击者篡改过的更新安装包,给用户设备带来安全风险。
发明内容
本申请实施例公开了一种更新固件的方法及相关装置,可以保证eUICC固件更新的安全性。
本申请实施例第一方面提供了一种更新固件的方法,该方法包括:首先,用户设备接收更新服务器发送的第一消息,其中,该第一消息包括第一数据以及第一数据的签名;然后,用户设备利用第一数据以及第一数据的签名对该第一消息进行验证,并在该第一消息验证通过之后,用户设备获取第一数据包括的摘要数据,其中,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,摘要数据还包括第一安装包的摘要信息或者第二安装包的摘要信息中的至少一种,第一安装包是用户设备当前固件版本对应的安装包,第二安装包是更新固件版本对应的安装包,该差分安装包即是第一安装包和第二安装包的差异部分组成的更新安装包;接着,用户设备接收更新服务器发送的第二消息,其中,第二消息包括该差分安装包,该差分安装包用于用户设备的固件更新;最后,用户设备对摘要数据进行验证,并在摘要数据验证通过之后,用户设备根据该第二消息包括的差分安装包更新用户设备的eUICC的固件。通过本申请实施例,可以在更新用户设备的固件之前,对用于更新eUICC固件的安装包进行合法性以及完整性验证,从而保证eUICC固件更新的安全性。
在一种可能的实施例中,用户设备获取到的摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,以及第一安装包的摘要信息,用户设备对摘要数据进行验证,包括:首先,用户设备获取第三安装包的摘要信息,其中,第三安装包是用户设备在本地存储的用户设备当前固件版本对应的安装包;然后,用户设备将第三安装包的摘要信息与第一安装包的摘要信息进行对比,当第三安装包的摘要信息与第一安装包的摘要信息相同时,用户设备确定第一安装包的摘要信息验证通过;最后,用户设备获取第二消息包括的差分安装包的摘要信息,并将第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息进行对比,当第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同时,用户设备确定第一安装包和第二安装包之间的差分安装包的摘要信息验证通过,进而确定摘要数据验证通过。
在一种可能的实施例中,用户设备获取到的摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,以及第二安装包的摘要信息,用户设备对摘要数据进行验证,包括:首先,用户设备获取第二消息包括的差分安装包的摘要信息,并将第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息进行对比;当第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同时,用户设备确定第一安装包和第二安装包之间的差分安装包的摘要信息验证通过;然后,用户设备获取第三安装包以及第三安装包的摘要信息,其中,第三安装包是用户设备在本地存储的用户设备当前固件版本对应的安装包;接着,用户设备将第三安装包以及该第二消息包括的差分安装包进行合成得到第四安装包,并获取第四安装包的摘要信息;最后,用户设备将第四安装包的摘要信息与第二安装包的摘要信息进行对比,当第四安装包的摘要信息与第二安装包的摘要信息相同时,用户设备确定第二安装包的摘要信息验证通过,进而确定摘要数据验证通过。
在一种可能的实施例中,用户设备获取到的摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,第一安装包的摘要信息,以及第二安装包的摘要信息,用户设备对摘要数据进行验证,包括:首先,用户设备获取第三安装包以及第三安装包的摘要信息,其中,第三安装包是用户设备在本地存储的用户设备当前固件版本对应的安装包;然后,用户设备将第三安装包的摘要信息与第一安装包的摘要信息进行对比,当第三安装包的摘要信息与第一安装包的摘要信息相同时,用户设备确定第一安装包的摘要信息验证通过;接着,用户设备获取第二消息包括的差分安装包的摘要信息,并将第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息进行对比,当第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同时,用户设备确定第一安装包和第二安装包之间的差分安装包的摘要信息验证通过;最后,用户设备将第三安装包以及第二消息包括的差分安装包进行合成得到第四安装包,并获取第四安装包的摘要信息,将第四安装包的摘要信息与第二安装包的摘要信息进行对比,当第四安装包的摘要信息与第二安装包的摘要信息相同时,用户设备确定第二安装包的摘要信息验证通过,进而确定摘要数据验证通过。
其中,第一安装包的摘要信息验证通过说明第一安装包未被篡改,从而可以保证得到的第二消息包括的差分安装包的有效性以及合法性;第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同说明第二消息包括的差分安装包未被篡改,从而可以保证第二消息包括的差分安装包的完整性;第二安装包的摘要信息验证通过说明,利用第二消息包括的差分安装包与第三安装包合成后的安装包与第二安装包一致,进一步说明第二消息包括的差分安装包的有效性以及合法性。通过本申请实施例,可以在更新用户设备的固件之前,对用于更新eUICC固件的安装包进行合法性以及完整性验证,从而保证eUICC固件更新的安全性。
在一种可能的实施例中,第一安装包和第二安装包之间的差分安装包,以及摘要数据存储在更新服务器上。
在一种可能的实施例中,用户设备接收更新服务器发送的第一消息之前还包括:用户设备接收事件管理服务器根据用户设备的eUICC标识发送的目标事件记录以及更新服务器的地址,其中,目标事件记录用于指示用户设备执行更新固件操作;用户设备根据更新服务器的地址向更新服务器发送第三消息,其中,第三消息包括述eUICC标识;用户设备接收更新服务器发送的第一消息,包括:用户设备接收更新服务器根据eUICC标识发送的第一消息。
在一种可能的实施例中,用户设备接收更新服务器发送的第二消息之前还包括:用户设备根据预先获取到的更新服务器的地址向更新服务器发送第四消息,其中,第四消息包括第二数据、第二数据的签名和eUICC信息;用户设备接收更新服务器发送的第二消息,包括:用户设备接收更新服务器在第四消息验证通过之后发送的第二消息,其中,第二消息包括的差分安装包是更新服务器根据eUICC信息查找预先生成的软件包列表得到的。
在一种可能的实施例中,用户设备根据第二消息包括的差分安装包更新eUICC的固件之后还包括:用户设备获取并存储eUICC更新之后的固件版本对应的安装包的摘要信息。
本申请实施例第二方面提供了另一种更新固件的方法,该方法包括:首先,eUICC接收本地文件助手LPA发送的第一消息,其中,该第一消息包括第一数据以及第一数据的签名,该第一消息是更新服务器发送给LPA的;然后,eUICC利用第一数据以及第一数据的签名对该第一消息进行验证,并在该第一消息验证通过之后,eUICC获取第一数据包括的摘要数据,其中,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,摘要数据还包括第一安装包的摘要信息或者第二安装包的摘要信息中的至少一种,第一安装包是用户设备当前固件版本对应的安装包,第二安装包是更新固件版本对应的安装包,该差分安装包即是第一安装包和第二安装包的差异部分组成的更新安装包;接着,eUICC接收LPA发送的第二消息,其中,该第二消息包括差分安装包,该第二消息是更新服务器发送给LPA的;最后,eUICC对该摘要数据进行验证,并在该摘要数据验证通过之后,eUICC根据第二消息包括的差分安装包更新eUICC的固件。
在一种可能的实施例中,eUICC获取到的摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,以及第一安装包的摘要信息,eUICC对摘要数据进行验证,包括:首先,eUICC获取第三安装包的摘要信息,其中,第三安装包是eUICC在本地存储的eUICC当前固件版本对应的安装包;然后,eUICC将第三安装包的摘要信息与第一安装包的摘要信息进行对比,当第三安装包的摘要信息与第一安装包的摘要信息相同时,eUICC确定第一安装包的摘要信息验证通过;最后,eUICC获取第二消息包括的差分安装包的摘要信息,并将第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息进行对比,当第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同时,eUICC确定第一安装包和第二安装包之间的差分安装包的摘要信息验证通过,进而确定摘要数据验证通过。
在一种可能的实施例中,eUICC获取到的摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,以及第二安装包的摘要信息,eUICC对摘要数据进行验证,包括:首先,eUICC获取第二消息包括的差分安装包的摘要信息,并将第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息进行对比;当第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同时,eUICC确定第一安装包和第二安装包之间的差分安装包的摘要信息验证通过;然后,eUICC获取第三安装包以及第三安装包的摘要信息,其中,第三安装包是eUICC在本地存储的eUICC当前固件版本对应的安装包;接着,用户设备将第三安装包以及第二消息包括的差分安装包进行合成得到第四安装包,并获取第四安装包的摘要信息;最后,eUICC将第四安装包的摘要信息与第二安装包的摘要信息进行对比,当第四安装包的摘要信息与第二安装包的摘要信息相同时,eUICC确定第二安装包的摘要信息验证通过,进而确定摘要数据验证通过。
在一种可能的实施例中,eUICC获取到的摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,第一安装包的摘要信息,以及第二安装包的摘要信息,eUICC对摘要数据进行验证,包括:首先,eUICC获取第三安装包以及第三安装包的摘要信息,其中,第三安装包是eUICC在本地存储的eUICC当前固件版本对应的安装包;然后eUICC将第三安装包的摘要信息与第一安装包的摘要信息进行对比,当第三安装包的摘要信息与第一安装包的摘要信息相同时,eUICC确定第一安装包的摘要信息验证通过;接着,eUICC获取第二消息包括的差分安装包的摘要信息,并将第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息进行对比,当第一安装包和第二安装包之间的差分安装包的摘要信息,与第二消息包括的差分安装包的摘要信息相同时,eUICC确定第一安装包和第二安装包之间的差分安装包的摘要信息验证通过;最后,eUICC将第三安装包以及第二消息包括的差分安装包进行合成得到第四安装包,并获取第四安装包的摘要信息,将第四安装包的摘要信息与第二安装包的摘要信息进行对比,当第四安装包的摘要信息与第二安装包的摘要信息相同时,eUICC确定第二安装包的摘要信息验证通过,进而确定摘要数据验证通过。
在一种可能的实施例中,第一安装包和第二安装包之间的差分安装包,以及摘要数据存储在更新服务器上。
在一种可能的实施例中,eUICC根据第二消息包括的差分安装包更新eUICC的固件之后还包括:eUICC获取并存储eUICC更新之后的固件版本对应的安装包的摘要信息。
本申请实施例第三方面提供了又一种更新固件的方法,该方法包括:首先,更新服务器向用户设备发送第一消息,其中,该第一消息包括第一数据以及第一数据的签名,第一数据包括摘要数据,该摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,摘要数据还包括第一安装包的摘要信息或者第二安装包的摘要信息中的至少一种,第一安装包是用户设备当前固件版本对应的安装包,第二安装包是更新固件版本对应的安装包,该差分安装包即是第一安装包和第二安装包的差异部分组成的更新安装包;然后,更新服务器向用户设备发送第二消息,以便于用户设备根据该摘要数据,利用该第二消息包括的差分安装包更新eUICC的固件;
在一种可能的实施例中,更新服务器用于存储第一安装包和第二安装包之间的差分安装包,以及该摘要数据。
在一种可能的实施例中,更新服务器向用户设备发送第一消息之前还包括:更新服务器接收用户设备根据预先获取到的更新服务器的地址发送的第三消息,其中,该第三消息包括用户设备的eUICC标识;更新服务器向用户设备发送第一消息,包括:更新服务器向用户设备发送更新服务器根据eUICC标识确定的第一消息。
在一种可能的实施例中,更新服务器向用户设备发送第二消息之前还包括:更新服务器接收用户设备根据预先获取到的更新服务器的地址发送的第四消息,其中,该第四消息包括第二数据、第二数据的签名和eUICC信息;更新服务器利用第二数据以及第二数据的签名对该第四消息进行验证,并在该第四消息验证通过之后,更新服务器向用户设备发送第二消息,其中,第二消息包括的差分安装包是更新服务器根据eUICC信息查找预先生成的软件包列表得到的。
本申请实施例第四方面提供了一种用户设备,该用户设备包括接收模块、处理模块和发送模块,上述接收模块、处理模块和发送模块用于执行上述第一方面所述的任一种方法。
本申请实施例第五方面提供了一种eUICC,该eUICC包括通信模块和处理模块,上述通信模块和处理模块用于执行上述第二方面所述的任一种方法。
本申请实施例第六方面提供了一种更新服务器,该更新服务器包括发送模块、处理模块和接收模块,上述发送模块、处理模块和接收模块用于执行上述第三方面所述的任一种方法。
本申请实施例第七方面提供了另一种用户设备,该用户设备包括处理器、存储器和收发器,上述处理器、存储器和收发器用于执行上述第一方面所述的任一种方法。
本申请实施例第八方面提供了另一种eUICC,该eUICC包括处理器、存储器和收发器,上述处理器、存储器和收发器用于执行上述第二方面所述的任一种方法。
本申请实施例第九方面提供了另一种更新服务器,该更新服务器包括处理器、存储器和收发器,上述处理器、存储器和收发器用于执行上述第三方面所述的任一种方法。
本申请实施例第十方面提供了一种计算机可读存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被计算机执行时使计算机执行上述第一方面或第二方面或第三方面所述的任一种方法。
本申请实施例第十一方面提供一种计算机程序产品,计算机程序产品包括程序指令,程序指令当被计算机执行时使计算机执行上述第一方面或第二方面或第三方面所述的任一种方法。
附图说明
图1是本申请实施例提供的一种eUICC远程管理/配置系统的架构示意图;
图2是本申请实施例提供的一种双向鉴权的方法的流程示意图;
图3是本申请实施例提供的一种更新固件的方法的流程示意图;
图4是本申请实施例提供的另一种更新固件的方法的流程示意图;
图5是本申请实施例提供的又一种更新固件的方法的流程示意图;
图6是本申请实施例提供的一种用户设备的结构示意图;
图7是本申请实施例提供的另一种用户设备的结构示意图;
图8是本申请实施例提供的一种更新服务器的结构示意图;
图9是本申请实施例提供的另一种更新服务器的结构示意图;
图10是本申请实施例提供的一种固件更新系统的架构示意图;
图11是本申请实施例提供的一种eUICC的结构示意图;
图12是本申请实施例提供的另一种eUICC的结构示意图;
图13是本申请实施例提供的用户设备的一种实现方式的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例的技术方案适用于eUICC远程管理/配置系统,本申请实施例的eUICC远程管理/配置系统的架构可以如图1所示,图1是本申请实施例提供的一种eUICC远程配置/管理系统架构示意图。其中,操作系统分发服务器(operating systemdeliveryserver,ODS)是本申请实施例提供的一种更新服务器,用于存储摘要数据、存储用于更新eUICC固件的差分安装包;ODS也用于将摘要数据、用于更新eUICC固件的差分安装包绑定到指定eUICC的EID。其中,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,摘要信息还包括第一安装包的摘要信息、第二安装包的摘要信息中的至少一种;第一安装包是用户设备当前固件版本对应的安装包,第二安装包是更新固件版本对应的安装包;用于更新eUICC固件的差分安装包包括第一安装包和第二安装包之间的差分安装包。ODS还用于将其存储的摘要数据、存储的用于更新eUICC固件的差分安装包发送给EID对应的用户设备。
签约管理者-数据准备+(subscription manager data preparation+,SM-DP+)服务器是本申请实施例提供的另一种更新服务器。SM-DP+用于存储摘要数据、存储用于更新eUICC固件的差分安装包;SM-DP+也用于将摘要数据、用于更新eUICC固件的差分安装包绑定到指定eUICC的EID;SM-DP+还用于将其存储的摘要数据、存储的用于更新eUICC固件的差分安装包发送给EID对应的用户设备;SM-DP+还可以用于负责准备配置文件包,并且用配置文件保护密钥来加密配置文件包,SM-DP+会将保护密钥加密过的配置文件包绑定到指定eUICC的EID,并且将绑定配置文件包安全地下载到用户设备;SM-DP+还可以用于执行远程配置文件管理(remote profile management,RPM)以及远程eUICC管理(remote eUICCmanagement,ReM)。
其中,ODS和SM-DP+可以部署在运营商(mobile network operator,MNO)、eUICC制造商(eUICC Manufacturer,EUM)或其它方的服务器上。eUICC固件可以指eUICC所支持的远程SIM提供(remote sim provisioning,RSP),也可以指eUICC操作系统;另外,eUICC固件还可以是包含某一个新特性(i.e新算法)的eUICC操作系统。MNO可以根据用户设备与MNO的签约信息,得到用户设备的eUICC标识(eUICC Identity,EID)、固件信息、eUICC信息等;MNO可以向EUM定制不同固件版本的eUICC固件安装包。
SM-DS用于提供一个或多个SM-DP+地址或ODS地址给用户设备,用户设备通过此SM-DP+地址可以与SM-DP+建立连接,或者,用户设备通过此ODS地址可以与ODS建立连接。用户设备包含本地文件助手(local profile assitant,LPA),用于与SM-DP+或者ODS建立连接以进行eUICC固件更新操作;还可以用于与SM-DP+建立连接以进行对Profile和eUICC的相关管理操作,如下载和安装、远程Profile管理和远程eUICC管理等操作。用户设备还包括eUICC,用于对eUICC更新固件过程中的相关数据以及安装包进行验证;还用于实现SIM卡的各项功能以及Profile和eUICC配置与管理功能。其中,LPA和eUICC可以是两个相互分离且存在物理或逻辑连接关系的模块,例如LPA存在于基带芯片上、应用处理器上或用户设备的其他硬件模块上;LPA也可以直接存在于eUICC上。具体地,LPA可以为一个软件模块,或者为分布存在且相联系的多个软件模块。最终用户(end user)为用户设备使用者/用户。
其中,SM-DP+,SM-DS以及ODS都可以被称为eUICC远程服务器(或远程SIM配置服务器)。在一种可能的方式中,SM-DP+与ODS可以部署在同一个服务器上。
EUM为生产eUICC的厂商,用于根据MNO的需求制作不同版本的eUICC固件安装包,不同版本的eUICC固件安装包对应一个或者多个eUICC。EUM可以将不同版本的eUICC固件安装包绑定到指定eUICC的EID。EUM可以制作生成多个版本的eUICC固件安装包,并建立一个固件安装包列表,固件安装包列表包括不同固件版本对应的卡商标识、卡商固件版本、所有eUICC固件安装包、不同版本的eUICC固件安装包之间的差分安装包、不同固件版本的信息等。
EUM保存有与用户设备的EID对应的eUICC旧固件版本和新固件版本的安装包,也即上述第一安装包和第二安装包;还保存有eUICC新旧两个固件版本之间的差异部分,也即是上述第一安装包和第二安装包之间的差分安装包,该差分安装包用于更新与用户设备的EID对应的eUICC固件。EUM还用于计算该差分安装包的摘要信息,以及计算第一安装包的摘要信息、第二安装包的摘要信息中的至少一种。EUM还可以利用EUM私钥(例如SK.EUM.ECDSA)对该差分安装包的摘要信息、该差分安装包进行加密,以及利用EUM私钥对第一安装包的摘要信息、第二安装包的摘要信息中的至少一种进行加密;EUM将指定的用户设备的EID、加密后的或者未加密的该差分安装包的摘要信息、该差分安装包发送给ODS或者SM-DP+,以及将第一安装包的摘要信息或第二安装包的摘要信息中的至少一种发送给ODS或者SM-DP+。
本申请实施例涉及的用户设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。用户设备可以经无线接入网(radio access network,RAN)与一个或多个核心网进行通信,用户设备可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,可以是个人通信业务(Personal Communication Service,PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,WLL)站、个人数字助理(Personal Digital Assistant,PDA)等设备。用户设备也可以是指连接传感网络层和传输网络层、采集数据并向网络层发送数据的物联网设备,例如,可以是智能家居系统中的冰箱、空调、洗衣机等设备。用户设备也可以称为系统、订户模块(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(RemoteStation)、接入点(Access Point)、远程终端(Remote Terminal)、接入终端(AccessTerminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)。
本申请实施例的技术方案中,在用户设备和远程服务器(例如ODS服务器、SM-DP+服务器、SM-DS服务器等)进行信息交互之前,用户设备和远程服务器可以先进行双向鉴权。用户设备和远程服务器通过进行双向鉴权可以相互验证对方的身份信息,以保证信息交互的对象的准确性,从而保证信息交互的安全性;用户设备和远程服务器通过进行双向鉴权还可以获取到对方的证书信息、秘钥信息等。另外,本申请实施例的技术方案中的某些步骤也可以在用户设备和远程服务器进行双向鉴权的过程中完成,具体可参考后续描述。为便于理解,下面先对用户设备和远程服务器之间的双向鉴权过程进行介绍。
用户设备与远程服务器的双向鉴权由用户设备的LPA和eUICC相互配合完成,下面将用户设备的LPA和eUICC作为独立执行主体介绍用户设备实现双向鉴权方法的具体实现过程,应当理解的是,省去LPA和eUICC之间的交互步骤(即用户设备的内部交互过程)之后,LPA和eUICC执行的操作步骤即为用户设备执行的操作步骤。请参见图2,图2是本申请实施例提供的一种双向鉴权的方法的流程示意图。
S201、LPA从eUICC获取eUICC鉴权消息。
本申请实施例中,LPA从eUICC获取到的eUICC鉴权消息包括初始eUICC信息(例如euiccInfo),初始eUICC信息可以包括验证公钥标识列表(例如euiccCiPKIdListForVerification)和签名公钥标识列表(例如euiccCiPKIdListForSigning);初始eUICC信息也可以包括eUICC标识。其中,验证公钥标识列表与签名公钥标识列表可以相同,也可以不同。
在一些可行的实施方式中,LPA还可以从eUICC获取eUICC随机数(例如eUICCChallenge)。LPA从eUICC获取eUICC随机数之前还包括:eUICC产生eUICC随机数。
S202、LPA与远程服务器建立HTTPS连接。
本申请实施例中,LPA根据预先获取到的远程服务器的地址与远程服务器建立安全超文本传输协议(Hyper Text Transfer Protocol Secure,HTTPS)连接。
S203、LPA向远程服务器发送eUICC鉴权消息,远程服务器接收eUICC鉴权消息。
在一些可行的实施方式中,LPA可以将eUICC鉴权消息携带在第一命令中发送给远程服务器。第一命令可以是LPA向远程服务器发送的启动鉴权认证(例如InitiateAuthentication)命令。其中,第一命令还可以携带eUICC随机数以及预先获取到的远程服务器的地址等信息。
S204、远程服务器根据eUICC鉴权消息确定目标验证信息。
在一些可行的实施方式中,远程服务器根据eUICC鉴权消息确定目标验证信息之前还包括:远程服务器检查第一命令中远程服务器的地址和eUICC鉴权消息。
本申请实施例中,目标验证信息可以包括目标签名公钥标识、目标验证证书。远程服务器可以根据eUICC鉴权消息中的签名公钥标识列表确定目标签名公钥标识,根据eUICC鉴权消息中的验证公钥标识列表确定目标验证证书。其中,目标签名公钥标识可以有一个或者多个,目标验证证书也可以有一个或者多个。
进一步地,在签名公钥标识列表中以及本地证书颁发者(Certificate Issuer,CI)公钥标识列表中存在相同的签名公钥标识的情况下,远程服务器可以将同时存在于上述两个列表中的签名公钥标识确定为目标签名公钥标识(例如euiccCiPKIdToBeUsed)。
在一些可行的实施方式中,本地CI公钥标识列表中还可以包括本地CI公钥标识集合。在签名公钥标识列表以及本地CI公钥标识列表中存在多个相同的签名公钥标识的情况下,可以根据所述多个相同的签名公钥标识对应的多个签名公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为目标签名公钥标识。
进一步地,在验证公钥标识列表中以及本地证书颁发者CI公钥标识列表中存在相同的验证公钥标识的情况下,远程服务器可以将同时存在于上述两个列表中的CI公钥标识对应的证书(例如CERT.DSauth.ECDSA)确定为目标验证证书。
在一些可行的实施方式中,在验证公钥标识列表中以及本地证书颁发者公钥标识列表中存在多个相同的CI公钥标识的情况下,可以根据所述多个相同的CI公钥标识对应的多个CI公钥的优先级顺序,选择优先级最高的CI公钥对应的CI公钥标识作为目标验证公钥标识,将所述目标验证公钥标识对应的验证证书确定为目标验证证书。
在一些可行的实施方式中,远程服务器根据eUICC鉴权消息确定出目标验证信息之后还包括:生成鉴权会话标识;生成远程服务器随机数(例如serverChallenge),serverChallenge包括但不限于ODSChallenge,DSChallenge,DPChallenge;生成鉴权验证数据(例如serverSigned),其中,serverSigned包括但不限于DSSigned,DPSigned,ODSSigned;以及生成鉴权验证数据的签名(例如serverSignature),其中,serverSignature包括但不限于DSSignature,DPSignature,ODSSignature。具体地,远程服务器用目标验证证书的私钥对鉴权验证数据签名计算生成鉴权验证数据的签名。
S205、远程服务器向LPA发送第一鉴权消息,其中,第一鉴权消息包括目标验证信息,LPA接收第一鉴权消息。
本申请实施例中,第一鉴权消息包括目标签名公钥标识以及目标验证证书。第一鉴权消息还可以包括鉴权会话标识(例如TranscationID)、鉴权验证数据、鉴权验证数据的签名、远程服务器的地址等。
S206、LPA将第一鉴权消息发送给eUICC,eUICC接收第一鉴权消息。
在一些可行的实施方式中,LPA将第一鉴权消息发送给eUICC之前还可以包括:LPA检查远程服务器的地址。
S207、eUICC对第一鉴权消息进行验证。
本申请实施例中,eUICC可以验证目标验证证书;利用鉴权验证数据对鉴权验证数据的签名进行验证;验证鉴权验证数据。
S208、eUICC向LPA发送第二鉴权消息,LPA接收第二鉴权消息。
在一些可行的实施方式中,eUICC向LPA发送第二鉴权消息之前还包括:eUICC生成eUICC数据(例如euiccSigned);eUICC生成eUICC数据的签名(例如euiccSignature)。其中,第二鉴权消息可以包括eUICC数据,eUICC数据的签名、eUICC证书(例如CERT.EUICC.ECDSA)、eUICC制造商证书(例如CERT.EUM.ECDSA)等。
S209、LPA向远程服务器发送第二鉴权消息,远程服务器接收第二鉴权消息。
在一些可行的实施方式中,LPA可以将第二鉴权消息携带在第二命令中发送给远程服务器。第二命令可以是LPA向远程服务器发送的认证客户端(例如AuthenticateClient)命令。
S210、远程服务器根据目标验证信息验证第二鉴权消息。
本申请实施例中,远程服务器可以根据目标验证信息验证eUICC证书,验证eUICC制造商证书;可以用eUICC数据验证eUICC数据的签名;验证eUICC待签名数据等。
在一些可行的实施方式中,远程服务器对第二鉴权消息验证通过后,远程服务器和用户设备可以进行其他后续操作,使得远程服务器可以继续为用户设备提供各种服务,例如SM-DP+可以为用户设备提供Profile下载服务、Profile远程管理服务;SM-DS可以用户设备提供事件查询服务;SM-DP+以及ODS可以为用户设备提供eUICC固件更新服务等。
请参见图3,图3是本申请实施例提供的一种更新固件的方法的流程示意图。本实施例中所描述的更新固件的方法,包括:
S301、用户设备向更新服务器发送第三消息,第三消息包括eUICC标识,更新服务器接收第三消息。
本申请实施例中,更新服务器用于存储EUM发送的指定用户设备的EID、摘要数据、用于更新EID对应的eUICC固件的差分安装包,更新服务器还用于将其存储的摘要数据、用于更新EID对应的eUICC固件的差分安装包发送给EID对应的用户设备。更新服务器例如可以为ODS,也可以为SM-DP+。具体地,用户设备根据预先获取到的更新服务器的地址向更新服务器发送第三消息,第三消息包括用户设备的eUICC标识,第三消息还可以包括用户设备当前的eUICC固件信息(例如eUICCFirmware1),例如用户设备当前的eUICC固件版本信息。
在一些可行的实施方式中,用户设备向更新服务器发送第三消息之前还包括:用户设备接收事件管理服务器根据用户设备的eUICC标识发送的目标事件记录以及更新服务器的地址,目标事件记录用于指示用户设备执行更新eUICC固件操作;进一步地,用户设备可以与更新服务器进行双向鉴权,具体实现方式可参考前文描述,在此不予赘述。其中,用户设备向更新服务器发送的第三消息,可以是用户设备在与更新服务器进行双向鉴权的过程中,用户设备向更新服务器发送的eUICC鉴权消息。用户设备可以在与更新服务器进行双向鉴权的过程中,将当前的eUICC固件信息携带在第一命令中发送给更新服务器;用户设备也可以在与更新服务器进行双向鉴权的过程中,将当前的eUICC固件信息携带在第二命令中发送给更新服务器。事件管理服务器可以为SM-DS,也可以为其他具备事件注册、事件删除、事件发送、事件修改等事件管理功能的服务器,或者为向用户设备提供一个或多个SM-DP+地址或ODS地址以使用户设备与SM-DS+或OPS建立通信连接的服务器。
S302、更新服务器根据第三消息包括的eUICC标识确定第一消息,第一消息包括第一数据以及第一数据的签名。
本申请实施例中,更新服务器在接收到第三消息之后,根据第三消息包括的eUICC标识确定第一消息。首先,更新服务器根据eUICC标识查询更新服务器预先生成的软件包列表,得到与用户设备对应的第一数据(例如serverSigned1),其中,第一数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,第一数据还包括第一安装包的摘要信息、第二安装包的摘要信息中的至少一种。第一安装包的摘要信息是更新服务器存储的用户设备当前的eUICC固件版本对应的安装包的摘要信息,第二安装包的摘要信息是更新服务器存储的,与用户设备当前的eUICC固件版对应的更新固件版本的安装包的摘要信息。例如,用户设备当前的eUICC固件版本为2.0版本,更新固件版本可以为3.0版本,第一安装包和第二安装包之间的差分安装包是3.0固件版本对应的安装包与2.0固件版本对应的安装包之间的差异部分组成的安装包。
然后,更新服务器利用更新服务器证书的私钥对第一数据进行签名计算,生成第一数据的签名(例如serverSignature1),更新服务器生成第一会话标识(例如TranscationID1)。其中,第一数据还可以包括第一会话标识,第一消息包括第一数据以及第一数据的签名,第一消息还可以包括更新服务器的地址。
在一些可行的实施方式中,更新服务器也可以利用在与用户设备进行双向鉴权的过程中确定的目标验证证书的私钥对第一数据进行签名计算,生成第一数据的签名。
S303、更新服务器向用户设备向发送第一消息,用户设备接收第一消息。
S304、用户设备对第一消息进行验证,并在第一消息验证通过之后,获取第一数据包括的摘要数据。
本申请实施例中,用户设备接收到第一消息之后,对第一消息进行验证。具体地,用户设备首先利用预先获取到的更新服务器证书的公钥对第一数据的签名进行解密,得到第一解密数据,并计算第一数据的摘要信息;用户设备然后将第一解密数据与第一数据的摘要信息进行对比,若第一解密数据与第一数据的摘要信息一致,则确定第一消息验证通过。更新服务器证书的公钥可以是用户设备在与更新服务器进行双向鉴权的过程中获取到的。
进一步地,在第一消息验证通过之后,用户设备获取第一数据包括的摘要数据。其中,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,和第一安装包的摘要信息;或者,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,和第二安装包的摘要信息;或者,摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息、第一安装包的摘要信息和第二安装包的摘要信息。
在一些可行的实施方式中,更新服务器存储的摘要数据,是EUM利用EUM私钥(例如SK.EUM.ECDSA)加密后发送给更新服务器的摘要数据,因此上述摘要数据即是指加密的摘要数据。用户设备获取到第一数据包括的加密的摘要数据之后,利用预先存储的EUM公钥(例如PK.EUM.ECDSA)对加密的摘要数据进行解密,得到解密后的摘要数据。
在一些可行的实施方式中,若更新服务器是利用目标验证证书的私钥对第一数据进行签名计算生成第一数据的签名的,则在对第一消息进行验证的过程中,用户设备首先利用预先获取到的目标验证证书的公钥对第一数据的签名进行解密,得到第一解密数据,并计算第一数据的摘要信息;用户设备然后将第一解密数据与第一数据的摘要信息进行对比,若第一解密数据与第一数据的摘要信息一致,则确定第一消息验证通过。目标验证证书的公钥可以是用户设备在与更新服务器进行双向鉴权的过程中获取到的。
S305、用户设备向更新服务器发送第四消息,第四消息包括第二数据、第二数据的签名和eUICC信息,更新服务器接收第四消息。
本申请实施例中,用户设备向更新服务器发送第四消息之前还包括:生成第二会话标识(例如TranscationID2)、eUICC临时会话秘钥,eUICC临时会话秘钥包括eUICC临时会话公钥(otPK.EUICC.ECKA)和eUICC临时会话私钥(toSK.EUICC.ECKA)。其中,第四消息包括第二数据(例如euiccSigned1)、第二数据的签名(例如euiccSignature1)和eUICC信息(例如euiccInfo1);第二数据包括第二会话标识和eUICC临时会话公钥,用户设备利用eUICC临时会话私钥对第二数据以及第一数据的签名进行签名计算,生成第二数据的签名。eUICC信息包括eUICC固件信息。第四消息还可以包括更新服务器的地址,预先获取到的目标事件标识。
S306、更新服务器对第四消息进行验证。
本申请实施例中,更新服务器接收到第四消息之后,对第四消息进行验证,具体地,更新服务器首先利用第二数据包括的eUICC临时会话公钥对第二数据的签名进行解密,得到第二解密数据,并计算第二数据以及第一数据的签名的摘要信息;更新服务器然后将第二数据以及第一数据的签名的摘要信息与第二解密数据进行对比,若第二数据以及第一数据的签名的摘要信息与第二解密数据一致,则确定第四消息验证通过。
进一步地,更新服务器对eUICC信息进行解析得到用户设备当前的eUICC固件版本信息,并根据eUICC标识以及用户设备当前的eUICC固件版本信息查询预先生成的软件包列表,得到更新服务器存储的第一安装包和第二安装包之间的差分安装包。更新服务器可以生成第三会话标识(例如TranscationID3)、更新服务器临时秘钥、更新服务器会话秘钥(例如Session keys)。其中,更新服务器临时秘钥包括更新服务器临时公钥(otPK.DSauth.ECKA)和更新服务器临时私钥(toSK.DSauth.ECKA),更新服务器会话秘钥包括更新服务器会话公钥和更新服务器会话私钥,更新服务器会话私钥用于对第一安装包和第二安装包的差分安装包进行加密。
在一些可行的实施方式中,第四消息包括第二数据、第二数据的签名和eUICC信息;第二数据包括第二会话标识、eUICC临时会话公钥和第一数据的签名,用户设备利用eUICC临时会话私钥对第二数据进行签名计算,生成第二数据的签名。更新服务器接收到第四消息之后,对第四消息进行验证,具体地,更新服务器首先利用第二数据包括的eUICC临时会话公钥对第二数据的签名进行解密,得到第二解密数据,并计算第二数据的摘要信息;更新服务器然后将第二数据的摘要信息与第二解密数据进行对比,若第二数据的摘要信息与第二解密数据一致,则确定第四消息验证通过。进一步地,可以将第二数据包括的第一数据的签名,与上述更新服务器生成的第一数据的签名进行对比,进而确定用户设备的身份。
S307、更新服务器向用户设备发送第二消息,第二消息包括差分安装包,用户设备接收第二消息。
本申请实施例中,第二消息包括第一安装包和第二安装包的差分安装包,差分安装包可以是被更新服务器利用更新服务器会话私钥加密后的差分安装包,第二消息还可以包括第三数据、第三数据的签名,第三数据包括第三会话标识、更新服务器会话公钥、更新服务器临时公钥。更新服务器向用户设备发送第二消息之前还包括:更新服务器利用更新服务器临时私钥对第三数据进行签名计算,生成第三数据的签名。第二消息还可以包括eUICC信息、eUICC固件信息等。
在一些可行的实施方式中,用户设备接收到第二消息之后,对第二消息进行验证。具体地,用户设备首先利用第三数据包括的更新服务器临时公钥对第三数据的签名进行解密,得到第三解密数据,并计算第三数据的摘要信息;用户设备然后将第三数据的摘要信息与第三解密数据进行对比,若第三数据的摘要信息与第三解密数据一致,则确定第二消息验证通过。进一步地,用户设备可以利用第三数据包括的更新服务器会话公钥对加密的差分安装包进行解密,得到第一差分安装包。
在一些可行的实施方式中,更新服务器存储的第一安装包和第二安装包的差分安装包,是EUM利用EUM私钥加密后发送给更新服务器的差分安装包,因此,用户设备获取到的第一差分安装包是加密的差分安装包,用户设备获取到第一差分安装包之后,利用预先存储的EUM公钥对第一差分安装包进行解密,得到解密后的差分安装包。
S308、用户设备对摘要数据进行验证。
本申请实施例中,若摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息(下面简称第一摘要信息)以及包括第一安装包的摘要信息,则用户设备对摘要数据进行验证,包括:对第一安装包的摘要信息进行验证,具体地,获取用户设备本地存储的用户设备当前固件版本对应的安装包(下面简称第三安装包)的摘要信息,将第三安装包的摘要信息与第一安装包的摘要信息进行对比,若第三安装包的摘要信息与第一安装包的摘要信息相同,则确定第一安装包的摘要信息验证通过,从而说明EUM存储的用户设备当前的eUICC固件版本对应的安装包,也即是第一安装包未被篡改,可以保证得到的第二消息包括的差分安装包的有效性以及合法性。
进一步地,对第一摘要信息进行验证,具体地,用户设备获取第二消息包括的差分安装包的摘要信息,将第一摘要信息与第二消息包括的差分安装包的摘要信息进行对比,若第一摘要信息与第二消息包括的差分安装包的摘要信息相同,则确定第一摘要信息验证通过,从而说明第二消息包括的差分安装包未被篡改,可以保证第二消息包括的差分安装包的完整性。其中,在第一摘要信息以及第一安装包的摘要信息均验证通过的情况下,确定摘要信息验证通过。
本申请实施例中,若摘要数据包括第一摘要信息以及第二安装包的摘要信息,则用户设备对摘要数据进行验证,包括:对第一摘要信息进行验证,具体地,用户设备获取第二消息包括的差分安装包的摘要信息,将第一摘要信息与第二消息包括的差分安装包的摘要信息进行对比,若第一摘要信息与第二消息包括的差分安装包的摘要信息相同,则确定第一摘要信息验证通过,从而确定第二消息包括的差分安装包未被篡改。
进一步地,对第二安装包的摘要信息进行验证,具体地,用户设备获取第三安装包以及第三安装包的摘要信息,将第三安装包以及第二消息包括的差分安装包进行合成,得到第四安装包,并获取第四安装包的摘要信息;接着将第四安装包的摘要信息与第二安装包的摘要信息进行对比,若第四安装包的摘要信息与第二安装包的摘要信息相同,则确定第二安装包的摘要信息验证通过,从而确定EUM存储的用户设备更新固件版本对应的安装包,也即是第二安装包未被篡改,利用第二消息包括的差分安装包以及第三安装包合成的安装包与第二安装包一致,进一步可以说明第二消息包括的差分安装包的有效性以及合法性。其中,在第一摘要信息以及第二安装包的摘要信息均验证通过的情况下,确定摘要信息验证通过。
本申请实施例中,若摘要数据包括第一摘要信息、第一安装包的摘要信息以及第二安装包的摘要信息,则用户设备对摘要数据进行验证,包括:对第一安装包的摘要信息进行验证,对第一摘要信息进行验证,以及对第二安装包的摘要信息进行验证,上述具体验证过程可参考前文描述,在此不予赘述。其中,在第一摘要信息、第一安装包的摘要信息以及第二安装包的摘要信息均验证通过的情况下,确定摘要信息验证通过。采用上述方式,可以在利用第二消息包括的差分安装包对eUICC固件进行升级之前,确定EUM存储的用户设备当前的eUICC固件版本对应的安装包、用户设备更新固件版本对应的安装包是否被篡改,确定用户设备获取到的第二消息包括的差分安装包是否被篡改,确定利用第二消息包括的差分安装包以及第三安装包合成的安装包与EUM存储的更新固件版本的安装包是否一致,进而在利用第二消息包括的差分安装包对eUICC固件进行更新时,对第二消息包括的差分安装包进行合法性以及完整性验证,保证固件更新的安全性。
S309、用户设备根据差分安装包更新eUICC的固件。
在一些可行的实施方式中,用户设备根据第二消息包括的差分安装包更新完eUICC的固件之后,用户设备获取并存储eUICC更新之后的固件版本对应的安装包及其摘要信息。从而在用户设备下一次更新eUICC的固件时,用户设备直接读取存储的上一次eUICC更新之后的固件版本对应的安装包及其摘要信息,读取到的上一次eUICC更新之后的固件版本对应的安装包及其摘要信息,即是用户设备此次固件更新过程中的用户设备当前固件版本的安装包及其摘要信息。
在一些可行的实施方式中,EUM还可以将其存储的用户设备的当前固件版本对应的安装包,也即是第一安装包,更新固件版本对应的安装包,也即是第二安装包发送给更新服务器,更新服务器接收并存储第一安装包和第二安装包。
为便于更清楚地介绍本申请实施例的技术方案,以下将用户设备的LPA和eUICC作为独立执行主体来介绍用户设备实现更新固件的方法的具体实现过程,应当理解的是,省去LPA和eUICC之间的交互步骤(即用户设备的内部交互过程)之后,LPA和eUICC执行的操作步骤即为用户设备执行的操作步骤。以下采用SM-DS代表事件管理服务器、ODS代表更新服务器对本申请实施例的更新固件的方法进行详细介绍。
请参见图4,图4是本申请实施例提供的另一种更新固件的方法的流程示意图,本实施例中所描述的更新固件的方法,包括:
S401、ODS向SM-DS发送事件注册请求(例如RegisterEvent),事件注册请求中携带事件标识,SM-DS接收事件注册请求。
本申请实施例中,事件标识为更新事件标识。ODS向SM-DS发送事件注册请求之前还包括:ODS接收并保存EUM发送的指定eUICC的EID、摘要数据以及第一安装包和第二安装包之间的差分安装包,其中,该差分安装包是用于更新与EID对应的eUICC的固件;ODS将EID、摘要数据以及该差分安装包的对应关系记录到软件包列表中;ODS服务器生成更新事件标识,并向SM-DS发送事件注册请求。其中,更新事件标识和与EID对应的eUICC的固件更新事件关联,事件注册请求中还可以携带ODS地址、EID等。
在一些可行的实施方式中,ODS在向SM-DS发送事件注册请求之前,还可以与SM-DS进行双向鉴权,具体实现过程可参考上述描述,在此不予赘述。
S402、SM-DS保存事件记录。
本申请实施例中,SM-DS将事件注册请求中的更新事件标识保存在事件记录中。SM-DS还可以将ODS地址、EID、更新事件标识之间的对应关系保存在事件记录中。
S403、eUICC与SM-DS进行双向鉴权,SM-DS获取eUICC标识。
本申请实施例中,该eUICC即是上述与指定EID对应的eUICC,eUICC与SM-DS进行双向鉴权的具体实现过程可参考前文描述,在此不予赘述。eUICC在与SM-DS进行双向鉴权的过程中,将eUICC标识携带在eUICC鉴权消息中发送给SM-DS。
S404、SM-DS在当前保存的事件记录中查找目标事件记录,其中,目标事件记录中的EID与eUICC标识匹配。
本申请实施例中,SM-DS在当前保存的事件记录中查找目标事件记录之前,SM-DS根据eUICC标识查找预先生成的至少一个事件记录,获取与eUICC标识对应的已注册的目标事件标识(例如EventID),也即是与EID对应的更新事件标识,以及获取与EventID对应的ODS地址(例如ODSaddress)。SM-DS将ODS地址和EventID发送给LPA。LPA在接收到SM-DS发送的ODS地址和EventID之后,SM-DS调用RegisterRetrieval命令去SM-DS查找与EventID对应的目标事件记录。SM-DS响应RegisterRetrieval命令在当前保存的事件记录中查找目标事件记录,其中,目标事件记录中的EID与eUICC标识匹配,目标事件记录中的事件标识与EventID匹配。
S405、SM-DS将目标事件记录发送给LPA,LPA接收目标事件记录。
本申请实施例中,目标事件记录(例如Event record)中记录的事件为eUICC固件更新事件,用于指示与eUICC标识对应的eUICC执行更新固件操作。LPA在接收到接收目标事件记录之后,处理目标事件记录,并结合eUICC开始更新eUICC固件。
S406、eUICC与ODS进行双向鉴权,ODS获取eUICC标识。
本申请实施例中,eUICC与ODS进行双向鉴权的具体实现过程可参考上述描述,在此不予赘述。eUICC在与ODS进行双向鉴权的过程中,将eUICC标识携带在eUICC鉴权消息中发送给ODS。eUICC可以在与更新服务器进行双向鉴权的过程中,将当前的eUICC固件信息携带在第一命令中发送给ODS;eUICC也可以在与ODS进行双向鉴权过程中,将当前的eUICC固件信息携带在第二命令中发送给ODS。需要说明的是,上述方法实施例中的第三消息可以是eUICC与ODS进行双向鉴权的过程中,eUICC向ODS发送的鉴权消息。
在一些可行的实施方式中,在eUICC与ODS之间的双向鉴权完成之后,ODS还可以调用HandleDownloadOSProgressInfo命令,向MNO上报eUICC固件的更新状态。
S407、ODS根据eUICC标识确定第一消息,第一消息包括第一数据以及第一数据的签名。
本申请实施例中,第一数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,第一数据还包括第一安装包的摘要信息、第二安装包的摘要信息中的至少一种。ODS根据eUICC标识确定第一消息的具体实现方式可参考上述方法实施例中步骤S302中的相关描述,在此不予赘述。
S408、ODS向LPA向发送第一消息,LPA接收第一消息。
S409、LPA向eUICC发送第一消息,用户设备接收第一消息。
S410、eUICC对第一消息进行验证,并在第一消息验证通过之后,获取第一数据包括的摘要数据。
本申请实施例中,eUICC对第一消息进行验证的具体实现方式可参考上述方法实施例中步骤S304中的相关描述,在此不予赘述。
在一些可行的实施方式中,LPA向eUICC发送的第一消息还可以包括ODS服务器的证书(例如CERT.ODS.ECDSA),eUICC还可以对ODS服务器的证书进行验证,具体地,eUICC利用在与ODS服务器进行双向鉴权过程中获取到的目标验证证书对ODS服务器的证书进行验证。
S411、eUICC生成第二数据、第二数据的签名。
本申请实施例中,eUICC生成第二会话标识、eUICC临时会话秘钥,eUICC临时会话秘钥包括eUICC临时会话公钥和eUICC临时会话私钥。其中,第二数据包括第二会话标识和eUICC临时会话公钥,用户设备利用eUICC临时会话私钥对第二数据以及第一数据的签名进行签名计算,生成第二数据的签名。
S412、eUICC向LPA发送第四消息,第四消息包括第二数据、第二数据的签名和eUICC信息,LPA接收第四消息。
本申请实施例中,eUICC信息包括eUICC固件信息。第四消息还可以包括更新服务器的地址,预先获取到的目标事件标识。
S413、LPA向ODS发送第四消息,ODS接收第四消息。
S414、ODS对第四消息进行验证。
本申请实施例中,ODS对第四消息进行验证的具体实现方式可参考上述方法实施例中步骤S306中的相关描述,在此不予赘述。
S415、ODS获取差分安装包、生成第三数据和第三数据的签名。
本申请实施例中,ODS在第四消息验证通过之后,对eUICC信息进行解析得到用户设备当前的eUICC固件版本信息,并根据eUICC标识以及用户设备当前的eUICC固件版本信息查询预先生成的软件包列表,得到ODS存储的第一安装包和第二安装包之间的差分安装包。ODS生成第三会话标识、ODS临时秘钥、ODS会话秘钥。其中,ODS临时秘钥包括ODS临时公钥和ODS临时会话私钥,ODS会话秘钥包括ODS会话公钥和ODS会话私钥,ODS会话私钥用于对第一安装包和第二安装包的差分安装包进行加密。第三数据包括第三会话标识、更新服务器会话公钥、更新服务器临时公钥。更新服务器利用更新服务器临时私钥对第三数据进行签名计算,生成第三数据的签名。第二消息还可以包括eUICC信息、eUICC固件信息等。
S416、ODS向LPA发送第二消息,第二消息包括差分安装包、第三数据、第三数据的签名,LPA接收第二消息。
S417、LPA向eUICC发送第二消息,eUICC接收第二消息。
S418、eUICC对第二消息进行验证。
本申请实施例中,eUICC首先利用第三数据包括的更新服务器临时公钥对第三数据的签名进行解密,得到第三解密数据,并计算第三数据的摘要信息;eUICC然后将第三数据的摘要信息与第三解密数据进行对比,若第三数据的摘要信息与第三解密数据一致,则确定第二消息验证通过。进一步地,用户设备可以利用第三数据包括的更新服务器会话公钥对加密的差分安装包进行解密,得到解密后的差分安装包。
S419、eUICC对摘要数据进行验证。
本申请实施例中,eUICC对摘要数据进行验证的具体实现方式可参考上述方法实施例中步骤S308中的相关描述,在此不予赘述。
S420、eUICC根据差分安装包更新eUICC的固件。
在一些可行的实施方式中,eUICC根据差分安装包更新完eUICC的固件之后,eUICC获取并存储eUICC更新之后的固件版本对应的安装包及其摘要信息。
在一些可行的实施方式中,eUICC更新完eUICC的固件之后还包括:eUICC向LPA发送固件更新成功消息,LPA将更新成功消息发送给ODS服务器。更新成功消息可以由应用协议数据单元(APDU)携带。其中,更新成功消息可以包括当前eUICC固件的升级结果、eUICC标识。eUICC固件的升级结果还可以包括eUICC固件更新后的固件版本信息。ODS服务器查找已成功更新固件的eUICC标识对应的EventID信息,调用DeleteEvent接口,将与eUICC标识对应的EID,EventID信息上报给SM-DS服务器;SM-DS服务器获取ODS上报的EID,EventID信息,并删除对应的Event Record。LPA启用Profile,向eUICC发REFRESH请求,并重新在网络侧注册。
在一些可行的实施方式中,EUM还可以将其存储的用户设备的当前固件版本对应的安装包,也即是第一安装包,更新固件版本对应的安装包,也即是第二安装包发送给ODS,ODS接收并存储第一安装包和第二安装包。
需要说明的是,图4对应的方法实施例中未提及的内容以及各个步骤的具体实现,可以参考图3对应的方法实施例中的相关描述,在此不予赘述。
本申请实施例还可以通过远程eUICC管理来实现更新固件的方法。以下采用SM-DS代表事件管理服务器、SM-DP+代表更新服务器对本申请实施例的更新固件的方法进行详细介绍。
请参见图5,图5是本申请实施例提供的又一种更新固件的方法的流程示意图,本实施例中所描述的更新固件的方法,包括但不限于以下步骤:
S501、SM-DP+向SM-DS发送事件注册请求,事件注册请求中携带事件标识,SM-DS接收事件注册请求。
本申请实施例中,事件标识为更新事件标识。SM-DP+向SM-DS发送事件注册请求之前还包括:SM-DP+接收并保存EUM发送的指定eUICC的EID、摘要数据以及第一安装包和第二安装包之间的差分安装包,其中,该差分安装包是用于更新与EID对应的eUICC的固件;SM-DP+将EID、摘要数据以及该差分安装包的对应关系记录到软件包列表中。SM-DP+在接收到MNO发送的ReM命令之后,生成更新事件标识,并向SM-DS发送事件注册请求。其中,更新事件标识和与EID对应的eUICC的固件更新事件关联,事件注册请求中还可以携带SM-DP+地址、EID等。
在一些可行的实施方式中,SM-DP+在向SM-DS发送事件注册请求之前,还可以与SM-DS进行双向鉴权,具体实现过程可参考上述描述,在此不予赘述。
S502、SM-DS保存事件记录。
本申请实施例中,SM-DS将事件注册请求中的更新事件标识保存在事件记录中。SM-DS还可以将SM-DP+地址、EID、ReM命令、更新事件标识之间的对应关系保存在事件记录中。
S503、触发LPA查找ReM命令。
本申请实施例中,LPA可以通过用户触发或者自动触发查找ReM命令,ReM命令为eUICC固件更新命令。
S504、LPA向eUICC获取Polling address,eUICC将Polling address发送给LPA,LPA接收Polling address。
S505、LPA根据Polling address向SM-DS获取SM-DP+地址,SM-DS将SM-DP+地址发送给LPA,LPA接收SM-DP+地址。
S506、LPA根据SM-DP+地址向SM-DP+获取ReM控制包,SM-DP+将ReM控制包发送给LPA,LPA接收ReM控制包。
S507、LPA将ReM控制包发送给eUICC,eUICC接收ReM控制包。
本申请实施例中,ReM控制包用于指示eUICC进行固件更新。LPA在接收到用户输入的同意发送指令之后,将ReM控制包发送给eUICC。eUICC接收到LPA发送的ReM控制包之后,对ReM控制包进行解析以及验证。eUICC在ReM控制包验证通过之后向LPA发送请求用户确认更新指令,LPA在接收到用户输入的确认指令之后,结合eUICC开始更新eUICC固件。
S508、eUICC与SM-DP+进行双向鉴权,SM-DP+获取eUICC标识。
本申请实施例中,eUICC与SM-DP+进行双向鉴权的具体实现过程可参考前文描述,在此不予赘述。eUICC在与SM-DP+进行双向鉴权的过程中,将eUICC标识携带在eUICC鉴权消息中发送给SM-DP+;eUICC标识也可以是LPA根据SM-DP+地址向SM-DP+获取ReM控制包时发送给SM-DS的。eUICC可以在与更新服务器进行双向鉴权的过程中,将当前的eUICC固件信息携带在第一命令中发送给SM-DP+;eUICC也可以在与SM-DP+进行双向鉴权过程中,将当前的eUICC固件信息携带在第二命令中发送给SM-DP+。需要说明的是,上述方法实施例中的第三消息可以是eUICC与SM-DP+进行双向鉴权的过程中,eUICC向ODS发送的鉴权消息。
在一些可行的实施方式中,在eUICC与SM-DP+之间的双向鉴权完成之后,ODS还可以调用HandleDownloadOSProgressInfo命令,向MNO上报eUICC固件的更新状态。
S509、SM-DP+根据eUICC标识确定第一消息,第一消息包括第一数据以及第一数据的签名。
本申请实施例中,第一数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,第一数据还包括第一安装包的摘要信息、第二安装包的摘要信息中的至少一种。SM-DP+根据eUICC标识确定第一消息的具体实现方式可参考上述方法实施例中步骤S302中的相关描述,在此不予赘述。
S510、SM-DP+向LPA向发送第一消息,LPA接收第一消息。
S511、LPA向eUICC发送第一消息,用户设备接收第一消息。
S512、eUICC对第一消息进行验证,并在第一消息验证通过之后,获取第一数据包括的摘要数据。
本申请实施例中,eUICC对第一消息进行验证的具体实现方式可参考上述方法实施例中步骤S304中的相关描述,在此不予赘述。
在一些可行的实施方式中,LPA向eUICC发送的第一消息还可以包括SM-DP+服务器的证书(例如CERT.SM-DP+.ECDSA),eUICC还可以对SM-DP+服务器的证书进行验证,具体地,eUICC可以利用在与SM-DP+服务器进行双向鉴权过程中获取到的目标验证证书对SM-DP+服务器的证书进行验证。
S513、eUICC生成第二数据、第二数据的签名。
本申请实施例中,eUICC生成第二会话标识、eUICC临时会话秘钥,eUICC临时会话秘钥包括eUICC临时会话公钥和eUICC临时会话私钥。其中,第二数据包括第二会话标识和eUICC临时会话公钥,用户设备利用eUICC临时会话私钥对第二数据以及第一数据的签名进行签名计算,生成第二数据的签名。
S514、eUICC向LPA发送第四消息,第四消息包括第二数据、第二数据的签名和eUICC信息,LPA接收第四消息。
本申请实施例中,eUICC信息包括eUICC固件信息。第四消息还可以包括更新服务器的地址,预先获取到的目标事件标识。
S515、LPA向SM-DP+发送第四消息,SM-DP+接收第四消息。
S516、SM-DP+对第四消息进行验证。
本申请实施例中,SM-DP+对第四消息进行验证的具体实现方式可参考上述方法实施例中步骤S306中的相关描述,在此不予赘述。
S517、SM-DP+获取差分安装包、生成第三数据和第三数据的签名。
本申请实施例中,SM-DP+获取差分安装包、生成第三数据和第三数据的签名的具体实现方式可参考上述方法实施例中步骤S415中的相关描述,在此不予赘述。
S518、SM-DP+向LPA发送第二消息,第二消息包括差分安装包、第三数据、第三数据的签名,LPA接收第二消息。
S519、LPA向eUICC发送第二消息,eUICC接收第二消息。
S520、eUICC对第二消息进行验证。
本申请实施例中,eUICC对第二消息进行验证的具体实现方式可参考上述方法实施例中步骤S418中的相关描述,在此不予赘述。
S521、eUICC对摘要数据进行验证。
本申请实施例中,eUICC对摘要数据进行验证的具体实现方式可参考上述方法实施例中步骤S308中的相关描述,在此不予赘述。
S522、eUICC根据差分安装包更新eUICC的固件。
在一些可行的实施方式中,eUICC根据差分安装包更新完eUICC的固件之后,eUICC获取并存储eUICC更新之后的固件版本对应的安装包及其摘要信息。
在一些可行的实施方式中,eUICC更新完eUICC的固件之后还包括:eUICC向LPA发送固件更新成功消息,LPA再将更新成功消息发送给SM-DP+服务器。更新成功消息可以由应用协议数据单元携带。其中,更新成功消息可以包括当前eUICC固件的升级结果、eUICC标识。eUICC固件的升级结果还可以包括eUICC固件更新后的固件版本信息。SM-DP+服务器查找已成功更新固件的eUICC标识对应的EventID信息,调用DeleteEvent接口,将与eUICC标识对应的EID,EventID信息上报给SM-DS服务器;SM-DS服务器获取SM-DP+上报的EID,EventID信息,并删除对应的Event Record。LPA启用Profile,向eUICC发REFRESH请求,并重新在网络侧注册。
在一些可行的实施方式中,EUM还可以将其存储的用户设备的当前固件版本对应的安装包,也即是第一安装包,更新固件版本对应的安装包,也即是第二安装包发送给SM-DP+,SM-DP+接收并存储第一安装包和第二安装包。
需要说明的是,图5对应的方法实施例中未提及的内容以及各个步骤的具体实现,可以参考图3、图4对应的方法实施例中的相关描述,在此不予赘述。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图6,图6是本申请实施例提供的一种用户设备的结构示意图,如图6所示的用户设备60的模块可由硬件、软件或硬件与软件的组合来实施本申请方案。所属领域的技术人员应理解,图6中所描述的模块可经组合或分离为若干子块以实施本申请方案。因此,本申请中上面描述的内容可支持对下述模块的任何可能的组合或分离或进一步定义。
如图6所示,所述用户设备60可以包括接收模块601,处理模块602,发送模块603:
所述接收模块601,用于接收更新服务器发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名;
所述处理模块602,用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述接收模块601,还用于接收所述更新服务器发送的第二消息,所述第二消息包括所述差分安装包;
所述处理模块602,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备60当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,图6对应的实施例中未提及的内容以及各个模块的具体实现,可以参考图3、图4或图5对应的方法实施例中的相关描述,在此不予赘述。
在一些可行的实施方式中,所述处理模块602可以为处理器或处理芯片,所述发送模块603和所述接收模块601可以为收发器,所述用户设备还可以包括存储器。请参见图7,图7是本申请实施例提供的另一种用户设备的结构示意图。如图7所示,用户设备70包括处理器701、存储器702、和收发器703,所述处理器701、所述存储器702和所述收发器703通过一个或多个通信总线连接。
所述处理器701被配置为支持所述用户设备执行图3、图4或图5所示的固件更新的方法中相应的功能。该处理器701可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
所述存储器702用于存储程序代码等。存储器702可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器702也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD);存储器702还可以包括上述种类的存储器的组合。
所述收发器703用于接收和发送数据。
所述处理器701可以调用存储在上述存储器702中的程序代码以执行或者调用所述收发器703执行以下操作:
接收更新服务器发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名;
对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
接收所述更新服务器发送的第二消息,所述第二消息包括所述差分安装包;
对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备70当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,所述处理器701、所述存储器702和所述收发器703可以执行图3、图4或图5对应的方法实施例中用户设备执行的操作,具体可参考图3、图4或图5对应的方法实施例中的相关描述,在此不予赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图3、图4或图5对应的实施例中所述的方法,所述计算机可以为上述提到的用户设备的一部分。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括程序指令,所述程序指令当被计算机执行时用于执行如图3、图4或图5对应的实施例中所述的方法,所述计算机程序可以为上述提到的存储器702存储的程序中的一部分。
请参见图8,图8是本申请实施例提供的一种更新服务器的结构示意图,如图8所示的更新服务器80的模块可由硬件、软件或硬件与软件的组合来实施本申请方案。所属领域的技术人员应理解,图8中所描述的模块可经组合或分离为若干子块以实施本申请方案。因此,本申请中上面描述的内容可支持对下述模块的任何可能的组合或分离或进一步定义。
如图8所示,所述更新服务器80可以包括发送模块801,处理模块802,接收模块803:
所述发送模块801,用于向用户设备发送第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一数据包括摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述发送模块801,还用于向所述用户设备发送第二消息,以便于所述用户设备根据所述摘要数据,利用所述第二消息包括的所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,图8对应的实施例中未提及的内容以及各个模块的具体实现,可以参考图3、图4或图5对应的方法实施例中的相关描述,在此不予赘述。
在一些可行的实施方式中,所述处理模块802可以为处理器或处理芯片,所述发送模块801和所述接收模块803可以为收发器,所述更新服务器还可以包括存储器。请参见图9,图9是本申请实施例提供的另一种更新服务器的结构示意图。如图9所示,更新服务器90包括处理器901、存储器902、和收发器903,所述处理器901、所述存储器902和所述收发器903通过一个或多个通信总线连接。
所述处理器901被配置为支持所述更新服务器执行图3、图4或图5所示的固件更新的方法中相应的功能。该处理器901可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
所述存储器902用于存储程序代码等。存储器902可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器902也可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-statedrive,SSD);存储器902还可以包括上述种类的存储器的组合。
所述收发器903用于接收和发送数据。
所述处理器901可以调用存储在上述存储器902中的程序代码以执行或者调用所述收发器903执行以下操作:
向用户设备发送第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一数据包括摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
向所述用户设备发送第二消息,以便于所述用户设备根据所述摘要数据,利用所述第二消息包括的所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,所述处理器901、所述存储器902和所述收发器903可以执行图3、图4或图5对应的方法实施例中更新服务器执行的操作,具体可参考图3、图4或图5对应的方法实施例中的相关描述,在此不予赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图3、图4或图5对应的实施例中所述的方法,所述计算机可以为上述提到的更新服务器的一部分。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括程序指令,所述程序指令当被计算机执行时用于执行如图3、图4或图5对应的实施例中所述的方法,所述计算机程序可以为上述提到的存储器902存储的程序中的一部分。
请参见图10,图10是本申请实施例提供的用户设备、更新服务器组成的固件更新系统的结构示意图,如图所示固件更新系统100包括用户设备1001和更新服务器1002,用户设备1001和更新服务器1002之间存在通信连接,例如wifi连接、移动数据连接等,可实现用户设备1001与更新服务器1002之间的数据通信。
所述更新服务器1002,用于向用户设备1001发送第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一数据包括摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种。
所述用户设备1001,用于接收更新服务器1002发送的第一消息。
所述用户设备1001,还用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据。
所述更新服务器1002,还用于向所述用户设备发送第二消息,所述第二消息包括所述差分安装包。
所述用户设备1001,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备1001当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,图10所示系统中还可以包括事件管理服务器SM-DS等终端,图10对应的实施例中未提及的内容以及用户设备1001和更新服务器1002的具体实现,可以参考图3、图4或图5对应的方法实施例中的相关描述,在此不予赘述。
在一些可行的实施方式中,用户设备可以包括eUICC和本地文件助手LPA。本地文件助手LPA可以作为一个或多个软件模块存在于用户设备的硬件模块上,例如存在于基带芯片上、应用处理器上或其他硬件上,所述本地文件助手也可以直接存在于eUICC上。本地文件助手LPA具备实现eUICC与用户设备以及与更新服务器之间进行交互的功能。eUICC是嵌入式UICC,可以是单个芯片形态嵌入在用户设备中,或者作为用户设备中其它单个芯片的一部分,但不意味着必须嵌入在用户设备中不可移动,也可以是可移动的卡片形态。请参见图11,图11是本申请实施例提供的一种eUICC的结构示意图,如图11所示,所述eUICC110可以包括通信模块1101,处理模块1102:
所述通信模块1101,用于接收LPA发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一消息是更新服务器发送给所述LPA的;
所述处理模块1102,用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述通信模块1101,还用于接收所述LPA发送的第二消息,所述第二消息包括所述差分安装包,所述第二消息是所述更新服务器发送给所述LPA的;
所述处理模块1102,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新所述eUICC 110的固件;
其中,所述第一安装包是所述eUICC 110当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,图11对应的实施例中未提及的内容以及各个模块的具体实现,可以参考图4或图5对应的方法实施例中的相关描述,在此不予赘述。
在一些可行的实施方式中,所述处理模块1102可以为处理器或处理芯片,所述通信模块1101可以为收发器,所述eUICC还可以包括存储器。请参见图12,图12是本申请实施例提供的另一种eUICC的结构示意图。如图12所示,eUICC120包括处理器1201、存储器1202、和收发器1203,所述处理器1201、所述存储器1202和所述收发器1203通过一个或多个通信总线连接。
所述处理器1201被配置为支持所述eUICC执行图4或图5所示的固件更新的方法中相应的功能。所述存储器1202用于存储程序代码等。所述收发器1203用于接收和发送数据。
所述处理器1201可以调用存储在上述存储器1202中的程序代码以执行或者调用所述收发器1203执行以下操作:
接收本地文件助手LPA发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一消息是更新服务器发送给所述LPA的;
对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种:
接收所述LPA发送的第二消息,所述第二消息包括所述差分安装包,所述第二消息是所述更新服务器发送给所述LPA的;
对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新所述eUICC 120的固件;
其中,所述第一安装包是所述eUICC 120当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
需要说明的是,所述处理器1201、所述存储器1202和所述收发器1203可以执行图4或图5对应的方法实施例中eUICC执行的操作,具体可参考图4或图5对应的方法实施例中的相关描述,在此不予赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如图4或图5对应的实施例中所述的方法,所述计算机可以为上述提到的eUICC的一部分。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括程序指令,所述程序指令当被计算机执行时用于执行如图4或图5对应的实施例中所述的方法,所述计算机程序可以为上述提到的存储器1202存储的程序中的一部分。
请参见图13,图13是用户设备的一种实现方式的结构框图,如图13所示,用户设备130可包括:基带芯片1310、存储器1315(一个或多个计算机可读存储介质)、射频(RF)模块1316、外围系统1317。这些部件可在一个或多个通信总线1314上通信。
外围系统1317主要用于实现用户设备130和用户/外部环境之间的交互功能,主要包括用户设备130的输入输出装置。具体实现中,外围系统1317可包括:摄像头控制器1318、音频控制器1319以及传感器管理模块1320。其中,各个控制器可与各自对应的外围设备(如摄像头1321、音频电路1322以及传感器1323)耦合。在一些实施例中,摄像头1321可以是3D摄像头。在一些实施例中,传感器1323可以是红外线传感器、指纹传感器、位移传感器、能耗传感器、温度传感器、湿度传感器、光传感器等等。需要说明的是,外围系统1317还可以包括其他I/O外设,例如,外围系统1317还包括无线射频识别(Radio FrequencyIdentification,RFID)读写控制器1324、其中,RFID读写控制器与RFID读写器1325耦合。
基带芯片1310可集成包括:处理器1311、时钟模块1312以及电源管理模块1313。集成于基带芯片1310中的时钟模块1312主要用于为处理器1311产生数据传输和时序控制所需要的时钟。集成于基带芯片1310中的电源管理模块1313主要用于为处理器1311、射频模块1316以及外围系统1317提供稳定的、高精确度的电压。在一些实施例中,所述处理器可以是中央处理器(Center Processor Unit,CPU)、嵌入式微控制器(Micro Controller Unit,MCU)、嵌入式微处理器(Micro Processor Unit,MPU)、嵌入式片上系统(System on Chip,SoC)等等。
射频(RF)模块1316用于接收和发送射频信号,主要集成了用户设备130的接收器和发射器。射频(RF)模块1316通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(RF)模块1316可包括但不限于:eUICC13161、天线系统、RF收发器13162、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片、存储介质等。在一些实施例中,可在单独的芯片上实现射频(RF)模块1316。
存储器1315与处理器1311耦合,用于存储各种软件程序和/或多组命令。具体实现中,存储器1315可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1315可以存储操作系统(下述简称系统),例如ANDROID,I0S,WINDOWS或者LINUX等嵌入式操作系统。存储器1315还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个用户设备,一个或多个网络设备进行通信。存储器1315还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。存储器1315还可以存储包括本地文件助手LPA在内的一个或多个应用程序。
需要说明的是,上述用户设备130可以执行图3、图4或图5对应的方法实施例中用户设备执行的操作,具体可参考图3、图4或图5对应的方法实施例中的相关描述,在此不予赘述。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不予赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (56)
1.一种更新固件的方法,其特征在于,所述方法包括:
用户设备接收更新服务器发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名;
所述用户设备对所述第一消息进行验证,并在所述第一消息验证通过之后,所述用户设备获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述用户设备接收所述更新服务器发送的第二消息,所述第二消息包括所述差分安装包;
所述用户设备对所述摘要数据进行验证,并在所述摘要数据验证通过之后,所述用户设备根据所述差分安装包更新嵌入式通用集成电路卡eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
2.根据权利要求1所述的方法,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第一安装包的摘要信息,所述用户设备对所述摘要数据进行验证,包括:
所述用户设备获取第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
所述用户设备将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,所述用户设备获取所述第二消息包括的差分安装包的摘要信息;
所述用户设备将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,所述用户设备确定所述摘要数据验证通过。
3.根据权利要求1所述的方法,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第二安装包的摘要信息,所述用户设备对所述摘要数据进行验证,包括:
所述用户设备获取所述第二消息包括的差分安装包的摘要信息,并将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,所述用户设备获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
所述用户设备将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
所述用户设备将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,所述用户设备确定所述摘要数据验证通过。
4.根据权利要求1所述的方法,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息、所述第一安装包的摘要信息和所述第二安装包的摘要信息,所述用户设备对所述摘要数据进行验证,包括:
所述用户设备获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
所述用户设备将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,所述用户设备获取所述第二消息包括的差分安装包的摘要信息;
所述用户设备将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比,当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,所述用户设备将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
所述用户设备将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,所述用户设备确定所述摘要数据验证通过。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据存储在所述更新服务器上。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述用户设备接收更新服务器发送的第一消息之前,所述方法还包括:
所述用户设备接收事件管理服务器根据所述用户设备的eUICC标识发送的目标事件记录以及所述更新服务器的地址,所述目标事件记录用于指示所述用户设备执行更新固件操作;
所述用户设备根据所述更新服务器的地址向所述更新服务器发送第三消息,所述第三消息包括所述eUICC标识;
其中,所述用户设备接收更新服务器发送的第一消息,包括:
所述用户设备接收所述更新服务器根据所述eUICC标识发送的第一消息。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述用户设备接收所述更新服务器发送的第二消息之前,所述方法还包括:
所述用户设备根据预先获取到的所述更新服务器的地址向所述更新服务器发送第四消息,所述第四消息包括第二数据、所述第二数据的签名和eUICC信息;
其中,所述用户设备接收所述更新服务器发送的第二消息,包括:
所述用户设备接收所述更新服务器在所述第四消息验证通过之后发送的第二消息,所述第二消息包括的所述差分安装包是所述更新服务器根据所述eUICC信息查找预先生成的软件包列表得到的。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述用户设备根据所述差分安装包更新eUICC的固件之后,所述方法还包括:
所述用户设备获取所述eUICC更新之后的固件版本对应的安装包的摘要信息;
所述用户设备存储所述eUICC更新之后的固件版本对应的安装包的摘要信息。
9.一种更新固件的方法,其特征在于,所述方法包括:
eUICC接收本地文件助手LPA发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一消息是更新服务器发送给所述LPA的;
所述eUICC对所述第一消息进行验证,并在所述第一消息验证通过之后,所述eUICC获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述eUICC接收所述LPA发送的第二消息,所述第二消息包括所述差分安装包,所述第二消息是所述更新服务器发送给所述LPA的;
所述eUICC对所述摘要数据进行验证,并在所述摘要数据验证通过之后,所述eUICC根据所述差分安装包更新所述eUICC的固件;
其中,所述第一安装包是所述eUICC当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
10.根据权利要求9所述的方法,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第一安装包的摘要信息,所述eUICC对所述摘要数据进行验证,包括:
所述eUICC获取第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
所述eUICC将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,所述eUICC获取所述第二消息包括的差分安装包的摘要信息;
所述eUICC将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,所述eUICC确定所述摘要数据验证通过。
11.根据权利要求9所述的方法,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第二安装包的摘要信息,所述eUICC对所述摘要数据进行验证,包括:
所述eUICC获取所述第二消息包括的差分安装包的摘要信息,并将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,所述eUICC获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
所述eUICC将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
所述eUICC将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,所述eUICC确定所述摘要数据验证通过。
12.根据权利要求9所述的方法,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息、所述第一安装包的摘要信息和所述第二安装包的摘要信息,所述eUICC对所述摘要数据进行验证,包括:
所述eUICC获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
所述eUICC将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,所述eUICC获取所述第二消息包括的差分安装包的摘要信息;
所述eUICC将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比,当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,所述eUICC将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
所述eUICC将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,所述eUICC确定所述摘要数据验证通过。
13.根据权利要求9-12任一项所述的方法,其特征在于,所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据存储在所述更新服务器上。
14.根据权利要求9-12任一项所述的方法,其特征在于,所述eUICC根据所述差分安装包更新所述eUICC的固件之后,所述方法还包括:
所述eUICC获取所述eUICC更新之后的固件版本对应的安装包的摘要信息;
所述eUICC存储所述eUICC更新之后的固件版本对应的安装包的摘要信息。
15.一种更新固件的方法,其特征在于,所述方法包括:
更新服务器向用户设备发送第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一数据包括摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述更新服务器向所述用户设备发送第二消息,以便于所述用户设备根据所述摘要数据,利用所述第二消息包括的所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
16.根据权利要求15所述的方法,其特征在于,所述更新服务器用于存储所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据。
17.根据权利要求15或16所述的方法,其特征在于,所述更新服务器向用户设备发送第一消息之前,所述方法还包括:
所述更新服务器接收所述用户设备根据预先获取到的所述更新服务器的地址发送的第三消息,所述第三消息包括所述用户设备的eUICC标识;
其中,所述更新服务器向用户设备发送第一消息,包括:
所述更新服务器向所述用户设备发送所述更新服务器根据所述eUICC标识确定的第一消息。
18.根据权利要求15或16所述的方法,其特征在于,所述更新服务器向所述用户设备发送第二消息之前,所述方法还包括:
所述更新服务器接收所述用户设备根据预先获取到的所述更新服务器的地址发送的第四消息,所述第四消息包括第二数据、所述第二数据的签名和eUICC信息;
所述更新服务器对所述第四消息进行验证;
其中,所述更新服务器向所述用户设备发送第二消息,包括:
所述更新服务器在所述第四消息验证通过之后,向所述用户设备发送第二消息,所述第二消息包括的所述差分安装包是所述更新服务器根据所述eUICC信息查找预先生成的软件包列表得到的。
19.一种用户设备,其特征在于,所述用户设备包括接收模块、处理模块和发送模块:
所述接收模块,用于接收更新服务器发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名;
所述处理模块,用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述接收模块,还用于接收所述更新服务器发送的第二消息,所述第二消息包括所述差分安装包;
所述处理模块,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
20.根据权利要求19所述的用户设备,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第一安装包的摘要信息,所述处理模块具体用于:
获取第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,确定所述摘要数据验证通过。
21.根据权利要求19所述的用户设备,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第二安装包的摘要信息,所述处理模块具体用于:
获取所述第二消息包括的差分安装包的摘要信息,并将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
22.根据权利要求19所述的用户设备,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息、所述第一安装包的摘要信息和所述第二安装包的摘要信息,所述处理模块具体用于:
获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比,当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
23.根据权利要求19-22任一项所述的用户设备,其特征在于,所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据存储在所述更新服务器上。
24.根据权利要求19-22任一项所述的用户设备,其特征在于,
所述接收模块,还用于接收事件管理服务器根据所述用户设备的eUICC标识发送的目标事件记录以及所述更新服务器的地址,所述目标事件记录用于指示所述用户设备执行更新固件操作;
所述发送模块,用于根据所述更新服务器的地址向所述更新服务器发送第三消息,所述第三消息包括所述eUICC标识;
所述接收模块,具体用于接收所述更新服务器根据所述eUICC标识发送的第一消息。
25.根据权利要求19-22任一项所述的用户设备,其特征在于,
所述发送模块,还用于根据预先获取到的所述更新服务器的地址向所述更新服务器发送第四消息,所述第四消息包括第二数据、所述第二数据的签名和eUICC信息;
所述接收模块,具体用于接收所述更新服务器在所述第四消息验证通过之后发送的第二消息,所述第二消息包括的所述差分安装包是所述更新服务器根据所述eUICC信息查找预先生成的软件包列表得到的。
26.根据权利要求19-22任一项所述的用户设备,其特征在于,所述处理模块还用于:
获取所述eUICC更新之后的固件版本对应的安装包的摘要信息;
存储所述eUICC更新之后的固件版本对应的安装包的摘要信息。
27.一种eUICC,其特征在于,所述eUICC包括通信模块和处理模块:
所述通信模块,用于接收LPA发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一消息是更新服务器发送给所述LPA的;
所述处理模块,用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述通信模块,还用于接收所述LPA发送的第二消息,所述第二消息包括所述差分安装包,所述第二消息是所述更新服务器发送给所述LPA的;
所述处理模块,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新所述eUICC的固件;
其中,所述第一安装包是所述eUICC当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
28.根据权利要求27所述的eUICC,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第一安装包的摘要信息,所述处理模块具体用于:
获取第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,确定所述摘要数据验证通过。
29.根据权利要求27所述的eUICC,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第二安装包的摘要信息,所述处理模块具体用于:
获取所述第二消息包括的差分安装包的摘要信息,并将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
30.根据权利要求27所述的eUICC,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息、所述第一安装包的摘要信息和所述第二安装包的摘要信息,所述处理模块具体用于:
获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比,当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
31.根据权利要求27-30任一项所述的eUICC,其特征在于,所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据存储在所述更新服务器上。
32.根据权利要求27-30任一项所述的eUICC,其特征在于,所述处理模块还用于:
获取所述eUICC更新之后的固件版本对应的安装包的摘要信息;
存储所述eUICC更新之后的固件版本对应的安装包的摘要信息。
33.一种更新服务器,其特征在于,所述更新服务器包括发送模块、处理模块和接收模块:
所述发送模块,用于向用户设备发送第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一数据包括摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述发送模块,还用于向所述用户设备发送第二消息,以便于所述用户设备根据所述摘要数据,利用所述第二消息包括的所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
34.根据权利要求33所述的更新服务器,其特征在于,
所述处理模块,用于存储所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据。
35.根据权利要求33或34所述的更新服务器,其特征在于,
所述接收模块,用于接收所述用户设备根据预先获取到的所述更新服务器的地址发送的第三消息,所述第三消息包括所述用户设备的eUICC标识;
所述发送模块,具体用于向所述用户设备发送所述处理模块根据所述eUICC标识确定的第一消息。
36.根据权利要求33或34所述的更新服务器,其特征在于,
所述接收模块,还用于接收所述用户设备根据预先获取到的所述更新服务器的地址发送的第四消息,所述第四消息包括第二数据、所述第二数据的签名和eUICC信息;
所述处理模块,还用于对所述第四消息进行验证;
所述发送模块,具体用于在所述第四消息验证通过之后,向所述用户设备发送第二消息,所述第二消息包括的所述差分安装包是所述处理模块根据所述eUICC信息查找预先生成的软件包列表得到的。
37.一种用户设备,其特征在于,所述用户设备包括处理器、存储器和收发器:
所述收发器,用于接收更新服务器发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名;
所述处理器,用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述收发器,还用于接收所述更新服务器发送的第二消息,所述第二消息包括所述差分安装包;
所述处理器,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
38.根据权利要求37所述的用户设备,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第一安装包的摘要信息,所述处理器具体用于:
获取第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,确定所述摘要数据验证通过。
39.根据权利要求37所述的用户设备,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第二安装包的摘要信息,所述处理器具体用于:
获取所述第二消息包括的差分安装包的摘要信息,并将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
40.根据权利要求37所述的用户设备,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息、所述第一安装包的摘要信息和所述第二安装包的摘要信息,所述处理器具体用于:
获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述用户设备在本地存储的所述用户设备当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比,当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
41.根据权利要求37-40任一项所述的用户设备,其特征在于,所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据存储在所述更新服务器上。
42.根据权利要求37-40任一项所述的用户设备,其特征在于,所述收发器还用于:
接收事件管理服务器根据所述用户设备的eUICC标识发送的目标事件记录以及所述更新服务器的地址,所述目标事件记录用于指示所述用户设备执行更新固件操作;
根据所述更新服务器的地址向所述更新服务器发送第三消息,所述第三消息包括所述eUICC标识;
其中,所述收发器具体用于:
接收所述更新服务器根据所述eUICC标识发送的第一消息。
43.根据权利要求37-40任一项所述的用户设备,其特征在于,所述收发器还用于:
根据预先获取到的所述更新服务器的地址向所述更新服务器发送第四消息,所述第四消息包括第二数据、所述第二数据的签名和eUICC信息;
其中,所述收发器具体用于:
接收所述更新服务器在所述第四消息验证通过之后发送的第二消息,所述第二消息包括的所述差分安装包是所述更新服务器根据所述eUICC信息查找预先生成的软件包列表得到的。
44.根据权利要求37-40任一项所述的用户设备,其特征在于,
所述处理器,还用于获取所述eUICC更新之后的固件版本对应的安装包的摘要信息;
所述存储器,用于存储所述eUICC更新之后的固件版本对应的安装包的摘要信息。
45.一种eUICC,其特征在于,所述eUICC包括处理器、存储器和收发器:
所述收发器,用于接收LPA发送的第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一消息是更新服务器发送给所述LPA的;
所述处理器,用于对所述第一消息进行验证,并在所述第一消息验证通过之后,获取所述第一数据包括的摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述收发器,还用于接收所述LPA发送的第二消息,所述第二消息包括所述差分安装包,所述第二消息是所述更新服务器发送给所述LPA的;
所述处理器,还用于对所述摘要数据进行验证,并在所述摘要数据验证通过之后,根据所述差分安装包更新所述eUICC的固件;
其中,所述第一安装包是所述eUICC当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
46.根据权利要求45所述的eUICC,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第一安装包的摘要信息,所述处理器具体用于:
获取第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,确定所述摘要数据验证通过。
47.根据权利要求45所述的eUICC,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息和所述第二安装包的摘要信息,所述处理器具体用于:
获取所述第二消息包括的差分安装包的摘要信息,并将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比;
当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
48.根据权利要求45所述的eUICC,其特征在于,所述摘要数据包括所述第一安装包和所述第二安装包之间的差分安装包的摘要信息、所述第一安装包的摘要信息和所述第二安装包的摘要信息,所述处理器具体用于:
获取第三安装包以及所述第三安装包的摘要信息,所述第三安装包是所述eUICC在本地存储的所述eUICC当前固件版本对应的安装包;
将所述第三安装包的摘要信息与所述第一安装包的摘要信息进行对比,当所述第三安装包的摘要信息与所述第一安装包的摘要信息相同时,获取所述第二消息包括的差分安装包的摘要信息;
将所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息进行对比,当所述第一安装包和所述第二安装包之间的差分安装包的摘要信息,与所述第二消息包括的差分安装包的摘要信息相同时,将所述第三安装包以及所述第二消息包括的差分安装包进行合成,获取第四安装包和所述第四安装包的摘要信息;
将所述第四安装包的摘要信息与所述第二安装包的摘要信息进行对比,当所述第四安装包的摘要信息与所述第二安装包的摘要信息相同时,确定所述摘要数据验证通过。
49.根据权利要求45-48任一项所述的eUICC,其特征在于,所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据存储在所述更新服务器上。
50.根据权利要求45-48任一项所述的eUICC,其特征在于,
所述处理器,还用于获取所述eUICC更新之后的固件版本对应的安装包的摘要信息;
所述存储器,用于存储所述eUICC更新之后的固件版本对应的安装包的摘要信息。
51.一种更新服务器,其特征在于,所述更新服务器包括处理器、存储器和收发器:
所述收发器,用于向用户设备发送第一消息,所述第一消息包括第一数据以及所述第一数据的签名,所述第一数据包括摘要数据,所述摘要数据包括第一安装包和第二安装包之间的差分安装包的摘要信息,所述摘要数据还包括所述第一安装包的摘要信息或者所述第二安装包的摘要信息中的至少一种;
所述收发器,还用于向所述用户设备发送第二消息,以便于所述用户设备根据所述摘要数据,利用所述第二消息包括的所述差分安装包更新eUICC的固件;
其中,所述第一安装包是所述用户设备当前固件版本对应的安装包,所述第二安装包是更新固件版本对应的安装包。
52.根据权利要求51所述的更新服务器,其特征在于,
所述存储器,用于存储所述第一安装包和所述第二安装包之间的差分安装包以及所述摘要数据。
53.根据权利要求51或52所述的更新服务器,其特征在于,
所述收发器,还用于接收所述用户设备根据预先获取到的所述更新服务器的地址发送的第三消息,所述第三消息包括所述用户设备的eUICC标识;
所述收发器,具体用于向所述用户设备发送所述处理器根据所述eUICC标识确定的第一消息。
54.根据权利要求51或52所述的更新服务器,其特征在于,
所述收发器,还用于接收所述用户设备根据预先获取到的所述更新服务器的地址发送的第四消息,所述第四消息包括第二数据、所述第二数据的签名和eUICC信息;
所述处理器,还用于对所述第四消息进行验证;
所述收发器,具体用于在所述第四消息验证通过之后,向所述用户设备发送第二消息,所述第二消息包括的所述差分安装包是所述处理器根据所述eUICC信息查找预先生成的软件包列表得到的。
55.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如权利要求1-18任一项所述的方法。
56.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如权利要求1-18任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/099640 WO2019041166A1 (zh) | 2017-08-30 | 2017-08-30 | 更新固件的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110393019A CN110393019A (zh) | 2019-10-29 |
CN110393019B true CN110393019B (zh) | 2020-09-29 |
Family
ID=65524584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780088276.1A Active CN110393019B (zh) | 2017-08-30 | 2017-08-30 | 更新固件的方法及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10983783B2 (zh) |
EP (1) | EP3648487B1 (zh) |
CN (1) | CN110393019B (zh) |
WO (1) | WO2019041166A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12088731B2 (en) | 2021-03-10 | 2024-09-10 | Jabil Circuit (Singapore) Pte. Ltd. | Program signing method |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10983783B2 (en) * | 2017-08-30 | 2021-04-20 | Huawei Technologies Co., Ltd. | Firmware update method and related apparatus |
JP6940365B2 (ja) * | 2017-10-12 | 2021-09-29 | 日立Astemo株式会社 | 情報更新装置 |
WO2019105558A1 (en) * | 2017-11-30 | 2019-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Initial network access for a subscriber entity |
WO2020010515A1 (en) * | 2018-07-10 | 2020-01-16 | Apple Inc. | Identity-based message integrity protection and verification for wireless communication |
KR102536948B1 (ko) | 2018-10-29 | 2023-05-25 | 삼성전자주식회사 | Ssp의 번들을 관리하는 방법 및 장치 |
CN110209401B (zh) * | 2019-05-28 | 2024-04-09 | 北京小米移动软件有限公司 | 应用程序的加载方法及装置 |
US11379215B1 (en) * | 2020-06-15 | 2022-07-05 | Amazon Technologies, Inc. | Application-update techniques |
CN111832011B (zh) * | 2020-07-09 | 2022-03-15 | 郑州信大捷安信息技术股份有限公司 | 一种基于iap的固件安全升级方法及装置 |
CN112433742B (zh) * | 2020-11-26 | 2024-12-17 | 中电金融设备系统(深圳)有限公司 | 安全的固件更新方法、装置、设备及存储介质 |
CN113076121A (zh) * | 2021-04-13 | 2021-07-06 | 北京云迹科技有限公司 | 机器人及其固件的更新方法、装置及存储介质 |
CN113672264B (zh) * | 2021-05-13 | 2023-08-01 | 星汉智能科技股份有限公司 | 嵌入式通用集成电路卡的系统升级方法、装置及电子设备 |
CN114780124A (zh) * | 2022-04-08 | 2022-07-22 | 北京字节跳动网络技术有限公司 | 差分升级方法、装置、介质及电子设备 |
WO2024205259A1 (en) * | 2023-03-29 | 2024-10-03 | Samsung Electronics Co., Ltd. | Method and apparatus for handling profile loading result in wireless communication system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101200025B1 (ko) * | 2012-05-08 | 2012-11-09 | (주)청파이엠티 | 무선통신망을 이용한 원격 이동장비의 펌웨어 업데이트 시스템 및 그의 방법 |
CN105916133A (zh) * | 2015-02-23 | 2016-08-31 | 苹果公司 | 管理移动设备内集成组件的固件更新 |
CN106416306A (zh) * | 2014-05-30 | 2017-02-15 | 苹果公司 | 支持嵌入式uicc中的sim工具包应用程序 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7907531B2 (en) * | 2005-06-13 | 2011-03-15 | Qualcomm Incorporated | Apparatus and methods for managing firmware verification on a wireless device |
CN101695162A (zh) * | 2009-10-22 | 2010-04-14 | 中兴通讯股份有限公司 | 一种移动终端空中固件升级方法及装置 |
CN101924607B (zh) * | 2010-08-27 | 2013-01-23 | 华为终端有限公司 | 基于固件空中传输技术的固件处理方法、装置及系统 |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
KR102139546B1 (ko) * | 2014-03-11 | 2020-07-30 | 삼성전자주식회사 | 펌웨어 검증 기능을 갖는 모바일 시스템 그리고 그것의 펌웨어 업데이트 방법 |
CN106161336A (zh) * | 2015-03-25 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种信息更新方法、装置及系统 |
US10182338B2 (en) * | 2016-08-31 | 2019-01-15 | Apple Inc. | Techniques for provisioning bootstrap electronic subscriber identity modules (eSIMs) to mobile devices |
CN106685653B (zh) * | 2016-12-29 | 2020-07-07 | 同济大学 | 一种基于信息安全技术的车辆远程固件更新方法及装置 |
US20200382956A9 (en) * | 2017-03-31 | 2020-12-03 | Huawei Technologies Co., Ltd. | Method for adding authentication algorithm program, and relevant device and system |
EP3975600B1 (en) * | 2017-06-07 | 2024-07-31 | Huawei Technologies Co., Ltd. | Method for authenticating and updating euicc firmware version and related apparatus |
WO2018227729A1 (zh) * | 2017-06-14 | 2018-12-20 | 华为技术有限公司 | 一种嵌入式通用集成电路卡配置文件的管理方法及装置 |
US10983783B2 (en) * | 2017-08-30 | 2021-04-20 | Huawei Technologies Co., Ltd. | Firmware update method and related apparatus |
US20200162247A1 (en) * | 2018-11-15 | 2020-05-21 | Iot And M2M Technologies, Llc | Secure firmware transfer from a server to a primary platform |
-
2017
- 2017-08-30 US US16/643,408 patent/US10983783B2/en active Active
- 2017-08-30 CN CN201780088276.1A patent/CN110393019B/zh active Active
- 2017-08-30 WO PCT/CN2017/099640 patent/WO2019041166A1/zh unknown
- 2017-08-30 EP EP17923654.2A patent/EP3648487B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101200025B1 (ko) * | 2012-05-08 | 2012-11-09 | (주)청파이엠티 | 무선통신망을 이용한 원격 이동장비의 펌웨어 업데이트 시스템 및 그의 방법 |
CN106416306A (zh) * | 2014-05-30 | 2017-02-15 | 苹果公司 | 支持嵌入式uicc中的sim工具包应用程序 |
CN105916133A (zh) * | 2015-02-23 | 2016-08-31 | 苹果公司 | 管理移动设备内集成组件的固件更新 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12088731B2 (en) | 2021-03-10 | 2024-09-10 | Jabil Circuit (Singapore) Pte. Ltd. | Program signing method |
Also Published As
Publication number | Publication date |
---|---|
EP3648487A4 (en) | 2020-07-01 |
US10983783B2 (en) | 2021-04-20 |
CN110393019A (zh) | 2019-10-29 |
EP3648487A1 (en) | 2020-05-06 |
EP3648487B1 (en) | 2022-06-01 |
US20200371777A1 (en) | 2020-11-26 |
WO2019041166A1 (zh) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110393019B (zh) | 更新固件的方法及相关装置 | |
US11868762B2 (en) | Method for authenticating and updating eUICC firmware version and related apparatus | |
EP3629610B1 (en) | Method and apparatus for managing embedded universal integrated circuit card configuration file | |
CN108702386B (zh) | 一种嵌入式通用集成电路卡配置文件的管理方法及装置 | |
US20080209206A1 (en) | Apparatus, method and computer program product providing enforcement of operator lock | |
KR20160120598A (ko) | 무선 통신 시스템에서 단말에 프로파일을 다운로드 하는 방법 및 장치 | |
EP3041189A1 (en) | Communication control apparatus, authentication device, central control apparatus and communication systems | |
US11832348B2 (en) | Data downloading method, data management method, and terminal | |
KR20180132855A (ko) | 업데이트된 프로파일을 다운로드하기 위한 방법, 서버들 및 시스템 | |
CN112512048B (zh) | 移动网络接入系统、方法、存储介质及电子设备 | |
CN110808942A (zh) | 一种签约信息配置方法及通信设备 | |
CN119421154A (zh) | 灵活的电子用户身份模块部署 | |
CN113709849A (zh) | 待入网设备的入网方法和装置、存储介质及电子装置 | |
HK40008345A (zh) | 更新固件的方法及相關裝置 | |
HK40008345B (zh) | 更新固件的方法及相關裝置 | |
JP6911303B2 (ja) | 認証システム及び認証方法 | |
CN108769989A (zh) | 一种无线网连接方法、无线接入装置和设备 | |
KR20200127812A (ko) | 번들 정보를 제공하는 방법 및 장치 | |
KR20160128686A (ko) | 이중 채널을 이용한 이중 인증 방법 및 시스템 | |
KR20160143335A (ko) | 이중채널 기반 이중인증 방법 및 시스템 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40008345 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |