CN109918918B - 一种基于固态盘主控的可信计算系统实现方案 - Google Patents
一种基于固态盘主控的可信计算系统实现方案 Download PDFInfo
- Publication number
- CN109918918B CN109918918B CN201910208445.1A CN201910208445A CN109918918B CN 109918918 B CN109918918 B CN 109918918B CN 201910208445 A CN201910208445 A CN 201910208445A CN 109918918 B CN109918918 B CN 109918918B
- Authority
- CN
- China
- Prior art keywords
- module
- root
- function
- state disk
- trusted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000006870 function Effects 0.000 claims abstract description 58
- 238000005259 measurement Methods 0.000 claims description 33
- 239000007787 solid Substances 0.000 claims description 26
- 238000013500 data storage Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 13
- 230000007246 mechanism Effects 0.000 abstract description 12
- 230000008859 change Effects 0.000 abstract description 5
- 238000000034 method Methods 0.000 description 21
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000008676 import Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010006895 Cachexia Diseases 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000011022 opal Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种可信计算系统的实现方案。传统可信计算系统基于可信计算专用芯片或专用模块。这种方案要求系统设计中包括系统硬件、系统固件甚至系统软件的多个方面进行改动。不但实施困难、成本增加,且保护作用易于被旁路,失去应有效果。本发明方案采用系统中必配的SSD中的主控器提供系统可信根必要的安全管控功能。系统中无需包含任何专用可信根芯片或模块,无需系统设计进行任何改动,易于采用,任何含有硬盘的系统均可实施。所有必须的安全功能均由SSD主控完成。不但安全模块成本可省去,更重要的是该机制直接保护系统中真正需要被保护的资源(Operating System,用户程序,用户数据等),而且一旦启用,这种保护功能无法被旁路。
Description
技术领域
本发明涉及可信计算领域,特别涉及一种易于实现且行之有效的系统架构和实现方法。
背景技术
可信计算系统作为保护信息安全抵抗对计算机系统恶意攻击的一种技术手段越来越受到计算系统研发、生产及使用者的重视。
现代计算机系统中的绝大部分在生命周期的不同阶段都会直接或间接地连入网路系统,或多或少地将自己暴露给恶意攻击的范围。攻击的结果可能直接导致包含下列的不良结果:
1.计算系统被破坏而致瘫
2.敏感信息被窃
3.计算系统被绑架
进而可能造成经济上、政治上、外交上、军事上或用户体验上的不可挽回的恶果。为了达到上述攻击目的,恶意攻击者的常用手段是设法篡改系统中的软件,或设法在被攻击系统中植入恶意软件(如木马程序、计算机病毒等),由某种事件激活并执行其设计、施放者指定的恶意行为。在上述攻击事件过程中有两个值得注意的特征:
1.上述攻击行为必然导致系统中某些可以度量的特征发生变化;
2.被篡改的系统软件或被植入的恶意软件必须被执行才能产生攻击者预期的结果。
可信计算系统中对系统进行保护的各种措施正是利用了这两个特性。简单说来,就是要对系统中的重要部件的特征进行度量以发现未经许可的篡改。一旦未经许可的篡改被发现后,所对应的软件、固件模块将会被禁止执行从而保证系统的安全。
系统启动链
现代计算机系统在上电后要经过一系列的步骤才能进入正常操作状态。下面参考图3做简要说明。
1.系统固件启动
系统上电后最先被执行的模块是系统固件21。最常见的系统固件为传统的BIOS或较新的基于国际标准UEFI固件。该模块的功能是执行上电自检,确保系统硬件工作正常,然后从硬盘上读取主引导模块MBR 22并将控制权转交给主引导模块22。
2.主引导模块导入并执行OS Loader模块23.
3.OS Loader的作用是读取硬盘上的操作系统,并将其导入内存。完成导入后将控制权转交给操作系统24。
4.操作系统24启动
操作系统24的导入和运行标志启动过程的结束,计算机系统进入正常操作模式。
系统度量与控制传递
如上所述,保障计算系统安全、可信的基本要求是系统从上电开始所执行的所有程序都是未经篡改的已被确证安全的软件。一个广泛被采用的方法是在某一软件模块被启动前对其进行密码学度量,根据度量结果判断是否该模块处于安全状态,只有被确定安全后该模块才可得到执行权。
上述基于度量的安全机制可以被用在系统启动链上,保证系统运行环境的安全、可信。具体来说,系统在上电后首先由系统固件(BIOS/UEFI FW)中的度量功能对系统固件本身进行度量。
常用的度量方法是用Hash函数(SHA256,SM3等)对被度量的程序代码、数据计算特征值。如果代码模块(或模块组)在被授予执行权前获取的度量值与系统预先存储的该模块在已知安全情况下得到的度量值相等,则该模块被判为安全进而可以获得执行权。
在系统固件完成对自身的度量后如果度量结果满足安全要求则会对操作系统引导程序进行度量,如果通过验证,引导程序被导入系统内存并开始执行。
引导程序对非挥发存储介质上所存储的操作系统代码进行类似的度量,得到操作系统代码的特征值,该特征值与系统存放的安全度量值进行对比确证一致后操作系统的代码会被引导程序导入内存并开始执行。至此,系统安全启动过程完成。
安全模块功能介绍
安全模块在完成上述系统度量过程中起着重要作用。其功能是提供一个真随机码发生器,一块受保护的存储空间和一组度量过程中所需的算法引擎(SHA,SM3,RSA,SM2等)及各种密码服务接口函数等。中国和国际上都有行业标准提供这类产品的设计规范。包括:
·TPM–(Trusted Platform Module):是由世界可信计算组织TCG(TrustedComputing Group)制定的一个标准。系统固件中的一部分与TPM模块一起构成系统的可信根。
·TCM–(Trusted Cryptography Module):是由中国国家密码管理局主持制定的一个标准。与TPM功能类似,但其中的密码算法集(RSA,SHA,AES)由中国标准的国密算法集(SM2,SM3,SM4)所取代,可信根由TCM模块与系统固件中的度量功能构成。
·TPCM–(Trusted Platform Control Module):是由中国国家信息安全标委会颁发的标准《可信平台控制模块规范》。该规范提出了一种新的可信计算平台架构来弥补TPM/TCM所存在的一个共同问题,即安全模块(TPM/TCM)对系统安全的贡献是被动的,要靠系统固件主动利用TPM/TC所含有的安全功能,并遵守安全协议才能起到保证安全、可信的作用。然而,系统固件本身的启动并未受基于度量结果的安全机制管控,无法保证系统固件在启动时处于安全状态,因而存在对安全的隐患。基于TPCM的可信计算平台增加了对系统固件本身的控制,将其一并纳入了基于度量结果的安全管控机制。系统的可信根为TPCM模块本身。其安全合规性由独立的流程审核认证。一旦通过认证,TPCM自身的安全可信性是默认的。系统设计保证TPCM在上电过程中首先加电,而系统其他部分处于禁止状态。TPCM模块为一主动部件,含有所有TCM具有的资源。但与TCM最显著的区别是,TPCM能够控管系统中的其他部件(系统CPU及固件等)的运行状态,并能在系统其他部分处于禁止状态的情况下主动完成对系统固件的度量,确定系统固件的安全状态,并在确定安全状态后执行系统启动链上的后续部件的功能。
传统方案安全性分析及存在问题
如前所述,基于TPM及TCM的系统由于TPM或TCM模块本身不能构成完整的系统可信根,其安全性存在先天的缺陷。TPCM能够独立构成系统的可信根,并且使对系统固件的度量成为由硬件强制执行的步骤,提高了系统的安全、可信性。
虽然TPCM的应用有助于系统的可信性的提高,但仍然存在系统安全性和可行性方面的难以忽略的缺点,包括:
·由于TPCM只能对系统启动链中的后续部件实施上电、复位管制,系统的安全性建立在恶意攻击者无法直接修改系统线路的基础上的。换句话说,攻击者难以实施远程攻击。一旦被攻击系统被恶意攻击者直接近身掌控,TPCM所施加的安全机制很容易被旁路而失效。
·TPCM及相应的安全机制要求计算机系统的设计进行改造,包括计算机主板的设计,系统固件的设计及系统启动链中其他部件都需作出相应改动。这些必须的改动增加了安全方案推动、实施的难度,从而使其广泛采用难以实现。
·TPCM的采用增加系统成本,对成本敏感的应用领域(如消费类计算机等)难以采用。
对系统启动链的进一步分析可以提供解决上述问题的线索。参照图2。系统在上电后所做的操作可以看成是在建立两个环境,既启动环境和运行环境。启动环境包括系统固件及各级引导程序,运行环境包括操作系统及其所依赖的底层驱动和文件系统等。安全启动环境的建立是为了导入和建立安全的运行环境。为确保系统的安全,传统的方案采取从可信根开始逐级度量,将控制逐级向后传递的方法。系统启动的过程就是逐级激活启动链的过程,也是由前向后建立信任链的过程。假定系统从上电开始经过N级引导步骤才能将包括操作系统在内的运行环境建立,这一过程可以示意如下:
T0=》T1。。。TN-1=》TN
在上述表达法中T0代表系统固件或TPCM,取决于系统方案。TN为操作系统本身。“=》”表示度量后续模块并在度量结果满足安全要求的情况下将控制传递至后续模块。
传统设计中的系统可信根都是以启动链的第一级,也就是以最先上电运行的模块为基础的,在上述表达式中也就是T0。但事实上,在满足一定条件的前提下,上述顺序度量、顺序可信传递的方式并不是必须的。可信根可以建立在启动链中的任意一级Ti上,只要满足下列的条件:
·C.1:Ti不会被Tj(j<i)所修改
·C.2:Ti的操作无需Tj(j<i)的资源与功能
·C.3:Ti可以对Tj(j<i)进行度量,确证Tj的安全状态
·C.4:Ti可以对Ti+1进行导入和度量
本发明采用了将系统可信根建立在启动链上的一个中间环节,不但可以完整实现系统可信根的各项功能,而且还能兼具其它优点。具体说来,本发明将可信根建立在固态盘主控器上。配合启动前身份认证模块,本方案能够完成可信根所需要的所有功能,并且无需系统设计做任何改动,无需额外的硬件开销。
作为系统可信根的部件需要具有如下资源及功能:
1.密码算法引擎,包括RSA、AES、SHA、SM2、SM3、SM4等
2.随机码发生器,用来产生密钥等。所产生的随机码需要具有一定的密码学强度(满足FIPS 140-2或GM/T 0005等标准的要求)。
3.受保护的存储空间,用来存储敏感信息及数据。该空间的访问受到严格的控制,访问规则依所实现的安全协议而定。
4.密码学功能调用接口,用来完成系统度量、及身份认证等功能。
上述这些实现系统可信根必须的资源与功能也是实现固态盘功能所必需的,因而在固态盘主控器中都是自然便有的。事实上这些功能已经被用来实现业界标准的数据安全协议如TCG-Opal等。本发明借用这些系统中自然存在的资源与功能,构成简单有效的系统可信根,在完成固态盘原有的数据保护功能以外,完成可信计算平台功能。
SED/MBR Shadowing简介
具有数据加密功能的硬盘(包括固态盘)被业界称作 SED(Self-EncryptingDrives),除了数据加密保护功能外通常还具有引导区块藏匿功能(MBR Shadowing)。见图1。
当MBR shadowing功能被启用后,系统盘上的操作系统引导区块(MBR)会被转移并封闭到受到保护的特别系统数据区,而在原来的操作系统引导区块植入身份认证代码PBA(Pre-Boot Authentication)。身份认证通过后MBR的内容才会被释放、导入,系统才能启动。在未通过身份认证以前只有PBA可被系统所见,其余部分全部被包括加密在内的保护机制所保护。这种系统的启动链如下:
Sys FW=》PBA=》OS Loader=》OS
其中:
Sys FW=系统固件,Platform或System Firmware(BIOS or UEFI FW)
PBA=启动前身份认证模块,Pre-Boot Authentication
OS Loader=操作系统引导程序模块
OS=操作系统
由上图可见,在SSD Subsystem中包含构建系统可信根所需的所有功能与资源(包括TRNG,密码算法引擎及只读存储器ROM),无需任何附加硬件开销,并且一旦启用保护机制无法被旁路。只要前面提到的要求C.1-C.4得到满足,SSD Subsystem可以成为一个理想的系统可信根。
在SSD Subsystem中构建可信根的合理性可以从另一个观察中得到佐证。事实上在配有固态盘的计算系统中,需要保护的信息都是存放在固态盘中的(假定系统中只有一颗硬盘,或系统中有其他硬盘但不是用来存储敏感信息、或存有敏感信息但硬盘本身已包含保护机制且其保护机制需要系统完成身份认证后才能解除),试想我们将固态盘从系统中摘除,系统的剩余部分对被保护信息的安全性无法施加直接影响。因而只要固态盘子系统能够保证自身的安全,同时能够度量系统的其他部分的安全状态则从可信计算的角度来说系统是可信且安全的。
发明内容
根据以上讨论,为解决上述传统可信计算平台方案的各种问题,本发明提出了一种基于固态盘主控器的可信计算平台的实现方案,其优点在于:
·系统度量集中(非逐级)完成,无需系统设计做任何改动
·无需采用TPM/TCM/TPCM所引入的额外成本开销
·适用于任何主机接口
·无法被旁路
·既适合前装市场,也适合后装市场。
本发明公开了一种可信计算平台实现的技术方案,(参照图2)其组成部分包括:
一个主机系统和一个固态盘子系统
上述主机系统包含:
中央处理器单元CPU;
系统固件System FW(传统BIOS或UEFI FW);
外围设备总线接口(如SATA或PCIe等);
上述固态盘子系统包含:
至少一个主机接口用以连接到上述主机系统等外围设备接口;
嵌入式处理器单元MCU;
只读存储器ROM用以存放固态盘子系统的固件;
随机码发生器TRNG;
密码算法引擎用以实现国际标准算法集(RSA,SHA,AES),或中国国家标准算法集(SM2,SM3,SM4)等;
一个启动前身份认证模块PBA。所述PBA包含下列子模块:
一个系统度量子模块PBA_Meas,用以对包括系统固件在内的系统运行环境进行度量以确定系统当前的安全状态;
一个用户身份认证子模块PBA_Auth,用以确定当前用户是否有合法的访问权限;
一个受保护的系统数据存放区,用以存放系统数据及系统程序;所述系统数据存放区在操作系统可寻址范围之外,无法用逻辑块地址LBA进行访问;
至少一个操作系统数据区OS Area,用以存放操作系统、文件系统及用户程序和数据。所述OS Area在PBA通过系统度量及用户身份认证之前处于保护加锁状态,用户无法存取。只有在系统度量与身份认证均通过之后,所述OS Area或其所包含的子空间才按用户权限开放读、写、擦除操作。
一种基于固态盘子系统的系统可信根的实现方法;所述方法包括如下步骤:
步骤S1a:系统上电后系统固件Platform FW首先按传统方案开始运行。这是因为除固态盘子系统以外,系统中所有其他部件都与传统方案无异。Platform FW完成传统的系统硬件自检等功能后,按传统方式从固态盘子系统请求读取操作系统导引模块。
步骤S1b:系统上电过程中,SSD Subsystem内的固件开始运行,执行传统SSD所要求的各项功能。在此步骤中,本发明所描述的基于SSD主控的系统可信根会被建立,包括系统可信根的可信度量根、可信存储根和可信报告根。
步骤S2:基于本发明的固态盘子系统中的操作系统导引模块已被藏匿于受保护的系统数据存储空间。其所占用的传统引导模块空间被替换成PBA的引导模块。上述导引模块的读取请求只能获得上述固态盘子系统中在本阶段唯一可以被读取的模块,即PBA的导引模块。该导引模块被导入内存并执行后,按本发明的功能要求设计的PBA功能模块将会被从固态盘上导入并执行。
步骤S3:上述步骤S1,S2中的所有操作都与传统方案无异。本发明的特别之处在于在S2导入的PBA所执行的功能。依执行顺序包括:
步骤S3a:上述PBA模块中的系统可信根(Root of trust)子模块实现系统的可信度量根、可信存储根和可信报告根。可信度量根将在此步骤对系统启动链中的前置模块(至少包括平台固件Platform FW)、后续模块(包括操作系统导引模块OS Loader、操作系统OS及用户安全应用程序等)及其他系统可度量特征(如CPU序列号,MAC地址等)进行度量,以确定系统运行环境处于已知且安全状态。度量结果将会被可信存储根保存到封闭的安全存储空间,并由可信报告根签发有关的报告。
步骤S3b:成功通过系统度量后系统控制权转交给身份认证子模块。该模块可以按设计要求采集、处理、构建用户身份认证码(如口令密码、指纹、语音等),并以其与固态盘子系统进行单向或双向交叉身份认证。通过身份认证的用户才能获取所对应的读、写、擦出的访问权限。
本发明所述多端口固态硬盘实现方案的有益效果是可以利用系统中的固态盘主控器构成易于实施且行之有效的系统可信根。以该可信根为基础可以构建可信计算平台。该方案成本低、无需系统设计做任何改动,且保护机制无法被旁路。该方案既可作为前装方案,亦可作为后装方案。作为前装方案只需在系统生产过程中配装含有本发明的固态盘。作为后装方案,只需将系统中的硬盘替换成含有本发明的固态盘即可。
附图说明
图1是传统自加密SED固态盘的结构框图;
图2是本发明的结构框图;
图3是系统启动链示意图;
图4是系统操作流程图;
图5是固态盘子系统固件构成示意图;
附图技术领域英文公知用语说明
1.CPU–Central Processing Unit,中央处理器
2.BIOS–Basic Input Output System,基本输入输出系统
3.FW–Firmware,固件
4.UEFI FW–符合UEFI国际标准的固件
5.Platform FW–平台固件,可以是BIOS或UEFI FW
6.PBA–Pre-boot-authentication,启动前身份认证功能
7.SSD–Solid State Drive,固态硬盘
8.MBR–Master Boot Record,主引导模块
9.TRNG–True Random Number Generator,真随机码发生器
10.ROM–Read Only Memory,只读存储器
11.PBA_Meas–PBA中的系统度量功能组
12.PBA_Auth–PBA中的身份认证功能组
13.OS Loader–操作系统引导模块
14.OS Core&Apps–操作系统内核与应用程序
15.SED–Self Encrypting Drive
16.RSA–国际标准公钥体系加密算法
17.SHA–国际标准散列算法
18.AES–国际标准分组加密算法
19.SM2–中国国家标准公钥体系加密算法
20.SM3–中国国家标准散列算法
21.SM4–中国国家标准分组加密算法
22.TPM–Trusted Platform Module,国际标准可信根模块
23.TCM–Trusted Cryptography Module,中国标准可信根模块
24.TPCM–Trusted Platform Control Module
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图2所示为含有本发明的固态盘的基本结构框图。含有本发明的固态盘的基本架构与传统的SED(Self Encrypting Drive)相似包含有MCU,闪存介质颗粒,密码算法引擎Crypto Engines,随机码发生器TRNG及只读存储器ROM等。其它与传统固态盘操作相关的系统部件非本发明关键所在,在此不一一枚举。控制固态盘各项操作的固件,以及实现本发明所述系统可信根功能组所用的固件存放在上述ROM及系统数据区中。值得注意的是上述ROM在主控芯片离开芯片产线后不能被修改的特性是本发明能够提供系统安全性的关键原因之一。系统中根据要求不可被旁路的功能需在ROM中实现。
上述可信根功能组进一步包含:
可信根度量功能–用以依据PBA所采集、计算的系统状态特征值来判定系统运行环境是否处于已知安全状态。PBA的功能将由后续有关解说使其明了;
可信根存储功能–受保护的封闭安全存储空间,用以存放度量结果及其它敏感信息;
可信根报告功能–该功能可以对度量结果以密码学方式进行签封,并根据上位管理系统的需求以安全协议递交管理系统。
固态盘子系统中所包含的存储空间被切分成系统存储区及操作系统区。系统区用来存放包括系统固件及系统管理相关的数据。操作系统区可以用逻辑区块地址LBA寻址的空间,用来存放包括操作系统在内的系统及用户程序与数据。操作系统区中含有一个特殊的存储空间(传统BIOS系统中的MBR,或UEFI系统中的引导文件)。所述特殊存储空间的读取方法为系统固件所熟知,并被用来存放系统引导程序。传统方案中的系统引导程序的功能是完成操作系统的逐步导入。在按照本发明设计的系统中,上述引导程序被藏匿到上述系统数据区中,其原本所占用空间被用来存放本发明特有的引导程序。所述特有的引导程序的功能是将本发明所介绍的启动前认证模块PBA导入系统并将其执行。
上述PBA模块可以进一步细分为系统度量模块和身份认证模块。
上述系统度量模块的作用是用密码学算法对包括系统固件、CPU序列号、网卡MAC地址码在内的可度量部件的状态进行度量产生当前系统运行环境的特征值。所述特征值将会通过安全协议被送入可信根以确定是否系统的运行环境处于已知的安全状态。
上述身份认证模块的功能是按设计要求从系统界面收集用户身份认证码(密码输入,指纹、语音特征码等),并以安全协议递交给固态盘子系统完成身份认证。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种可信计算系统,其特征在于,包括:至少一个主机系统和至少一个硬盘控制器;
所述主机系统包括:至少一个CPU和一个平台固件;
所述硬盘控制器包括:随机码发生器、只读存储器ROM 、密码算法集运算引擎、一个普通存储空间、一个受密码学算法保护的系统数据存储空间、一个受密码学算法保护的用户数据存储空间;
所述密码算法集包含国际标准密码算法集和中国国家标准密码算法集中的至少一个,所述国际标准密码算法集包括国际标准公钥体系加密算法RSA、国际标准散列算法SHA和国际标准分组加密算法AES,所述中国国家标准密码算法集包括中国国家标准公钥体系加密算法SM2、中国国家标准散列算法SM3和中国国家标准分组加密算法SM4;
所述系统数据存储空间含有固态盘子系统固件和保留存储空间,所述保留存储空间用以存放传统硬盘系统中的主引导模块MBR,所述固态盘子系统固件包括固态盘功能模块集和可信根功能模块集;
所述普通存储空间包含系统引导模块,所述系统引导模块用以导入特别启动前认证模块PBA,其中,所述特别启动前认证模块PBA包含系统完整性度量模块PBA_Mes和用户身份认证模块PBA_Auth。
2.根据权利要求1所述的可信计算系统,其特征在于,
所述系统完整性度量模块采用密码学算法对系统中可度量特征进行运算,以得到系统运行环境完整性特征值,所述系统中可度量特征包括系统固件代码、CPU序列号和网卡MAC地址,所述系统运行环境完整性特征值通过安全协议递交给固态盘子系统中的系统完整性确证功能;
所述身份认证模块利用系统中有关接口采集用户身份信息,以安全协议递交给所述固态盘子系统中的身份认证功能,从而确定用户合法身份,及可以开放的访问权限,所述用户身份信包括用户口令密码、指纹识别码和语音特征码。
3.根据权利要求2所述的可信计算系统,其特征在于,
所述固态盘功能模块集实现传统固态盘所要求的各项操作,所述传统固态盘所要求的各项操作包括读、写、数据加密及数据解密;
所述可信根功能模块集实现可信根有关的各项功能,所述可信根有关的各项功能包括:密钥生成功能、可信度量根功能、可信存储根功能、可信报告根功能、产生系统独特系统标识和可信根接口功能。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910208445.1A CN109918918B (zh) | 2019-03-19 | 2019-03-19 | 一种基于固态盘主控的可信计算系统实现方案 |
US17/424,960 US20220092189A1 (en) | 2019-03-19 | 2020-03-17 | Implementation of Trusted Computing System Based on Master Controller of Solid-State Drive |
PCT/CN2020/079740 WO2020187206A1 (zh) | 2019-03-19 | 2020-03-17 | 一种基于固态盘主控的可信计算系统实现方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910208445.1A CN109918918B (zh) | 2019-03-19 | 2019-03-19 | 一种基于固态盘主控的可信计算系统实现方案 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918918A CN109918918A (zh) | 2019-06-21 |
CN109918918B true CN109918918B (zh) | 2021-04-23 |
Family
ID=66965609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910208445.1A Active CN109918918B (zh) | 2019-03-19 | 2019-03-19 | 一种基于固态盘主控的可信计算系统实现方案 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220092189A1 (zh) |
CN (1) | CN109918918B (zh) |
WO (1) | WO2020187206A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918918B (zh) * | 2019-03-19 | 2021-04-23 | 联芸科技(杭州)有限公司 | 一种基于固态盘主控的可信计算系统实现方案 |
CN113642050B (zh) * | 2021-10-13 | 2022-02-08 | 联芸科技(杭州)有限公司 | 自配置加密硬盘及其配置方法、系统及系统的启动方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201408535Y (zh) * | 2009-05-11 | 2010-02-17 | 方正科技集团苏州制造有限公司 | 面向可信计算密码支撑平台的可信硬盘 |
CN102279914A (zh) * | 2011-07-13 | 2011-12-14 | 中国人民解放军海军计算技术研究所 | 一种uefi可信支撑系统及其控制方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN106991061A (zh) * | 2017-03-31 | 2017-07-28 | 山东超越数控电子有限公司 | 一种sata硬盘密码模块及其工作方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2378272A (en) * | 2001-07-31 | 2003-02-05 | Hewlett Packard Co | Method and apparatus for locking an application within a trusted environment |
CN101488177A (zh) * | 2009-03-02 | 2009-07-22 | 中国航天科工集团第二研究院七○六所 | 一种基于bios的计算机安全控制系统和方法 |
US8452954B2 (en) * | 2010-04-08 | 2013-05-28 | Intel Corporation | Methods and systems to bind a device to a computer system |
CN102650944A (zh) * | 2011-02-28 | 2012-08-29 | 国民技术股份有限公司 | 一种操作系统安全引导装置及引导方法 |
CN102262599B (zh) * | 2011-09-02 | 2013-11-20 | 江苏博智软件科技有限公司 | 一种基于可信根的移动硬盘指纹认证方法 |
KR20150101683A (ko) * | 2014-02-27 | 2015-09-04 | 삼성전자주식회사 | 자기 암호화 드라이브 및 그것을 포함한 유저 장치 |
CN109255231A (zh) * | 2018-09-28 | 2019-01-22 | 山东超越数控电子股份有限公司 | 一种基于可信计算的加密硬盘密钥保护系统及方法 |
CN109918918B (zh) * | 2019-03-19 | 2021-04-23 | 联芸科技(杭州)有限公司 | 一种基于固态盘主控的可信计算系统实现方案 |
-
2019
- 2019-03-19 CN CN201910208445.1A patent/CN109918918B/zh active Active
-
2020
- 2020-03-17 WO PCT/CN2020/079740 patent/WO2020187206A1/zh active Application Filing
- 2020-03-17 US US17/424,960 patent/US20220092189A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201408535Y (zh) * | 2009-05-11 | 2010-02-17 | 方正科技集团苏州制造有限公司 | 面向可信计算密码支撑平台的可信硬盘 |
CN102279914A (zh) * | 2011-07-13 | 2011-12-14 | 中国人民解放军海军计算技术研究所 | 一种uefi可信支撑系统及其控制方法 |
CN102332070A (zh) * | 2011-09-30 | 2012-01-25 | 中国人民解放军海军计算技术研究所 | 一种可信计算平台的信任链传递方法 |
CN106991061A (zh) * | 2017-03-31 | 2017-07-28 | 山东超越数控电子有限公司 | 一种sata硬盘密码模块及其工作方法 |
Non-Patent Citations (1)
Title |
---|
可信硬件平台的设计与实现;郭灵儿 等;《计算机工程与设计》;20110228;第32卷(第2期);第501-504页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020187206A1 (zh) | 2020-09-24 |
CN109918918A (zh) | 2019-06-21 |
US20220092189A1 (en) | 2022-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US7421588B2 (en) | Apparatus, system, and method for sealing a data repository to a trusted computing platform | |
US7962738B2 (en) | Hypervisor runtime integrity support | |
EP2798559B1 (en) | Methods and apparatus for trusted boot optimization | |
US7318150B2 (en) | System and method to support platform firmware as a trusted process | |
US20180039782A1 (en) | Anti-theft in firmware | |
US7900252B2 (en) | Method and apparatus for managing shared passwords on a multi-user computer | |
US8201239B2 (en) | Extensible pre-boot authentication | |
EP3125149B1 (en) | Systems and methods for securely booting a computer with a trusted processing module | |
US8332604B2 (en) | Methods to securely bind an encryption key to a storage device | |
KR20160146955A (ko) | 인증된 변수의 관리 | |
US11354417B2 (en) | Enhanced secure boot | |
CN105718806A (zh) | 一种基于国产bmc和tpm2.0实现可信主动度量的方法 | |
CN109918918B (zh) | 一种基于固态盘主控的可信计算系统实现方案 | |
US20210026964A1 (en) | System and Method to Inhibit Firmware Downgrade | |
JP2008160325A (ja) | リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ | |
Gross et al. | Enhancing the Security of FPGA-SoCs via the Usage of ARM TrustZone and a Hybrid-TPM | |
TWI773146B (zh) | 計算裝置及包含有用於經授權應用程式所作bios動作請求之指令的非暫時性有形電腦可讀媒體 | |
US20230114687A1 (en) | Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof | |
Kushwaha | A trusted bootstrapping scheme using usb key based on uefi | |
Kun et al. | A solution to make trusted execution environment more trustworthy | |
Zhao | Authentication and Data Protection under Strong Adversarial Model | |
Muñoz-Gallego et al. | A survey on the (in) security of trusted execution environments | |
CN115879064A (zh) | 一种程序运行方法、装置、处理器、芯片及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310053 room c1-604, building C, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Patentee after: Lianyun Technology (Hangzhou) Co.,Ltd. Address before: 310053 room c1-604, building C, spotlight center, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Patentee before: MAXIO TECHNOLOGY (HANGZHOU) Ltd. |