CN104268477A - 一种安全控制方法及网络设备 - Google Patents
一种安全控制方法及网络设备 Download PDFInfo
- Publication number
- CN104268477A CN104268477A CN201410505543.9A CN201410505543A CN104268477A CN 104268477 A CN104268477 A CN 104268477A CN 201410505543 A CN201410505543 A CN 201410505543A CN 104268477 A CN104268477 A CN 104268477A
- Authority
- CN
- China
- Prior art keywords
- confidential data
- network equipment
- immutable
- data
- tpm
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 149
- 230000008569 process Effects 0.000 claims abstract description 101
- 238000012545 processing Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- QZXCCPZJCKEPSA-UHFFFAOYSA-N chlorfenac Chemical compound OC(=O)CC1=C(Cl)C=CC(Cl)=C1Cl QZXCCPZJCKEPSA-UHFFFAOYSA-N 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000003381 stabilizer Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Abstract
本发明提供一种安全控制方法及网络设备,该方法包括:网络设备获得机密数据,机密数据是由软件可信平台模块TPM产生的,软件TPM运行在网络设备中,机密数据包括永久不变的机密数据和可刷新的机密数据,其中,永久不变的机密数据为在网络设备的一次启动过程中不可被更新的数据,可刷新的机密数据为在网络设备的一次启动过程中可被更新的数据;网络设备采用白盒算法加密永久不变的机密数据;网络设备将采用白盒算法加密过的永久不变的机密数据和可刷新的机密数据存储在地址隐藏的存储单元中。通过本发明实施例中的方法可以提高软件实现TPM时的系统安全性。
Description
技术领域
本申请涉及安全技术领域,尤其涉及一种安全控制方法及网络设备。
背景技术
为了解决计算机结构上的不安全、从基础上提高计算机的可信性,由业界组织了可信计算平台联盟(英文:Trusted Computing Platform Alliance;简称:TCPA)。TCPA定义了具有安全存储和加密功能的可信平台模块(英文:TrustedPlatform 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)和存储根密钥(英文:StorageRoot Key;简称:SRK)。通用内存包括平台配置寄存器(英文:PlatformConfiguration 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)策略、强制访问控制(英文:MandatoryAccess 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和存储密钥。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410505543.9A CN104268477B (zh) | 2014-09-26 | 2014-09-26 | 一种安全控制方法及网络设备 |
PCT/CN2015/086263 WO2016045458A1 (zh) | 2014-09-26 | 2015-08-06 | 一种安全控制方法及网络设备 |
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 (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410505543.9A CN104268477B (zh) | 2014-09-26 | 2014-09-26 | 一种安全控制方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268477A true CN104268477A (zh) | 2015-01-07 |
CN104268477B CN104268477B (zh) | 2017-09-26 |
Family
ID=52159998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410505543.9A Active CN104268477B (zh) | 2014-09-26 | 2014-09-26 | 一种安全控制方法及网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170200010A1 (zh) |
EP (1) | EP3188067B1 (zh) |
CN (1) | CN104268477B (zh) |
WO (1) | WO2016045458A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016045458A1 (zh) * | 2014-09-26 | 2016-03-31 | 华为技术有限公司 | 一种安全控制方法及网络设备 |
CN106027244A (zh) * | 2016-07-22 | 2016-10-12 | 北京航空航天大学 | 一种集成分布式电动汽车控制器安全通信方法及系统 |
CN110933108A (zh) * | 2019-09-26 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
WO2020140265A1 (en) * | 2019-01-04 | 2020-07-09 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Data processing accelerator having security unit to provide root trust services |
CN114143088A (zh) * | 2021-11-30 | 2022-03-04 | 北京天融信网络安全技术有限公司 | 网络故障诊断方法、装置、设备及计算机可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10924282B2 (en) * | 2018-05-24 | 2021-02-16 | Cyber Pack Ventures, Inc. | System and method for measuring and reporting IoT boot integrity |
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 |
Citations (5)
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 |
CN101039186A (zh) * | 2007-05-08 | 2007-09-19 | 中国科学院软件研究所 | 系统日志的安全审计方法 |
CN101295339A (zh) * | 2007-04-27 | 2008-10-29 | 惠普开发有限公司 | 安全计算机系统更新 |
CN101430747A (zh) * | 2008-09-26 | 2009-05-13 | 武汉大学 | 基于可信嵌入式平台的移动设备及其安全存储方法 |
CN102063593A (zh) * | 2011-01-07 | 2011-05-18 | 北京工业大学 | 主动控制功能的可信设备及其认证方法 |
Family Cites Families (21)
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 |
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 |
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 |
CN104268477B (zh) * | 2014-09-26 | 2017-09-26 | 华为技术有限公司 | 一种安全控制方法及网络设备 |
-
2014
- 2014-09-26 CN CN201410505543.9A patent/CN104268477B/zh active Active
-
2015
- 2015-08-06 EP EP15844984.3A patent/EP3188067B1/en active Active
- 2015-08-06 WO PCT/CN2015/086263 patent/WO2016045458A1/zh active Application Filing
-
2017
- 2017-03-24 US US15/468,776 patent/US20170200010A1/en not_active Abandoned
Patent Citations (5)
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 | 惠普开发有限公司 | 安全计算机系统更新 |
CN101039186A (zh) * | 2007-05-08 | 2007-09-19 | 中国科学院软件研究所 | 系统日志的安全审计方法 |
CN101430747A (zh) * | 2008-09-26 | 2009-05-13 | 武汉大学 | 基于可信嵌入式平台的移动设备及其安全存储方法 |
CN102063593A (zh) * | 2011-01-07 | 2011-05-18 | 北京工业大学 | 主动控制功能的可信设备及其认证方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016045458A1 (zh) * | 2014-09-26 | 2016-03-31 | 华为技术有限公司 | 一种安全控制方法及网络设备 |
CN106027244A (zh) * | 2016-07-22 | 2016-10-12 | 北京航空航天大学 | 一种集成分布式电动汽车控制器安全通信方法及系统 |
CN106027244B (zh) * | 2016-07-22 | 2019-06-25 | 北京航空航天大学 | 一种集成分布式电动汽车控制器安全通信方法及系统 |
WO2020140265A1 (en) * | 2019-01-04 | 2020-07-09 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Data processing accelerator having security unit to provide root trust services |
CN110933108A (zh) * | 2019-09-26 | 2020-03-27 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN110933108B (zh) * | 2019-09-26 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 |
CN114143088A (zh) * | 2021-11-30 | 2022-03-04 | 北京天融信网络安全技术有限公司 | 网络故障诊断方法、装置、设备及计算机可读存储介质 |
CN114143088B (zh) * | 2021-11-30 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 网络故障诊断方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3188067A1 (en) | 2017-07-05 |
US20170200010A1 (en) | 2017-07-13 |
EP3188067B1 (en) | 2018-10-10 |
WO2016045458A1 (zh) | 2016-03-31 |
EP3188067A4 (en) | 2017-08-30 |
CN104268477B (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268477A (zh) | 一种安全控制方法及网络设备 | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US8832778B2 (en) | Methods and apparatuses for user-verifiable trusted path in the presence of malware | |
CN109840430B (zh) | Plc的安全处理单元及其总线仲裁方法 | |
CN108055133B (zh) | 一种基于区块链技术的密钥安全签名方法 | |
CN103038745B (zh) | 扩展完整性测量 | |
CN107567630B (zh) | 受信输入/输出设备的隔离 | |
US20150334096A1 (en) | Method and arrangement for secure communication between network units in a communication network | |
CN103514414A (zh) | 一种基于ARM TrustZone的加密方法及加密系统 | |
US20200026882A1 (en) | Methods and systems for activating measurement based on a trusted card | |
CN113014444B (zh) | 一种物联网设备生产测试系统及安全保护方法 | |
WO2020076408A2 (en) | Trusted booting by hardware root of trust (hrot) device | |
CN103403732A (zh) | 输入输出操作的处理方法和装置 | |
EP3217310A1 (en) | Hypervisor-based attestation of virtual environments | |
CN105046138A (zh) | 一种基于飞腾处理器的可信管理系统及方法 | |
Aslam et al. | Security and trust preserving inter‐and intra‐cloud VM migrations | |
KR20180007922A (ko) | Tpm 기반의 사용자 장치 및 이를 이용한 부팅 방법 | |
Cooijmans et al. | Secure key storage and secure computation in Android | |
KR20210016547A (ko) | 데이터 처리 | |
JP2015037298A (ja) | 端末、id型署名暗号方法およびプログラム | |
CN111310173A (zh) | 一种可信芯片的终端虚拟机身份认证方法及系统 | |
Fournaris et al. | From hardware security tokens to trusted computing and trusted systems | |
Hao et al. | Trusted block as a service: Towards sensitive applications on the cloud | |
Niemi et al. | Platform attestation in consumer devices | |
CN105933123A (zh) | 一种kvm虚拟机通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |