到瞬态、非持久性存储电路中的文件系统的验证和安装
背景技术:
1.各种实施例的方面涉及文件系统的验证和安装。基于处理器的系统可使用存储在基于处理器的系统上的固件来进行引导。启动(boot up)过程可以用基本输入/输出系统(bios)固件来实现。有时,需要更新该固件以适应新的特征或包括新硬件和软件部件的其他变化。
技术实现要素:
2.各种示例实施例针对诸如以上所提到的那些或其他问题之类的问题,其可以从以下关于文件系统的验证和安装的公开变得清楚。对于部署的计算设备,可能出现如下担忧:计算设备的文件系统可能被损害并且系统文件可能被破坏或修改,并且外来的软件或固件可能被未授权个体添加到系统。
3.本文描述的各种示例实施例包括用于通过将文件系统抽象(abstract)为加密的和密码签名的部件来减轻这样的文件系统的破坏的风险的系统、设备和方法。可以创建诸如基于随机存取存储器(ram)的非持久性文件系统之类的非持久性文件系统。在文件系统的引导时间期间,文件系统的操作系统、软件和固件可以是未加密的,并且可以验证在密码签名的部件上使用的签名以验证此类部件的真实性。在验证之后,将操作系统、软件和固件安装到非持久性(例如,ram)文件系统中。因此,这里描述的各种示例实施例确保在文件系统上运行的固件是被授权的,并且这样的实施例减轻了文件系统篡改的风险。基于非持久性的文件系统可以确保由于其瞬态和非持久性的性质而在下一引导周期期间将清除无意或暗中添加的文件。
4.根据本公开的示例实施例,通过将文件系统抽象为具有密码签名的部件的加密文件,可以减轻遭受对文件系统的未授权改变的损害的电路平台的安全漏洞(security breach)。文件系统可以具有诸如用于操作系统的指令代码之类的数据。在操作系统的引导时间期间,可以通过验证与文件系统相关联的并且特别是涉及(即,关于)签名的部件的签名来访问和使用操作系统的未加密版本,因为签名被用于对已签名的部件进行签名。响应于签名的验证,文件系统可以被安装到瞬态、非持久性的存储电路中。这样,操作系统可以在经由(即,基于)验证的签名的授权下经由中央处理单元(cpu)电路执行指令代码。换句话说,签名的验证可以授权操作系统来执行指令代码。
5.在一个更具体的示例实施例中,用于验证文件系统的系统包括包括cpu电路的处理器并且还包括存储器电路。在这样的示例实施例中,存储器电路包括指令,当由处理器执行时,所述指令使处理器在具有指令代码或其他数据的文件系统的引导时间期间,以加载的最小数量的模块(例如,小于全功能操作系统所需的模块的数量)来引导瞬态、非持久性存储电路。一旦该瞬态、非持久性存储电路引导,处理器就可以执行存储在存储器电路中的指令以读取和验证文件系统的签名。响应于文件系统的验证(即,文件系统的签名的验证),处理器将文件系统的包安装到瞬态、非持久性存储电路中,并且文件系统的包被加密。响应于文件系统包的安装,解密并加载文件系统的配置和运行状态文件。
6.在另一具体示例实施例中,可通过存储包括cpu电路的处理器可执行的指令的非瞬态计算机可读介质来减轻遭受对文件系统的未授权改变的损害的电路平台的安全漏洞。在这样的示例实施例中,文件系统包括用于操作系统的指令代码或其他数据并且由电路平台来存储或代表电路平台来存储。当由处理器执行时,所述指令使处理器将文件系统抽象为具有密码签名的部件的加密文件。在操作系统的引导时间,指令使处理器以加载的最小数量的模块(例如,比完全运转的操作系统所需的模块少的模块)来引导操作系统的内核,并且读取和验证文件系统的签名。响应于文件系统的验证,指令使处理器将文件系统的包安装到瞬态、非持久性存储电路中并且响应于该安装而加密文件系统包。响应于文件系统包的安装,指令使处理器更新该瞬态、非持久性存储电路以包括附加模块来作为全功能操作系统运行。
7.上述讨论不旨在描述本公开的每个实施例或每个实现。下面的附图和详细描述还例示了各种实施例。
附图说明
8.结合附图考虑以下详细描述,可以更完全地理解各种示例实施例,其中:图1是示出了根据本公开的用于文件系统的验证和安装的示例性方法的流程图;图2a是示出了根据本公开的用于文件系统的验证和安装的示例性方法的流程图的一部分;图2b是示出了根据本公开的用于文件系统的验证和安装的示例性方法的流程图的另一部分;以及图3是示出了根据本公开的用于文件系统的验证和安装的示例性系统的框图。
9.虽然本文所讨论的各种实施例可修改为修改和替代形式,但其方面已通过附图中的示例示出并将被详细描述。然而,应当理解,意图不是将本公开限制于所描述的特定实施例。相反,意图将涵盖落入包括权利要求中限定的方面的本公开的范围内的所有修改、等同物和替代方案。此外,如贯穿本申请使用的术语“示例”仅是说明性的,并且不是限制性的。
具体实施方式
10.一种用于获得对从远程位置传输的媒体内容的未授权访问的方法是替换用于远程访问媒体内容的设备中的固件或软件,诸如电缆调制解调器中的固件或软件。这可以通过找到开发或诊断后门或者通过替换或重新编程存储固件或软件映像的非易失性存储器芯片来完成。虽然下载固件用于更新或其他目的安全方法,诸如来自多系统运营商(mso)的那些,可用于远程供应,但是固件或软件的完整性通常在安装之后不被检查。因此,黑客有可能用未授权的代码去替换安装在系统上的固件,从而使黑客能够控制被损害的系统的行为。
11.各种类型的媒体递送系统或功率管理系统可能面对黑客用未经授权的代码替换安装在系统上的固件的该威胁。例如,黑客可能还能够替换用于访问来自互联网协议电视(iptv)系统或其他类型的媒体递送系统或功率管理系统的媒体内容的设备中的固件或软件。对于部署的计算设备,计算设备的文件系统可能被损害并且系统文件可能被破坏或以其他方式修改,并且外来的软件或固件可以被未授权的个体添加。这种被破坏的、修改的或
外来的代码可能更改计算设备的操作或者否则导致计算设备的不适当操作。因此,希望提供一种解决方案,由此可以防止或减少这种欺诈性访问。
12.相信本公开的方面适用于涉及文件系统的验证和安装的各种不同类型的装置、系统和方法。在某些实现中,本公开的方面已经被示出为当在减轻来自被破坏的和/或修改的以及由未授权个体添加到计算设备的文件系统的外来软件和/或固件的对部署的计算设备的损害的风险的上下文中使用时是有益的。尽管不一定如此限制,但是通过对使用示例性上下文的非限制性示例的以下讨论可以理解各个方面。
13.随着越来越多的应用和服务在诸如因特网之类的网络上变得可用,越来越多的内容、应用和/或服务提供者转向诸如云计算之类的技术。通常,云计算是通过诸如web服务之类的服务提供对电子资源的访问的方法,其中,用于支持那些服务的硬件和/或软件是可动态缩放的,以在任何给定时间满足服务的需要。用户或客户通常将租借、租用或以其他方式支付通过云的对资源的访问,并且因此不必购买和维护所需的硬件和/或软件。
14.在一些情况下,用户可能想要专用硬件或对特定硬件资源的完全访问。然而,这样的访问伴随着对那些资源的提供者的风险一起发生,因为在云或其他共享环境中,通常将存在在各个时间共享那些资源的其他用户,并且一个用户对资源的修改可能潜在地对后续用户有害。确保一个用户不以将影响其他用户的不适当方式,诸如通过更改固件以注入恶意代码,来更改硬件配置、固件或软件可以是有用的。
15.对于部署的产品,存在安全问题,由此平台可以被损害并且系统文件可能被破坏和/或修改,并且外来的软件和/或固件可能被欺诈执行者添加到系统。减轻这种风险的一些解决方案包括扫描静态驱动器上的安装的文件并验证它们在安装之后没有被更改。如果检测到差异,则重新安装固件。其他解决方案包括扫描每个文件并生成散列或校验和,以及对照散列或校验和的安全文件交叉引用散列或校验和。这些方法中的每一种都非常耗时并且可以显著增加引导时间。另外,利用这样的解决方案,必须安全地管理散列表,这提供了实现的一系列的复杂性并且最小化了文件灵活性。此外,这样的解决方案不标识被放置到操作系统中的欺诈插件文件,其通常将跨重新引导而持续。
16.根据本公开的各种实施例,可以保护部署的设备上的文件系统免受未经授权的文件系统更改。如这里所述,为了减轻这种风险,文件系统可以首先被抽象成加密和密码签名的部件。其次,根据这样的示例实施例,创建基于非持久性ram的文件系统。在引导时间期间,系统操作系统、软件和固件未被加密并且签名被验证。在验证之后,操作系统、软件和固件被安装到ram文件系统中。这确保了在单板上运行的固件是被授权的并减轻了文件系统篡改的风险。基于ram的文件系统可以确保被无意或暗中添加的文件将在下一引导周期期间被清除。
17.本公开的示例可以用在应用上,其中,在每次重新引导时验证和重新安装原始代码将是有利的,诸如对于远程部署的系统可能是这种情况。另外,本公开的示例提供了添加的安全潜力(security potential)层,连同在引导时的性能增益。被更改或添加的文件将被刷新(例如,清理)并且外来的文件将在下一个系统重置或引导周期期间被清除。
18.本公开的实施例最小化了在启动时扫描每个文件的资源使用并且允许系统级指令在文件系统上一直保持加密,这保护了系统免受物理攻击向量(诸如从板上提取闪存以及在外部闪存读取器上读取)。另外,本公开的实施例在引导时提供性能增益并且在系统重
新引导期间自动清除欺诈文件。
19.因此,在以下描述中,阐述各种具体细节以描述本文呈现的具体示例。然而,对于本领域技术人员来说清楚的是,可以在没有下面给出的所有具体细节的情况下实践一个或多个其他示例和/或这些示例的变型。在其他情况下,没有详细描述公知的特征,以免模糊对本文的示例的描述。为了便于说明,在不同的图中可以使用相同的参考数字来指代相同的元素或相同元素的附加实例。此外,尽管在一些情况下可以在个体附图中描述方面和特征,但是应当理解,来自一个附图或实施例的特征可以与另一附图或实施例的特征组合,即使该组合未被明确示出或明确描述为组合。
20.根据各种示例实施例,用于减轻遭受对文件系统的未授权改变的损害的诸如计算设备之类的电路平台的安全漏洞的方法包括将文件系统抽象成具有密码签名的部件的加密文件。如这里所描述的,文件系统可以具有用于操作系统的指令代码或其他数据,文件系统由电路平台来存储或代表电路平台来存储以便由电路平台使用。在操作系统的引导时间期间,可通过关于签名的部件验证与文件系统相关联的签名来访问和使用操作系统的未加密版本。响应于验证签名,文件系统可以被安装到瞬态、非持久性的存储电路中,瞬态、非持久性的存储电路诸如是基于ram的存储电路。因此,操作系统可以在经由验证签名的授权下经由cpu电路来执行指令代码。
21.在一些示例实施例中,瞬态、非持久性存储电路可以使用检错算法和密码散列函数之一来执行文件系统的完整性检查。示例性和非限制性完整性检查过程包括例如crc 32、sha
‑
1和md5sum。crc32指的是或包括使用crc32算法来检测源数据和目标数据之间的改变的检错函数。crc32函数将可变长度的串转换为8字符串,该字符串是32位二进制序列的十六进制值的文本表示。类似地,sha
‑
1(安全散列算法1)指的是或包括密码散列函数,该密码散列函数取输入并产生被称为消息摘要的160位(20字节)散列值,被呈现为40个数字(digit)长的十六进制数。此外,md5sum指的是或包括计算和验证128位md5散列的计算机程序。md5散列函数用作文件的紧凑数字指纹,其中,对文件的改变将引起其md5散列改变。
22.瞬态、非持久性(例如,基于ram)存储电路可以通过对文件系统的一部分,诸如文件系统的日志结构(log
‑
structured)部分,进行签名和加密来将文件系统抽象为具有密码签名的部件的加密文件,其中,该部分被配置和布置为与电路平台的闪存部件一起使用。这种日志结构的示例可以包括日志记录闪存文件系统版本2(jffs2)文件系统二进制大对象(blob)。如本文所使用的,jffs2指的是或包括用于与闪存设备一起使用的日志结构文件系统。由于文件系统在瞬态、非持久性存储电路(即,由于是基于ram的)中实现,因此文件系统的实施例确保了在操作系统的随后引导周期期间清除被未授权改变损害的文件或其他数据,诸如代码。
23.在各种示例实施例中,瞬态、非持久性存储电路被配置和布置为在运行时间引导包括二进制应用的内核以读取和验证固件包的签名。在这样的实施例中,二进制应用通过执行诸如椭圆曲线数字签名算法(ecdsa)之类的数字签名算法来读取和验证固件包的签名。响应于验证签名,cpu用附加模块更新瞬态、非持久性存储电路以作为全功能操作系统运行。
24.一旦安装了文件系统包并且操作系统引导,则瞬态、非持久性存储电路就可以使用文件系统的日志结构部分(例如jffs2二进制大对象)来监视文件系统中的简档和配置文
件的改变。这样,瞬态、非持久性存储电路被配置和布置成与文件系统的日志结构部分的闪存文件部件同步。
25.附加的示例实施例涉及一种用于验证文件系统的系统,该系统包括具有cpu电路的处理器,并且该系统还包括具有指令的存储器电路,当由处理器执行该指令时,该指令使处理器执行多个功能。例如,存储器电路可以包括指令,这些指令使得处理器在具有指令代码或其他数据的文件系统的引导时间期间,以加载的最小数量的模块来引导瞬态、非持久性的(例如,基于ram的)存储电路。在一些实施例中,使用主引导加载器来验证和启动文件系统,并且响应于使用主引导加载器来验证和启动文件系统,访问瞬态、非持久性存储电路。存储器电路可以包括指令,所述指令使处理器读取和验证文件系统的签名,并且响应于文件系统的验证,将文件系统的包安装到瞬态、非持久性存储电路中。响应于文件系统包的安装,处理器更新瞬态、非持久性存储电路以包括附加模块来作为全功能操作系统运行。另外,存储器电路可以包括指令,这些指令使处理器加密文件系统的包,并且响应于文件系统包的安装,解密和加载文件系统的配置和运行状态文件。
26.在一些示例实施例中,存储器电路包括指令,当由处理器执行时,所述指令使得处理器在运行时间期间监视文件系统的加载配置和运行状态文件。响应于对加载配置或运行状态文件的改变的标识,存储器电路可以指示处理器更新加密文件系统上的改变的文件。
27.转到附图,图1是示出了根据本公开的用于文件系统的验证和安装的示例性方法的流程图。如图1中所示,该方法在101处开始于将文件系统抽象为具有密码签名的部件的加密文件。如本文所述,在109处,通过对文件系统的日志结构部分进行签名和加密,瞬态、非持久性(例如,基于ram的)存储电路可以将文件系统抽象为具有密码签名的部件的加密文件,文件系统的日志结构部分被配置和布置用于与电路平台的闪存部件一起使用(诸如jffs2文件系统二进制大对象)。
28.在103处,该方法包括验证与文件系统相关联以及关于签名的部件的签名。例如,瞬态、非持久性存储电路可以在运行时引导包括二进制应用的内核以读取和验证固件包的签名。在这样的实施例中,二进制应用通过执行诸如椭圆曲线数字签名算法(ecdsa)之类的数字签名算法来读取和验证固件包的签名(即,验证签名的部件的签名)。在105处,该方法包括将文件系统安装到瞬态、非持久性存储电路中,并且在107处,在经由验证签名的授权下执行指令代码。在一些示例实施例中,该方法包括在113处使瞬态、非持久性存储电路与文件系统的日志结构部分的闪存文件部件同步。
29.图2a是示出了根据本公开的用于文件系统的验证和安装的示例性方法的流程图的一部分。在220处,该方法包括诸如通过自举(bootstrap)加载器(也称为引导加载器)执行自举指令。在计算中,自举加载器指的是或包括在机器启动时运行的第一条(piece)代码,并且其负责加载操作系统的其余部分。自举指令可存储在只读存储器(rom)中。das u
‑
boot(也称为“通用引导加载器”或u
‑
boot)指的是开源、主引导加载器,其在嵌入式设备用于打包指令以引导设备的操作系统内核,并且在一些实施例中,u
‑
boot用作如这里描述的引导加载器。然而,应当理解,可以使用替代的引导加载器,并且因此,这里对使用u
‑
boot的引用仅用于说明性目的。以加载的最小数量的模块引导内核。例如,加载在内核中的模块可以仅是读取和处理包以稍后安装文件系统的其余部分所需的那些模块。在最小数量的模块中的模块可以包括例如闪存驱动器和加密设施。在222处,执行u
‑
boot环境指令。u
‑
boot环
境是指或包括在闪存上u
‑
boot使用的少量空间以存储某些配置参数。u
‑
boot环境包括包含tftp客户端(u
‑
boot的部分)将尝试连接到的tftp服务器的ip地址的值。
30.在224处,执行指令集。更具体地,例如,执行u
‑
boot扁平化映像树(fit)映像指令集(例如二进制大对象)。fit映像格式如比如设备树之类的树结构一样工作,其中,使用映像源文件(.its)和数据文件的集合作为输入,并且生成映像树二进制大对象(.itb)作为输出。在一些实施例中,u
‑
boot
‑
fit映像二进制大对象包括在226处执行内核以及在228处执行ramdisk lempel
‑
ziv
‑
markov链算法(lzma)压缩文件。如这里所使用的,lzma指的是或者包括是用于执行无损数据压缩的算法。lzma使用字典压缩方案并且以高压缩比和可变压缩字典大小(高达4 gb)为特征,而仍然保持与其他压缩算法类似的解压缩速度。应当理解,本文描述的实施例并不局限于使用ramdisk;而是,此外或替代地,可以使用利用系统存储器作为盘驱动器的另一技术。类似地,应当理解,本文所述的实施例不限于lzma链算法;而是,此外或替代地,可以将其他压缩算法用于lzma算法。
31.在224处,可以执行各种完整性检查过程。例如crc 32、sha
‑
1和md5sum。crc32指的是或包括使用crc32算法来检测源数据和目标数据之间的改变的检错函数。crc32函数将可变长度的串转换为8字符串,该字符串是32位二进制序列的十六进制值的文本表示。sha
‑
1(安全散列算法1)指的是或包括密码散列函数,该密码散列函数取输入并产生被称为消息摘要的160位(20字节)散列值——通常被呈现为十六进制数,40个数字长。并且,md5sum指的是或包括计算和验证128位md5散列的计算机程序,如rfc 1321 中描述的。md5散列函数用作文件的紧凑数字指纹,并且md5sum用于验证文件的完成性,因为对文件的改变将引起其md5散列改变。
32.在230处,执行jffs2文件系统二进制大对象。jffs2文件系统二进制大对象指的是或包括用于与闪存设备一起使用的日志结构的文件系统指令的集合。在230处,如本文所述,对可以包括操作系统、软件和固件的一个或多个包232以及文件系统的配置数据234进行签名和加密。例如,使用landis gyr包(签名的)(lgps)或一些其他签名技术来对包232进行签名。如关于图2b所讨论的,签名和加密的文件与文件监视器同步。
33.图2b是示出了根据本公开的用于文件系统的验证和安装的示例性方法的流程图的另一部分。如关于图2a所示出和讨论的,签名和加密的文件与文件监视器同步。如图2b中所示,该方法在236处以计算设备的上电继续。在238处,自举指令(例如,u
‑
boot)以加载的最小数量的模块验证并启动内核。在240处,内核访问瞬态、非持久性存储电路(例如,ramdisk)。在242处,生成加密密钥,并且在244处,读取并验证包232。如这里所述,作为该ramdisk的部分的二进制应用可以利用ecdsa来读取和验证文件系统包的签名。一旦签名已经被验证,则在246处,文件系统包被一次一个地安装到ramdisk 252中,因此确保文件系统的完整性。
34.在安装文件系统包的过程中,在250处,更新内核以包括附加模块来使内核能够作为全功能操作系统运行。附加模块可以包括例如联网和通信模块以及提供操作系统所需的其他模块。当安装的文件系统启动时,如果配置和运行状态文件在248处可用,则文件系统将解密并加载它们。当应用正在运行时,在254,文件监视器可以监视配置和运行状态文件。当这些文件改变时,在加密文件系统上更新文件以跨系统重新引导来保持它们是最新的和持久的。该机制提供了可修改文件跨重新引导周期的持久性,从而给出标准文件系统的感
觉(feel),同时提供文件验证和对文件的完整性检查。
35.图3是示出了根据本公开的用于文件系统的验证和安装的示例性系统的框图。该系统促进经由计算机系统(例如,一个或多个云计算系统、网格计算系统、虚拟化计算机系统、大型计算机、服务器、客户端、节点、台式机、诸如智能电话、蜂窝电话、平板计算机、个人数字助理(pda)和/或诸如此类的移动设备、嵌入式计算机、专用计算机、片上系统(soc))的文件系统的验证和安装。例如,系统可以接收、获得、聚合、处理、生成、存储、检索、发送、删除、输入、输出和/或诸如此类数据(包括程序数据和程序指令);可以执行程序指令;并且可以与计算机系统、节点、用户和/或诸如此类通信。在各种实施例中,系统可以包括独立计算机系统、分布式计算机系统、计算机网络(即,以拓扑组织的计算机系统的网络)中的节点和/或诸如此类。应当理解,可以以任何数量的方式(即,使用任何数量和配置的计算机系统、计算机网络、节点、系统元件和/或诸如此类)来组织系统和/或各种系统元件(例如,处理器、系统总线、存储器、输入/输出设备)来验证和安装根据本公开的文件系统。
36.系统包括执行程序指令(例如,系统程序指令)的处理器201。处理器可以使用集成电路(ic)、专用集成电路(asic)、现场可编程门阵列(fpga)和/或诸如此类来实现。处理器可以经由系统总线203连接到系统存储器205。系统总线可以经由电、电子、光学、无线和/或诸如此类的通信链路互连系统的这些和/或其他元件。在各种实施例中,系统总线可以包括一个或多个控制总线、地址总线、数据总线、存储器总线、外围总线和/或诸如此类。处理器可以根据由处理器执行的程序指令访问、从其读取、向其写入、在其中存储、擦除、修改和/或诸如此类系统存储器。系统存储器可促进处理器访问、存储、检索、修改、删除和/或诸如此类数据。
37.在各种实施例中,输入/输出设备210可以连接到处理器和/或连接到系统存储器,和/或经由系统总线彼此连接。在一些实施例中,输入/输出设备可包括一个或多个图形设备211。处理器可以根据由处理器执行的程序指令(例如,系统程序指令)来利用一个或多个图形设备。图形设备可以是分立的、外部的、嵌入式的、集成到cpu中的和/或诸如此类。图形设备可与其他图形设备组合(例如,并行)地操作以提供改进的能力、数据吞吐量、颜色深度和/或诸如此类。
38.在一些实施例中,输入/输出设备可以包括一个或多个音频设备213。处理器可以根据由处理器执行的程序指令(例如,系统程序指令)来利用一个或多个音频设备。在一个实现中,音频设备可以是声卡,其可以获得(例如,经由连接的麦克风)、处理、输出(例如,经由连接的扬声器)和/或诸如此类音频数据(例如,系统数据)。音频设备可以是分立的、外部的、嵌入式的、集成到主板中的和/或诸如此类。音频设备可以与其他音频设备组合(例如,并行)地操作以提供改进的能力、数据吞吐量、音频质量和/或诸如此类。
39.在一些实施例中,输入/输出设备可以包括一个或多个网络设备215。处理器可以根据由处理器执行的程序指令(例如,系统程序指令)来利用一个或多个网络设备。在一个实现中,网络设备可以是网卡,其可以获得、处理、输出和/或诸如此类网络数据(例如,系统数据)。网络设备可以是分立的、外部的、嵌入式的、集成到主板中的和/或诸如此类。网络设备可以与其他网络设备组合(例如,并行)地操作,以提供改进的数据吞吐量、冗余性和/或诸如此类。在一些实施例中,输入/输出设备可以包括一个或多个存储设备219。处理器可以根据由处理器执行的程序指令(例如,系统程序指令)访问、从其读取、向其写入、在其中存
储、擦除、修改和/或诸如此类存储设备。存储设备可以促进处理器访问、存储、检索、修改、删除和/或诸如此类数据(例如,系统数据)。在一个实现中,处理器可以经由系统总线直接从存储设备访问数据。在另一实现中,处理器可以通过指示存储设备将数据传送到系统存储器并从系统存储器访问数据来从存储设备访问数据。
40.存储设备219可以是分立的、外部的、嵌入式的、集成的(例如,集成到主板中、集成到另一存储设备中)和/或诸如此类。存储设备219可以与其他存储设备组合地操作,以提供改进的容量、数据吞吐量、数据冗余和/或诸如此类。系统存储器205和一个或多个存储设备219一起和/或分开地可以被称为存储器220(即,物理存储器)。
41.系统存储器220包含处理器可操作(例如,可访问)的系统数据存储230。数据存储230包括可经由系统使用(例如,由系统使用)的数据。可以使用一种或多种数据格式来组织这样的数据,所述数据格式诸如是数据库(例如,具有数据库表的关系数据库、面向对象的数据库、图形数据库、层级数据库)、平面文件(例如,组织成表格格式)、二进制文件(例如,gif文件、mpeg
‑
4文件)、结构化文件(例如,html文件、xml文件)、文本文件和/或诸如此类。数据存储230可以包括非瞬态机器可读介质,其存储可由处理器201执行的指令,以执行与改进的房地产(real
‑
estate)用户接口的生成和显示相关的指定功能,如本文所讨论的。因此,相应数据存储230a
‑
230c中的每一个包括编程指令,当由处理器201执行时,所述编程指令提供根据本公开的文件系统的验证和安装。
42.例如,数据存储230可以包括编程指令,当由处理器201执行时,该编程指令减轻遭受对文件系统的未授权改变的损害的电路平台的安全漏洞,该文件系统具有用于操作系统的指令代码或其他数据并且由电路平台或代表电路平台来存储。数据存储230可以包括编程指令,当由处理器201执行时,所述编程指令使处理器201将文件系统抽象为具有密码签名的部件的加密文件,并且在操作系统的引导时间,以加载的最小数量的模块来引导操作系统的内核。数据存储230还可以包括编程指令,当由处理器201执行时,该编程指令读取并验证文件系统的签名,并将文件系统的包安装到瞬态、非持久性存储电路中。响应于文件系统包的安装,处理器201可以加密文件系统包,并且响应于文件系统包的安装,处理器201可以更新该瞬态、非持久性存储电路以包括附加模块来作为全功能操作系统运行。
43.如本文所讨论的,数据存储230可以包括编程指令,当由处理器201执行时,所述编程指令使处理器使用主引导加载器来验证和启动内核,并且响应于内核的验证和启动来访问瞬态、非持久性存储电路。响应于文件系统包的安装,处理器201可以解密和加载操作系统的配置和运行状态文件。在运行时间期间,处理器201可以监视操作系统的加载配置和运行状态文件,并且响应于对加载配置或运行状态文件的改变的标识,处理器201可以更新加密文件系统上的改变的加载配置或运行状态文件。
44.此外,数据存储230可以包括编程指令,当由处理器201执行时,所述编程指令使处理器使用瞬态、非持久性存储电路生成加密密钥,并且使用所生成的加密密钥来验证文件系统。响应于文件系统包的安装,处理器201可以解密和加载操作系统的配置和运行状态文件,如本文所讨论的。
45.本领域技术人员应当认识,说明书(包括权利要求书)中使用的各种术语意味着本领域的普通含义,除非另有说明。作为示例,本说明书通过各种电路或线路描述和/或示出了对实现所要求保护的公开有用的方面,这些电路或线路可以被示出为块、模块、设备、系
统、单元、控制器和/或其他电路类型描绘(例如,图2的参考数字201、203、205、219、220和239描绘了如本文所描述的块或模块)或使用诸如块、模块、设备、系统、单元、控制器和/或其他电路类型描绘(例如,图2的参考数字201、203、205、219、220和239描绘了如本文所描述的块或模块)的术语。这样的电路或线路可以与其他元件一起使用,以举例说明某些实施例可以如何以形式或结构、步骤、功能、操作、活动等来执行。例如,在某些上述实施例中,一个或多个模块是被配置和布置用于实现这些操作的分立逻辑电路或可编程逻辑电路,这些操作如可以在图2a和2b中所示的方法中执行。在某些实施例中,这种可编程电路是一个或多个计算机电路,包括用于存储和访问程序的存储器电路,该程序将作为指令的集合(或多个集合)被执行(和/或将被用作配置数据以定义可编程电路将如何执行),并且如关于图1、2a和2b所描述的算法或过程被可编程电路用来执行相关的步骤、功能、操作、活动等。取决于应用,指令(和/或配置数据)可以被配置用于在逻辑电路中实现,其中,指令(无论以目标代码、固件还是软件的形式来表征)存储在存储器(电路)中并且可从存储器(电路)访问。作为另一示例,在本说明书可以引用“第一[结构的类型]”、“第二[结构的类型]”等的情况下,其中[结构的类型]可能用诸如[“电路”、“线路”以及其他]之类的术语来代替,形容词“第一”和“第二”并不用于表示结构的任何描述或提供任何实质的含义;而是,这样的形容词仅用于英语语言的前缀(antecedence),以将一个这样的类似命名的结构与另一个类似命名的结构区分开(例如,“被配置为转换
……
的第一电路”被解释为“被配置为转换
……
的电路”)。
[0046]
基于以上讨论和说明,本领域技术人员将容易地认识到,可以对各种实施例进行各种修改和改变,而不严格遵循本文所说明和描述的示例性实施例和应用。例如,如附图中所例示的方法可以涉及以各种顺序执行的步骤,其中,保留本文实施例的一个或多个方面,或者可以涉及更少或更多的步骤。例如,可以执行比图1、2a和2b中所示的更多或更少的步骤。作为另一示例,图1、2a和2b中所示的步骤可以以与所示顺序不同的顺序来执行。此类修改没有脱离包括权利要求中记载的方面的本公开的各个方面的真实精神和范围。
技术特征:
1.一种用于减轻遭受对文件系统的未授权改变的损害的电路平台的安全漏洞的方法,文件系统具有用于操作系统的数据并且被存储以供电路平台使用,所述方法包括:将文件系统抽象为具有密码签名的部件的加密文件;在操作系统的引导时间期间,通过验证与文件系统相关联并且与密码签名的部件有关的签名来访问和使用操作系统的未加密版本和加密文件;以及响应于验证签名,将文件系统安装到瞬态、非持久性存储电路中;操作系统在基于签名被验证的授权下经由中央处理单元(cpu)电路来执行指令代码。2.根据权利要求1所述的方法,还包括使瞬态、非持久性存储电路使用检错算法和密码散列函数中的至少一个来执行文件系统的完整性检查。3.根据权利要求1所述的方法,其中,瞬态、非持久性存储电路在操作系统的后续引导周期期间清除未授权的改变。4.根据权利要求1所述的方法,包括使瞬态、非持久性存储电路通过对文件系统的日志结构部分进行签名和加密来将文件系统抽象为具有密码签名的部件的加密文件,其中,日志结构部分被配置和布置用于与电路平台的闪存部件一起使用。5.根据权利要求1所述的方法,包括使瞬态、非持久性存储电路在运行时间引导包括二进制应用的内核以读取和验证文件系统的密码签名的部件。6.根据权利要求5所述的方法,其中,二进制应用通过执行数字签名算法来读取和验证文件系统的密码签名的部件。7.根据权利要求1所述的方法,包括使瞬态、非持久性存储电路监视对文件系统中的简档和配置文件的改变。8.根据权利要求7所述的方法,包括使瞬态、非持久性存储电路与文件系统的日志结构部分的闪存文件部件同步。9.根据权利要求1所述的方法,包括使操作系统响应于验证签名来以附加模块更新瞬态、非持久性存储电路,以作为全功能操作系统运行。10.一种用于验证文件系统的系统,所述系统包括:处理器,包括中央处理单元(cpu)电路;以及存储器电路,包括指令,指令在由处理器执行时使处理器:在具有数据的文件系统的引导时间期间,以加载的初始模块的集合引导瞬态、非持久性存储电路;读取并验证文件系统的签名;响应于文件系统的签名的验证,将文件系统的包安装到瞬态、非持久性存储电路中;加密文件系统的包;以及响应于文件系统的包的安装,解密并加载文件系统的配置和运行状态文件。11.根据权利要求10所述的系统,还包括指令,指令在由处理器执行时使处理器:使用椭圆曲线数字签名算法来读取和验证文件系统的签名。12.根据权利要求10所述的系统,还包括指令,指令在由处理器执行时使处理器:在运行时间期间,监视文件系统的加载配置和运行状态文件;以及响应于对加载配置或运行状态文件中的改变的标识,更新由加密文件系统上的改变更新的一个或多个文件。
13.根据权利要求10所述的系统,还包括指令,指令在由处理器执行时使处理器:响应于文件系统的包的安装,更新瞬态、非持久性存储电路以包括附加模块来与加载的初始模块组合以作为全功能操作系统运行。14.根据权利要求10所述的系统,还包括指令,指令在由处理器执行时使处理器:使用主引导加载器来验证和启动文件系统;以及响应于使用主引导加载器验证和启动文件系统,访问瞬态、非持久性存储电路。15.一种存储指令的非瞬态计算机可读介质,用于减轻遭受对文件系统的未授权改变的损害的电路平台的安全漏洞,文件系统具有用于操作系统的数据并且被存储以供电路平台使用,指令在由包括中央处理单元(cpu)电路的处理器执行时使处理器:将文件系统抽象为具有密码签名的部件的加密文件;在操作系统的引导时间,以加载的初始模块的集合来引导操作系统的内核;读取并验证文件系统的签名;响应于文件系统的验证,将文件系统的包安装到瞬态、非持久性存储电路中;响应于文件系统的包的安装,加密文件系统的包;以及响应于文件系统的包的安装,更新瞬态、非持久性存储电路以包括附加模块,以使得操作系统能够作为全功能操作系统运行。16.根据权利要求15所述的非瞬态机器可读介质,还包括指令以:使用主引导加载器来验证和启动内核;响应于内核的验证和启动,访问瞬态、非持久性存储电路;以及响应于文件系统包的安装,解密并加载操作系统的配置和运行状态文件。17.根据权利要求16所述的非瞬态机器可读介质,还包括指令以:在运行时间期间,监视操作系统的加载配置和运行状态文件;以及响应于对加载配置或运行状态文件中的改变的标识,更新受加密文件系统上的改变影响的加载配置或运行状态文件。18.根据权利要求17所述的非瞬态机器可读介质,还包括指令以:使用瞬态、非持久性存储电路生成加密密钥;以及使用所生成的加密密钥来验证文件系统。19.根据权利要求15所述的非瞬态机器可读介质,还包括指令以:响应于文件系统的包的安装,解密并加载操作系统的配置和运行状态文件。20.根据权利要求15所述的非瞬态机器可读介质,还包括指令以:监视操作系统的配置和运行状态文件;以及响应于对加载配置或运行状态文件中的改变的标识,更新受加密文件系统上的改变影响的加载配置或运行状态文件。
技术总结
本公开的某些方面涉及文件系统的验证和安装。一种用于减轻遭受对文件系统的未授权改变的损害的电路平台的安全漏洞的方法包括将文件系统抽象为具有密码签名的部件的加密文件。文件系统可以具有用于操作系统的指令代码或其他数据,并且可以由电路平台来存储或代表电路平台来存储。在操作系统的引导时间期间,可以通过验证与文件系统相关联的签名来访问和使用操作系统的未加密版本和加密文件。响应于验证签名,将文件系统安装到瞬态、非持久性存储电路中。如此,操作系统在基于验证签名的授权下经由中央处理单元(CPU)电路执行指令代码。码。码。
技术研发人员:A
受保护的技术使用者:兰迪斯+盖尔创新有限公司
技术研发日:2019.09.26
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-168.html