WO2016045458A1 - 一种安全控制方法及网络设备 - Google Patents

一种安全控制方法及网络设备 Download PDF

Info

Publication number
WO2016045458A1
WO2016045458A1 PCT/CN2015/086263 CN2015086263W WO2016045458A1 WO 2016045458 A1 WO2016045458 A1 WO 2016045458A1 CN 2015086263 W CN2015086263 W CN 2015086263W WO 2016045458 A1 WO2016045458 A1 WO 2016045458A1
Authority
WO
WIPO (PCT)
Prior art keywords
confidential data
network device
data
tpm
software
Prior art date
Application number
PCT/CN2015/086263
Other languages
English (en)
French (fr)
Inventor
付天福
周冲
雷浩
朱良
叶郁柏
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP15844984.3A priority Critical patent/EP3188067B1/en
Publication of WO2016045458A1 publication Critical patent/WO2016045458A1/zh
Priority to US15/468,776 priority patent/US20170200010A1/en

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Definitions

  • the present application relates to the field of security technologies, and in particular, to a security control method and a network device.
  • TCPA Trusted Computing Platform Alliance
  • TPM Trusted Platform Module
  • TCG Trusted Computing Group
  • TCG defines "trustworthy" as follows: When an entity implements a given goal, the entity is trusted if its behavior is always the same as expected.
  • the primary means of trusted computing is identity verification, encryption for storage protection, and integrity integrity metrics for integrity protection.
  • the basic idea is to first establish a trust root in the computer system, and then establish a trust chain, level one measurement and certification level, level one trust level, and extend the trust relationship to the entire computer system to ensure the credibility of the computer system.
  • the TPM chip first measures the integrity of the current underlying firmware, and if it is correct, completes normal system initialization. Then, the underlying firmware measures the integrity of the Basic Input Output System (English: Basic Input Output System; BIOS). If it is correct, the BIOS continues to measure the integrity of the operating system. If it is correct, the operating system runs normally, otherwise it stops running. . Then the operating system measures the application and the new Operating system components. When the operating system starts, it is up to the user to decide whether to continue to trust the system platform. In this way, the establishment process of a chain of trust guarantees the credibility of the system platform.
  • BIOS Basic Input Output System
  • the TPM chip includes a secure input and output interface, an encryption processor (English: Cryptographic Processor; GP for short), continuous memory (English: Persistent Memory; PM) and general memory (English: Versatile Memory; abbreviation: VM).
  • the cryptographic processor includes a random number generator (English: Random number generator; RNG for short) for generating a random number.
  • the cryptographic processor also includes an RSA key generator for generating an RSA-style signature key and a storage key.
  • the cryptographic processor also includes a hash generator for executing the hash algorithm.
  • the cryptographic processor also includes an encryption-decryption-signature engine.
  • the persistent memory is used to store the endorsement key (English: Endorsement Key; EK for short) and the storage root key (English: Storage Root Key; SRK for short).
  • General purpose memory includes platform configuration registers (English: Platform Configuration Registers; referred to as: PCR).
  • the PCR is a register used to record the operating state of the system.
  • Universal memory is also used to store authentication keys (English: Attestation Identity Key; AIK) and storage keys.
  • AIK Attestation Identity Key
  • the various generators and engines are solidified in the TPM chip, so these generators and engines are not easily falsified, ensuring the credibility of the program itself for trusted metrics.
  • both EK and SRK are stored in persistent memory, which is permanently read-only and cannot be modified.
  • the data in the PCR, AIK and storage keys may be refreshed periodically.
  • the TPM chip also specifies a special read and write mode to ensure data security.
  • the TPM chip is not a standard accessory for the system, so there is a design that uses software to implement the functions of the TPM chip, called the software TPM.
  • the present application provides a security control method and a network device, which are used to solve the technical problem that the security of the system is low when the function of the TPM chip is implemented by software in the prior art.
  • the first aspect of the present application provides a security control method, including:
  • the network device obtains confidential data, and the confidential data is generated by a software trusted platform module TPM, wherein the software TPM runs in the network device, and the confidential data includes permanent confidential data and refreshable confidential data.
  • the permanent unchanging confidential data is data that cannot be updated during a startup process of the network device, and the refreshable confidential data is updateable during a startup process of the network device. data;
  • the network device encrypts the permanent unchanging confidential data by using a white box algorithm
  • the network device stores the permanent and confidential data encrypted by the white box algorithm and the refreshable confidential data in an address-hidden storage unit.
  • the method further includes: when the network device receives an operation of accessing data stored in the storage unit hidden in the address, The access control policy controls the access operations.
  • the method further includes:
  • the network device When receiving the operation of accessing the software TPM, the network device performs policy control on the access operation by using an access control policy.
  • the method further includes:
  • the network device isolates processes associated with the software TPM from processes associated with programs other than the software TPM.
  • the method also includes:
  • the network device setting first process cannot directly interact with the outside of the network device, wherein the first process is a process in which a process related to the software TPM interacts.
  • the permanent confidential data is the endorsement key EK;
  • the refreshable confidential data includes a storage root key SRK, a platform configuration register PCR, an identity authentication key AIK, and a storage key.
  • the second aspect of the present application provides a network device, including:
  • an obtaining unit configured to obtain confidential data, where the confidential data is generated by a software trusted platform module TPM, wherein the software TPM runs in the network device, and the confidential data includes permanently unchanged confidential data and refreshable Confidential data, wherein the permanent unchanging confidential data is data that cannot be updated during a startup process of the network device, and the refreshable confidential data is during a startup process of the network device Updated data;
  • a processing unit configured to encrypt the permanent unchanging confidential data by using a white box algorithm; and store the permanent unchanging confidential data encrypted by the white box algorithm and the refreshable confidential data in address hidden storage In the unit.
  • the processing unit is further configured to: when accessing an operation for accessing data stored in the storage unit hidden by the address, by access control The policy controls the access operations.
  • the processing unit is further configured to perform policy control on the access operation by using an access control policy when receiving the operation of accessing the software TPM.
  • the processing unit is further configured to: : isolating processes associated with the software TPM from processes associated with programs other than the software TPM.
  • the processing unit is further configured to: the first process cannot directly communicate with the outside of the network device Mutual, wherein the first process is a process in which a process associated with the software TPM interacts.
  • the permanent confidential data is the endorsement key EK;
  • the refreshable confidential data includes a storage root key SRK, a platform configuration register PCR, an identity authentication key AIK, and a storage key.
  • the network device encrypts the permanent confidential data generated by the software TPM by using a white box algorithm; then, the permanent confidential data encrypted by the white box algorithm and the refreshable confidential data generated by the software TPM are used.
  • Stored in a storage unit with an address hidden. Stores the refreshable confidential data and the permanent data encrypted by the white box algorithm in the address-hidden storage unit. Because the address is hidden, the address is not visible to the application, so the hacker cannot easily find the secret. The storage address of the data, so it is impossible to tamper with the confidential data. Further, even if the hidden storage address is found, since the permanent confidential data is encrypted by the white box algorithm, it is not easily cracked by the hacker, so the security of the data is further ensured. Therefore, the system security when the software implements the function of the TPM chip can be improved by the method in the embodiment of the present application.
  • FIG. 1 is a functional block diagram of a TPM chip in the prior art
  • FIG. 3 is a functional block diagram of a network device in an embodiment of the present application.
  • FIG. 4 is a system block diagram of a network device in an embodiment of the present application.
  • the embodiment of the present application provides a security control method and a network device, which are used to solve the prior art.
  • the software implements the function of the TPM chip, the technical security of the system is low.
  • the function of the TPM chip is realized by software. Because it is software, it is easy to be maliciously falsified. Therefore, when implementing the function of the TPM chip by software, it is an important aspect to improve the security of the program and the storage.
  • the embodiment of the present application improves the security of storage by encrypting and concealing storage processing of confidential data.
  • FIG. 2 is a flowchart of the security control method in the embodiment, and the method includes the following contents:
  • Step 101 The network device obtains confidential data; the confidential data is generated by a software TPM, where the software TPM runs in the network device, and the confidential data includes permanent confidential data and refreshable confidential data.
  • the permanently unchanged confidential data is data that cannot be updated during a startup process of the network device, and the refreshable confidential data is data that can be updated during a startup process of the network device. ;
  • Step 102 The network device uses a white box algorithm to encrypt permanent data that is unchanged.
  • Step 103 The network device stores the permanent confidential data and the refreshable confidential data encrypted by the white box algorithm in an address hidden storage unit.
  • the confidential data in step 101 is the confidential data that the software TPM itself has, and the other is the data generated by the running software TPM.
  • the confidential data generated by the software TPM includes, for example, EK, SRK, PCR, AIK, and storage key. In addition to EK, other confidential data can be updated.
  • step 101 After obtaining the confidential data in step 101, if the obtained confidential data includes permanent
  • the changed confidential data such as EK, then proceeds to step 102 by encrypting the permanently invariant confidential data using a white box algorithm.
  • step 103 is executed to store the permanent and confidential data encrypted by the white box algorithm in the storage unit with the address hiding.
  • the refreshable confidential data such as AIK
  • step 103 is directly executed, that is, the refreshable confidential data is stored in the address hidden storage unit.
  • the part that stores the refreshable confidential data in step 102 and step 103 may be performed at the same time, or step 102 may be performed first, and then step 103 is performed.
  • the actions of storing the two types of data in step 103 may occur simultaneously or sequentially.
  • a startup process of the network device includes the current system startup and the system operation until the system is shut down.
  • the white box algorithm is used to encrypt the permanently unchanged confidential data.
  • the white box algorithm uses the information hiding method to randomly and permanently store the confidential data in the storage space through the lookup table, thereby improving the security of the permanent confidential data.
  • various algorithms can be used, such as a white box data encryption standard (English: Data Encryption Standard; DES for short) and a white box advanced encryption standard (English: Advanced Encryption Standard; AES).
  • the network device once a white box algorithm is determined, the network device is unique to the white box algorithm. This can avoid the spread of other network devices because the white box algorithm of a network device is cracked.
  • step 103 the permanent confidential data and the refreshable confidential data encrypted by the white box algorithm are stored in the address-hidden storage unit. Because the address of the storage unit is hidden, when the confidential data is stored in the storage unit, the driver library is first loaded by the specified user identifier (ID) or group ID, and then the confidential data is stored, and the storage is completed. The drive is unloaded. In this case, the address of the storage unit is invisible again. For a non-designated user ID or group ID, the storage unit cannot be read/written.
  • ID user identifier
  • group ID the storage unit cannot be read/written.
  • IO input/output
  • context initialization context
  • call user ID or group ID assign context handle and IO buffer
  • call IO interface enter context handle and IO
  • input parameters for validity check perform IO read/write operations
  • close IO operation make the address of the storage unit invisible , and close the context handle.
  • the access control policy is specifically, for example, a discretionary access control (English: Discretionary Access Control; DAC) policy, and a mandatory access control (English: Mandatory Access Control; MAC) strategy.
  • DAC Discretionary Access Control
  • MAC Mandatory Access Control
  • the network device performs policy control on the access operation by using an access control policy when receiving the operation of accessing the software TPM.
  • the access operation to the software TPM itself is also controlled by the access control policy, and the hacker tampering with the software TPM itself is avoided as much as possible to ensure the security of the software TPM itself.
  • the method before performing policy control on the access operation by using the access control policy, the method further includes: performing a trusted calculation on the access control policy to determine that the access control policy is trusted. Because the access control policy may be tampered with during the startup or operation of the network device, the access control policy itself can be trusted by performing trusted calculations on the access control policy. In this way, it is correct to control the access operation through the access control policy.
  • the access operation that violates the access control policy is recorded in the security log, and an alarm can be performed.
  • the method further includes: performing trusted calculation on the program code used to record the security log to determine whether the program code is trusted.
  • the recorded security log is only trusted if the program code is trusted.
  • the method further includes: receiving resources of the network device When the request for the operation is performed, the operator is controlled by the authority.
  • the resources of the network device include files, ports, processes, functions, input and output devices, sockets, and the like of the network device. Requests for operations can include creation, access, invocation, and setup.
  • the security module that performs the permission control adopts an independently loadable architecture to avoid affecting the overall network device.
  • the method further includes: the network device isolating the process related to the software TPM from the process related to the non-software TPM.
  • the processes related to the software TPM include, for example, a process of lawful interception, a process of encryption and decryption, and a process of trusted computing.
  • the processes associated with the software TPM and the processes associated with the non-software TPM are isolated, so when a process associated with a non-software TPM is attacked, it does not affect the process associated with the software TPM.
  • the protocols in the network device can be classified into two types, one is an externally connected protocol, and the other is a non-external connection protocol.
  • Software TPM is a non-external connection protocol.
  • the protocols for external connections are, for example, routing protocols, management protocols, and interconnection protocols.
  • the method further includes: setting the first process to not directly interact with the outside of the network device, where the first process is a process in which the process related to the software TPM interacts.
  • the first process cannot be a process of an externally connected protocol, and can only be a process of a non-external connection protocol, and can interact with the outside of the network device in an indirect manner. In this way, the first process is more difficult to attack, and thus the process related to the software TPM is not attacked. This method can be seen as the first layer of defense.
  • the aforementioned method of isolating the software TPM-related process from the non-software TPM-related process can be regarded as the second layer of defense. In other words, even if the hacker breaks through the first layer of defense, the process associated with the software TPM is isolated from the first process, so the difficulty of attacking the software TPM can be increased.
  • the foregoing access policy control and access control may be regarded as a third layer of defense.
  • the permanent unchanging confidential data generated by the software TPM is encrypted by the white box algorithm; then the permanent unchanging confidential data encrypted by the white box algorithm and the software TPM are generated.
  • the refreshable confidential data is stored in an address-hidden storage unit. Stores the refreshable confidential data and the permanent data encrypted by the white box algorithm in the address-hidden storage unit. Because the address is hidden, the address is not visible to the application, so the hacker cannot easily find the secret. The storage address of the data, so it is impossible to tamper with the confidential data. Further, even if the hidden storage address is found, since the permanent confidential data is encrypted by the white box algorithm, it is not easily cracked by the hacker, so the security of the data is further ensured.
  • the access operation to the hidden storage unit is also controlled by the access control policy, thereby further improving the security of the data.
  • the embodiment of the present application further provides a network device.
  • the network device includes: an obtaining unit 201, configured to obtain confidential data, where the confidential data is generated by a software TPM, and the software TPM is run.
  • the confidential data includes permanent confidential data and refreshable confidential data, wherein the persistent confidential data is data that cannot be updated during a startup process of the network device, and the refreshable confidential data is Data that can be updated during a startup of the network device; processing unit 202 for encrypting permanently unchanging confidential data using a white box algorithm; and permanently and confidential data encrypted with a white box algorithm
  • the confidential data is stored in a storage unit that is hidden in the address.
  • processing unit 202 is further configured to perform policy control on the access operation by using an access control policy when receiving an operation of accessing data stored in the storage unit of the address hiding.
  • processing unit 202 is further configured to perform policy control on the access operation by using an access control policy when receiving the operation of accessing the software TPM.
  • the processing unit 202 is further configured to: isolate the process related to the software TPM from the process related to the non-software TPM.
  • the processing unit 202 is further configured to: the first process cannot directly interact with the outside of the network device, where the first process is a process in which a process related to the software TPM interacts.
  • the permanent confidential data is the endorsement key EK;
  • the refreshable confidential data includes the storage root key SRK, the platform configuration register PCR, the identity authentication key AIK, and the storage key.
  • the embodiment of the present application further includes a network device.
  • the network device includes a bus architecture (represented by bus 300), bus 300 can include any number of interconnected buses and bridges, and bus 300 will include one or more processors represented by processor 301.
  • the various circuits of the memory represented by memory 302 are linked together.
  • the bus 300 can also link various other circuits, such as peripherals, voltage regulators, and power management circuits, as is known in the art and, therefore, will not be further described herein.
  • Bus interface 303 provides an interface between bus 300 and processor 301, transceiver 304.
  • the transceiver 304 is used for data communication between the network device and the external device.
  • the processor 301 is responsible for managing the bus 300 and the usual processing.
  • the memory 302 there is also a memory that is not hidden, and a memory that is not hidden can be used to store data used by the processor 301 in performing operations.
  • the memory that is not hidden address is used to store the instruction
  • the processor 301 executes the instruction to obtain the confidential data
  • the confidential data is generated by the software TPM
  • the software TPM runs in the network device
  • the confidential data includes Persistent confidential data and refreshable confidential data, wherein the permanent confidential data is data that cannot be updated during a startup of the network device, and the refreshable confidential data is during a startup of the network device. Data that can be updated;
  • the processor 301 executes the instruction for encrypting the permanent unchanging confidential data by using a white box algorithm; and storing the permanent confidential data and the refreshable confidential data encrypted by the white box algorithm in the memory 302, and concealing The address of the memory 302.
  • the processor 301 executes the instruction to: perform policy control on the access operation by using an access control policy when receiving an operation of accessing data stored in the memory 302.
  • the processor 301 executes the instruction, and is used to perform policy control on the access operation by using an access control policy when receiving the operation of accessing the software TPM.
  • the processor 301 executes the instruction and is further used to isolate the process related to the software TPM from the process related to the non-software TPM.
  • the processor 301 executes the instruction and is further configured to set that the first process cannot directly interact with the outside of the network device, where the first process is a process in which the process related to the software TPM interacts.
  • the permanent confidential data is the endorsement key EK;
  • the refreshable confidential data includes the storage root key SRK, the platform configuration register PCR, the identity authentication key AIK, and the storage key.
  • the network device in the embodiment of the present application encrypts the permanent and confidential data generated by the software TPM by using a white box algorithm; and then generates the permanent and confidential data encrypted by the white box algorithm and the software TPM.
  • the refreshed confidential data is stored in the address-hidden storage unit, thereby improving the system security when the software implements the function of the TPM chip.
  • the network device encrypts the permanent confidential data generated by the software TPM by using a white box algorithm; then, the permanent confidential data encrypted by the white box algorithm and the refreshable confidential data generated by the software TPM are used.
  • Stored in a storage unit with an address hidden. Stores the refreshable confidential data and the permanent data encrypted by the white box algorithm in the address-hidden storage unit. Because the address is hidden, the address is not visible to the application, so the hacker cannot easily find the secret. The storage address of the data, so it is impossible to tamper with the confidential data. Further, even if the hidden storage address is found, since the permanent confidential data is encrypted by the white box algorithm, it is not easily cracked by the hacker, so the security of the data is further ensured. Therefore, the system security when the software implements the function of the TPM chip can be improved by the method in the embodiment of the present application.
  • embodiments of the present application can be provided as a method, system, or computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment in combination of software and hardware.
  • the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

一种安全控制方法及网络设备,该方法包括:网络设备获得机密数据,机密数据是由软件可信平台模块TPM产生的,软件TPM运行在网络设备中,机密数据包括永久不变的机密数据和可刷新的机密数据(101),其中,永久不变的机密数据为在网络设备的一次启动过程中不可被更新的数据,可刷新的机密数据为在网络设备的一次启动过程中可被更新的数据;网络设备采用白盒算法加密永久不变的机密数据(102);网络设备将采用白盒算法加密过的永久不变的机密数据和可刷新的机密数据存储在地址隐藏的存储单元中(103)。本方法可以提高软件实现TPM时的系统安全性。

Description

一种安全控制方法及网络设备
本申请要求于2014年9月26日提交中国专利局、申请号为201410505543.9、发明名称为“一种安全控制方法及网络设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及安全技术领域,尤其涉及一种安全控制方法及网络设备。
背景技术
为了解决计算机结构上的不安全、从基础上提高计算机的可信性,由业界组织了可信计算平台联盟(英文:Trusted Computing Platform Alliance;简称:TCPA)。TCPA定义了具有安全存储和加密功能的可信平台模块(英文:Trusted Platform Module;简称:TPM)。2003年3月,TCPA改组为可信计算组织(英文:Trusted Computing Group;简称:TCG)。
TCG对“可信”的定义是:一个实体在实现给定目标时,如果该实体的行为总是和预期的相同,则该实体是可信的。
可信计算的主要手段是进行身份确认,使用加密进行存储保护及使用完整性度量进行完整性保护。基本思想是在计算机系统中首先建立一个信任根,再建立一条信任链,一级测量认证一级,一级信任一级,把信任关系扩大到整个计算机系统,从而确保计算机系统的可信。具体来说,TPM芯片首先度量当前底层固件的完整性,如正确则完成正常的系统初始化。然后由底层固件度量基本输入输出系统(英文:Basic Input Output System;简称:BIOS)的完整性,如正确,则由BIOS继续度量操作系统的完整性,如正确则正常运行操作系统,否则停止运行。然后操作系统度量应用和新 的操作系统组件。当操作系统启动后,由用户决定是否继续信任这个系统平台。这样,一个信任链的建立过程保证了系统平台的可信性。
请参考图1所示,为TPM芯片的功能框图。TPM芯片包括安全输入输出接口、加密处理器(英文:Cryptographic Processor;简称:GP)、持续内存(英文:Persistent Memory;简称:PM)和通用内存(英文:Versatile Memory;简称:VM)。其中,安全输入输出接口用于与TPM芯片之外的元件通信。加密处理器包括随机数生成器(英文:Random number generator;简称:RNG),用于生成随机数。加密处理器还包括RSA密钥生成器,用于生成RSA式的签名密钥和存储密钥。加密处理器还包括哈希生成器,用于执行哈希算法。加密处理器还包括加密-解密签名引擎(encryption-decryption-signature engine)。持续内存用于存储背书密钥(英文:Endorsement Key;简称:EK)和存储根密钥(英文:Storage Root Key;简称:SRK)。通用内存包括平台配置寄存器(英文:Platform Configuration Registers;简称:PCR)。PCR为用来记录系统运行状态的寄存器。通用内存还用于存储身份认证密钥(英文:Attestation Identity Key;简称:AIK)和存储密钥(storage keys)。由以上描述可以看出,各个生成器和引擎固化在TPM芯片中,所以这些生成器和引擎不容易被篡改,保证用于可信度量的程序本身的可信。进一步,EK和SRK都存储在持续内存中,这部分永久只读,不能被修改。而PCR中的数据,AIK和存储密钥可能会定期刷新,TPM芯片也规定了特别的读写方式,用来保证数据的安全性。
然而,在很多设备上,TPM芯片并非系统的标准配件,所以出现了一种利用软件实现TPM芯片的各项功能的设计,称为软件TPM。
发明内容
本申请提供一种安全控制方法及网络设备,用以解决现有技术中的用软件实现TPM芯片的功能时,系统的安全性较低的技术问题。
本申请第一方面提供了一种安全控制方法,包括:
网络设备获得机密数据,所述机密数据是由软件可信平台模块TPM产生的,所述软件TPM运行在所述网络设备中,所述机密数据包括永久不变的机密数据和可刷新的机密数据,其中,所述永久不变的机密数据为在所述网络设备的一次启动过程中不可被更新的数据,所述可刷新的机密数据为在所述网络设备的一次启动过程中可被更新的数据;
所述网络设备采用白盒算法加密所述永久不变的机密数据;
所述网络设备将所述采用白盒算法加密过的永久不变的机密数据和所述可刷新的机密数据存储在地址隐藏的存储单元中。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:所述网络设备在接收到访问存储在所述地址隐藏的存储单元中的数据的操作时,通过访问控制策略对访问操作进行策略控制。
结合第一方面,在第一方面的第二种可能的实现方式中,所述方法还包括:
所述网络设备在接收到访问所述软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
所述网络设备将与所述软件TPM相关的进程和与非所述软件TPM相关的进程进行隔离。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述方法还包括:
所述网络设备设置第一进程不能直接与所述网络设备的外部进行交互,其中所述第一进程是与所述软件TPM相关的进程进行交互的进程。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,所述永久不变的机密数据为背书密钥EK;所述可刷新的机密数据包括存储根密钥SRK、平台配置寄存器PCR、身份认证密钥AIK和存储密钥。
本申请第二方面提供一种网络设备,包括:
获得单元,用于获得机密数据,所述机密数据是由软件可信平台模块TPM产生的,所述软件TPM运行在所述网络设备中,所述机密数据包括永久不变的机密数据和可刷新的机密数据,其中,所述永久不变的机密数据为在所述网络设备的一次启动过程中不可被更新的数据,所述可刷新的机密数据为在所述网络设备的一次启动过程中可被更新的数据;
处理单元,用于采用白盒算法加密所述永久不变的机密数据;并将所述采用白盒算法加密过的永久不变的机密数据和所述可刷新的机密数据存储在地址隐藏的存储单元中。
结合第二方面,在第二方面的第一种可能的实现方式中,所述处理单元还用于:在接收到访问存储在所述地址隐藏的存储单元中的数据的操作时,通过访问控制策略对访问操作进行策略控制。
结合第二方面,在第二方面的第二种可能的实现方式中,所述处理单元还用于:在接收到访问所述软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述处理单元还用于:将与所述软件TPM相关的进程和与非所述软件TPM相关的进程进行隔离。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,所述处理单元还用于设置第一进程不能直接与所述网络设备的外部进行交 互,其中所述第一进程是与所述软件TPM相关的进程进行交互的进程。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式中的任意一种,在第二方面的第五种可能的实现方式中,所述永久不变的机密数据为背书密钥EK;所述可刷新的机密数据包括存储根密钥SRK、平台配置寄存器PCR、身份认证密钥AIK和存储密钥。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,网络设备将软件TPM产生的永久不变的机密数据采用白盒算法进行加密;然后将采用白盒算法加密的永久不变的机密数据和软件TPM产生的可刷新的机密数据存储在地址隐藏的存储单元中。将可刷新的机密数据和采用白盒算法加密的永久不变的数据存储在地址隐藏的存储单元中,因为地址隐藏,所以对于应用程序来讲,该地址不可见,所以黑客不容易找到该机密数据的存储地址,所以也就无法篡改该机密数据。进一步,即使隐藏的存储地址被发现,因为永久不变的机密数据经过白盒算法加密,所以也不容易被黑客破解,所以进一步确保了数据的安全性。因此,通过本申请实施例中的方法,可以提高软件实现TPM芯片的功能时的系统安全性。
附图说明
图1为现有技术中TPM芯片的功能框图;
图2为本申请一实施例中的安全控制的方法流程图;
图3为本申请一实施例中的网络设备的功能框图;
图4为本申请一实施例中的网络设备的系统框图。
具体实施方式
本申请实施例提供一种安全控制方法及网络设备,用以解决现有技术 中的用软件实现TPM芯片的功能时,系统的安全性较低的技术问题。
通过软件实现TPM芯片的功能,因为是软件,所以很容易被恶意篡改,所以在用软件实现TPM芯片的功能时,提高程序和存储的安全性是一个很重要的方面。本申请实施例通过对机密数据的加密和隐藏存储处理,提高存储的安全性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请一实施例提供一种安全控制方法,该方法应用在系统启动的过程中以及在启动后的运行过程中。请参考图2所示,为本实施例中安全控制方法的流程图,该方法包括以下内容:
步骤101:网络设备获得机密数据;所述机密数据是由软件TPM产生的,所述软件TPM运行在所述网络设备中,所述机密数据包括永久不变的机密数据和可刷新的机密数据,其中,所述永久不变的机密数据为在所述网络设备的一次启动过程中不可被更新的数据,所述可刷新的机密数据为在所述网络设备的一次启动过程中可被更新的数据;
步骤102:所述网络设备采用白盒算法加密永久不变的机密数据;
步骤103:所述网络设备将所述采用白盒算法加密过的永久不变的机密数据和可刷新的机密数据存储在地址隐藏的存储单元中。
其中,步骤101之中的机密数据,具体来说,一种是软件TPM本身就具有的机密数据,另一种是运行软件TPM生成的数据。其中,软件TPM产生的机密数据,例如包括:EK、SRK、PCR、AIK和存储密钥。除了EK之外,其他的机密数据均可被更新。
当在步骤101中获得机密数据之后,如果获得的机密数据包括永久不 变的机密数据,例如EK,那么接下来就执行步骤102,即采用白盒算法加密所述永久不变的机密数据。然后执行步骤103,将所述采用白盒算法加密过的永久不变的机密数据,存储在地址隐藏的存储单元中。对于可刷新的机密数据,例如AIK,就直接执行步骤103,即将所述可刷新的机密数据存储在地址隐藏的存储单元中。可选的,可以同时执行步骤102和步骤103中存储可刷新的机密数据的部分,也可以先执行步骤102,再执行步骤103。而步骤103中存储两种数据的动作可以同时发生,也可以先后发生。
其中,在本实施例中,网络设备的一次启动过程包括本次的系统启动以及系统运行直至系统关机。
在步骤102中,采用白盒算法加密永久不变的机密数据。白盒算法通过信息隐藏的方法,将永久不变的机密数据通过查找表随机散列在存储空间里面,通过该方式,提高永久不变的机密数据的安全性。在实际运用中,可以采用多种算法,例如:白盒数据加密标准(英文:Data Encryption Standard;简称:DES)算法和白盒高级加密标准(英文:Advanced Encryption Standard;简称:AES)算法。
可选的,对该网络设备来讲,一旦确定了一种白盒算法,该网络设备对于该种白盒算法来讲是唯一的。如此可以避免因为一个网络设备的白盒算法被破解,而扩散到其他网络设备。
在步骤103中,将采用白盒算法加密过的永久不变的机密数据和可刷新的机密数据存储在地址隐藏的存储单元中。因为该存储单元的地址是隐藏的,所以在将机密数据存储在该存储单元中时,首先通过指定的用户标识(ID)或者群组ID加载驱动库,然后将机密数据存入,待存储完成,就将驱动卸载,这样的话,该存储单元的地址再次不可见,对于非指定的用户ID或者群组ID来说,就无法对该存储单元进行读/写操作。
具体来说:隐藏输入输出(Input/Output,IO)初始化上下文(context);调用用户ID或者群组ID,分配上下文句柄和IO缓存区;让所述存储单元 对执行IO操作是可见的;调用IO界面,进入上下文句柄和IO;输入参数以进行有效性检查;进行IO读/写操作;操作完成后,关闭IO操作,让所述存储单元的地址不可见,以及关闭上下文句柄。
可选的,当通过步骤103将机密数据进行存储之后,如果网络设备在接收到访问存储在该地址隐藏的存储单元中的数据的操作时,通过访问控制策略对访问操作进行策略控制。其中,访问控制策略具体例如是自主访问控制(英文:Discretionary Access Control;简称:DAC)策略、强制访问控制(英文:Mandatory Access Control;简称:MAC)策略。当策略匹配成功时,就执行该访问操作。如果策略匹配不成功,就拒绝该访问操作,以保证机密数据的安全。
可选的,网络设备在接收到访问软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。换言之,在本实施例中,对于软件TPM本身的访问操作也要通过访问控制策略进行控制,尽可能的避免被黑客篡改软件TPM本身,以确保软件TPM本身的安全性。
可选的,在通过访问控制策略对访问操作进行策略控制之前,该方法还包括:对该访问控制策略进行可信计算,以确定该访问控制策略是可信的。因为在网络设备启动或运行过程中,访问控制策略有可能被篡改,所以可以通过对访问控制策略进行可信计算来确保访问策略本身是可信的。这样,通过访问控制策略对访问操作进行策略控制才是正确的。
可选的,将违反访问控制策略的访问操作记录在安全日志中,并且可以进行告警。
可选的,在将违反访问控制策略的访问操作记录在安全日志中之前,该方法还包括:对用于记录安全日志的程序代码进行可信计算,以确定该程序代码是否可信。只有在该程序代码是可信的情况下,记录的安全日志才是可信的。
结合以上各实施例,该方法还包括:在接收到对该网络设备的资源进 行操作的请求时,对操作者进行权限控制。其中,该网络设备的资源包括网络设备的文件、端口、进程、函数、输入输出设备、套接口等。进行操作的请求可以包括创建、访问、调用和设置。
在权限不足的情况下,避免对这些资源进行操作,避免黑客的入侵带来的风险扩散。
可选的,进行权限控制的安全模块采用独立可加载的架构,避免对网络设备整体带来影响。
结合以上各实施例,该方法还包括:网络设备将与软件TPM相关的进程和与非软件TPM相关的进程进行隔离。
其中,与软件TPM相关的进程,具体例如包括:合法监听的进程、加密解密的进程和可信计算的进程。与软件TPM相关的进程和与非软件TPM相关的进程是相互隔离的,所以当与非软件TPM相关的进程被攻击,不会影响到与软件TPM相关的进程。
进一步,该网络设备中的协议可以分为两类,一类是对外连接的协议,另一类是非对外连接的协议。例如:软件TPM属于非对外连接的协议。而对外连接的协议例如为:路由协议、管理协议、互联协议。
可选的,该方法还包括:设置第一进程不能直接与网络设备的外部进行交互,其中第一进程是与软件TPM相关的进程进行交互的进程。换言之,第一进程不能是对外连接的协议的进程,只能是非对外连接的协议的进程,可以通过间接的方式与网络设备的外部进行交互。这样,第一进程较难受到攻击,那么也不会因此而导致与软件TPM相关的进程受到攻击。该方法可以看作是第一层防御层面。
前述将与软件TPM相关的进程和与非软件TPM相关的进程隔离的方法可以看作是第二层防御层面。换言之,即使黑客攻破第一层防御层面,那么因为与软件TPM相关的进程和第一进程隔离,所以可以增加攻击软件TPM的难度。
可选的,前述访问策略控制和权限控制可以看作是第三层防御层面。
由以上描述可以看出,在本实施例中,因为将软件TPM产生的永久不变的机密数据采用白盒算法进行加密;然后将采用白盒算法加密的永久不变的机密数据和软件TPM产生的可刷新的机密数据存储在地址隐藏的存储单元中。将可刷新的机密数据和采用白盒算法加密的永久不变的数据存储在地址隐藏的存储单元中,因为地址隐藏,所以对于应用程序来讲,该地址不可见,所以黑客不容易找到该机密数据的存储地址,所以也就无法篡改该机密数据。进一步,即使隐藏的存储地址被发现,因为永久不变的机密数据经过白盒算法加密,所以也不容易被黑客破解,所以进一步确保了数据的安全性。
进一步,对于隐藏的存储单元的访问操作也通过访问控制策略进行控制,所以进一步提高了数据的安全性。
进一步,对于软件TPM本身,也进行访问控制,以及将与软件TPM相关的进程和与非软件TPM相关的进程进行隔离,以及设置与软件TPM相关的进程进行交互的进程不能直接与网络设备的外部进行交互,所以提高了软件TPM本身的安全性,降低软件TPM本身被攻击的风险。
基于同一发明构思,本申请实施例还提供一种网络设备,请参考图3所示,该网络设备包括:获得单元201,用于获得机密数据,机密数据是由软件TPM产生的,软件TPM运行在网络设备中,机密数据包括永久不变的机密数据和可刷新的机密数据,其中,永久不变的机密数据为在网络设备的一次启动过程中不可被更新的数据,可刷新的机密数据为在网络设备的一次启动过程中可被更新的数据;处理单元202,用于采用白盒算法加密永久不变的机密数据;并将采用白盒算法加密过的永久不变的机密数据和可刷新的机密数据存储在地址隐藏的存储单元中。
可选的,处理单元202还用于:在接收到访问存储在地址隐藏的存储单元中的数据的操作时,通过访问控制策略对访问操作进行策略控制。
可选的,处理单元202还用于:在接收到访问软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。
结合以上各实施例,处理单元202还用于:将与软件TPM相关的进程和与非软件TPM相关的进程进行隔离。
结合以上各实施例,处理单元202还用于设置第一进程不能直接与网络设备的外部进行交互,其中第一进程是与软件TPM相关的进程进行交互的进程。
结合以上各实施例,永久不变的机密数据为背书密钥EK;可刷新的机密数据包括存储根密钥SRK、平台配置寄存器PCR、身份认证密钥AIK和存储密钥。
前述图2实施例中的安全控制方法中的各种变化方式和具体实例同样适用于本实施例的网络设备,通过前述对安全控制方法的详细描述,本领域技术人员可以清楚的知道本实施例中网络设备的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例还包括一种网络设备,请参考图4所示,为本申请实施例中的网络设备的系统框图。如图4所示,该网络设备包括:总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器301代表的一个或多个处理器和存储器302代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口303在总线300和处理器301、收发器304之间提供接口。收发器304用于网络设备与外部设备进行数据通信。
处理器301负责管理总线300和通常的处理。除了存储器302,还有未被隐藏地址的存储器,未被隐藏地址的存储器可以被用于存储处理器301在执行操作时所使用的数据。
在本申请实施例中,未被隐藏地址的存储器用于存储指令,处理器301执行该指令用于获得机密数据,机密数据是由软件TPM产生的,软件TPM运行在网络设备中,机密数据包括永久不变的机密数据和可刷新的机密数据,其中,永久不变的机密数据为在网络设备的一次启动过程中不可被更新的数据,可刷新的机密数据为在网络设备的一次启动过程中可被更新的数据;
处理器301执行该指令还用于采用白盒算法加密永久不变的机密数据;并将采用白盒算法加密过的永久不变的机密数据和可刷新的机密数据存储在存储器302中,并隐藏存储器302的地址。
在本申请实施例中,可选的,处理器301执行该指令还用于:在接收到访问存储在存储器302中的数据的操作时,通过访问控制策略对访问操作进行策略控制。
在本申请实施例中,可选的,处理器301执行该指令还用于:在接收到访问软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。
结合以上各实施例,处理器301执行该指令还用于:将与软件TPM相关的进程和与非软件TPM相关的进程进行隔离。
结合以上各实施例,处理器301执行该指令还用于设置第一进程不能直接与网络设备的外部进行交互,其中第一进程是与软件TPM相关的进程进行交互的进程。
结合以上各实施例,永久不变的机密数据为背书密钥EK;可刷新的机密数据包括存储根密钥SRK、平台配置寄存器PCR、身份认证密钥AIK和存储密钥。
因此,本申请实施例中的网络设备,通过将软件TPM产生的永久不变的机密数据采用白盒算法进行加密;然后将采用白盒算法加密的永久不变的机密数据和软件TPM产生的可刷新的机密数据存储在地址隐藏的存储单元中,从而能够提高软件实现TPM芯片的功能时的系统安全性。
前述图2实施例中的安全控制方法中的各种变化方式和具体实例同样适用于本实施例的网络设备,通过前述对安全控制方法的详细描述,本领域技术人员可以清楚的知道本实施例中网络设备的实施方法,所以为了说明书的简洁,在此不再详述。
申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,网络设备将软件TPM产生的永久不变的机密数据采用白盒算法进行加密;然后将采用白盒算法加密的永久不变的机密数据和软件TPM产生的可刷新的机密数据存储在地址隐藏的存储单元中。将可刷新的机密数据和采用白盒算法加密的永久不变的数据存储在地址隐藏的存储单元中,因为地址隐藏,所以对于应用程序来讲,该地址不可见,所以黑客不容易找到该机密数据的存储地址,所以也就无法篡改该机密数据。进一步,即使隐藏的存储地址被发现,因为永久不变的机密数据经过白盒算法加密,所以也不容易被黑客破解,所以进一步确保了数据的安全性。因此,通过本申请实施例中的方法,可以提高软件实现TPM芯片的功能时的系统安全性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个 机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

  1. 一种安全控制方法,其特征在于,包括:
    网络设备获得机密数据,所述机密数据是由软件可信平台模块TPM产生的,所述软件TPM运行在所述网络设备中,所述机密数据包括永久不变的机密数据和可刷新的机密数据,其中,所述永久不变的机密数据为在所述网络设备的一次启动过程中不可被更新的数据,所述可刷新的机密数据为在所述网络设备的一次启动过程中可被更新的数据;
    所述网络设备采用白盒算法加密所述永久不变的机密数据;
    所述网络设备将所述采用白盒算法加密过的永久不变的机密数据和所述可刷新的机密数据存储在地址隐藏的存储单元中。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    所述网络设备在接收到访问存储在所述地址隐藏的存储单元中的数据的操作时,通过访问控制策略对访问操作进行策略控制。
  3. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    所述网络设备在接收到访问所述软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。
  4. 如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备将与所述软件TPM相关的进程和与非所述软件TPM相关的进程进行隔离。
  5. 如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备设置第一进程不能直接与所述网络设备的外部进行交互,其中所述第一进程是与所述软件TPM相关的进程进行交互的进程。
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述永久不变的机密数据为背书密钥EK;所述可刷新的机密数据包括存储根密钥SRK、平台配置寄存器PCR、身份认证密钥AIK和存储密钥。
  7. 一种网络设备,其特征在于,包括:
    获得单元,用于获得机密数据,所述机密数据是由软件可信平台模块TPM产生的,所述软件TPM运行在所述网络设备中,所述机密数据包括永久不变的机密数据和可刷新的机密数据,其中,所述永久不变的机密数据为在所述网络设备的一次启动过程中不可被更新的数据,所述可刷新的机密数据为在所述网络设备的一次启动过程中可被更新的数据;
    处理单元,用于采用白盒算法加密所述永久不变的机密数据;并将所述采用白盒算法加密过的永久不变的机密数据和所述可刷新的机密数据存储在地址隐藏的存储单元中。
  8. 如权利要求7所述的网络设备,其特征在于,所述处理单元还用于:在接收到访问存储在所述地址隐藏的存储单元中的数据的操作时,通过访问控制策略对访问操作进行策略控制。
  9. 如权利要求7所述的网络设备,其特征在于,所述处理单元还用于:在接收到访问所述软件TPM的操作时,通过访问控制策略对访问操作进行策略控制。
  10. 如权利要求7-9任一项所述的网络设备,其特征在于,所述处理单元还用于:将与所述软件TPM相关的进程和与非所述软件TPM相关的进程进行隔离。
  11. 如权利要求7-10任一项所述的网络设备,其特征在于,所述处理单元还用于设置第一进程不能直接与所述网络设备的外部进行交互,其中所述第一进程是与所述软件TPM相关的进程进行交互的进程。
  12. 如权利要求7-11任一项所述的网络设备,其特征在于,所述永久不变的机密数据为背书密钥EK;所述可刷新的机密数据包括存储根密钥SRK、平台配置寄存器PCR、身份认证密钥AIK和存储密钥。
PCT/CN2015/086263 2014-09-26 2015-08-06 一种安全控制方法及网络设备 WO2016045458A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15844984.3A EP3188067B1 (en) 2014-09-26 2015-08-06 Security control method and network device
US15/468,776 US20170200010A1 (en) 2014-09-26 2017-03-24 Security control method and network device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410505543.9A CN104268477B (zh) 2014-09-26 2014-09-26 一种安全控制方法及网络设备
CN201410505543.9 2014-09-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/468,776 Continuation US20170200010A1 (en) 2014-09-26 2017-03-24 Security control method and network device

Publications (1)

Publication Number Publication Date
WO2016045458A1 true WO2016045458A1 (zh) 2016-03-31

Family

ID=52159998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/086263 WO2016045458A1 (zh) 2014-09-26 2015-08-06 一种安全控制方法及网络设备

Country Status (4)

Country Link
US (1) US20170200010A1 (zh)
EP (1) EP3188067B1 (zh)
CN (1) CN104268477B (zh)
WO (1) WO2016045458A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268477B (zh) * 2014-09-26 2017-09-26 华为技术有限公司 一种安全控制方法及网络设备
CN106027244B (zh) * 2016-07-22 2019-06-25 北京航空航天大学 一种集成分布式电动汽车控制器安全通信方法及系统
US10924282B2 (en) * 2018-05-24 2021-02-16 Cyber Pack Ventures, Inc. System and method for measuring and reporting IoT boot integrity
CN112262547B (zh) * 2019-01-04 2023-11-21 百度时代网络技术(北京)有限公司 具有安全单元以提供根信任服务的数据处理加速器
CN110602138B (zh) * 2019-09-26 2021-06-11 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质
JP7383985B2 (ja) * 2019-10-30 2023-11-21 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
US11444771B2 (en) * 2020-09-08 2022-09-13 Micron Technology, Inc. Leveraging a trusted party third-party HSM and database to securely share a key
CN114143088B (zh) * 2021-11-30 2024-02-09 天融信雄安网络安全技术有限公司 网络故障诊断方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192597A1 (en) * 2006-02-13 2007-08-16 Bade Steven A Protocol for trusted platform module recovery through context checkpointing
CN101295339A (zh) * 2007-04-27 2008-10-29 惠普开发有限公司 安全计算机系统更新
CN102063593A (zh) * 2011-01-07 2011-05-18 北京工业大学 主动控制功能的可信设备及其认证方法
CN104268477A (zh) * 2014-09-26 2015-01-07 华为技术有限公司 一种安全控制方法及网络设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
US6647481B1 (en) * 2002-01-31 2003-11-11 Western Digital Ventures, Inc. Method for accessing data storage locations having addresses within a hidden logical address range
US6983355B2 (en) * 2003-06-09 2006-01-03 International Business Machines Corporation Virtualization of physical storage using size optimized hierarchical tables
US7313679B2 (en) * 2003-10-17 2007-12-25 Intel Corporation Extended trusted computing base
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US7613921B2 (en) * 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US8806224B2 (en) * 2005-06-28 2014-08-12 Intel Corporation Low cost trusted platform
US8549592B2 (en) * 2005-07-12 2013-10-01 International Business Machines Corporation Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
CN101039186B (zh) * 2007-05-08 2010-08-04 中国科学院软件研究所 系统日志的安全审计方法
US8060876B2 (en) * 2007-08-10 2011-11-15 Intel Corporation Methods and apparatus for creating an isolated partition for a virtual trusted platform module
US8249257B2 (en) * 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
TR200708644A1 (tr) * 2007-12-13 2009-07-21 Atti̇la Özgi̇t Dr. Sanal hava yastığı sistemi.
US8584229B2 (en) * 2007-12-21 2013-11-12 Intel Corporation Methods and apparatus supporting access to physical and virtual trusted platform modules
US8259948B2 (en) * 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US8122514B2 (en) * 2008-07-30 2012-02-21 Microsoft Corporation Software enhanced trusted platform module
CN101430747B (zh) * 2008-09-26 2011-09-07 武汉大学 基于可信嵌入式平台的移动设备及其安全存储方法
US20110154023A1 (en) * 2009-12-21 2011-06-23 Smith Ned M Protected device management
US20120151209A1 (en) * 2010-12-09 2012-06-14 Bae Systems National Security Solutions Inc. Multilevel security server framework
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US9391980B1 (en) * 2013-11-11 2016-07-12 Google Inc. Enterprise platform verification
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192597A1 (en) * 2006-02-13 2007-08-16 Bade Steven A Protocol for trusted platform module recovery through context checkpointing
CN101295339A (zh) * 2007-04-27 2008-10-29 惠普开发有限公司 安全计算机系统更新
CN102063593A (zh) * 2011-01-07 2011-05-18 北京工业大学 主动控制功能的可信设备及其认证方法
CN104268477A (zh) * 2014-09-26 2015-01-07 华为技术有限公司 一种安全控制方法及网络设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3188067A4 *

Also Published As

Publication number Publication date
EP3188067A1 (en) 2017-07-05
EP3188067B1 (en) 2018-10-10
CN104268477B (zh) 2017-09-26
CN104268477A (zh) 2015-01-07
US20170200010A1 (en) 2017-07-13
EP3188067A4 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
WO2016045458A1 (zh) 一种安全控制方法及网络设备
US20200272739A1 (en) Performing an action based on a pre-boot measurement of a firmware image
Dunn et al. Cloaking malware with the trusted platform module
McCune et al. Flicker: An execution infrastructure for TCB minimization
US10885197B2 (en) Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
US9698988B2 (en) Management control method, apparatus, and system for virtual machine
US8832778B2 (en) Methods and apparatuses for user-verifiable trusted path in the presence of malware
EP2207121B1 (en) Protecting content on virtualized client platforms
WO2019104988A1 (zh) Plc的安全处理单元及其总线仲裁方法
CN109756492B (zh) 基于sgx的云平台可信执行方法、装置、设备及介质
Paverd et al. Hardware security for device authentication in the smart grid
TWI745629B (zh) 電腦系統以及初始化電腦系統的方法
Sadeghi Trusted computing—special aspects and challenges
KR102660863B1 (ko) 구성 설정들의 안전한 서명
JP7256862B2 (ja) 保護されたコンテナ間のセキュア通信方法およびそのシステム
Mannan et al. Unicorn: Two-factor attestation for data security
KR101968382B1 (ko) Tpm 기반의 사용자 장치 및 이를 이용한 부팅 방법
Gupta et al. Security and Cryptography
Hao et al. Trusted block as a service: Towards sensitive applications on the cloud
Plappert et al. Evaluating the applicability of hardware trust anchors for automotive applications
Futral et al. Fundamental principles of intel® txt
Galanou et al. Matee: Multimodal attestation for trusted execution environments
Cheruvu et al. Base Platform Security Hardware Building Blocks
Kösemen et al. Tamper Resistance Functions on Internet of Things Devices
Saboor et al. Root-Of-Trust for Continuous Integration and Continuous Deployment Pipeline in Cloud Computing.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15844984

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015844984

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015844984

Country of ref document: EP