CN113708921B - 一种基于冗余密码算法进行安全启动的方法及设备 - Google Patents

一种基于冗余密码算法进行安全启动的方法及设备 Download PDF

Info

Publication number
CN113708921B
CN113708921B CN202011131415.4A CN202011131415A CN113708921B CN 113708921 B CN113708921 B CN 113708921B CN 202011131415 A CN202011131415 A CN 202011131415A CN 113708921 B CN113708921 B CN 113708921B
Authority
CN
China
Prior art keywords
cryptographic algorithm
cryptographic
algorithm
public key
information
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
CN202011131415.4A
Other languages
English (en)
Other versions
CN113708921A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113708921A publication Critical patent/CN113708921A/zh
Application granted granted Critical
Publication of CN113708921B publication Critical patent/CN113708921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种基于冗余密码算法进行安全启动的方法及设备,该方法包括:获取第一指示信息和第二指示信息,根据第一指示信息和第二指示信息对第一基线信息进行更新。其中,第一指示信息用于唯一标识第一密码算法,该第二指示信息用于指示网络设备对安全存储实体中存储的第一密码资源的基线信息进行更新,第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证。这样,网络设备能够通过更新密码算法对应的基线信息,实现基于不同的需求在线调整用于安全启动的密码算法的目的,从而使得按照不同的安全需求适应性的进行安全启动成为可能,提高了网络设备的安全性。

Description

一种基于冗余密码算法进行安全启动的方法及设备
本申请对申请号为202010652854.3,申请日为2020年07月08日,发明名称为“一种基于冗余密码算法进行安全启动的方法及设备”的中国专利申请提出分案申请。
技术领域
本申请涉及安全技术领域,特别是涉及一种基于冗余密码算法进行安全启动的方法及设备,还特别涉及一种对网络设备在安全启动过程中所使用的密码资源进行管理的方法及设备。
背景技术
为了确保网络设备在启动过程中的安全性,通常采用安全启动技术进行启动。安全启动技术是通过密码学的方法保护网络设备启动中软件完整性的有效措施。安全启动过程中,先对待加载的应用程序的镜像文件进行验证,验证通过后才加载该应用程序的镜像文件,这样,确保启动过程中所加载的应用程序的镜像文件的完整性和合法性。
目前,网络设备内通常仅保存一种用于安全启动的密码算法,基于该密码算法对待加载的应用程序的镜像文件进行验证,该密码算法通常保存在该网络设备的安全存储实体中,无法进行修改和更新。这样,当网络设备内仅有一种密码算法无法满足更高的安全需求时,或者,该密码算法不符合部分用户的安全要求时,该网络设备无法再借助安全启动技术对启动中软件完整性进行安全保护,从而威胁网络设备的安全。
发明内容
基于此,本申请实施例提供了一种基于冗余密码算法进行安全启动的方法及设备,能够安全的更新密码资源的基线信息,使得网络设备能够基于不同的安全需求灵活的使用不同的密码算法进行安全启动,从而确保网络设备的安全性。
第一方面,本申请实施例提供了对安全启动所使用的密码资源进行管理的方法,该方法由网络设备实施,该方法例如可以包括:获取第一指示信息和第二指示信息,并且,根据所述第一指示信息和所述第二指示信息,对所述第一密码资源的基线信息进行更新。其中,该第一指示信息用于唯一标识第一密码算法,该第二指示信息用于指示所述网络设备对安全存储实体中存储的第一密码资源的基线信息进行更新,其中,所述第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证,所述第一密码资源对应于所述网络设备在进行所述安全启动所使用的第一密码算法和第一公钥,所述第一密码资源的基线信息包括所述第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态。其中,第一密码算法可以为以下任一种算法:非对称加密算法RSA、椭圆曲线密码学(英文:Elliptic CurveCryptography,简称:ECC)算法、国密非对称加密算法SM2、安全散列算法(英文:SecureHash Algorithm,简称:SHA)或密码杂凑算法SM3。这样,通过在网络设备的安全存储实体中预置与多种密码算法对应的多种密码资源的基线信息,在网络设备现网运行的过程中,当需要更新密码算法时,能够通过更新密码算法对应的密码资源的基线信息,使得密码算法的状态信息发生改变以指示该密码算法进入不同的使用状态,实现基于不同的需求在线调整用于安全启动的密码算法的目的,从而使得按照不同的安全需求适应性的进行安全启动成为可能,提高了网络设备的安全性。
需要说明的是,一种情况下,安全存储实体可以为处理器中的一次性可编程存储空间;或者,另一种情况下,安全存储实体也可以为独立于处理器的安全芯片。
在一种可能的实现方式中,第二指示信息具体用于指示使能第一密码算法。那么,对所述第一密码资源的基线信息进行更新,例如可以包括:更改第一密码算法的状态信息,以将所述第一密码算法的使用状态设置为使能状态。将所述第一密码算法的使用状态设置为使能状态,例如可以包括:设置第一密码算法对应的使能标识信息以指示所述第一密码算法的使用状态为使能状态。一种情况下,当密码资源的基线信息通过硬件烧写的形式存储在网络设备的安全存储实体时,根据所述第一指示信息和所述第二指示信息对所述第一密码资源的基线信息进行更新,例如可以包括:将第一密码算法对应的第一密码资源的基线信息中的使能标识信息设置为使能状态。另一种情况下,当密码资源的基线信息通过软件的形式安全存储在网络设备中时,根据所述第一指示信息和所述第二指示信息对所述第一密码资源的基线信息进行更新,例如可以包括:将第一密码算法对应的软件状态位设置为使能状态。
其中,更新后的第一密码资源的基线信息还包括第一公钥基线值,所述第一公钥基线值用于对所述第一公钥进行完整性验证。一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中均已经保存了对应的公钥基线值,则,使能第一密码算法也可以表示启用该第一密码算法对应的第一密码资源的基线信息中的第一公钥基线值。另一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中仅保存了已使能的密码算法对应的公钥基线值,未使能的密码算法对应的密码资源的基线信息中预留了待写入对应公钥基线值的空间,则,对第一密码算法对应的第一密码资源的基线信息进行更新,还可以包括:网络设备获取第一密码算法对应的第一公钥基线值,将第一公钥基线值存储在安全存储实体中,例如,在安全存储实体中与第一密码算法对应的第一密码资源的基线信息相应的位置写入第一公钥基线值。其中,如果第一指示信息和第二指示信息携带在第一更新文件中,第一密码算法对应的第一公钥基线值也可以携带在该第一更新文件中,那么,网络设备获取第一密码算法对应的第一公钥基线值可以是:网络设备从第一更新文件中获取第一公钥基线值。
其中,第一公钥基线值为第一公钥的哈希值或者第一公钥的明文。第一公钥基线值与第一公钥唯一对应,用于对第一公钥进行完整性验证,一方面,第一公钥基线值用于验证第一更新文件中携带的第一公钥的完整性;另一方面,当第一密码算法有效时,在网络设备安全启动过程中,第一公钥基线值用于对非易失性存储器保存的密码资源中第一公钥进行完整性验证。需要说明的是,非易失性存储器例如可以是:只读内存(英文:Read-onlymemory,简称:ROM)、可编程只读内存(英文:Programmable read-only memory,简称:PROM)、电可改写只读内存(英文:Electrically alterable read only memory,简称:EAROM)、可擦可编程只读内存(英文:Erasable programmable read only memory,简称:EPROM)、电可擦可编程只读内存(英文:Electrically erasable programmable read onlymemory,简称:EEPROM)、闪存(英文:Flash memory)等,在本申请实施例中不作具体限定。
作为一个示例,在根据所述第一指示信息和所述第二指示信息对所述第一密码资源的基线信息进行更新之后,在所述安全启动之前,本申请实施例还可以包括:将非易失性存储器中存储的第二密码资源更新为第一密码资源。此时,本申请实施例还可以包括:根据更新后的所述第一密码资源的基线信息和第一密码资源进行安全启动,该安全启动的过程例如可以包括:基于更新后的所述第一密码资源的基线信息对所述非易失性存储器中存储的更新后的所述第一密码资源进行完整性验证;如果所述非易失性存储器中存储的第一密码资源通过完整性验证,则,根据第一密码资源中的所述第一公钥和所述第一密码算法,对所述安全启动过程中加载的通过第一私钥进行数字签名的应用程序的镜像文件进行验证。其中,所述基于更新后的所述第一密码资源的基线信息对所述非易失性存储器中存储的更新后的所述第一密码资源进行完整性验证,例如可以包括:采用所述第一公钥基线值对所述非易失性存储器中存储的所述第一公钥进行完整性验证。如此,通过该实施例,能够在灵活更新符合需求的密码算法后,基于符合需求的密码算法进行安全启动,提高了网络设备的安全性和对其的使用体验。
对于获取第一指示信息和第二指示信息,例如可以包括:获取第一更新文件,所述第一更新文件携带所述第一指示信息和所述第二指示信息。其中,为了保证第一更新文件的完整性及真实性,该第一更新文件例如可以是证书。该证书的格式可以自定义,也可以采用标准的X.509格式(即密码学里标工艺证书的标准格式)。此外,该第一更新文件也可以是其他能够携带第一指示信息和第二指示信息且能够被网络设备识别和解析的任意格式的文件,在本申请实施例中对第一更新文件不作具体限定。
作为一个示例,该第一更新文件采用第二私钥和第二密码算法进行签名,所述安全存储实体中存储有第二密码资源的基线信息,所述第二密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第二密码资源进行完整性验证,所述第二密码资源对应于所述第二密码算法和第二公钥,其中,所述网络设备在使用所述第一密码资源进行安全启动之前,使用所述第二密码资源进行安全启动。所述第一更新文件中还可以包括所述第二公钥,本申请实施例还可以包括:根据所述第二密码算法和所述第二公钥,验证所述第一更新文件的签名。其中,第二公钥为所述网络设备的根公钥或所述第二公钥为基于所述网络设备的根密钥派生得到的公钥,例如可以是网络设备的二级公钥。可见,当第一更新文件的验证通过,则认为该第一更新文件未被篡改且来源可信,确定该第一更新文件是可靠的,可以基于该第一更新文件中的第一指示信息和第二指示信息进行密码资源的更新。
一种可能的实施例中,所述安全存储实体中预置有所述第二公钥基线值,那么,在所述根据所述第二密码算法和所述第二公钥验证所述第一更新文件的签名之前,本申请实施例还可以包括:基于所所述第二公钥基线值对所述第一更新文件中携带的所述第二公钥进行完整性验证,如果第二公钥的完整性验证通过,才执行根据所述第二密码算法和所述第二公钥验证所述第一更新文件的签名,安全性更高。
另一种可能的实施例中,所述第一更新文件还可以包括网络设备的设备标识信息,所述设备标识信息用于标识所述网络设备。例如,所述网络设备的设备标识信息包括下述信息中的任意一个:所述网络设备中的芯片标识、所述网络设备的硬件标识、所述网络设备所属的用户标识、所述网络设备所属的制造商标识、所述设备所属的域标识、所述网络设备的互联网协议(英文:Internet Protocol,简称:IP)地址、所述网络设备的媒体访问控制(英文:Media Access Control,简称:MAC)地址或所述网络设备所属的网段地址。那么,当第一更新文件的验证通过后,还可以对第一更新文件中的设备标识信息和网络设备进行匹配验证,当验证通过后,确定该第一更新文件是针对该网络设备起作用的文件,基于第一更新实施该本申请实施例提供的方法,完成对该网络设备上密码资源的更新。
在一些可能的实现方式中,所述安全存储实体中还存储有第二密码资源的基线信息,所述第二密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第二密码资源进行完整性验证,所述第二密码资源对应于第二密码算法和第二公钥,其中,所述网络设备在使用所述第一密码资源进行安全启动之前,使用所述第二密码资源进行安全启动,那么,本申请实施例还可以包括:获取第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第二密码算法,所述第四指示信息用于指示中止使用所述第二密码算法。作为一个示例,第三指示信息和第四指示信息可以携带在第一更新文件中,即,第一指示信息、第二指示信息、第三指示信息和第四指示信息均携带在第一更新文件中。作为另一个示例,第三指示信息和第四指示信息也可以携带在第二更新文件中,即,第一指示信息和第二指示信息携带在第一更新文件中,第三指示信息和第四指示信息携带在第二更新文件中。需要说明的是,该第二更新文件可以是证书或者其他能够被网络设备识别和解析的任意格式的文件,在本申请实施例中对第二更新文件不作具体限定。
该实现方式中,本申请实施例还可以包括:根据所述第三指示信息和所述第四指示信息,中止使用所述第二密码算法。其中,中止使用所述第二密码算法,例如可以包括:在所述对所述第一密码资源的基线信息进行更新之后,中止使用所述第二密码算法。
上述中止使用所述第二密码算法,可以包括:去使能所述第二密码算法或吊销所述第二密码算法。其中,去使能所述第二密码算法例如可以包括:将所述第二密码算法的使用状态设置为去使能状态;吊销所述第二密码算法例如可以包括:将所述第二密码算法的使用状态设置为吊销状态。例如,将所述第二密码算法的使用状态设置为吊销状态,具体可以是:设置所述第二密码算法对应的吊销标识信息以指示所述第二密码算法的使用状态为吊销状态。
其中,所述第二密码算法可以为以下任一种密码算法:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3,第一密码算法和第二密码算法为不同的密码算法。
在另一种可能的实现方式中,所述第二指示信息具体用于指示所述网络设备中止使用所述第一密码算法。那么,对所述第一密码资源的基线信息进行更新,具体为:更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为中止状态。上述中止使用所述第一密码算法,可以包括:去使能所述第一密码算法或吊销所述第一密码算法。其中,对于去使能所述第一密码算法的情况,对所述第一密码资源的基线信息进行更新例如可以包括:更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为去使能状态;对于吊销所述第一密码算法的情况,对所述第一密码资源的基线信息进行更新例如可以包括:更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为吊销状态。例如,第一密码算法的状态信息包括吊销标识信息,那么,所述更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为吊销状态包括:设置所述吊销标识信息以将所述第一密码算法的使用状态设置为吊销状态。这样,通过上述实施例,网络设备能够在使能新的密码算法,并且在使用新使能的密码算法对网络设备进行安全启动后,中止无法满足需求的密码算法,使得不满足需求的密码算法不再用于网络设备的安全启动,提高了网络设备的安全性。
第二方面,本申请实施例还提供了一种安全启动的方法,该方法由网络设备实施,该方法例如可以包括:将用于安全启动的第一密码算法更新为第二密码算法,并且,将用于安全启动的第一公钥基线值更新为第二公钥基线值;从而,采用所述第二公钥基线值对第二公钥的完整性进行验证,其中,所述第二密码算法和所述通过完整性验证的所述第二公钥用于对所述安全启动过程中加载的镜像文件进行验证。其中,多种密码算法中的第一密码算法可以为以下任一种算法:非对称加密算法RSA,椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。第二密码算法可以为以下任一种算法:RSA、ECC算法、SM2、SHA或SM3。第一密码算法和第二密码算法不同。这样,通过在网络设备的安全存储实体中预置多种密码算法,在网络设备现网运行的过程中,当需要使用新的密码算法进行安全启动时,能够通过更新密码算法,实现基于不同的需求在线调整用于安全启动的密码算法,从而使得按照不同的安全需求灵活的调用对应的密码算法进行安全启动成为可能,提高了网络设备的安全性。
其中,网络设备内用于安全保存密码资源的基线信息的安全存储实体可以为处理器中的一次性可编程存储空间;或者,安全存储实体也可以为独立于处理器的安全芯片。其中,密码资源的基线信息可以包括第一密码资源的基线信息和第二密码资源的基线信息。第一密码资源的基线信息包括第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态,同理,第二密码资源的基线信息包括第二密码算法的状态信息,所述第二密码算法的状态信息用于指示所述第二密码算法的使用状态。所述第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证,所述第一密码资源对应于所述网络设备在进行所述安全启动所使用的第一密码算法和第一公钥;同理,所述第二密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第二密码资源进行完整性验证,所述第二密码资源对应于所述网络设备在进行所述安全启动所使用的第二密码算法和第二公钥。那么,本申请实施例在执行上述“将用于安全启动的第一密码算法更新为第二密码算法”以及“将用于安全启动的第一公钥基线值更新为第二公钥基线值”之后,可以使用第二密码资源的基线信息对第二密码资源进行完整性验证,再使用通过完整性验证的第二密码资源对安全启动过程中加载的镜像文件进行验证。
其中,将所述第一密码算法更新为所述第二密码算法,例如可以包括:中止所述第一密码算法,使能所述第二密码算法。其中,中止所述第一密码算法,包括吊销所述第一密码算法或去使能所述第一密码算法两种可能的含义。
作为一个示例,本申请实施例中还可以包括:如果第二公钥通过完整性验证,则,网络设备即可采用所述第二公钥和所述第二密码算法,对所述安全启动过程中加载的镜像文件的签名进行验证。
一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中均已经保存了对应的公钥基线值,则,第二公钥基线值可以是预置在所述网络设备的安全存储实体中的,那么,使能第二密码算法也即表示启用了该密第二码算法对应的第二密码资源的基线信息中的第二公钥基线值。
另一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中仅保存了已经使能过的密码算法对应的公钥基线值,未使能的密码算法对应的密码资源的基线信息中预留了待写入对应公钥基线值的空间,则,网络设备也可以获取第一密码算法对应的第一公钥基线值,那么,本申请实施例中将用于安全启动的第一公钥基线值更新为第二公钥基线值可以包括:获取第二公钥基线值,将第二公钥基线值保存到网络设备的安全存储实体中。其中,获取第二公钥基线值的方式例如可以包括:获取第一更新文件,所述第一更新文件中携带所述第二公钥基线值;从第一更新文件中获取所述第二公钥基线值。其中,将所述第二公钥基线值保存到所述网络设备的安全存储实体中,例如,在安全存储实体中与第二密码算法对应的第二密码资源的基线信息相应的位置写入第二公钥基线值。
其中,第二公钥基线值为第二公钥的哈希值或者第二公钥的明文。第二公钥基线值与第二公钥唯一对应,用于对第二公钥进行完整性验证,一方面,第二公钥基线值用于验证第一更新文件中携带的第二公钥的完整性;另一方面,当第二密码算法有效时,在网络设备安全启动过程中,第二公钥基线值用于对非易失性存储器存储器保存的密码资源中第二公钥进行完整性验证。
作为一个示例,在将用于安全启动的第一公钥基线值更新为第二公钥基线值之后,在所述安全启动之前,本申请实施例还可以包括:将非易失性存储器中存储的用于安全启动的第一密码资源更新为第二密码资源,所述第二密码资源包括所述第二公钥。此时,采用所述第二公钥基线值对第二公钥的完整性进行验证,例如可以包括:采用所述第二公钥基线值对所述非易失性存储器中存储的所述第二公钥进行完整性验证。如果所述非易失性存储器中存储的第二密码资源通过完整性验证,则,根据所述第二公钥和所述第二密码算法,对通过第二私钥进行数字签名的应用程序的镜像文件进行签名验证。如此,通过该实施例,能够在灵活更新符合需求的密码算法后,基于符合需求的密码算法进行安全启动,提高了网络设备的安全性和对其的使用体验。
作为一个示例,将用于安全启动的第一密码算法更新为第二密码算法,例如可以包括:获取第一指示信息和第二指示信息,其中,所述第一指示信息用于唯一标识所述第二密码算法,所述第二指示信息用于指示所述网络设备使能所述第二密码算法;接着,根据所述第一指示信息和所述第二指示信息,使能所述第二密码算法。其中,使能所述第二密码算法,例如可以为:将所述第二密码算法的使用状态设置为使能状态。而所述将所述第二密码算法的使用状态设置为使能状态,可以包括:设置所述第二密码算法对应的使能标识信息以指示所述第二密码算法的使用状态为使能状态。
其中,获取第一指示信息和第二指示信息,例如可以包括:获取第一更新文件,所述第一更新文件携带所述第一指示信息和所述第二指示信息。为了保证第一更新文件的完整性及真实性,该第一更新文件例如可以是证书。该证书的格式可以自定义,也可以采用标准的X.509格式(即密码学里标工艺证书的标准格式)。此外,该第一更新文件也可以是其他能够携带第一指示信息和第二指示信息且能够给被网络设备识别和解析的任意格式的文件,在本申请实施例中对第一更新文件不作具体限定。
作为一个示例,该第一更新文件可以采用第一私钥和所述第一密码算法进行签名,其中,所述网络设备在使用所述第二密码资源进行安全启动之前,使用所述第一密码资源进行安全启动,所述第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证,所述第一密码资源对应于所述第一密码算法和第一公钥。第一更新文件中还可以包括第一公钥,本申请实施例还可以包括:根据所述第一密码算法和所述第一公钥,验证所述第一更新文件的签名。其中,该第一公钥为所述网络设备的根公钥或所述第一公钥为基于所述网络设备的根密钥派生得到的公钥,例如网络设备的二级公钥。可见,当第一更新文件的验证通过,则认为该第一更新文件未被篡改且来源可信,确定该第一更新文件是可靠的,可以基于该第一更新文件中的第一指示信息和第二指示信息进行密码资源的更新。
如果第一公钥基线值预置在所述网络设备的安全存储实体中,在所述根据所述第一密码算法和所述第一公钥验证所述第一更新文件的签名之前,本申请实施例还可以包括:基于所述第一公钥基线值对所述第一更新文件中携带的所述第一公钥进行完整性验证,如果第二公钥的完整性验证通过,才执行根据所述第二密码算法和所述第二公钥验证所述第一更新文件的签名,安全性更高。
如果所述第一更新文件还包括网络设备的设备标识信息,所述设备标识信息用于标识所述网络设备。例如:所述网络设备的设备标识信息包括下述信息中的任意一个:所述网络设备中的芯片标识、所述网络设备的硬件标识、所述网络设备所属的用户标识、所述网络设备所属的制造商标识、所述设备所属的域标识、所述网络设备的IP地址、所述网络设备的MAC地址或所述网络设备所属的网段地址。该情况下,当第一更新文件的验证通过后,还可以对第一更新文件中的设备标识信息和网络设备进行匹配验证,当验证通过后,确定该第一更新文件是针对该网络设备起作用的文件,基于第一更新实施本申请实施例提供的方法,完成对网络设备的安全启动。
在一些可能的实现方式中,该第一更新文件还可以包括第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第一密码算法,所述第四指示信息用于指示中止使用所述第一密码算法。根据所述第三指示信息和所述第四指示信息,中止使用所述第一密码算法。其中,所述中止使用所述第一密码算法的执行时机,例如可以在将用于安全启动的第一密码算法更新为第二密码算法之后。
在另一些可能的实现方式中,网络设备基于所述第二密码算法和所述第二公钥进行安全启动后,本申请实施例还可以包括:获取第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第一密码算法,所述第四指示信息用于指示中止使用所述第一密码算法。该第三指示信息和第四指示信息,例如可以携带在第二更新文件中,那么,获取第三指示信息和第四指示信息即可以是从所述第二更新文件中获取所述第三指示信息和所述第四指示信息。这样,网络设备即可根据所述第三指示信息和所述第四指示信息,中止使用所述第一密码算法。而网络设备中止使用所述第一密码算法的执行时机,例如可以在将用于安全启动的第一密码算法更新为第二密码算法之后。
上述中止使用所述第一密码算法,可以包括:去使能所述第一密码算法或吊销所述第一密码算法。其中,去使能所述第一密码算法例如可以包括:将所述第一密码算法的使用状态设置为去使能状态;吊销所述第一密码算法例如可以包括:将所述第一密码算法的使用状态设置为吊销状态。例如,将所述第一密码算法的使用状态设置为吊销状态,具体可以是:设置所述第一密码算法对应的吊销标识信息以指示第一密码算法的使用状态为吊销状态。
作为一个示例,本申请实施例例如还可以包括:获取第一更新文件,第一更新文件用于指示使能第二密码算法。本申请实施例例如还可以包括:获取第二更新文件,所述第二更新文件用于指示吊销所述第一密码算法。那么,将用于安全启动的第一密码算法更新为第二密码算法,例如可以包括:根据所述第一更新文件,使能所述第二密码算法;根据所述第二更新文件,吊销所述第一密码算法。如此,实现对用于网络设备安全启动的密码算法的灵活调整,提高网络设备的安全性。
第三方面,本申请实施例还提供了通信装置,该通信装置包括收发单元和处理单元。其中,收发单元用于执行上述第一方面或第二方面提供的方法中通信装置实施的收发操作;处理单元用于执行上述第一方面或第二方面提供的方法中通信装置实施的除了收发操作以外的其他操作。例如:当所述通信装置执行所述第一方面中通信装置所实施的方法时,所述收发单元可以用于获取第一指示信息和第二指示信息;所述处理单元可以用于根据所述第一指示信息和所述第二指示信息,对所述第一密码资源的基线信息进行更新。又例如:当所述通信装置执行所述第二方面中通信装置所实施的方法时,所述收发单元可以用于获取第一指示信息和第二指示信息;所述处理单元可以用于将用于安全启动的第一密码算法更新为第二密码算法,将用于安全启动的第一公钥基线值更新为第二公钥基线值,采用所述第二公钥基线值对第二公钥的完整性进行验证。
第四方面,本申请实施例还提供了一种通信装置,该通信装置包括通信接口和处理器。其中,通信接口用于执行前述第一方面、第一方面任意一种可能的实现方式、第二方面或第二方面任意一种可能的实现方式所提供的方法中通信装置实施的收发操作;处理器,用于执行前述第一方面、第一方面任意一种可能的实现方式、第二方面或第二方面任意一种可能的实现方式所提供的方法中通信装置实施的除所述收发操作以外的其他操作。
第五方面,本申请实施例还提供了一种通信装置,该通信装置包括存储器和处理器。其中,该存储器包括计算机可读指令;与该存储器通信的处理器用于执行所述计算机可读指令,使得所述通信装置用于执行以上第一方面、第一方面任意一种可能的实现方式、第二方面或第二方面任意一种可能的实现方式所提供的方法。
对于上述各方面提供的通信装置,作为一个示例,所述通信装置包括独立于所述处理器或处理单元的安全芯片,所述安全芯片与所述处理器或处理单元连接,所述安全芯片用于存储密码资源的基线信息。作为另一个示例,所述通信装置的处理器或处理单元包括一次性可编程存储空间,所述一次性可编程存储空间用于存储密码资源的基线信息。
第六方面,本申请实施例还提供了一种安全芯片,所述安全芯片包括通信接口和安全的存储实体。所述存储实体中存储有多种密码资源的基线信息,所述多种密码资源分别对应于网络设备在多次安全启动过程中所需使用的密码算法信息和秘钥信息,每种密码资源的基线信息与每次安全启动一一对应,所述每种密码资源的基线信息用于对所述每次安全启动所采用的密码资源进行完整性验证;其中,所述多种密码资源的基线信息包括第一密码资源的基线信息和第二密码资源的基线信息;所述第一密码资源的基线信息用于对所述网络设备在进行第一安全启动时所使用的第一密码资源进行完整性验证,所述第一密码资源对应第一密码算法和第一公钥,所述第一密码资源的基线信息包括所述第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态;所述第二密码资源的基线信息用于对所述网络设备在进行第二安全启动时所使用的第二密码资源进行完整性验证,所述第二密码资源对应于第二密码算法和第二公钥,所述第二密码资源的基线信息包括所述第二密码算法的状态信息,所述第二密码算法的状态信息用于指示所述第二密码算法的使用状态;所述第二安全启动为所述网络设备在进行所述第一安全启动之后所进行的安全启动,所述第一密码算法与所述第二密码算法不同。
其中,所述安全芯片通过所述通信接口与处理器通信,所述处理器用于对所述安全芯片中存储的所述多种密码资源的基线信息进行管理。第一密码资源的基线信息包括第一公钥基线值,所述第一公钥基线值用于对所述第一公钥的完整性进行验证;所述第二密码资源的基线信息包括第二公钥基线值,所述第二公钥基线值用于对所述第二公钥的完整性进行验证。
需要说明的是,第一密码算法包括下述密码算法中的任意多种:非对称加密算法RSA,椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。所述第二密码算法包括下述密码算法中的任意多种:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
其中,所述第一密码算法的状态信息可以包括第一中止标识信息。所述第一中止标识信息可以包括吊销标识信息和/或去使能标识信息。所述第一密码算法的状态信息也可以包括第一使能标识信息。同理,所述第二密码算法的状态信息可以包括第二中止标识信息。所述第二中止标识信息可以包括吊销标识信息和/或去使能标识信息。所述第二密码算法的状态信息也可以包括第二使能标识信息。
第七方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行以上第一方面、第一方面任意一种可能的实现方式、第二方面或第二方面任意一种可能的实现方式所提供的方法。
第八方面,本申请实施例还提供了计算机程序产品,包括计算机程序或计算机可读指令,当所述计算机程序或所述计算机可读指令在计算机上运行时,使得计算机执行前述第一方面、第一方面任意一种可能的实现方式、第二方面或第二方面任意一种可能的实现方式所提供的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种网络设备的安全启动过程示意图;
图2a为本申请实施例中一种网络设备10的结构示意图;
图2b为本申请实施例中一种网络设备10的结构示意图;
图3a为本申请实施例中使能ECC算法之前密码资源的基线信息的一结构示意图;
图3b为本申请实施例中使能ECC算法之后密码资源的基线信息的一结构示意图;
图3c为本申请实施例中吊销RSA算法之后密码资源的基线信息的一结构示意图;
图3d为本申请实施例中使能ECC算法之前密码资源的基线信息的另一结构示意图;
图4为本申请实施例中一种对安全启动所使用的密码资源进行管理的方法100的流程示意图;
图5a为本申请实施例中一种证书1的结构示意图;
图5b为本申请实施例中一种证书2的结构示意图;
图6a为本申请实施例中一种更新前的Flash存储器的结构示意图;
图6b为本申请实施例中一种更新后的Flash存储器的结构示意图;
图7为本申请实施例中一种对安全启动所使用的密码资源进行管理的方法200的流程示意图;
图8a为本申请实施例中一种证书3的结构示意图;
图8b为本申请实施例中一种证书4的结构示意图;
图9为本申请实施例中一种安全启动的方法300的流程示意图;
图10为本申请实施例中一种对安全启动所使用的密码资源进行管理的方法400的流程示意图;
图11为本申请实施例中一种安全启动的方法500的流程示意图;
图12为本申请实施例中一种通信装置1200的结构示意图;
图13为本申请实施例中一种通信装置1300的结构示意图;
图14为本申请实施例中一种通信装置1400的结构示意图;
图15a为本申请实施例中一种通信装置1500的结构示意图;
图15b为本申请实施例中一种通信装置1500的结构示意图;
图16为本申请实施例中一种安全芯片1600的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请中的“1”、“2”、“3”、“第一”、“第二”以及“第三”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
本申请中提及的“A和/或B”,应该理解为包括以下情形:仅包括A,仅包括B,或者同时包括A和B。
图1为一种网络设备的安全启动过程示意图。参见图1,网络设备上电后,首先,执行安全启动代码(英文:Bootrom Security Boot Code,简称:BSBC),再执行片上启动介质(英文:Bootrom);然后,通过引导代码BootLoader加载操作系统(英文:Operating System,简称:OS),具体加载Linux/VxWorks/Windows等OS对应的代码;接着,OS启动后,加载对应的应用程序(英文:Application,简称:APP)。为了确保该网络设备启动过程的安全性,使用可信的签名系统(如证书颁发机构(英文:Certificate Authority,简称:CA)服务器)为各应用程序的镜像文件分别进行数字签名,例如:参见图1,签名系统采用密码算法1对Bootrom代码、BootLoader代码、OS代码和APP代码分别进行数字签名,得到Bootrom代码的签名1、BootLoader代码的签名2、OS代码的签名3和APP代码的签名4,需要说明的是,由于BSBC可以视作该网络设备可信根(英文:RootofTrust,简称:RoT),所以无需对BSBC进行数字签名。网络设备的安全启动的过程例如可以包括:网络设备上电后,首先,执行BSBC,BSBC使用相应的公钥对Bootrom代码的签名1进行验证,验证通过后才执行Bootrom;然后,Bootrom使用相应的公钥对BootLoader代码的签名2进行验证,验证通过后才执行BootLoader;然后,BootLoader使用相应的公钥对OS代码的签名3进行验证,验证通过后,引导执行OS;接着,OS使用相应的公钥对APP代码的签名4进行验证,验证通过后,执行该APP。需要说明的是,任意一个签名验证不通过,则,确定此次安全启动失败。
以网络设备中的APP为例,对为APP代码进行数字签名和签名的验证过程进行说明。对APP代码的数字签名过程可以包括:在APP代码下至网络设备之前,签名系统先经过哈希算法得到APP代码的数字摘要digestX1,再利用私钥a对该digest X1进行数字签名得到digestEncode X1。在将APP代码下至网络设备上时,发送给网络设备的包括APP代码和digestEncode X1。对APP代码的签名进行验证的过程可以包括:网络设备在加载APP代码之前,可以先对APP代码采用签名时相同的哈希算法,生成数字摘要digest X2,然后用公钥A对digestEncode X1进行验签得到digestDecode X3,判断digestDecode X3和digest X2是否相同,如果相同,则可以确定该APP代码未被篡改且为合法制造商发布的,从而确保该网络设备加载的APP代码是安全和可靠的。其中,私钥a和公钥A是网络设备的制造商提供的一对密钥,公钥A是公开可见的,而私钥a则是保密的,只有制造商对应的签名系统可见。可见,数字签名技术可以视作数字摘要技术和公私钥技术的结合,既可以通过数字摘要技术验证软件包是否被篡改,也可以通过公私钥技术验证数字摘要是否合法,是一种能够为安全启动过程提供快速和全面的软件完整性保护和校验的技术。
图2a和图2b为网络设备10的两种结构示意图。参见图2a,该网络设备10包括处理器110和Flash存储器130,处理器110中集成有安全存储实体120。安全存储实体120的特点为:写入的内容无法进行修改和擦除,例如:安全存储实体120为处理器110中的一次性可编程存储器(英文:One Time Programmable,简称:OTP),该OTP可以通过电熔丝(英文:Electronic Fuses,简称:eFUSE)实现存储功能,确保较高的安全性。参见图2b,该网络设备10包括处理器110,安全存储实体120和非易失性存储器130,其中,安全存储实体120独立于所述处理器110,用于提供安全存储空间,安全存储实体120例如可以是独立的安全芯片,安全存储实体120和处理器110进行通信连接。在图2a和图2b中,处理器110分别和安全存储实体120、非易失性存储器130进行通信连接。其中,处理器110通常由中央处理器(英文:Central Processing Unit,简称:CPU)、微处理器(英文:Microprocessor Unit,简称:MPU)、微控制单元(英文:Microcontroller Unit,简称:MCU)、现场可编程逻辑门阵列(英文:Field Programmable Gate Array,简称:FPGA)等具备控制能力的芯片实现,是网络设备10启动过程中信任链的起点,处理器110的完整性受硬件的严格保护,在本申请实施例中可以认为是可信的。非易失性存储器130是一种非易失性存储器,例如可以是具备电子可擦除可编程的性能,能够快速读取数据,使数据不会因为断电而丢失的存储器。非易失性存储器130可以用于存储BootLoader代码、OS代码以及应用程序代码等数据。非易失性存储器130包括但不限于ROM、PROM、EAROM、EPROM、EEPROM、Flash存储器,下文中以非易失性存储器130为Flash存储器130为例进行说明。
通常,在网络设备10的处理器110的内部会预置一种密码算法以及该密码算法对应的公钥基线值。当网络设备10上电时,将Flash存储器130中保存的应用程序的镜像文件加载到静态随机存取存储器(英文:Static Random-Access Memory,简称:SRAM)中,基于安全存储实体120中预置的该密码算法对应的密码资源的基线信息,调用处理器110中预置的该唯一的密码算法,对应用程序的镜像文件进行验证,完成安全启动。其中,密码资源的基线信息包括密码算法的状态信息和密码算法对应的公钥基线值,公钥基线值可以是公钥的明文或公钥的哈希值。
考虑到网络设备的安全性,通常将用于安全启动的唯一的密码算法和公钥基线值分别预置到网络设备中,其内容无法进行在线修改和更新,但是,很多情况下,网络设备内预置的用于安全启动的唯一密码算法很可能无法满足需求。例如:随着网络设备内处理器运算能力的提高或者密码理论的演进,网络设备内预置的该唯一的密码算法的安全保护强度削减,无法对网络设备的安全启动过程进行有效的安全保护;又例如:由于各用户的安全标准的差异化,网络设备内预置的该唯一的密码算法很可能无法满足部分用户的安全标准的要求,在面临当前使用的密码算法和公钥不能满足需求时,往往需要召回已经出厂的网络设备或芯片进行重新设计,导致出现过程复杂、成本较高且用户体验较差等一系列问题。
基于此,本申请实施例提供了一种对安全启动所使用的密码资源进行管理的方法,能够基于不同的需求在线调整用于安全启动的密码算法。本申请实施例提供的技术方案中,在网络设备的安全存储实体中预先存储密码资源的基线信息,该密码资源的基线信息包括多种密码资源的基线信息,多种密码资源的基线信息与多种密码算法一一对应,每种密码资源的基线信息包括对应的密码算法的状态信息。例如:多种密码算法包括密码算法1和密码算法2,密码算法1对应的密码资源的基线信息1,密码资源的基线信息1包括密码算法1的状态信息,密码算法1的状态信息用于指示密码算法1的使用状态,密码算法2对应的密码资源的基线信息2,密码资源的基线信息2包括密码算法2的状态信息,密码算法2的状态信息用于指示密码算法2的使用状态。密码资源的基线信息1用于对所述网络设备在安全启动过程中所使用的密码资源1进行完整性验证,密码资源1对应于所述网络设备在进行所述安全启动所使用的密码算法1和公钥B,密码资源的基线信息2用于对所述网络设备在安全启动过程中所使用的密码资源2进行完整性验证,密码资源2对应于所述网络设备在进行所述安全启动所使用的密码算法2和公钥A。假设网络设备需要更新密码资源,那么,该网络设备可以获取指示信息1和指示信息2,其中,指示信息1用于唯一标识密码算法1,指示信息2用于指示该网络设备对安全存储实体中存储的所述密码资源的基线信息1进行更新,这样,网络设备即可基于该指示信息1和指示信息2对密码算法1对应的密码资源的基线信息1进行更新,如,网络设备使能密码算法1,又如,网络设备中止密码算法1。如此,通过在网络设备的安全存储实体中预置多种密码资源的基线信息,在网络设备现网运行的过程中,当需要更新密码算法时,能够通过更新密码算法对应的密码资源的基线信息,使得密码算法的使用状态发生改变,实现基于不同的需求在线调整用于安全启动的密码算法的目的,从而使得按照不同的安全需求适应性的进行安全启动成为可能,提高了网络设备的安全性。
而且,本申请实施例提供了一种安全启动的方法,能够基于在线调整后的密码算法,实现基于满足安全需求的密码算法对网络设备的安全启动。例如:在网络设备的安全存储实体中预先存储的多种密码算法包括密码算法1和密码算法2。假设网络设备当前用于安全启动的密码算法2,根据需求需要使能密码算法1进行安全启动,那么,该网络设备可以将用于安全启动的密码算法2更新为密码算法1,并且,将用于安全启动的公钥基线值a更新为公钥基线值b;接着,可以采用公钥基线值b对公钥B的完整性进行验证,而密码算法1和通过完整性验证的公钥B用于对所述安全启动过程中加载的镜像文件的签名进行验证。如此,通过在网络设备的安全存储实体中预置多种密码算法,在网络设备现网运行的过程中,当需要使用新的密码算法进行安全启动时,能够通过更新密码算法,实现基于不同的需求在线调整用于安全启动的密码算法,从而使得按照不同的安全需求灵活的调用对应的密码算法进行安全启动成为可能,提高了网络设备的安全性。
举例来说,以图2所示的网络设备10为例,网络设备10的安全存储实体120中预置密码资源的基线信息,该密码资源的基线信息包括5种密码算法对应的5种密码资源的基线信息,每种密码资源的基线信息包括:两个标识信息和一个公钥基线值。其中,5种密码算法分别为:RSA算法、ECC算法、SM2算法、SHA算法和SM3算法。对应的5种密码资源的基线信息分别为:密码资源的基线信息1:ECC算法对应的使能标识信息2、中止标识信息2和公钥基线值2,密码资源的基线信息2:RSA算法对应的算法标识信息1、中止标识信息1和公钥基线值1,密码资源的基线信息3:SM2算法对应的使能标识信息3、中止标识信息3和公钥基线值3,密码资源的基线信息4:SHA算法对应的使能标识信息4、中止标识信息4和公钥基线值4,以及密码资源的基线信息5:SM3算法对应的使能标识信息5、中止标识信息5和公钥基线值5。需要说明的是,各个标识信息一经烧写即不可修改,例如:使能标识信息2已烧写,表示RSA算法的状态为使能状态,中止标识信息2被烧写,表示RSA算法的状态为中止状态,只有密码算法对应的使能标识信息为被使能状态且中止标识信息为未被中止状态,才可以作为有效的密码算法被用于安全启动。网络设备10的Flash存储器130中保存有密码资源,该密码资源至少可以包括有效的密码算法对应的公钥。此外,该Flash存储器130还包括使用有效的密码算法对应的私钥进行数字签名的应用程序的镜像文件。
作为一个示例,假设网络设备10出厂时配置为使用RSA算法,那么,网络设备10的安全存储实体120中预置的密码资源的基线信息的结构可以参见图3a所示,其中,使能标识信息2被烧写,公钥基线值2对应的位置写入公钥基线值a,其他的标识信息和公钥基线值对应的位置均为待烧写状态。当网络设备10上电后,可以先基于安全存储实体120中有效的RSA算法和对应的公钥基线值a,对Flash存储器130中保存密码资源(至少包括RSA算法对应的公钥A)进行完整性验证,使用Flash存储器130中验证通过的密码资源对应用程序的镜像文件的签名进行验证,验证通过后,才加载该应用程序的镜像文件,完成网络设备10的安全启动。其中,公钥基线值a可以是公钥A的哈希值也可以是公钥A的明文,对应用程序的镜像文件进行数字签名的是公钥A对应的私钥A。
作为另一个示例,假设网络设备10出厂时配置为使用RSA算法,基于新的需求,用户需要使用ECC算法进行安全启动,那么,网络设备10获取到证书1,根据该证书1,网络设备10更新安全存储实体120中的密码资源的基线信息,更新后的密码资源的基线信息的结构可以参见图3b所示,与图3a所示的结构相比,区别在于:使能标识信息1被烧写,公钥基线值1对应的位置写入公钥基线值b。此外,网络设备10的Flash存储器130中也更新密码资源和应用程序的镜像文件,更新后的密码资源至少可以包括ECC算法对应的公钥B,更新后的应用程序的镜像文件采用公钥B对应的私钥B进行数字签名。更新完成之后,网络设备10重启,可以先基于安全存储实体120中有效的ECC算法和对应的公钥基线值b,对Flash存储器130中保存密码资源(至少包括ECC算法对应的公钥B)进行完整性验证,使用Flash存储器130中验证通过的密码资源对应用程序的镜像文件的签名进行验证,验证通过后,才加载该应用程序的镜像文件,完成网络设备10的安全启动。
作为再一个示例,假设网络设备10用于安全启动的密码算法从RSA算法更新到ECC算法之后,使用ECC算法进行安全启动成功时,网络设备10为了确保安全,还可以将已经失效的RSA算法进行中止,具体过程可以包括:获取到证书2,根据该证书2,网络设备10更新安全存储实体120中的密码资源的基线信息,更新后的密码资源的基线信息的结构可以参见图3c所示,与图3b所示的结构相比,区别在于:中止标识信息2被烧写,这样,网络设备10的安全存储实体120中的RSA算法被中止,能够有效的避免回退攻击,即,有效的避免该已被替换的不够安全或者不合规的密码算法被用于安全启动,提高网络设备10的安全性。
可见,通过本申请实施例提供的技术方案,能够安全的在现网环境下更新网络设备的安全存储实体中的密码资源的基线信息,实现基于不同的安全需求灵活的更新符合需求的密码算法,从而基于符合安全需求的密码算法进行安全启动。
需要说明的是,本申请实施例中的更新安全存储实体中的密码资源的基线信息的过程,在上述示例中未进行详细说明,具体细节实现参见下述图4、图7、图9-图11所示的实施例中的相关说明。
可以理解的是,上述场景仅是本申请实施例提供的一个场景示例,本申请实施例并不限于此场景。
下面结合附图,通过实施例来详细说明本申请实施例中一种基于冗余密码算法进行安全启动的方法的具体实现方式。
本申请实施例提供的一种对安全启动所使用的密码资源进行管理的方法,适用于网络设备或通用的嵌入式设备等设备,以网络设备为例,该方法的执行主体例如可以是网络设备内的处理器。该网络设备内的处理器用于执行下述方法100或方法200,实现对密码资源的管理。
网络设备的安全存储实体中,密码资源的基线信息包括多种密码资源的基线信息,多种密码资源的基线信息与多种密码算法一一对应,即,每种密码资源的基线信息唯一对应一种密码算法,每种密码资源的基线信息包括该唯一对应的密码算法的状态信息。其中,多种密码算法至少可以包括密码算法1和密码算法2,多种密码算法对应的多种密码资源的基线信息至少可以包括密码资源的基线信息1和密码资源的基线信息2,密码资源的基线信息1包括用于指示密码算法1使用状态的状态信息1,密码资源的基线信息2包括指示密码算法2使用状态的状态信息2。其中,密码资源的基线信息1用于对所述网络设备在安全启动过程中所使用的密码资源1进行完整性验证,密码资源1对应于所述网络设备在进行所述安全启动所使用的密码算法1和公钥B,密码资源的基线信息2用于对所述网络设备在安全启动过程中所使用的密码资源2进行完整性验证,密码资源2对应于所述网络设备在进行所述安全启动所使用的密码算法2和公钥A。此外,每种密码资源的基线信息还可以包括与多种密码算法中的每种密码算法对应的公钥基线值,一种情况下,安全存储实体中,仅保存当前有效的密码算法以及已经中止的密码算法对应的公钥基线值,而为未被使能且未被中止的密码算法预留存储区域,用于存储对应的公钥基线值,在使能该密码算法的同时可以在对应的预留存储区域中写入对应的公钥基线值,以确保安全启动的有效进行,例如:密码资源的密码资源的基线信息的结构例如可以参见图3a~图3c所示。另一种情况下,安全存储实体中,为每种密码算法保存对应的公钥基线值,当前有效的密码算法以及该密码算法对应的公钥基线值被用于安全启动,与上述图3a对应,该情况下密码资源的密码资源的基线信息的结构例如可以参见图3d所示。
其中,中止密码算法可以包括去使能密码算法和吊销密码算法两种可能的含义。去使能密码算法是指将密码算法暂时设置为不可用状态,暂时不使用该密码算法进行安全启动,但是,后续还可以根据实际需求重新启用该密码算法;吊销密码算法是指终止使用密码算法,该密码算法在网络设备中永久失效,后续也无法重新启用该密码算法。
其中,密码算法1例如可以是以下任一种算法:RSA算法、ECC算法、SHA算法、SM3算法或SM2算法。密码算法2例如可以是以下任一种密码算法:RSA算法,ECC算法、SHA算法、SM3算法或SM2算法,密码算法2和密码算法1不同。
图4为本申请实施例中一种对安全启动所使用的密码资源进行管理的方法100的流程示意图。参见图4,该方法100例如可以包括:
S101,获取指示信息1和指示信息2,其中,指示信息1用于唯一标识密码算法1,指示信息2用于指示网络设备对安全存储实体中存储的密码资源的密码资源的基线信息1进行更新。
网络设备在现网运行过程中,如果用户或供应商根据实际需求,需要对当前有效的密码算法1进行更新,则,网络设备可以获取指示信息1和指示信息2。
网络设备获取指示信息1和指示信息2的方式,包括但不限于:方式一,网络设备接收到用户或供应商发送的更新指令,该更新指令用于指示对密码资源的基线信息1进行更新,该更新指令中携带所述指示信息1和指示信息2。例如,用户或供应商通过网管向网络设备发送命令行,该命令行用于指示对密码资源的基线信息1进行更新,该命令行中携带该指示信息1和指示信息2。方式二,网络设备获取更新文件1,在该更新文件1中包括该指示信息1和指示信息2。作为一个示例,该更新文件1可以是用户或供应商对应的设备根据实际需求生成并发送给网络设备的;作为另一个示例,该更新文件1也可以是用户或供应商根据实际需求在网络设备上配置的。方式三,网络设备获取网络设备和可信的鉴权工具直接建立通信连接,该鉴权工具中保存有指示信息1和指示信息2。方式四,网络设备接收到用户或供应商发送的更新指令,该更新指令用于指示对密码资源的基线信息1进行更新,响应于该更新指令,网络设备向可信的设备(例如证书颁发机构(英文:Certificate Authority,简称:CA)服务器)请求更新文件1,在请求到的更新文件1中包括所述指示信息1和指示信息2。
在通过更新文件1获取指示信息1和指示信息2的示例中,网络设备获取更新文件1的方式,包括但不限于:方式一,网络设备接收到用户或供应商发送的更新指令,该更新指令用于指示对密码资源的基线信息1进行更新,该更新指令中携带更新文件1,例如,用户或供应商通过网管向网络设备发送命令行,该命令行用于指示对密码资源的基线信息1进行更新,该命令行中携带该更新文件1;方式二,网络设备接收到用户或供应商发送的更新指令,该更新指令用于指示对密码资源的基线信息1进行更新,响应于该更新指令,网络设备向可信的设备(例如CA服务器)请求更新文件1;方式三,网络设备和可信的鉴权工具直接建立通信连接,该鉴权工具中保存有更新文件1,由该鉴权工具直接将更新文件1传输给网络设备。
其中,网络设备获取更新文件1或者更新指令所使用的传输协议包括但不限于:简单网络管理协议(英文:Simple Network Management Protocol,简称:SNMP)、网络配置协议(英文:Network Configuration Protocol,简称:NETCONF)或YANG模型。
指示信息1用于唯一标识密码算法1。一个具体的实施方式中,可以采用若干个比特的二进制取值来标识指示信息1。作为一个示例,如表1所示,可以用3个比特的编码对应的二进制取值来表示不同的指示信息1。处理器中预置表1所示的编码和密码算法之间的对应关系,如此,处理器可以根据指示信息1所对应的具体的二进制值,确定其所标识的密码算法。例如,如下表1所示,当编码为{0,0,0},即编码所对应的二进制取值为0时,指示信息1用于标识RSA算法;又例如,当编码为{0,0,1}时,即编码对应的二进制的值为1时,指示信息1用于标识ECC算法。另一个具体的实施方式中,也可以采用比特映射的方式来表示指示信息1。作为一个示例,如表2所示,可以设置8个比特位的编码来表示不同的指示信息1,每个比特位和每种密码算法一一对应。处理器中预置比特位和密码算法之间的对应关系,如此,处理器可以根据指示信息1所对应的比特位,确定其所标识的密码算法。例如,如下表2所示,当指示信息1为00000001,即,预设的比特位的最低位置位为1时,该指示信息用于唯一标识RSA算法;又例如,当指示信息1为00000010,即,预设的比特位的次低位置位为1时,该指示信息用于唯一标识ECC算法。
表1编码和密码算法之间的对应关系
密码算法名称 编码 说明
RSA算法 000 非对称加密算法RSA
ECC算法 001 椭圆曲线密码学ECC算法
SM2算法 010 国密非对称加密算法SM2
表2比特位和密码算法之间的对应关系
密码算法名称 编码 说明
RSA算法 00000001 非对称加密算法RSA
ECC算法 00000010 椭圆曲线密码学ECC算法
SM2算法 00000100 国密非对称加密算法SM2
指示信息2,用于指示网络设备对安全存储实体中存储的所述密码资源的基线信息1进行更新,对密码资源的基线信息1进行更新有两种可能的意思:使能指示信息1所标识的密码算法1,或者,中止密码算法1。作为一个示例,指示信息2可以用于指示使能密码算法1;作为另一个示例,指示信息2也可以用于指示中止密码算法1。
以更新文件1中携带指示信息2为例,对如何获取指示信息2进行举例说明。一个具体的示例中,可以通过更新文件1中特定字段的取值来表示指示信息2的不同含义。例如,指示信息2可以是更新文件1中用于指示文件类型的字段。当更新文件1中用于指示文件类型的字段取值为1,表明该更新文件1为使能文件,则,指示信息2用于指示使能密码算法1;当更新文件1中用于指示文件类型的字段取值为0,表明该更新文件1为中止文件,则,指示信息2用于指示中止密码算法1。另一个具体的示例中,指示信息2还可以是更新文件1中的单独的字段,例如可以通过二进制取值或者比特映射的方式,来表明指示信息2的具体含义。
在一些可能的实现方式中,对于更新文件1为使能文件的情况,假设当前有效的密码算法为密码算法2,则,更新文件1中除了包括指示信息1和指示信息2,还可以包括:公钥A和签名X。其中,签名X为采用私钥A和密码算法2对更新文件1进行数字签名后得到的。此外,该更新文件1中还可以携带当前有效的密码算法2的标识,用于验证更新文件1。
具体实现时,网络设备接收到更新文件1后,执行的验证过程可以包括:S11,基于更新文件1中密码算法2的标识,获取密码资源的基线信息中密码算法2对应的密码资源的基线信息2;S12,基于密码资源的基线信息2中的使能标识信息2和中止标识信息2,确定该密码算法2为使能且未被中止的有效密码算法;S13,网络设备获取密码算法2对应的密码资源的基线信息2中的公钥基线值a,利用公钥基线值a对更新文件1中的公钥A进行完整性验证;S14,网络设备利用密码算法2和验证通过的公钥A,对签名X进行验证;S15,如果对签名X的验证通过,则,确定该更新文件1是完整且可信的。如此,可以执行下述S102,例如:基于该更新文件1中的指示信息1和指示信息2,将密码算法1对应的密码资源的基线信息1中的使能标识信息1设置为使能状态。
需要说明的是,上述更新文件1中的公钥A可以是网络设备的根公钥;或者,为了减少根私钥的暴露次数,提高网络设备的安全性和可靠性,节约安全存储实体中的存储资源,更新文件1中的公钥A也可以是网络设备根据根公钥派生得到的公钥。例如网络设备的二级公钥。其中,根公钥为一级公钥,二级公钥是指利用安全哈希算法(英文:Secure HashAlgorithm,简称:SHA)(例如:SHA256)对根公钥处理得到的结果。
网络设备的安全存储实体中预先保存的公钥基线值a与公钥A唯一对应,用于对公钥A进行完整性验证,该公钥基线值a例如可以是公钥A的明文或公钥A的哈希值。一方面,公钥基线值a用于验证更新文件1中携带的公钥A的完整性;另一方面,当密码算法2有效时,在网络设备安全启动过程中,公钥基线值a用于对闪存Flash存储器保存的密码资源中公钥A进行完整性验证。
此外,为了增加安全性,该更新文件1还可以包括网络设备的设备标识信息,该设备标识信息用于标识该网络设备。例如:网络设备的设备标识信息包括下述信息中的任意一个:网络设备中的芯片标识、网络设备的硬件标识、网络设备所属的用户标识、网络设备所属的制造商标识、设备所属的域标识、网络设备的IP地址、网络设备的MAC地址或所述网络设备所属的网段地址。那么,网络设备接收到更新文件1后执行的验证过程中的S15例如可以包括:对签名X的验证通过后,从更新文件1中获取网络设备的设备标识信息,对该设备标识信息进行匹配验证。如果网络设备的设备标识信息和该网络设备匹配,则,认为该更新文件1是可信的;否则,认为更新文件1不可信,不再执行S102。
一个具体的实施方式中,在S15之后,S102之前,本申请实施例还可以包括:S16,获取密码资源的基线信息中的密码算法1对应的密码资源的基线信息1;S17,基于密码资源的基线信息1中的使能标识信息1和中止标识信息1,确定该密码算法1为未使能且未被中止的密码算法。这样,确保待使能的密码算法1对应的密码资源的基线信息1为可以被更新的状态,为执行下述S102进行了可靠的验证。
在另一些可能的实现方式中,对于更新文件1为中止文件的情况,假设当前有效的密码算法为密码算法1,则,更新文件1中除了包括指示信息1和指示信息2,还可以包括:公钥B和签名Y。其中,签名Y为采用私钥B和密码算法1对更新文件1进行数字签名后得到的。此外,该更新文件1中还可以携带当前有效的密码算法1的标识,用于验证更新文件1。
具体实现时,网络设备接收到更新文件1后,执行的验证过程可以包括:S21,基于更新文件1中密码算法1的标识,获取密码资源的基线信息1中密码算法1对应的密码资源的基线信息1;S22,基于密码资源的基线信息1中的使能标识信息1和中止标识信息1,确定该密码算法1为使能且未被中止的有效密码算法;S23,网络设备获取密码算法1对应的密码资源的基线信息1中的公钥基线值b,利用公钥基线值b对更新文件1中的公钥B进行完整性验证;S24,网络设备利用密码算法1和验证通过的公钥B,对签名Y进行验证;S25,如果对签名Y的验证通过,则,确定该更新文件1是完整且可信的。如此,可以执行下述S102,例如:基于该更新文件1中的指示信息1和指示信息2,将密码算法1对应的密码资源的基线信息1中的中止标识信息1设置为中止状态。
需要说明的是,上述更新文件1中的公钥B可以是网络设备的根公钥或者网络设备根据根公钥派生得到的公钥。
网络设备的安全存储实体中预先保存的公钥基线值b与公钥B唯一对应,用于对公钥B进行完整性验证,该公钥基线值b例如可以是公钥B的明文或公钥B的哈希值。一方面,公钥基线值b用于验证更新文件1中携带的公钥B的完整性;另一方面,当密码算法1有效时,在网络设备安全启动过程中,公钥基线值b用于对闪存Flash存储器保存的密码资源中公钥B进行完整性验证。
此外,为了增加安全性,该更新文件1还可以包括网络设备的设备标识信息,该设备标识信息用于标识该网络设备。那么,网络设备接收到更新文件1后执行的验证过程中的S25例如可以包括:对签名Y的验证通过后,从更新文件1中获取网络设备的设备标识信息,对该设备标识信息进行匹配验证。如果网络设备的设备标识信息和该网络设备匹配,则,认为该更新文件1是可信的;否则,认为更新文件1不可信,不再执行S102。
为了保证更新文件1的完整性及真实性,该更新文件1例如可以是证书。对于使能密码算法1的证书1,如图5a所示,例如可以携带:证书类型、公钥A、密码算法1和签名X;此外,该证书1还可以携带公钥基线值b、密码算法2和网络设备的设备标识信息。其中,证书类型可以作为指示信息2,用于指示该证书1为使能证书;密码算法1例如可以是001或00000010,作为指示信息1,用于指示ECC算法。对应用于中止密码算法1的证书2,如图5b所示,例如可以携带:证书类型、密码算法1、公钥B和签名Y;此外,该证书2还可以携带网络设备的设备标识信息。其中,证书类型可以作为指示信息2,用于指示该证书2为中止证书;密码算法1例如可以是000或00000001,作为指示信息1,用于指示RSA算法。需要说明的是,该证书1和证书2的格式可以自定义,也可以采用标准的X.509格式(即密码学里标工艺证书的标准格式)。
需要说明的是,更新文件1的形式在本申请实施例中不作具体限定,只要能够携带指示信息1和指示信息2,任何形式的文件都可以作为更新文件1。
S102,根据指示信息1和指示信息2,对密码算法1对应的密码资源的基线信息1进行更新。
作为一个示例,如果指示信息2用于指示使能密码算法1,那么,网络设备可以基于指示信息2将密码算法1的使用状态设置为使能状态。一种情况下,当密码资源的基线信息通过硬件烧写的形式存储在网络设备的安全存储实体时,S102例如可以包括:设置密码资源的基线信息1中的使能标识信息1以指示密码算法1的使用状态为使能状态。另一种情况下,当密码资源的基线信息通过软件的形式安全存储在网络设备中时,S102例如可以包括:将密码算法1对应的软件状态位设置为使能状态。一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中均已经保存了对应的公钥基线值,则,使能密码算法1也可以表示启用该密码算法1对应的密码资源的基线信息1中的公钥基线值b。另一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中仅保存了已经使能过的密码算法对应的公钥基线值,未使能的密码算法对应的密码资源的基线信息中预留了待写入对应公钥基线值的空间,那么,S102中对密码资源的基线信息1进行更新,例如可以包括:网络设备获取密码算法1对应的公钥基线值b,将公钥基线值b存储在安全存储实体中,例如,在安全存储实体中与密码算法1对应的密码资源的基线信息1的公钥基线值1对应的位置写入公钥基线值b。其中,如果指示信息1和指示信息2携带在更新文件1中,密码算法1对应的公钥基线值b也可以携带在该更新文件1中,那么,网络设备获取密码算法1对应的公钥基线值b可以是:网络设备从更新文件1中获取公钥基线值b。
举例来说,假设密码算法2为RSA算法,密码算法1为ECC算法,在执行方法100之前,密码资源的基线信息的格式可以参见图3a所示,执行方法100之后,密码资源的基线信息的格式可以参见图3b所示。
在更新密码资源的基线信息的同时,或者,在更新密码资源的基线信息之后,也可以对Flash存储器中的密码资源以及应用程序的镜像文件进行相应的更新,为确保在网络设备重启后可以基于新使能的密码算法1进行安全启动。其中,Flash存储器中的密码资源用于对网络设备加载的应用程序的镜像文件进行完整性验证,安全存储实体中的密码资源的基线信息用于对Flash存储器中的密码资源进行完整性验证。更新后的Flash存储器中的密码资源至少包括但不限于:密码算法1对应的公钥B。
例如:在更新Flash存储器中的密码资源1以及应用程序的镜像文件1之前,Flash存储器的结构参见图6a,其中,密码资源1中至少可以包括公钥A,应用程序的镜像文件1可以包括:Bootrom代码、Bootrom代码的签名1、BootLoader代码、BootLoader代码的签名2、OS代码、OS代码的签名3、APP代码和APP代码的签名4,其中,签名1~签名4为基于密码算法2以及密码算法2对应的私钥A进行数字签名获得的。具体实现时,基于密码算法2进行安全启动的过程可以包括:S31,网络设备上电;S32,基于执行S102之前的密码资源的基线信息中的基线信息2,对Flash存储器中的密码资源1进行完整性验证;S33,如果Flash存储器中的密码资源1的完整性验证通过,则使用Flash存储器中的密码资源1对应用程序的镜像文件1进行完整性验证,完成安全启动。
在更新Flash存储器中的密码资源1以及应用程序的镜像文件1之后,Flash存储器的结构参见图6b,其中,更新后的Flash存储器中的密码资源记作密码资源2,该密码资源2中至少可以包括密码算法1对应的公钥B,应用程序的镜像文件2可以包括:Bootrom代码、Bootrom代码的签名1’、BootLoader代码、BootLoader代码的签名2’、OS代码、OS代码的签名3’、APP代码和APP代码的签名4’,其中,签名1’~签名4’为基于密码算法1以及密码算法1对应的私钥B进行数字签名获得的。具体实现时,基于密码算法1进行安全启动的过程可以包括:S41,网络设备上电;S42,基于执行S102之后的密码资源的基线信息中的密码资源的基线信息1,对Flash存储器中的密码资源2进行完整性验证;S43,如果Flash存储器中的密码资源2的完整性验证通过,则使用Flash存储器中的密码资源2对应用程序的镜像文件2进行完整性验证,完成安全启动。
需要说明的是,应用程序的镜像文件2中的Bootrom代码、BootLoader代码、OS代码以及APP代码,可以和应用程序镜像文件1中的Bootrom代码、BootLoader代码、OS代码以及APP代码相同,也可以不同,在本申请实施例中不作具体限定。如果在更新密码资源的基线信息的同时进行软件升级,则,应用程序的镜像文件2和应用程序镜像文件1中代码的部分或全部不同。
其中,S42中基于图3b所示密码资源的基线信息中的密码资源的基线信息1,对Flash存储器中的密码资源2进行完整性验证,可以包括:S421,基于密码算法1对应的密码资源的基线信息1中的公钥基线b,验证Flash存储器中的密码资源2中的公钥B的完整性。其中,如果密码资源的基线信息1中的公钥基线值b为公钥B的哈希值,则,S421例如可以包括:计算Flash存储器中的密码资源2中公钥B的哈希值,比较该哈希值和公钥基线值b是否相同,如果相同,则,确定Flash存储器中的密码资源2的完整性验证通过。如果密码资源的基线信息1中的公钥基线值b为公钥B的明文,则,S421例如可以包括:比较Flash存储器中的密码资源2中的公钥B和公钥基线值b是否相同,如果相同,则,确定Flash存储器中的密码资源2的完整性验证通过。此外,S42还可以包括:S422,验证密码资源的基线信息1中的密码算法1和密码资源2中的密码算法1是否一致。
作为另一个示例,如果指示信息2用于指示中止密码算法1,那么,网络设备可以基于指示信息2将密码算法1的状态设置为中止状态。其中,中止密码算法1可以包括去使能密码算法1和吊销密码算法1。一种情况下,如果指示信息2用于指示去使能密码算法1,那么,S102例如可以包括:去使能密码算法1,即,将密码算法1的使用状态设置为去使能状态。另一种情况下,如果指示信息2用于指示吊销密码算法1,那么,S102例如可以包括:吊销密码算法1,即,将密码算法1的使用状态设置为吊销状态。将密码算法1的使用状态设置为吊销状态,例如可以是:设置密码算法1对应的吊销标识信息1以指示密码算法1的使用状态为吊销状态,即,烧写密码算法1对应的吊销标识信息1。这样,通过中止不能满足用户需求或安全需求的密码算法,保证网络设备的安全启动能够有效的被实施,提高了网络设备的安全性。
举例来说,如果网络设备中密码资源的基线信息1对应的密码算法1仅是不符合目前的安全需求,还有被回退使用的可能性,且该密码资源的基线信息1通过软件的形式进行安全存储,则,S102例如可以将密码算法1对应的软件状态位设置为去使能状态,以便后续有回退使用密码算法1的需求时,方便将密码算法1对应的软件状态位再设置为使能状态。或者,如果网络设备中密码资源的基线信息1对应的密码算法1不符合目前的安全需求且没有被回退使用的可能性,或者,该密码资源的基线信息1通过硬件烧写的形式进行存储,则,可以将密码算法1对应的吊销标识信息1设置为吊销状态,一旦吊销标识信息1设置为吊销状态,则该密码算法1将永远失效,无法再回退使用密码算法1。
一个具体的实施方式中,在执行S102之前,如果网络设备的安全启动符合预设条件,则,可以认为使用新使能的密码算法能够稳定的完成安全启动,网络设备可以实施该S102,将之前所使用的密码算法1进行中止。其中,预设条件,例如可以指:网络设备使用新使能的密码算法进行安全启动成功预设次数或安全启动成功后预设时长网络设备运行正常。
举例来说,假设密码算法1为RSA算法,在执行方法100之前,密码资源的基线信息的格式可以参见图3a、3b或3d所示,执行方法100之后,密码资源的基线信息的格式可以参见图3c所示。
这样,通过中止不能满足用户需求或安全需求的密码算法,保证网络设备的安全启动能够有效的被实施,一定程度上提高了网络安全性。
可见,通过本申请实施例提供的方法,一旦当前使用的密码算法不能够满足安全需求或者用户的要求时,网络设备在线获取指示信息,并基于指示信息对该网络设备的安全存储实体中预置的密码资源的基线信息进行更新,使能符合要求的密码算法或中止不符合要求的密码算法,这样,使用更新的密码资源的基线信息对网络设备进行安全启动,即使对安全启动中的密码算法的需求发生改变,也无需将网络设备或其中的芯片召回重新设计,通过本申请实施例提供的方法,就能够方便、灵活的更新密码资源以满足变化后的安全需求,实现基于不同的需求在线调整不同的密码算法以达到按照要求进行安全启动的目的,从而提高了网络设备的安全性。
本申请实施例中,在当前的密码算法2无法满足需求时,网络设备可以通过使能新的密码算法1,中止密码算法2,管理密码资源以满足需求。基于此,本申请实施例还提供了一种对安全启动所使用的密码资源进行管理的方法200,如图7所示,该方法200例如可以包括:
S201,获取指示信息1和指示信息2,其中,指示信息1用于唯一标识密码算法1,指示信息2用于指示使能密码算法1。
S202,根据指示信息1和指示信息2,使能密码算法1。
例如,S201可以包括:网络设备获取更新文件1,该更新文件1中携带指示信息1和指示信息2。
需要说明的是,上述S201~S202的相关描述,可以参见上述方法100的S101~S102中关于使能密码算法1的相关说明。
S203,获取指示信息3和指示信息4,指示信息3用于唯一标识密码算法2,指示信息4用于指示中止使用密码算法2。
其中,中止密码资源的基线信息中的密码算法2,例如可以包括去使能密码算法2和吊销密码算法2两种可能的含义,具体说明可以参见S102中关于中止密码算法1的相关描述。
网络设备获取指示信息3和指示信息4的方式,可以参见上述方法100中关于网络设备获取指示信息1和指示信息2的方式的相关描述。
需要说明的是,指示信息3和指示信息4可以携带在更新文件中,该更新文件的获取方式可以参见S101中对更新文件1的获取方式的相关描述。
指示信息3,用于唯一标识密码算法2。该指示信息3例如可以是密码算法2对应的编码的二进制取值,例如:指示信息3为{0,0,0},用于标识RSA算法;或者,该指示信息3例如可以是密码算法2对应的比特位,例如:指示信息3为00000001,用于标识RSA算法。
指示信息4,用于指示网络设备对密码算法2进行中止。如果指示信息3和指示信息4携带在更新文件中,那么,一个具体的示例中,可以通过更新文件中的特定字段的取值表示该指示信息4的不同含义。例如:指示信息4可以是更新文件中用于指示文件类型的字段。另一个具体的示例中,指示信息4还可以是更新文件中的单独的字段,例如可以通过二进制取值或者比特映射的方式,来表明指示信息4的具体含义。
作为一个示例,S203可以是:网络设备获取更新文件2,该更新文件2中可以包括指示信息3和指示信息4。更新文件2与更新文件1是两个不同的用于管理密码资源的文件,更新文件1的文件类型为使能文件,更新文件2的类型为中止文件。例如:该更新文件2可以是用户或供应商对应的设备根据实际需求生成并发送给网络设备的;又例如:该更新文件2也可以是用户或供应商根据实际需求在网络设备上配置的。需要说明的是,该更新文件2的获取方式可以参见S101中对更新文件1的获取方式的相关描述。
其中,更新文件2除了包括指示信息3和指示信息4,还可以包括:公钥B、签名Z。其中,签名Z为采用新使能的密码算法1对应的私钥B和密码算法1对更新文件2进行数字签名后得到的。此外,该更新文件2中还可以包括当前有效的密码算法1的标识,用于对更新文件2进行验证,提高网络设备的安全性。
具体实现时,网络设备接收到更新文件2后,执行的验证过程可以包括:S51,基于更新文件2中密码算法1的标识,获取密码资源的基线信息中密码算法1对应的密码资源的基线信息1;S52,基于密码资源的基线信息1中的使能标识信息1和中止标识信息1,确定该密码算法1为使能且未被中止的有效密码算法;S53,网络设备获取密码资源的基线信息1中的公钥基线值b,利用公钥基线值b对更新文件2中的公钥B进行完整性验证;S54,网络设备利用密码算法1和验证通过的公钥B对签名Z进行验证;S55,如果对签名Z的验证通过,则,认为该更新文件2是完整且可信的。如此,可以执行下述S204,例如:基于该更新文件2中的指示信息3和指示信息4,设置密码算法2对应的密码资源的基线信息2中的中止标识信息2以指示密码算法2的使用状态为中止状态。
需要说明的是,上述更新文件2中的公钥B可以是网络设备的根公钥;或者,更新文件2中的公钥B也可以是网络设备根据根公钥派生得到的公钥,例如网络设备的二级公钥。
此外,为了增加安全性,该更新文件2还可以包括网络设备的设备标识信息,那么,网络设备接收到更新文件2后执行的验证过程中的S55例如可以包括:对签名Z的验证通过后,从更新文件2中获取网络设备的设备标识信息,对该设备标识信息进行匹配验证。如果网络设备的设备标识信息和该网络设备匹配,则,认为该更新文件2是可信的;否则,认为更新文件2不可信,不再执行S204。
为了保证携带指示信息的更新文件的完整性和真实性,携带指示信息的更新文件例如可以是证书。如果指示信息1和指示信息2携带在更新文件1,指示信息3和指示信息4携带在更新文件2,则,更新文件1可以是图5a所示的证书1,更新文件2可以是如图8a所示的证书3,该证书3中可以携带:证书类型、密码算法2、公钥B和签名Z;此外,该证书3还可以携带网络设备的设备标识信息。其中,证书类型可以作为指示信息4,用于指示该证书3为中止证书;密码算法2例如可以是000或00000001,作为指示信息3,用于指示RSA算法。
这样,通过一个更新文件携带指示信息1和指示信息2,另一个更新文件携带指示信息3和指示信息4,在提高网络设备的安全性的基础上,能够控制在新密码算法使能且稳定的被用于安全启动之后,才中止之前所使用的密码算法,有效的避免使用新使能的密码算法进行安全启动不成功或者不稳定导致网络设备无法正常工作的问题,提高了网络设备的可靠性。
作为另一个示例,S203可以是:网络设备从更新文件1中获取指示信息3和指示信息4。其中,该更新文件1中可以包括指示信息1~指示信息4,如此,网络设备可以同时实施S201和S203。更新文件1的文件类型为使能和中止文件,即,该更新文件1具有使能密码算法1以及中止密码算法2的功能。例如:该更新文件的文件类型对应字段的取值可以为0、1和2,如果更新文件1的文件类型对应字段的取值为0,则,网络设备确定该更新文件为使能文件;如果更新文件1的文件类型对应字段的取值为1,则,网络设备确定该更新文件为中止文件;如果更新文件1的文件类型对应字段的取值为2,则,网络设备确定该更新文件为使能和中止文件。
其中,更新文件1除了包括指示信息1~指示信息4,还可以包括:公钥A、公钥基线值b和签名W。其中,签名W为采用已失效的密码算法2对应的私钥A和密码算法2对更新文件1进行数字签名后得到的。
具体实现时,网络设备接收到更新文件1后,执行S202之前实施的验证过程可以参见上述S11~S15;执行S204之前,实施的验证过程可以包括:S61,网络设备获取密码资源的基线信息2中的公钥基线值a,利用公钥基线值a对更新文件1中的公钥A进行完整性验证;S62,网络设备利用密码算法2和验证通过的公钥A对签名W进行验证;S63,如果对签名W的验证通过,则,认为该更新文件1是完整且可信的。如此,可以执行下述S204,例如:基于该更新文件1中的指示信息3和指示信息4,将密码算法2对应的密码资源的基线信息2中的中止标识信息2设置为中止状态。
需要说明的是,上述更新文件1中的公钥A可以是网络设备的根公钥;或者,更新文件1中的公钥A也可以是网络设备根据根公钥派生得到的公钥,例如网络设备的二级公钥。
此外,为了增加安全性,该更新文件1还可以包括网络设备的设备标识信息,那么,网络设备接收到更新文件1后执行的验证过程中的例如可以包括:对签名W的验证通过后,从更新文件1中获取网络设备的设备标识信息,对该设备标识信息进行匹配验证。如果网络设备的设备标识信息和该网络设备匹配,则,认为该更新文件1是可信的;否则,认为更新文件1不可信,不再执行S204。
为了保证携带指示信息的更新文件的完整性和真实性,携带指示信息的更新文件例如可以是证书。更新文件1例如可以是图8b所示的证书4,该证书4中可以携带:证书类型、密码算法1、公钥A、密码算法2和签名W;此外,该证书4还可以携带公钥基线值b和网络设备的设备标识信息。其中,证书类型可以作为指示信息2和指示信息4,用于指示该证书4为使能和中止证书;密码算法1例如可以是001或00000010,作为指示信息1,用于指示ECC算法;密码算法2例如可以是000或00000001,作为指示信息3,用于指示RSA算法。签名W为使用密码算法2和该密码算法2对应的私钥A对证书4进行数字签名获得的。该情况下,S203可以包括:网络设备使用新使能的密码算法1对网络设备进行安全启动后,对证书4进行上述S61~S63的验证,验证通过后从该证书4中获取指示信息3和指示信息4,从而基于下述S204,中止密码算法2。
这样,通过一个更新文件携带指示信息1~指示信息4,在提高网络设备的安全性的基础上,由于仅通过一个更新文件即可实现新密码算法的使能和之前所使用的密码算法的中止,减少网络中信息的交互,节约了网络资源。
S204,根据指示信息3和指示信息4,中止使用密码算法2。
作为一个示例,在S202之后,如果网络设备使用密码资源的基线信息中的密码算法1和公钥基线值b进行安全启动符合预设条件,则,网络设备可以根据指示信息3和指示信息4,中止密码算法2。该示例中,根据指示信息3和指示信息4例如可以携带在中止指令中,或者,网络设备响应中止指令的指示从可信的设备请求根据指示信息3和指示信息4。其中,预设条件,例如可以指:安全启动成功预设次数或安全启动成功后预设时长网络设备运行正常,当使用密码算法1进行安全启动符合预设条件,则可以认为使用更新后的密码资源的基线信息1中的密码算法1和公钥基线值b能够稳定的完成安全启动。
作为另一个示例,如果S202之后网络设备配置标志位,该标志位的值用于指示密码算法1为首次使用。那么,当网络设备重启后,根据该标志位能够确定该密码算法1首次使用,则,网络设备获取指示信息3和指示信息4,中止密码算法2。这样,网络设备无需接收中止指令,通过标志位的指示即可将S202之前所使用的密码算法2进行中止。该示例中,还可以在中止密码算法2之后,修改该标志位,使得该标志位的值用于指示密码算法1为非首次使用,以确保后续不再基于该标志位的指示进行密码算法的中止。
如果指示信息4用于指示中止密码算法2,那么,网络设备可以基于指示信息4将密码算法2的使用状态设置为去使能状态或吊销状态。一种情况下,当密码资源的基线信息通过硬件烧写的形式存储在网络设备的安全存储实体时,S204例如可以包括:将密码算法2对应的密码资源的基线信息2中的去使能标识信息2设置为去使能状态或吊销标识信息2设置为吊销状态。另一种情况下,当密码资源的基线信息通过软件的形式安全存储在网络设备中时,S204例如可以包括:将密码算法2对应的软件状态位设置为去使能状态或吊销状态。
举例来说,假设密码算法2为RSA算法,密码算法1为ECC算法,在执行方法200之前,密码资源的基线信息的格式可以参见图3a所示;执行方法200的S202之后S204之前,密码资源的基线信息的格式可以参见图3b所示;执行方法200的S204之后,密码资源的基线信息的结构可以参见图3c所示。
在一些可能的实现方式中,中止S202之前所使用的密码算法2,还可以基于网络设备本地配置的策略完成。具体实现时,当网络设备使能密码算法1之后,网络设备本地监测到预设时长内使用该密码算法1进行安全启动均无异常,或者,使用该密码算法1进行预设次数的安全启动均成功,则,确定符合本地策略中中止密码算法2的条件,将密码算法2进行中止。这样,网络设备无需额外接收用于中止密码算法2的更新文件,也不用在使能密码算法1之后再获取指示信息3和指示信息4,通过本地的简化配置,不仅能够避免使能密码算法1之后又回退到使用密码算法2进行安全启动导致不能满足需求的问题,还能够解决从密码算法2更新到密码算法1失败时过早的中止密码算法2导致网络设备无法启动的问题,节约了网络资源,提高了网络设备的安全性。
可见,该实现方式中,在确保使能新的密码算法能够成功完成网络设备的安全启动之后,通过在线获取指示信息,基于指示信息对该网络设备的安全存储实体中之前使用的密码资源的基线信息进行中止,不仅能够防止使用不符合要求的密码算法进行安全启动,克服网络设备的安全启动无法满足安全性需求或用户的要求的问题,使得网络设备能够有效的按照需求调整用于安全启动的密码资源,从而提高了网络设备的安全性。
图9为本申请实施例中另一种安全启动的方法300的流程示意图。参见图9,该方法300例如可以包括:
S301,将用于安全启动的密码算法2更新为密码算法1。
具体实现时,S301可以包括:S301a,使能密码算法1;S301b,中止密码算法2。其中,S301a的具体实现方式的相关描述,可以参见上述方法100中关于使能密码算法1的相关说明,或者,也可以参见上述方法200中S201~S202的相关说明。S301b的具体实现方式的相关描述,可以参见上述方法100中关于中止密码算法1的相关说明,或者,也可以参见上述方法200中S203~S204的相关说明。
作为一个示例,假设网络设备获取更新文件1和更新文件2,更新文件1用于使能密码算法1,更新文件2用于中止密码算法2,那么,S301a例如可以包括:根据更新文件1,使能密码算法1;S301b例如可以包括:根据更新文件2,中止密码算法2。其中,假设密码算法1为ECC算法,密码算法2为RSA算法,更新文件1的具体格式为图5a所示的证书1,更新文件2的格式具体参见图8a所示的证书3,那么,执行S301之前,网络设备的安全存储实体中密码资源的基线信息的结构可以参见图3a或图3d所示;执行S302之后,网络设备的安全存储实体中密码资源的基线信息的结构可以参见图3c所示。其中,更新文件2也可以用于吊销密码算法2,那么,S301b例如可以包括:根据更新文件2,吊销密码算法2。
作为另一个示例,假设网络设备获取更新文件1,更新文件1用于使能密码算法1并中止密码算法2,那么,S301a例如可以包括:根据更新文件1,使能密码算法1;S301b例如可以包括:根据更新文件1,中止密码算法2。其中,假设密码算法1为ECC算法,密码算法2为RSA算法,更新文件1的具体格式为图8b所示的证书4,那么,执行S301之前,网络设备的安全存储实体中密码资源的基线信息的结构可以参见图3a或图3d所示;执行S302之后,网络设备的安全存储实体中密码资源的基线信息的结构可以参见图3c所示。
需要说明的是,中止使用密码算法2,具体可以是去使能密码算法2或吊销密码算法2。
S302,将用于安全启动的公钥基线值a更新为公钥基线值b。
一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中均已经保存了对应的公钥基线值,则,使能密码算法1也可以表示启用该密码算法1对应的密码资源的基线信息1中的公钥基线值b,表征将用于安全启动的公钥基线值a更新为公钥基线值b。
另一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中仅保存了已经使能过的密码算法对应的公钥基线值,未使能的密码算法对应的密码资源的基线信息中预留了待写入对应公钥基线值的空间,则,网络设备也可以获取密码算法1对应的公钥基线值b,那么,S302例如可以包括:将公钥基线值b存储在安全存储实体中,例如,在安全存储实体中与密码算法1对应的密码资源的基线信息1的公钥基线值1对应的位置写入公钥基线值b。其中,如果指示信息1和指示信息2携带在更新文件1中,密码算法1对应的公钥基线值b也可以携带在该更新文件1中,那么,网络设备获取密码算法1对应的公钥基线值b可以是:网络设备从更新文件1中获取公钥基线值b。
其中,公钥基线值b与公钥B唯一对应,用于对公钥B进行完整性验证,该公钥基线值b例如可以是公钥B的明文或公钥B的哈希值。
举例来说,假设密码算法2为RSA算法,密码算法1为ECC算法,在执行上述S301之前,密码资源的基线信息的格式可以参见图3a所示,执行上述S301~S302之后,密码资源的基线信息的格式可以参见图3b所示。
S303,采用所述公钥基线值b对公钥B的完整性进行验证,其中,密码算法1和所述通过完整性验证的公钥B用于对所述安全启动过程中加载的镜像文件的签名进行验证。
在S301~S302的同时,或者,在S302之后,也可以对Flash存储器中的密码资源以及应用程序的镜像文件进行相应的更新,确保在网络设备重启后可以基于新使能的密码算法1进行安全启动。其中,Flash存储器中的密码资源用于对网络设备加载的应用程序的镜像文件进行完整性验证,安全存储实体中的密码资源的基线信息用于对Flash存储器中的密码资源进行完整性验证。更新后的Flash存储器中的第二密码资源至少包括但不限于:密码算法1对应的公钥B。
需要说明的是,S303中公钥基线值b对公钥B的完整性进行验证的相关说明可以参见方法100中关于图6a、S31~S33、图6b以及S41~S43的相关说明。
在一些可能的实现方式中,在S303之后,该方法300还可以包括:
S304,响应于公钥B通过完整性验证,采用公钥B和密码算法1,对安全启动过程中加载的镜像文件进行验证。
需要说明的是,其中,安全启动过程中加载的镜像文件,例如可以包括但不限于:Bootrom代码、BootLoader代码、OS和APP代码。S304具体可以参见图1对应的描述。例如:网络设备上电后,首先,执行BSBC,BSBC使用公钥B和密码算法1对Bootrom代码的签名1进行验证,验证通过后才执行Bootrom;然后,Bootrom使用公钥B和密码算法1对BootLoader代码的签名2进行验证,验证通过后才执行BootLoader;然后,BootLoader使用公钥B和密码算法2对OS代码的签名3进行验证,验证通过后,引导执行OS;接着,OS使用公钥B和密码算法1对APP代码的签名4进行验证,验证通过后,执行该APP。需要说明的是,上述签名1~4均是可信的签名系统基于公钥B和密码算法1分别对Bootrom代码、BootLoader代码、OS和APP代码进行数字签名获得的。
其中,可信的签名系统采用公钥B和密码算法1对APP代码进行数字签名的过程可以包括:先利用哈希算法对APP代码进行哈希计算,得到数字摘要digest Y1,再利用私钥B对该digest Y1进行数字签名,得到签名digestEncode Y1。该可信的签名系统可以将APP代码和digestEncode Y1发送给网络设备,网络设备的Flash存储器上保存有该APP代码和digestEncode Y1。在安全启动中,对APP代码的签名digestEncode Y1进行验证的过程可以包括:网络设备在加载APP代码之前,可以先对APP代码采用签名时相同的哈希算法进行哈希计算,生成数字摘要digest Y2,然后用公钥B对digestEncode Y1进行验签得到digestDecode Y3,判断digestDecode Y3和digest Y2是否相同,如果相同,则可以确定该APP代码未被篡改且为合法制造商发布的,从而确保该网络设备待加载的APP代码是安全和可靠的。其中,私钥B和公钥B是网络设备的制造商提供的一对密钥,公钥B是公开可见的,而私钥B则是保密的,只有制造商对应的签名系统可见。
可见,通过本申请实施例提供的方法,一旦当前使用的密码算法不能够满足安全需求或者用户的要求时,网络设备在线更新用于安全启动的密码算法和对应的公钥基线值,使能符合要求的密码算法,这样,通过方便、灵活的使能新的密码算法,实现使用新使能的密码算法对网络设备进行安全启动,无需将网络设备或其中的芯片召回重新设计,即可使得安全启动满足变化的安全需求,实现基于不同的需求在线调整不同的密码算法以达到按照满足要求的密码算法进行安全启动的目的,从而提高了网络设备的安全性。
图10示出了本申请实施例中一种管理网络资源的方法400的流程示意图,该方法400由网络设备实施,该管理网络资源的方法400例如可以包括:
S401,获取第一指示信息和第二指示信息,其中,该第一指示信息用于唯一标识第一密码算法,该第二指示信息用于指示所述网络设备对安全存储实体中存储的第一密码资源的基线信息进行更新,其中,所述第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证,所述第一密码资源对应于所述网络设备在进行所述安全启动所使用的第一密码算法和第一公钥,所述第一密码资源的基线信息包括所述第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态;
S402,根据所述第一指示信息和所述第二指示信息,对所述第一密码资源的基线信息进行更新。
其中,多种密码算法中的第一密码算法可以为以下任一种算法:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
需要说明的是,一种情况下,安全存储实体可以为处理器中的一次性可编程存储空间;或者,另一种情况下,安全存储实体也可以为独立于处理器的安全芯片。
其中,该方法400中的网络设备具体可以是上述方法100中的网络设备或方法200中的网络设备,相关操作具体可以参见方法100或方法200中网络设备执行的操作。具体而言,S401~S402的相关描述可以参见方法100中的S101~S102或方法200中的S201~S202。其中,第一指示信息可以是方法100或方法200中的指示信息1,第二指示信息可以是方法100或方法200中的指示信息2,第一密码算法可以是方法100或方法200中的密码算法1,第一密码资源的基线信息可以是方法100中的密码资源的基线信息1。
在一种可能的实现方式中,第二指示信息具体用于指示使能第一密码算法。那么,S402中对所述第一密码资源的基线信息进行更新,例如可以包括:更改第一密码算法的状态信息,以将所述第一密码算法的使用状态设置为使能状态。将所述第一密码算法的使用状态设置为使能状态,例如可以包括:设置第一密码算法对应的使能标识信息以指示所述第一密码算法的使用状态为使能状态。一种情况下,当密码资源的基线信息通过硬件烧写的形式存储在网络设备的安全存储实体时,S402例如可以包括:将第一密码算法对应的第一密码资源的基线信息中的使能标识信息设置为使能状态。另一种情况下,当密码资源的基线信息通过软件的形式安全存储在网络设备中时,S402例如可以包括:将第一密码算法对应的软件状态位设置为使能状态。
其中,更新后的第一密码资源的基线信息还包括第一公钥基线值,所述第一公钥基线值用于对所述第一公钥进行完整性验证。一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中均已经保存了对应的公钥基线值,则,使能第一密码算法也可以表示启用该密码算法对应的第一密码资源的基线信息中的第一公钥基线值。另一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中仅保存了已经使能过的密码算法对应的公钥基线值,未使能的密码算法对应的密码资源的基线信息中预留了待写入对应公钥基线值的空间,那么,S402中对第一密码资源的基线信息进行更新,可以包括:网络设备获取第一密码算法对应的第一公钥基线值,将第一公钥基线值存储在安全存储实体中,例如,在安全存储实体中与第一密码算法对应的第一密码资源的基线信息相应的位置写入第一公钥基线值。其中,如果第一指示信息和第二指示信息携带在第一更新文件中,第一密码算法对应的第一公钥基线值也可以携带在该第一更新文件中,那么,网络设备获取第一密码算法对应的第一公钥基线值可以是:网络设备从第一更新文件中获取第一公钥基线值。
其中,第一公钥基线值为第一公钥的哈希值或者第一公钥的明文。第一公钥基线值与第一公钥唯一对应,用于对第一公钥进行完整性验证,一方面,第一公钥基线值用于验证第一更新文件中携带的第一公钥的完整性;另一方面,当第一密码算法有效时,在网络设备安全启动过程中,第一公钥基线值用于对非易失性存储器存储器保存的密码资源中第一公钥进行完整性验证。
作为一个示例,在S402之后,在所述安全启动之前,该方法400还可以包括:将非易失性存储器中的第二密码资源更新为第一密码资源,更新后的第一密码资源包括所述第一密码算法和第一公钥。此时,该方法400还可以包括:根据更新后的所述第一密码资源的基线信息进行安全启动,该安全启动的过程例如可以包括:基于更新后的所述第一密码资源的基线信息对所述非易失性存储器中存储的更新后的所述密码资源进行完整性验证;如果所述非易失性存储器中存储的密码资源通过完整性验证,则,根据所述第一公钥和所述第一密码算法,对通过第一私钥进行数字签名的应用程序的镜像文件进行验证。其中,更新后的所述第一密码资源的基线信息包括第一公钥基线值,所述基于更新后的所述第一密码资源的基线信息对所述非易失性存储器中存储的更新后的所述第一密码资源进行完整性验证,例如可以包括:采用所述第一公钥基线值对所述非易失性存储器中存储的所述第一公钥进行完整性验证。如此,通过该实施例,能够在灵活更新符合需求的密码算法后,基于符合需求的密码算法进行安全启动,提高了网络设备的安全性和对其的使用体验。
对于S401,例如可以包括:获取第一更新文件,所述第一更新文件携带所述第一指示信息和所述第二指示信息。其中,为了保证第一更新文件的完整性及真实性,该第一更新文件例如可以是证书。该证书的格式可以自定义,也可以采用标准的X.509格式(即密码学里标工艺证书的标准格式)。此外,该第一更新文件也可以是其他能够携带第一指示信息和第二指示信息且能够被网络设备识别和解析的任意格式的文件,在本申请实施例中对第一更新文件不作具体限定。
作为一个示例,该第一更新文件采用第二私钥和第二密码算法进行签名,所述多种密码算法包括所述第二密码算法,所述安全存储实体中存储有第二密码资源的基线信息,所述第二密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第二密码资源进行完整性验证,所述第二密码资源对应于所述第二密码算法和第二公钥,其中,所述网络设备在使用所述第一密码资源进行安全启动之前,使用所述第二密码资源进行安全启动,所述第一更新文件中还包括所述第二公钥,在对所述第一密码资源的基线信息进行更新之前,所述方法400还可以包括:根据所述第二密码算法和所述第二公钥,验证所述第一更新文件的签名。其中,第二公钥为所述网络设备的根公钥或所述第二公钥为基于所述网络设备的根密钥派生得到的公钥,例如可以是网络设备的二级公钥。可见,当第一更新文件的验证通过,则认为该第一更新文件未被篡改且来源可信,确定该第一更新文件是可靠的,可以基于该第一更新文件中的第一指示信息和第二指示信息进行密码资源的更新。
一种可能的实施例中,所述安全存储实体中预置有所述第二公钥基线值,那么,在所述根据所述第二密码算法和所述第二公钥验证所述第一更新文件的签名之前,所述方法400还可以包括:基于所述安全存储实体中存储的所述第二公钥基线值对所述第一更新文件中携带的所述第二公钥进行完整性验证,如果第二公钥的完整性验证通过,才执行根据所述第二密码算法和所述第二公钥验证所述第一更新文件的签名,安全性更高。
另一种可能的实施例中,所述第一更新文件还可以包括网络设备的设备标识信息,所述设备标识信息用于标识所述网络设备。例如,所述网络设备的设备标识信息包括下述信息中的任意一个:所述网络设备中的芯片标识、所述网络设备的硬件标识、所述网络设备所属的用户标识、所述网络设备所属的制造商标识、所述设备所属的域标识、所述网络设备的互联网协议IP地址、所述网络设备的媒体访问控制MAC地址或所述网络设备所属的网段地址。那么,当第一更新文件的验证通过后,还可以对第一更新文件中的设备标识信息和网络设备进行匹配验证,当验证通过后,确定该第一更新文件是针对该网络设备的,基于第一更新实施该方法400,完成对密码资源的更新。
在一些可能的实现方式中,所述安全存储实体中还存储有第二密码资源的基线信息,所述第二密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第二密码资源进行完整性验证,所述第二密码资源对应于第二密码算法和第二公钥,其中,所述网络设备在使用所述第一密码资源进行安全启动之前,使用所述第二密码资源进行安全启动,那么,该方法400还可以包括:获取第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第二密码算法,所述第四指示信息用于指示中止使用所述第二密码算法。作为一个示例,第三指示信息和第四指示信息可以携带在第一更新文件中,即,第一指示信息、第二指示信息、第三指示信息和第四指示信息均携带在第一更新文件中。作为另一个示例,第三指示信息和第四指示信息也可以携带在第二更新文件中,即,第一指示信息和第二指示信息携带在第一更新文件中,第三指示信息和第四指示信息携带在第二更新文件中。需要说明的是,该第二更新文件可以是证书或者其他能够被网络设备识别和解析的任意格式的文件,在本申请实施例中对第二更新文件不作具体限定。
该实现方式中,方法400还可以包括:根据所述第三指示信息和所述第四指示信息,中止使用所述第二密码算法。其中,中止使用所述第二密码算法,例如可以包括:在所述对所述第一密码资源的基线信息进行更新之后,中止使用所述第二密码算法。
上述中止使用所述第二密码算法,可以包括:去使能所述第二密码算法或吊销所述第二密码算法。其中,去使能所述第二密码算法例如可以包括:将所述第二密码算法的使用状态设置为去使能状态;吊销所述第二密码算法例如可以包括:将所述第二密码算法的使用状态设置为吊销状态。例如,将所述第二密码算法使用状态设置为吊销状态,具体可以是:设置所述第二密码算法对应的吊销标识信息以指示第二密码算法的使用状态为吊销状态。
其中,所述第二密码算法可以为以下任一种密码算法:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3,第一密码算法和第二密码算法为不同的密码算法。
其中,上述关于中止第二密码算法的相关实施例,具体可以参见上述方法200中S203~S204中网络设备执行的操作。其中,第三指示信息可以是方法200中的指示信息3,第四指示信息可以是方法200中的指示信息4,第二密码算法可以是方法200中的密码算法2。
在另一种可能的实现方式中,所述第二指示信息具体用于指示所述网络设备中止使用所述第一密码算法。那么,S402中对所述第一密码资源的基线信息进行更新,具体为:更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为中止状态。上述中止使用所述第一密码算法,可以包括:去使能所述第一密码算法或吊销所述第一密码算法。其中,对于去使能所述第一密码算法的情况,对所述第一密码资源的基线信息进行更新例如可以包括:更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为去使能状态;对于吊销所述第一密码算法的情况,对所述第一密码资源的基线信息进行更新例如可以包括:更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为吊销状态。例如,第一密码算法的状态信息包括吊销标识信息,那么,所述更改所述第一密码算法的状态信息,以将所述第一密码的使用状态设置为吊销状态包括:设置所述吊销标识信息以将所述第一密码算法的使用状态设置为吊销状态。
其中,上述关于中止第一密码算法的相关实施例,具体可以参见上述方法100中网络设备执行的中止第一密码算法的相关操作。其中,第三指示信息可以是方法100中的指示信息1,第四指示信息可以是方法100中的指示信息2,第一密码算法可以是方法100中的密码算法1。
这样,通过上述实施例,网络设备能够在使能新的密码算法,并且在使用新使能的密码算法对网络设备进行安全启动后,中止无法满足需求的密码算法,使得不满足需求的密码算法不再用于网络设备的安全启动,实现满足需求的安全启动,从而提高了网络设备的安全性。
可见,通过本申请实施例提供的方法400,一旦当前使用的密码算法不能够满足安全需求或者用户的要求时,网络设备在线获取指示信息,并基于指示信息对该网络设备的安全存储实体中预置的密码资源的基线信息进行更新,使能符合要求的密码算法或中止不符合要求的密码算法,这样,使用更新的密码资源的基线信息对网络设备进行安全启动,即使对安全启动中的密码算法的需求发生改变,也无需将网络设备或其中的芯片召回重新设计,通过本申请实施例提供的方法,就能够方便、灵活的更新密码资源以满足变化后的安全需求,实现基于不同的需求在线调整不同的密码算法以达到按照要求进行安全启动的目的,从而提高了网络设备的安全性。
需要说明的是,本申请实施例中的方法400,具体实现方式以及达到的效果可以参见上述图4和图7所示实施例中的相关说明。
图11示出了本申请实施例中一种安全启动的方法500的流程示意图,该方法500由网络设备实施,该安全启动的方法500例如可以包括:
S501,将用于安全启动的第一密码算法更新为第二密码算法;
S502,将用于安全启动的第一公钥基线值更新为第二公钥基线值;
S503,采用所述第二公钥基线值对第二公钥的完整性进行验证,其中,所述第二密码算法和所述通过完整性验证的所述第二公钥用于对所述安全启动过程中加载的镜像文件进行验证。
其中,多种密码算法中的第一密码算法可以为以下任一种算法:非对称加密算法RSA,椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。第二密码算法可以为以下任一种算法:RSA、ECC算法、SM2、SHA或SM3。第一密码算法和第二密码算法不同。
需要说明的是,一种情况下,网络设备内用于安全保存密码资源的基线信息的安全存储实体可以为处理器中的一次性可编程存储空间;或者,另一种情况下,安全存储实体也可以为独立于处理器的安全芯片。其中,密码资源的基线信息可以包括第一密码资源的基线信息和第二密码资源的基线信息。第一密码资源的基线信息包括第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态,同理,第二密码资源的基线信息包括第二密码算法的状态信息,所述第二密码算法的状态信息用于指示所述第二密码算法的使用状态。所述第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证,所述第一密码资源对应于所述网络设备在进行所述安全启动所使用的第一密码算法和第一公钥;同理,所述第二密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第二密码资源进行完整性验证,所述第二密码资源对应于所述网络设备在进行所述安全启动所使用的第二密码算法和第二公钥。那么,在S502之后,可以使用第二密码资源的基线信息对第二密码资源进行完整性验证,再使用通过完整性验证的第二密码资源对安全启动过程中加载的镜像文件进行验证。
其中,该方法500中的网络设备具体可以是上述方法300中的网络设备,相关操作具体可以参见方法300中网络设备执行的操作。具体而言,S501~S503的相关描述可以参见方法300中的S301~S303。其中,第一密码算法可以是方法300中的密码算法1,第二密码算法可以是方法300中的密码算法2,第一公钥基线值可以是方法300中的公钥基线值a,第二公钥基线值可以是方法300中的公钥基线值b,第二公钥可以是方法300中的公钥B。
其中,S501中将所述第一密码算法更新为所述第二密码算法,例如可以包括:S501a,中止所述第一密码算法;S501b,使能所述第二密码算法。其中,S501b中的中止所述第一密码算法,包括吊销所述第一密码算法或去使能所述第一密码算法两种可能的含义。
作为一个示例,该方法500中还可以包括:如果第二公钥通过完整性验证,则,网络设备即可采用所述第二公钥和所述第二密码算法,对所述安全启动过程中加载的镜像文件进行验证。
一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中均已经保存了对应的公钥基线值,则,S502中的第二公钥基线值,可以是预置在所述网络设备的安全存储实体中的,那么,使能第二密码算法也即表示启用了该密第二码算法对应的第二密码资源的基线信息中的第二公钥基线值。
另一个具体的实施方式中,如果针对预置的多种密码算法,安全存储实体中仅保存了已经使能过的密码算法对应的公钥基线值,未使能的密码算法对应的密码资源的基线信息中预留了待写入对应公钥基线值的空间,则,网络设备也可以获取第一密码算法对应的第一公钥基线值,那么,S502可以包括:获取第二公钥基线值;将所述第二公钥基线值保存到所述网络设备的安全存储实体中。其中,获取第二公钥基线值的方式例如可以包括:获取第一更新文件,所述第一更新文件中携带所述第二公钥基线值;从第一更新文件中获取所述第二公钥基线值。将所述第二公钥基线值保存到所述网络设备的安全存储实体中,例如可以在安全存储实体中与第二密码算法对应的第二密码资源的基线信息相应的位置写入第二公钥基线值。
其中,第二公钥基线值为第二公钥的哈希值或者第二公钥的明文。第二公钥基线值与第二公钥唯一对应,用于对第二公钥进行完整性验证,一方面,第二公钥基线值用于验证第一更新文件中携带的第二公钥的完整性;另一方面,当第二密码算法有效时,在网络设备安全启动过程中,第二公钥基线值用于对非易失性存储器存储器保存的密码资源中第二公钥进行完整性验证。
作为一个示例,在502之后,在所述安全启动之前,该方法500还可以包括:将非易失性存储器中存储的用于安全启动的第一密码资源更新为第二密码资源,所述第二密码资源包括所述第二公钥。此时,该S503例如可以包括:采用所述第二公钥基线值对所述非易失性存储器中存储的所述第二公钥进行完整性验证。如果所述非易失性存储器中存储的第二密码资源通过完整性验证,则,根据所述第二公钥和所述第二密码算法,对通过第二私钥进行数字签名的应用程序的镜像文件进行签名验证。如此,通过该实施例,能够在灵活更新符合需求的密码算法后,基于符合需求的密码算法进行安全启动,提高了网络设备的安全性和对其的使用体验。
对于S501中将用于安全启动的第一密码算法更新为第二密码算法,例如可以包括:获取第一指示信息和第二指示信息,其中,所述第一指示信息用于唯一标识所述第二密码算法,所述第二指示信息用于指示所述网络设备使能所述第二密码算法;接着,根据所述第一指示信息和所述第二指示信息,使能所述第二密码算法。其中,使能所述第二密码算法,例如可以为:将所述第二密码算法的使用状态设置为使能状态。而所述将所述第二密码算法的使用状态设置为使能状态,可以包括:设置所述第二密码算法对应的使能标识信息以指示第二密码算法的使用状态为使能状态。
其中,获取第一指示信息和第二指示信息,例如可以包括:获取第一更新文件,所述第一更新文件携带所述第一指示信息和所述第二指示信息。为了保证第一更新文件的完整性及真实性,该第一更新文件例如可以是证书。该证书的格式可以自定义,也可以采用标准的X.509格式(即密码学里标工艺证书的标准格式)。此外,该第一更新文件也可以是其他能够携带第一指示信息和第二指示信息且能够给被网络设备识别和解析的任意格式的文件,在本申请实施例中对第一更新文件不作具体限定。
作为一个示例,该第一更新文件可以采用第一私钥和所述第一密码算法进行签名,其中,所述网络设备在使用所述第二密码资源进行安全启动之前,使用所述第一密码资源进行安全启动,所述第一密码资源的基线信息用于对所述网络设备在安全启动过程中所使用的第一密码资源进行完整性验证,所述第一密码资源对应于所述第一密码算法和第一公钥。第一更新文件中还可以包括第一公钥,该方法500还可以包括:根据所述第一密码算法和所述第一公钥,验证所述第一更新文件的签名。其中,该第一公钥为所述网络设备的根公钥或所述第一公钥为基于所述网络设备的根密钥派生得到的公钥,例如网络设备的二级公钥。可见,当第一更新文件的验证通过,则认为该第一更新文件未被篡改且来源可信,确定该第一更新文件是可靠的,可以基于该第一更新文件中的第一指示信息和第二指示信息进行密码资源的更新。
如果第一公钥基线值预置在所述网络设备的安全存储实体中,在所述根据所述第一密码算法和所述第一公钥验证所述第一更新文件的签名之前,所述方法500还可以包括:基于所述第一公钥基线值对所述第一更新文件中携带的所述第一公钥进行完整性验证,如果第二公钥的完整性验证通过,才执行根据所述第二密码算法和所述第二公钥验证所述第一更新文件的签名,安全性更高。
如果所述第一更新文件还包括网络设备的设备标识信息,所述设备标识信息用于标识所述网络设备。例如:所述网络设备的设备标识信息包括下述信息中的任意一个:所述网络设备中的芯片标识、所述网络设备的硬件标识、所述网络设备所属的用户标识、所述网络设备所属的制造商标识、所述设备所属的域标识、所述网络设备的IP地址、所述网络设备的MAC地址或所述网络设备所属的网段地址。该情况下,当第一更新文件的验证通过后,还可以对第一更新文件中的设备标识信息和网络设备进行匹配验证,当验证通过后,确定该第一更新文件是针对该网络设备起作用的文件,基于第一更新实施该方法500,完成对网络设备的安全启动。
在一些可能的实现方式中,该第一更新文件还可以包括第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第一密码算法,所述第四指示信息用于指示中止使用所述第一密码算法。根据所述第三指示信息和所述第四指示信息,中止使用所述第一密码算法。其中,所述中止使用所述第一密码算法的执行时机,例如可以在将用于安全启动的第一密码算法更新为第二密码算法之后。
在另一些可能的实现方式中,网络设备基于所述第二密码算法和所述第二公钥进行安全启动后,该方法500还可以包括:获取第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第一密码算法,所述第四指示信息用于指示中止使用所述第一密码算法。该第三指示信息和第四指示信息,例如可以携带在第二更新文件中,那么,获取第三指示信息和第四指示信息即可以是从所述第二更新文件中获取所述第三指示信息和所述第四指示信息。这样,网络设备即可根据所述第三指示信息和所述第四指示信息,中止使用所述第一密码算法。而网络设备中止使用所述第一密码算法的执行时机,例如可以在将用于安全启动的第一密码算法更新为第二密码算法之后。
上述中止使用所述第一密码算法,可以包括:去使能所述第一密码算法或吊销所述第一密码算法。其中,去使能所述第一密码算法例如可以包括:将所述第一密码算法的使用状态设置为去使能状态;吊销所述第一密码算法例如可以包括:将所述第一密码算法的使用状态设置为吊销状态。例如,将所述第一密码算法的使用状态设置为吊销状态,具体可以是:设置所述第一密码算法对应的吊销标识信息以指示第一密码算法的使用状态为吊销状态。
作为一个示例,所述方法500例如还可以包括:获取第一更新文件,第一更新文件用于指示使能第二密码算法。所述方法500例如还可以包括:获取第二更新文件,所述第二更新文件用于指示吊销所述第一密码算法。那么,S501例如可以包括:根据所述第一更新文件,使能所述第二密码算法;根据所述第二更新文件,吊销所述第一密码算法。如此,实现对用于网络设备安全启动的密码算法的灵活调整,提高网络设备的安全性。
可见,通过本申请实施例提供的方法500,一旦当前使用的密码算法不能够满足安全需求或者用户的要求时,网络设备在线更新用于安全启动的密码算法和对应的公钥基线值,使能符合要求的密码算法,这样,通过方便、灵活的使能新的密码算法,实现使用新使能的密码算法对网络设备进行安全启动,无需将网络设备或其中的芯片召回重新设计,即可使得安全启动满足变化的安全需求,实现基于不同的需求在线调整不同的密码算法以达到按照满足要求的密码算法进行安全启动的目的,从而提高了网络设备的安全性。
需要说明的是,本申请实施例中的方法500,具体实现方式以及达到的效果可以参见上述图9所示实施例中的相关说明。
相应的,本申请实施例还提供了通信装置1200,参见图12所示。该通信装置1200包括收发单元1201和处理单元1202。其中,收发单元1201用于执行上述方法100~方法500所示的任意一个实施例中网络设备实施的收发操作;处理单元1202用于执行上述方法100~方法500所示的任意一个实施例中网络设备实施的除了收发操作以外的其他操作。例如:当所述通信装置1200执行所述方法100中网络设备所实施的方法时,所述收发单元1201可以用于获取指示信息1和指示信息2;所述处理单元1202可以用于根据指示信息1和指示信息2,对密码算法1对应的密码资源的基线信息1进行更新。又例如:当所述通信装置1200执行所述方法300中网络设备所实施的方法时,所述收发单元1201可以用于获取指示信息1和指示信息2,或者,所述收发单元1201也可以用于获取指示信息3和指示信息4;所述处理单元1202可以用于将用于安全启动的密码算法2更新为密码算法1,或者,所述处理单元1202还可以用于将用于安全启动的公钥基线值a更新为公钥基线值b,再或者,所述处理单元1202还可以用于采用所述公钥基线值b对公钥B的完整性进行验证。
此外,本申请实施例还提供了一种通信装置1300,参见图13所示。该通信装置1300包括通信接口1301和处理器1302。其中,通信接口1301包括第一通信接口1301a和第二通信接口1301b。第一通信接口1301a用于执行前述方法100~方法500所示的任意一个实施例中网络设备执行的接收操作;第二通信接口1301b用于执行前述方法100~方法500所示的任意一个实施例中网络设备执行的发送操作;处理器1302用于执行前述方法100~方法500所示的任意一个实施例中网络设备执行的除了接收操作和发送操作之外的其他操作。例如:处理器1302可以执行方法100中实施例中的操作:根据指示信息1和指示信息2,对密码算法1对应的密码资源的基线信息1进行更新。又例如:处理器1302可以执行方法300中实施例中的操作:将用于安全启动的密码算法2更新为密码算法1,将用于安全启动的公钥基线值a更新为公钥基线值b,采用所述公钥基线值b对公钥B的完整性进行验证。
此外,本申请实施例还提供了一种通信装置1400,参见图14所示。该通信装置1400包括存储器1401和与存储器1401通信的处理器1402。其中,存储器1401包括计算机可读指令;处理器1402用于执行所述计算机可读指令,使得该通信装置1400执行以上方法100~方法500所示的任意一个实施例中的网络设备执行的方法。
可以理解的是,上述实施例中,处理器可以是中央处理器(英文:centralprocessing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integratedcircuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logicdevice,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic array logic,缩写:GAL)或其任意组合。处理器可以是指一个处理器,也可以包括多个处理器。存储器可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器还可以包括上述种类的存储器的组合。存储器可以是指一个存储器,也可以包括多个存储器。在一个具体实施方式中,存储器中存储有计算机可读指令,所述计算机可读指令包括多个软件模块,例如发送模块,处理模块和接收模块。处理器执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器根据所述软件模块的指示而执行的操作。处理器执行存储器中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行网络设备可以执行的全部操作。
可以理解的是,上述实施例中,通信装置1300的通信接口1301,具体可以被用作通信装置1200中的收发单元1201,实现通信装置和其他设备之间的通信。
需要说明的是,本申请实施例还提供了通信装置1500,该通信装置1500包括处理器1510,所述处理器1510用于执行上述方法100~方法500所示的任意一个实施例中网络设备实施的操作。处理器1510例如可以是上述通信装置1200中的处理单元1202、通信装置1300中的处理器1302或者通信装置1400中的处理器1402。作为一个示例,如图15a所示,所述通信装置1500可以包括处理器1510和安全芯片1520,所述安全芯片1520和所述处理器1510连接,所述安全芯片1520用于存储多种密码资源的基线信息,所述多种密码资源的基线信息与多种密码算法一一对应,所述多种密码算法均适用安全启动。作为另一个示例,如图15b所示,所述通信装置1500包括处理器1510,所述处理器1510包括一次性可编程存储空间1511,所述一次性可编程存储空间1511用于存储多种密码资源的基线信息,所述多种密码资源的基线信息与多种密码算法一一对应,所述多种密码算法均适用安全启动。例如:所述多种密码算法包括下述密码算法中的任意多种:非对称加密算法RSA,椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
此外,本申请实施例还提供了一种安全芯片1600,如图16所示。该安全芯片1600包括通信接口1610和存储实体1620,其中,所述存储实体1620中存储有多种密码资源的基线信息,所述多种密码资源分别对应于网络设备在多次安全启动过程中所需使用的密码算法信息和秘钥信息,每种密码资源的基线信息与每次安全启动一一对应,所述每种密码资源的基线信息用于对所述每次安全启动所采用的密码资源进行完整性验证;其中,所述多种密码资源的基线信息包括第一密码资源的基线信息和第二密码资源的基线信息;所述第一密码资源的基线信息用于对所述网络设备在进行第一安全启动时所使用的第一密码资源进行完整性验证,所述第一密码资源对应第一密码算法和第一公钥,所述第一密码资源的基线信息包括所述第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态;所述第二密码资源的基线信息用于对所述网络设备在进行第二安全启动时所使用的第二密码资源进行完整性验证,所述第二密码资源对应于第二密码算法和第二公钥,所述第二密码资源的基线信息包括所述第二密码算法的状态信息,所述第二密码算法的状态信息用于指示所述第二密码算法的使用状态;所述第二安全启动为所述网络设备在进行所述第一安全启动之后所进行的安全启动,所述第一密码算法与所述第二密码算法不同。
其中,所述安全芯片1600通过所述通信接口1610与处理器通信,所述处理器用于对所述安全芯片1600中存储的所述多种密码资源的基线信息进行管理。该处理器例如可以是上述通信装置1200中的处理单元1202、通信装置1600中的处理器1602、通信装置1400中的处理器1402或者通信装置1500中的处理器1510。其中,第一密码资源的基线信息包括第一公钥基线值,所述第一公钥基线值用于对所述第一公钥的完整性进行验证;所述第二密码资源的基线信息包括第二公钥基线值,所述第二公钥基线值用于对所述第二公钥的完整性进行验证。
需要说明的是,该安全芯片1600例如可以是图15a所示的通信装置1500中的安全芯片1520。
需要说明的是,第一密码算法包括下述密码算法中的任意多种:非对称加密算法RSA,椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。所述第二密码算法包括下述密码算法中的任意多种:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
其中,所述第一密码算法的状态信息可以包括第一中止标识信息。所述第一中止标识信息可以包括吊销标识信息和/或去使能标识信息。所述第一密码算法的状态信息也可以包括第一使能标识信息。同理,所述第二密码算法的状态信息可以包括第二中止标识信息。所述第二中止标识信息可以包括吊销标识信息和/或去使能标识信息。所述第二密码算法的状态信息也可以包括第二使能标识信息。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行以上方法100~方法500所示的任意一个实施例中的网络设备执行的方法。
此外,本申请实施例还提供了计算机程序产品,包括计算机程序或计算机可读指令,当所述计算机程序或所述计算机可读指令在计算机上运行时,使得计算机执行前述方法100~方法500所示的任意一个实施例中的网络设备执行的方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干程序代码或指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的优选实施方式,并非用于限定本申请的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (46)

1.一种安全启动的方法,其特征在于,所述方法包括:
将用于安全启动的第一密码算法更新为第二密码算法,所述第二密码算法为使能状态的密码算法;
将用于安全启动的第一公钥基线值更新为第二公钥基线值;采用所述第二公钥基线值对第二公钥的完整性进行验证,其中,所述第二密码算法和所述通过完整性验证的所述第二公钥用于对所述安全启动过程中加载的镜像文件进行验证,所述第二公钥基线值为所述第二公钥的明文或所述第二公钥的哈希值,所述第二公钥基线值和所述第二公钥存在于不同的存储空间。
2.根据权利要求1所述的方法,其特征在于,将所述第一密码算法更新为所述第二密码算法,包括:
中止所述第一密码算法,使能所述第二密码算法。
3.根据权利要求2所述的方法,其特征在于,中止所述第一密码算法,包括:
吊销所述第一密码算法或去使能所述第一密码算法。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
响应于所述第二公钥通过完整性验证,采用所述第二公钥和所述第二密码算法,对所述安全启动过程中加载的镜像文件进行验证。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述第二公钥基线值预置在安全存储实体中。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取所述第二公钥基线值,将所述第二公钥基线值保存到安全存储实体中。
7.根据权利要求1-3任一项所述的方法,其特征在于,在所述安全启动之前,所述方法还包括:
将非易失性存储器中存储的用于安全启动的第一密码资源更新为第二密码资源,所述第二密码资源包括所述第二密码算法和所述第二公钥。
8.根据权利要求7所述的方法,其特征在于,所述采用所述第二公钥基线值对第二公钥的完整性进行验证,包括:
采用所述第二公钥基线值对所述非易失性存储器中存储的所述第二公钥进行完整性验证。
9.根据权利要求1-3任一项所述的方法,其特征在于,所述将用于安全启动的第一密码算法更新为第二密码算法,包括:
获取第一指示信息和第二指示信息,其中,所述第一指示信息用于唯一标识所述第二密码算法,所述第二指示信息用于指示网络设备使能所述第二密码算法;
根据所述第一指示信息和所述第二指示信息,使能所述第二密码算法。
10.根据权利要求9所述的方法,其特征在于,所述使能所述第二密码算法,包括:
更改所述第二密码算法的使用状态,以将所述第二密码算法的使用状态设置为使能状态。
11.根据权利要求10所述的方法,其特征在于,所述更改所述第二密码算法的使用状态,包括:
设置所述第二密码算法对应的使能标识信息以指示所述第二密码算法的使用状态为使能状态。
12.根据权利要求9所述的方法,其特征在于,所述获取第一指示信息和第二指示信息,包括:
获取第一更新文件,所述第一更新文件携带所述第一指示信息和所述第二指示信息。
13.根据权利要求12所述的方法,其特征在于,所述第一更新文件采用第一私钥和所述第一密码算法进行签名,其中,所述网络设备在使用所述第二密码算法进行安全启动之前,使用所述第一密码算法进行安全启动,所述第一更新文件中还包括第一公钥,所述方法还包括:
根据所述第一密码算法和所述第一公钥,验证所述第一更新文件的签名。
14.根据权利要求13所述的方法,其特征在于,所述第一公钥为所述网络设备的根公钥或所述第一公钥为基于所述网络设备的根密钥派生得到的公钥。
15.根据权利要求13或14所述的方法,其特征在于,所述第一公钥基线值预置在所述网络设备的安全存储实体中,在所述根据所述第一密码算法和所述第一公钥验证所述第一更新文件的签名之前,所述方法还包括:
基于所述第一公钥基线值对所述第一更新文件中携带的所述第一公钥进行完整性验证。
16.根据权利要求12所述的方法,其特征在于,所述第一更新文件还包括网络设备的设备标识信息,所述设备标识信息用于标识所述网络设备。
17.根据权利要求16所述的方法,其特征在于,所述网络设备的设备标识信息包括下述信息中的任意一个:所述网络设备中的芯片标识、所述网络设备的硬件标识、所述网络设备所属的用户标识、所述网络设备所属的制造商标识、所述网络设备所属的域标识、所述网络设备的互联网协议IP地址、所述网络设备的媒体访问控制MAC地址或所述网络设备所属的网段地址。
18.根据权利要求12所述的方法,其特征在于,所述第一更新文件还包括第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第一密码算法,所述第四指示信息用于指示中止使用所述第一密码算法。
19.根据权利要求1-3任一项所述的方法,其特征在于,基于所述第二密码算法和所述第二公钥进行安全启动后,所述方法还包括:
获取第三指示信息和第四指示信息,其中,所述第三指示信息用于唯一标识所述第一密码算法,所述第四指示信息用于指示中止使用所述第一密码算法。
20.根据权利要求19所述的方法,其特征在于,所述获取第三指示信息和第四指示信息,包括:
获取第二更新文件,所述第二更新文件携带所述第三指示信息和所述第四指示信息。
21.根据权利要求19所述的方法,其特征在于,所述方法还包括:
根据所述第三指示信息和所述第四指示信息,中止使用所述第一密码算法。
22.根据权利要求21所述的方法,其特征在于,所述中止使用所述第一密码算法,包括:
在所述将用于安全启动的第一密码算法更新为第二密码算法之后,中止使用所述第一密码算法。
23.根据权利要求21所述的方法,其特征在于,所述中止使用所述第一密码算法,包括:
将所述第一密码算法的使用状态设置为去使能状态。
24.根据权利要求21所述的方法,其特征在于,所述中止使用所述第一密码算法,包括:
将所述第一密码算法的使用状态设置为吊销状态。
25.根据权利要求24所述的方法,其特征在于,所述将所述第一密码算法的使用状态设置为吊销状态,包括:
设置所述第一密码算法对应的吊销标识信息以指示所述第一密码算法的使用状态为吊销状态。
26.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取第二更新文件,所述第二更新文件用于指示吊销所述第一密码算法。
27.根据权利要求26所述的方法,其特征在于,所述方法还包括:
获取第一更新文件,所述第一更新文件用于指示使能所述第二密码算法。
28.根据权利要求27所述的方法,其特征在于,所述将用于安全启动的第一密码算法更新为第二密码算法,包括:
根据所述第一更新文件,使能所述第二密码算法;
根据所述第二更新文件,吊销所述第一密码算法。
29.根据权利要求5所述的方法,其特征在于,所述安全存储实体为处理器中的一次性可编程存储空间或独立于处理器的安全芯片。
30.根据权利要求1-3任一项所述的方法,其特征在于,所述第一密码算法为以下任一种算法:非对称加密算法RSA,椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
31.根据权利要求1-3任一项所述的方法,其特征在于,所述第二密码算法为以下任一种密码算法:RSA,ECC、SM2、SHA或SM3,所述第一密码算法和所述第二密码算法为不同的密码算法。
32.一种通信装置,其特征在于,包括:
至少一个存储器,所述存储器包括计算机可读指令;
与所述存储器通信的至少一个处理器,所述至少一个处理器用于执行所述计算机可读指令,使得所述通信装置执行权利要求1-31任一项所述的方法。
33.根据权利要求32所述的通信装置,其特征在于,所述通信装置包括独立于所述处理器的安全芯片,所述安全芯片和所述处理器连接,所述安全芯片用于存储所述第一密码算法的第一公钥基线值。
34.根据权利要求32所述的通信装置,其特征在于,所述处理器包括一次性可编程存储空间,所述一次性可编程存储空间用于存储所述第一密码算法的第一公钥基线值。
35.一种安全芯片,其特征在于,所述安全芯片包括通信接口和安全的存储实体,
所述存储实体中存储有多种密码资源的基线信息,所述多种密码资源分别对应于网络设备在多次安全启动过程中所需使用的密码算法信息和秘钥信息,每种密码资源的基线信息与每次安全启动一一对应,所述每种密码资源的基线信息用于对所述每次安全启动所采用的密码资源进行完整性验证;其中,所述多种密码资源的基线信息包括第一密码资源的基线信息和第二密码资源的基线信息;所述第一密码资源的基线信息用于对所述网络设备在进行第一安全启动时所使用的第一密码资源进行完整性验证,所述第一密码资源对应第一密码算法和第一公钥,所述第一密码资源的基线信息包括所述第一密码算法的状态信息,所述第一密码算法的状态信息用于指示所述第一密码算法的使用状态;所述第二密码资源的基线信息用于对所述网络设备在进行第二安全启动时所使用的第二密码资源进行完整性验证,所述第二密码资源对应于第二密码算法和第二公钥,所述第二密码资源的基线信息包括所述第二密码算法的状态信息,所述第二密码算法的状态信息用于指示所述第二密码算法的使用状态;所述第二安全启动为所述网络设备在进行所述第一安全启动之后所进行的安全启动,所述第一密码算法与所述第二密码算法不同。
36.根据权利要求35所述的安全芯片,其特征在于,所述安全芯片通过所述通信接口与处理器通信,所述处理器用于对所述安全芯片中存储的所述多种密码资源的基线信息进行管理。
37.根据权利要求35或36所述的安全芯片,其特征在于,所述第一密码资源的基线信息包括第一公钥基线值,所述第一公钥基线值用于对所述第一公钥的完整性进行验证;所述第二密码资源的基线信息包括第二公钥基线值,所述第二公钥基线值用于对所述第二公钥的完整性进行验证。
38.根据权利要求35或36所述的安全芯片,其特征在于,所述第一密码算法包括下述密码算法中的任意多种:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
39.根据权利要求35或36所述的安全芯片,其特征在于,所述第二密码算法包括下述密码算法中的任意多种:非对称加密算法RSA、椭圆曲线密码学ECC算法、国密非对称加密算法SM2、安全散列算法SHA或密码杂凑算法SM3。
40.根据权利要求35或36所述的安全芯片,其特征在于,所述第一密码算法的状态信息包括第一中止标识信息。
41.根据权利要求40所述的安全芯片,其特征在于,所述第一中止标识信息包括吊销标识信息和/或去使能标识信息。
42.根据权利要求35或36所述的安全芯片,其特征在于,所述第一密码算法的状态信息包括第一使能标识信息。
43.根据权利要求35或36所述的安全芯片,其特征在于,所述第二密码算法的状态信息包括第二中止标识信息。
44.根据权利要求43所述的安全芯片,其特征在于,所述第二中止标识信息包括吊销标识信息和/或去使能标识信息。
45.根据权利要求35或36所述的安全芯片,其特征在于,所述第二密码算法的状态信息包括第二使能标识信息。
46.一种计算机可读存储介质,其特征在于,存储程序或指令,当其在计算机上运行时,使得计算机执行如权利要求1-31任一项所述的方法。
CN202011131415.4A 2020-05-22 2020-07-08 一种基于冗余密码算法进行安全启动的方法及设备 Active CN113708921B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2020104422421 2020-05-22
CN202010442242 2020-05-22
CN202010652854.3A CN113708920A (zh) 2020-05-22 2020-07-08 一种基于冗余密码算法进行安全启动的方法及设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010652854.3A Division CN113708920A (zh) 2020-05-22 2020-07-08 一种基于冗余密码算法进行安全启动的方法及设备

Publications (2)

Publication Number Publication Date
CN113708921A CN113708921A (zh) 2021-11-26
CN113708921B true CN113708921B (zh) 2023-05-09

Family

ID=78646724

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011131415.4A Active CN113708921B (zh) 2020-05-22 2020-07-08 一种基于冗余密码算法进行安全启动的方法及设备
CN202010652854.3A Pending CN113708920A (zh) 2020-05-22 2020-07-08 一种基于冗余密码算法进行安全启动的方法及设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202010652854.3A Pending CN113708920A (zh) 2020-05-22 2020-07-08 一种基于冗余密码算法进行安全启动的方法及设备

Country Status (5)

Country Link
US (1) US20230095143A1 (zh)
EP (1) EP4142207A4 (zh)
JP (1) JP7479517B2 (zh)
CN (2) CN113708921B (zh)
WO (1) WO2021232982A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113708921B (zh) * 2020-05-22 2023-05-09 华为技术有限公司 一种基于冗余密码算法进行安全启动的方法及设备
CN117909980A (zh) * 2022-10-10 2024-04-19 华为技术有限公司 一种启动验证方法及相关装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026803B2 (en) 2009-11-30 2015-05-05 Hewlett-Packard Development Company, L.P. Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
KR20120092222A (ko) * 2011-02-11 2012-08-21 삼성전자주식회사 보안 부팅 방법 및 보안 부트 이미지 생성 방법
US9021246B2 (en) * 2011-10-28 2015-04-28 GM Global Technology Operations LLC Method to replace bootloader public key
CN103595530B (zh) * 2012-08-17 2017-04-26 华为技术有限公司 软件密钥更新方法和装置
US9076002B2 (en) * 2013-03-07 2015-07-07 Atmel Corporation Stored authorization status for cryptographic operations
EP2854066B1 (en) * 2013-08-21 2018-02-28 Nxp B.V. System and method for firmware integrity verification using multiple keys and OTP memory
US11080414B2 (en) * 2015-05-22 2021-08-03 Huawei Device Co., Ltd. Cryptographic unit for public key infrastructure (PKI) operations
CN107925565B (zh) * 2015-06-30 2020-08-07 华为技术有限公司 算法更新方法、待更新设备及服务器
DE102016225360A1 (de) * 2016-12-16 2018-06-21 Bundesdruckerei Gmbh Nachladen kryptographischer Programminstruktionen
CN110363010B (zh) * 2019-07-17 2021-11-16 中国大恒(集团)有限公司北京图像视觉技术分公司 一种基于MPSoC芯片的系统安全启动方法
CN113708921B (zh) * 2020-05-22 2023-05-09 华为技术有限公司 一种基于冗余密码算法进行安全启动的方法及设备

Also Published As

Publication number Publication date
CN113708921A (zh) 2021-11-26
WO2021232982A1 (zh) 2021-11-25
US20230095143A1 (en) 2023-03-30
JP2023526656A (ja) 2023-06-22
EP4142207A1 (en) 2023-03-01
CN113708920A (zh) 2021-11-26
EP4142207A4 (en) 2023-10-18
JP7479517B2 (ja) 2024-05-08

Similar Documents

Publication Publication Date Title
US10719606B2 (en) Security processor for an embedded system
US7194619B2 (en) Remotely booting devices in a dense server environment without manually installing authentication parameters on the devices to be booted
US6327660B1 (en) Method for securing communications in a pre-boot environment
US20230095143A1 (en) Method for Performing Secure Boot Based on Redundant Cryptographic Algorithm and Device
JP2007293873A (ja) 電子装置の安全性を保証する方法、セキュリティシステム及び電子装置
US11803366B2 (en) Firmware updating system and method
US11514170B2 (en) Secure boot of kernel modules
TW201706898A (zh) 安全軟體認證及驗證
US10282549B2 (en) Modifying service operating system of baseboard management controller
EP3529971B1 (en) Electronic device, software provisioning server and methods thereof
CN109814934B (zh) 数据处理方法、装置、可读介质和系统
CN111177709A (zh) 一种终端可信组件的执行方法、装置及计算机设备
EP4047493A1 (en) Software integrity protection and verification method, and device
US11438162B2 (en) Network device authentication
KR20210046418A (ko) 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법
US20230026284A1 (en) Secure Firmware Interface
CN116710914A (zh) 边缘设备的密钥撤销
JP2008252219A (ja) サーバ装置およびsslサーバ証明書発行プログラム
WO2023095394A1 (ja) 情報処理装置および鍵管理装置
CN115828273B (zh) 车辆安全启动方法、装置,电子控制单元及存储介质
CN116432163A (zh) 认证信息处理方法、装置、设备及存储介质
CN114817909A (zh) 一种安全防御方法、装置、设备及存储介质
TW202001661A (zh) 通訊裝置、安全服務控制元件與安全服務控制方法
CN115480797A (zh) 一种交换机升级方法和装置
CN116501353A (zh) 固件更新方法、装置及设备和介质

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
GR01 Patent grant
GR01 Patent grant