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

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

Info

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
Application number
CN201410505543.9A
Other languages
English (en)
Other versions
CN104268477B (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
Priority to CN201410505543.9A priority Critical patent/CN104268477B/zh
Publication of CN104268477A publication Critical patent/CN104268477A/zh
Priority to PCT/CN2015/086263 priority patent/WO2016045458A1/zh
Priority to EP15844984.3A priority patent/EP3188067B1/en
Priority to US15/468,776 priority patent/US20170200010A1/en
Application granted granted Critical
Publication of CN104268477B publication Critical patent/CN104268477B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/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

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和存储密钥。
CN201410505543.9A 2014-09-26 2014-09-26 一种安全控制方法及网络设备 Active CN104268477B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* 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
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)

* 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
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 华为技术有限公司 一种安全控制方法及网络设备

Patent Citations (5)

* 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 惠普开发有限公司 安全计算机系统更新
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)

* Cited by examiner, † Cited by third party
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