CN110337651A - 防黑客计算机设计 - Google Patents

防黑客计算机设计 Download PDF

Info

Publication number
CN110337651A
CN110337651A CN201780002517.6A CN201780002517A CN110337651A CN 110337651 A CN110337651 A CN 110337651A CN 201780002517 A CN201780002517 A CN 201780002517A CN 110337651 A CN110337651 A CN 110337651A
Authority
CN
China
Prior art keywords
subregion
computer
data
cpu
address range
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.)
Pending
Application number
CN201780002517.6A
Other languages
English (en)
Inventor
弗兰克·N·纽曼
丹·纽曼
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.)
Lu'an Co.,Ltd.
Original Assignee
Newman H-R Computer Design 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 Newman H-R Computer Design Co Ltd filed Critical Newman H-R Computer Design Co Ltd
Publication of CN110337651A publication Critical patent/CN110337651A/zh
Pending legal-status Critical Current

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种计算机结构被公开用于实现防黑客计算装置。可以是大型计算机、个人计算机、智能手机或者适用于网络通信的任何其他的计算装置的计算装置包含第一分区和第二分区。第二分区能够通过例如互联网的网络而通信。相比较之下,第一分区不能连接到互联网,并且能够仅仅与第二分区或者直接连接到第一分区的输入/输出装置直接通信。进一步,第一分区分割其存储器寻址用于程序代码并且硬件保护其防止被改动。第二分区被硬件限制不能读取或者写入至第一分区的存储器寻址。结果,存储在第一分区上的关键数据文件和程序代码被保护防御感染第二分区的恶意代码。

Description

防黑客计算机设计
技术领域
公开了一种用于实现防黑客计算装置的计算机结构。
背景技术
潜入计算机的常用方法是通过借助于互联网或者其他的网络连接将恶意的计算机可执行代码(恶意软件)置入计算机。这种入侵已经成为主要的威胁,并且入侵的主要情况已经被广泛报导。阻挠这种入侵的广泛流行的方法依赖于软件来识别和禁用或者删除恶意软件。然而,黑客正在变得越来越富有经验,并且通常的保护是不足够的。
因此,在本领域中具有对利用硬件方法的防黑客计算机系统结构的需要。这种硬件方法将对用于各种应用的各种计算机可用。例如,使用此处公开的硬件方法的银行、公司、政府机构、或者个人将被更好的保护,防御可能企图控制他们的计算机以窃取或者破坏存储在计算机上的机密数据、个人信息、或者密码的黑客。此处公开的硬件方法保护防御黑客至利用当前的解决方案不可能达到的程度。
发明内容
用于实现防黑客计算装置的计算机系统结构被公开。计算机系统结构通过限制关键数据文件对互联网的直接访问的硬件,来防止从互联网接收的恶意计算机可执行代码访问或者感染关键数据文件。可以是大型计算机,个人计算机,智能手机,或者适用于网络通信的任何其他的计算装置的计算装置包含第一分区和第二分区。第二分区能够通过例如互联网的网络而通信。相比之下,第一分区能够直接与第二分区或者与直接连接到第一分区的输入/输出装置通信。结果,第一分区被硬件限制不能连接到互联网以及任何其他的装置,例如连接到互联网的服务器。由第一分区对互联网的所有访问受限于第一分区和相反能够连接到互联网的第二分区之间的硬件连接。
进一步,第一分区包括利用操作系统将第一分区的存储地址分割成部分的硬件电路。用于程序代码的存储器寻址被分割并且被硬件保护防止改动,用于程序代码的存储器寻址包含计算机可执行代码和相关的非常关键的数据。本方法也能够受到第一分区中分立的存储单元的使用的影响。为了保护关键数据文件,第二分区被硬件限制不能从第一分区的存储器寻址读取或者向第一分区的存储器寻址写入。来自第二分区的数据通过由第一分区的操作系统执行的“拉取”命令而被传送至第一分区。进一步,第二分区不能够将数据“推送”至第一分区或者控制第一分区发送“拉取”命令。通过硬件设计,由第一分区从第二分区拉取的所有数据被存储在专门用于从第二分区读取的数据文件的第一分区的存储器部分中。进一步,通过硬件限制,第一分区防止从第二分区读取的数据文件被执行。结果,存储在第一分区上的关键程序和关键数据文件被保护,防御来自互联网或者来自任何其他来源的感染第二分区的恶意代码。
附图说明
将引用附图进行详细的说明,其中:
图1示出了示例性的网络图;
图2A是描绘根据本文的各个实施例的用于实现防黑客计算装置的计算机系统结构的框图;
图2B是描绘根据本文的各个实施例的用于实现防黑客计算装置的计算机系统结构的框图;
图2C是描绘根据本文的各个实施例的计算机系统结构的框图;
图3A描绘了根据优选实施例的计算装置的存储器寻址;
图3B描绘了根据优选实施例的计算装置的存储器寻址;
图4是描绘根据优选实施例的进程的流程图;
图5是描绘了适合于与利用现有计算机结构的计算装置一起使用的实施例的框图;
图6A是描绘适合于与利用现有计算机结构的计算装置一起使用的软件实施例的框图。
图6B是描绘适合于与利用现有计算机结构的计算装置一起使用的软件实施例的框图。
图7是说明在计算装置上实现虚拟分区的实施例的框图。
其他的目的,特征,和特性,以及操作的方法和结构的相关元件的功能和部件的组合在考虑了以下参考附图的详细说明后将变得更加显而易见,以上所有构成本说明书的一部分。
具体实施方式
本文公开了详细的说明性的实施例。然而,根据公开的原理的技术、方法、进程、系统和操作结构可以以各式各样的形式和方式被具体化,其中的一些可以完全不同于被公开的实施例中的那些。因此,本文公开的具体的结构上的和功能上的细节仅仅是代表性的,然而在这方面,它们被认为出于公开目的提供了最好的实施例。
除非上下文另有明确要求,遍及说明书和权利要求书的词语“包含”、“包括”等等将以包容性的意义被解释,与排外的或者详尽无遗的意义相反;也就是说,以“包括,但不限于”的意义。当在此处被使用时,术语“连接”“藕合”或者其任意变体,意味着两个或以上的元件之间直接的或者间接的电子的或以其他方式的任意的连接或者藕合;元件之间的连接的耦合可以是物理上的、逻辑上的、或者其结合。此外,单词“此处”,“以上”,“以下”以及类似含义的词语,当在本申请中被使用时,应该指的是作为一个整体的本申请而非本申请的任意特定部分。上下文允许之处,使用单数或者复数的详细说明中的词语也可以分别包括复数或者单数含义。关于一列两个或以上的项,词语“或者”包括该词语的所有以下解释:列表中的任意项,列表中的所有项,以及列表中项的任意组合。以下参考图呈现详细说明。
首先参考图1,示出的是防黑客计算装置的示例性的网络图。计算装置300能够包含任意大规模的商业或者政府计算机或者“主机”,一组联合操作的连接在一起的计算机、单个个人计算机(Personal Computer,PC)或者移动通信装置,移动通信装置包括但不限于移动电话、蜂窝电话、智能电话、便携计算机、上网本、个人数字助理(Personal DigitalAssistant,PDA),家用电器、家庭的或者商业的建筑控制器、或者适用于网络通信的任何其他的计算装置。计算装置300包含第一分区100和第二分区200。第一分区100被直接与例如键盘、数据存储驱动器、打印机等等的输入/输出装置互连。在用于大规模使用的实施例中,通过直接的硬线,第一分区能够被连接至处于计算装置的用户的控制下的物理位置的较小的计算机或者PC。在该实施例中,用户能够禁用较小计算机或者PC的任意形式的互联网连接,包括电线、电缆、或者Wi-Fi。第二分区200通过网络500与终端600通信。如以下参考图2A详细描述的那样,第一分区100能够使用总线直接与第二分区200的通信,但是第一分区100与网络500的通信被硬件限制。在优选实施例中,第一分区的CPU能够直接访问第二分区的存储器和第二分区的CPU,但是第二分区的CPU对第一分区的存储器和第一分区的CPU的访问被硬件限制。例如,第二分区的CPU被耦合至总线的接口。该接口是包含物理线路的物理端口,该物理线路用于使第一分区的CPU与第二分区的CPU和存储器互连。然而,在一些实施例中,该接口不包括用于第二分区的CPU访问第一分区的存储器或者第一分区的CPU的物理线路。
网络500可以是局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、互联网、蜂窝网络、卫星网络、上述的结合、或者允许向计算装置300的数据的传送和/或来自计算装置300的数据的接收的任意其他的网络。通过网络500从终端600被发送到计算装置300或者从计算装置300被发送到终端600的数据能够利用标准通信协议或者标准网络协议而被发送和/或接收。在优选实施例中,系统利用传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)并且网络500是互联网和/或内联网。用于发送和/或接收数据的协议的其他实例包括但不限于网络电话(VoiceOver IP,VOIP)协议、短消息服务(Short Message Service,SMS)、蓝牙无线传输、以及全球移动通信系统(Global System for Mobile Communications,GSM)。网络500能够利用计算装置300和终端600的至少一个协议。此外,网络500能够将其他的协议转换为终端600的至少一个协议,也能够将终端600的至少一个协议转换为其他的协议。在一些情况下,第二分区200暴露在试图访问或者感染存储在计算装置300上的关键数据文件的恶意计算机可执行代码下。如下参考图2A和3A所述,优选实施例防止这种恶意软件访问或者感染第一分区100的关键数据文件和存储器。
现在参考图2A,示出的是描绘用于实现计算装置300的计算机系统结构的框图,该计算装置300被硬件保护防止感染来自互联网和来自能够通过网络500通信的任意其他来源的恶意计算机可执行代码。计算装置300包含第一分区100。第一分区100包含与第一分区总线102互连的计算机处理单元(Computer Processing Unit,CPU)104。第一分区存储器106通过第一分区总线102与CPU 104互连。如上参考图1所述,第一分区100通过输入/输出模块110与至少一个输入/输出装置互连。在优选实施例中,分区100进一步包含数据存储器107和108。关键数据文件被存储在存储器106和/或数据存储器107上。数据存储器108由第一分区用来存储其他的数据,包括来自第二分区200的已经被处理的数据。第一分区100包括用于执行计算机可执行代码的操作系统。如以下参考图3A详细描述的那样,CPU 104能够仅仅执行存储在存储器106的程序代码地址范围上的计算机可执行代码。这借助于硬件电路,通过CPU 104(其本身通过本实施例被保护防御恶意软件)的操作系统的控制而实现。目前的计算机系统结构的根本弱点是执行控制常常被移交给通过互联网已到达计算机的恶意计算机可执行代码。本实施例限制从互联网被下载至第二分区的恶意计算机可执行代码的任意执行。
计算装置300进一步包含第二分区200。第二分区200包含与第二分区总线202互连的CPU 204。至少一个存储器206通过第二分区总线202与CPU 204互连。通信模块210允许第二分区200通过网络与终端通信。计算机系统结构进一步包括至少一个数据存储器208。数据存储器208意在用于不被认为是关键性的数据文件的存储。第二分区200包括用于执行计算机可执行代码的操作系统。如以下参考图3A详细描述的那样,CPU 204能够执行来自存储器206的全地址范围和数据存储器208的计算机可执行代码。
如图2A所示,第一分区100通过总线302与第二分区200直接互连。总线302包含多个物理线路,包括控制线304、地址线306、以及数据线308。数据线308携带在分区之间通过总线302被传输的信息。地址线306包含数据的地址和发送数据的地址。最后,控制线304管理地址和数据的传送,包括但不限于,传送的方向。示例性的控制线包括但不限于,读取、写入、时钟、应答和重置。在这样的实施例中,从CPU 104到总线302的控制线是单向的。进一步,从CPU204到总线302的控制线被配置为仅仅接收数据,由此允许CPU 104控制CPU 204,同时CPU 204不能控制CPU 104。如图2A所示,存储器106和数据存储器107和108不直接连接到总线302。因此,CPU 204不能控制第一分区100的存储器。相比之下,第二分区的存储器206和数据存储器208被连接到总线302。在优选实施例中,CPU 104能够利用控制线204、地址线306和数据线308向第二分区200的存储器206的全地址范围和数据存储器208写入。该设计的一个优势是第一分区100有能力恢复已经被恶意计算机可执行代码感染的第二分区200的操作系统和数据文件。此外,CPU 104能够从存储器206的全地址范围和数据存储器208读取数据,但是仅仅通过CPU 104的“读取”命令(拉取)。通过硬件限制,CPU 104不能接受由第二分区200推送至其的任意数据或者其他文件,因为从CPU104至总线302的控制线是单向的。此外,第二分区200不能从第一分区100拉取任意数据,因为CPU 204没有被连接至CPU 104的控制线。进一步,第一分区100的操作系统和支援程序限定CPU 104将从第二分区200接受的数据的格式和其他文件特性。第二分区200向第一分区100提供不是适当预期形式的文件的任何尝试将被CPU 104拒绝。如以下参考图3A详细描述的那样,由CPU 104从第二分区200读取的所有数据文件被写入存储器106的第二分区地址范围和/或数据存储器108。第一分区100被保护防御存储在第二分区200上的任意恶意计算机可执行程序,因为CPU 104仅仅能够执行存储在存储器106的程序代码地址范围上的计算机可执行代码。
图2B描绘了利用存储控制器410来硬件限制第二分区对第一分区的存储器和数据存储器的访问的示例性的方框图。如图所示,第一分区400的CPU 404能够通过总线416直接控制第二分区418的CPU 422、存储器424和数据存储器426。第一分区400包含存储控制器410。存储控制器410管理送至和来自第一分区400的存储器406和数据存储器407和408的数据流。在该实施例中,存储控制器410包含前端412和后端414。前端412被耦合至第一分区总线402和总线416。前端412被硬件配置为忽略具有源于第二分区418的地址的读和写控制线。前端412包含比较器,该比较器比较源地址和存储在只读存储器(Read-only Memory,ROM)或者可擦除可编程只读存储器(Erasable Programmable Read-only Memory,EEPROM)中的地址。ROM或者EEPROM包含被限制不能访问第一分区400的存储器406和数据存储器407和408的装置的地址。前端412将未被限制的请求传给后端414。在该实施例中,后端414将请求发送给存储器406和数据存储器407和408。虽然存储控制器410被示为单独的部件,它也可以与CPU 104集成在一起。
在又一个实施例中,第一分区利用比较器硬件限制由第二分区传递的消息。第一分区包括只读存储器(Read-only memory,ROM),该只读存储器(ROM)包含第二分区的CPU的地址。优选地,ROM是不可改编程的。在该实施例中,第二分区的CPU利用总线通过消息帧发送消息,该消息帧包含目的地址、CPU的地址和作为消息要被发送的数据的字节。示例性的消息是对信息的推送或者拉取请求。第一分区的CPU和第一分区的存储器包括比较器。比较器将通过总线的消息的发送者的地址和ROM进行比较。当发送者的地址匹配ROM中的地址时,比较器发送控制信号以禁止第一分区的CPU和存储器执行消息帧。因此,第一分区的CPU对来自第二分区的CPU的推送命令或者拉取命令的接受被硬件限制。
图2C描绘了利用总线控制器来硬件限制第二分区访问第一分区的示例性的框图。不像利用一般的总线使第一分区和第二分区相互连接的图2A和图2B所示的实施例,总线控制器512管理耦合至总线510的第一分区的部件和耦合至总线510的第二分区的部件之间的请求和数据流。如图所示,第一分区502的CPU504被耦合至总线510,同时第二分区的CPU518、存储器520和数据存储器522被耦合至总线510。总线控制器512包含至少一个消息队列514。消息队列514包含多个从第一分区502发送给第二分区516的消息。在该实施例中,总线控制器512包括存储在只读存储器中的查找表,该查找表具有位于第一分区502上的部件的识别地址。因此,总线控制器512能够利用比较器比较通过总线510发送消息的部件的地址以确定消息的来源。只有已被验证为源于第一分区502的消息被存储在消息队列514中。总线控制器512被配置为发送排列在消息队列514中的消息。结果,总线控制器512的硬件电路限制第二分区516的部件与第一分区502的部件(例如,CPU 504和存储器506)通信或者访问第一分区502的部件(例如,CPU 504和存储器506),因为总线控制器512防止来自第二分区516的部件将消息添加至消息队列514。
图2A中描述的计算机系统结构可以被应用于各种计算装置,包括但不限于大型计算机、个人计算机、平板电脑、平板计算机以及智能电话。进一步,计算机系统结构能够被应用于新产品或者适配到现有的计算机设计。虽然图2A中描述的计算机结构作为单组芯片被公开,但是该技术可以被应用于具有两个分立的计算机系统的系统,假如该计算机系统根据本文公开的原理而被设计。在具有两个分立的计算机系统的实施例中,第一计算机系统(具有类似于第一分区的角色)会存储关键数据文件,该关键数据文件被保护防御恶意代码,而第二计算机系统(具有类似于第二分区的角色)与远程终端通信。进一步,第一计算机系统会被直接连接到第二计算机系统。
接下来转向图3A,示出的是第一分区和第二分区的存储器寻址。第一分区存储器寻址700(在图2A所示的存储器106中)包含至少一个程序代码地址块702、至少一个第一分区数据地址块704以及至少一个第二分区数据地址块706。在优选实施例中,通过将第一分区的CPU设计为物理地限制可用的存储器寻址空间,对第一分区存储器寻址700的每个地址块的数据的写入和读取被限制。例如,支持32位或者64位寻址的CPU能够将用于执行计算机可执行代码的操作系统的访问限制到被映射为程序代码地址的位。结果,位于第一分区数据地址块704和第二分区数据地址块706上的恶意计算机可执行代码不被操作系统执行,即使这种数据文件中的一些可能被标记为有效的计算机可执行代码。进一步,第一分区的CPU只向第二分区数据地址块706写入从第二分区读取的任意数据,这些数据不能用于执行。该设计防止第二分区中的恶意计算机可执行代码被写入第一分区存储器寻址700的程序代码地址块702。硬连线设计的进一步优势是写入和读取命令的地址范围不会被恶意计算机可执行代码感染,因为要感染存储地址范围,第一分区的CPU将需要被物理地改变。利用三个分立的存储器用于使第一分区的编址分开也是可能的,这对本领域技术人员将是显而易见的。
然而用于程序代码地址块702中的程序的另外的硬件保护度能够被实现。这可以包括不经常被更新并且与程序代码地址块702中的程序关联的非常关键的数据文件。更新程序代码地址块702的内容的权限被限于直接连接到第一分区100的装置。利用可选择的硬件开关,CPU 104、总线102和I/O模块110的结合能够被控制,以便修改程序代码地址块702的内容的能力需要通过被授权人员启动。结果,对程序代码地址块702的任意更新,同时需要提供更新的直接连接装置处的被授权人员的访问和被授权接通开关的人员的单独动作。对于高度安全的系统,该设计会提供额外的保护度,甚至防止被授权的、直接连接的用户不适当地试图(无意地或者有意地)修改存储在程序代码地址块702中的程序或者非常关键的数据。
相比较之下,第二分区的CPU被限制为读取和写入至第二分区存储地址800。示例性的硬件限制包括将第二分区的CPU的物理控制线限制到包含第二分区存储地址800的物理存储部件。如图3A所示,利用本领域中已知的技术,数据或者程序代码能够被读取或者被写入至第二分区存储地址800的全地址范围。但是,第二分区的CPU对第一分区的存储器地址的访问或者修改被硬件限制。正如以上的讨论,利用存储控制器可以硬件限制第二分区的CPU。存储控制器包括被限制不能访问或者修改第一分区的存储器的装置的地址,该地址存储在存储器中。例如,第二分区的CPU的装置地址可以被存储。结果,存储控制器能够使用比较器或者现有技术中其他已知的技术来禁止第一分区的存储器响应来自被限制的装置地址的请求。该设计防止第二分区的CPU向第一分区写入通过互联网来自远程终端的已经感染第二分区的恶意计算机可执行代码。进一步,第一分区的CPU能够直接访问第二分区存储地址800,由此通过避免由互连第一分区和第二分区的总线上的活动引起的延迟,来提高第一分区的CPU的读取和写入性能。第一分区的CPU能够从存储地址800仅仅读取到第二分区数据地址块706中,第二分区数据地址块706专门用于从第二分区读取的数据。
关于图3A,地址范围能够被分配给至少一个存储单元的一部分或者包含存储单元的全部。程序代码702包含计算机可执行代码和相关的非常关键的数据。利用存储控制器,对程序代码702的访问能够被限制。存储控制器能够将目的地址以及请求的操作(读取,写入,读取,重置)与被限制的操作向目的存储地址的映射作比较。结果,当被限制的操作被请求时,存储控制器能够禁用映射到程序代码地址的存储单元或者存储单元的一部分。在程序代码地址被映射到单个存储单元的实施例中,通过使线路接地或者连接至开关,存储单元的写入控制线能够被禁用。
尽管图3A描绘了包含三个地址范围的第一分区存储地址,两个或以上的地址范围可以被使用。图3B描绘了第一分区存储器寻址708包含两个地址块的配置,该两个地址块为程序代码地址范围710和第一分区数据地址块712。在该配置中,程序代码地址块710被用于存储可以被第一分区的CPU执行的代码。第一分区数据地址块712被用于存储不用于第一分区的CPU的执行的其他数据。第一分区数据地址块712也被用于存储从第二分区读取到第一分区上的数据。
图4描绘了表示第二分区获取位于第一分区上的数据文件的进程的流程图。首先在步骤902中,第一分区的CPU为当前的数据请求周期地检查第二分区的CPU。数据请求可以是获取数据的项、更新数据的项或者请求第一分区的动作的请求,例如,从一个账户向另一个账户传送资金,或者改变建筑物中的温度设置。接下来,在步骤904中,位于第一分区上的程序验证数据请求的合法性。如上所述,位于第一分区上的程序被硬件保护防止来自互联网以及来自任何其他网络的恶意计算机可执行代码的感染。对于已由位于第一分区上的程序验证的数据请求,进程进行到步骤910。否则,对于失败的验证,进程进行到步骤906。在步骤906中,由于在步骤904中检测到的任意可疑的活动,第一分区的CPU能够请求直接连接至第一分区的被授权人员的确认。如果直接连接至第一分区的被授权人员确认了数据请求,进程进行到步骤910。否则,该进程进行到步骤908。在步骤908中,第一分区的CPU警告被授权人员数据请求已经被拒绝并且进行到另一个数据请求。在验证和/或确认之后,在步骤910中,第一分区的CPU访问数据文件并且将数据的适当元素提供给第二分区。在该设计下,第二分区不能够获得对第一分区上任意关键数据文件的直接访问。如上所述,在优选实施例中公开的计算机系统结构的硬件被构建以便从第一分区发送数据文件的命令不能够被第二分区控制。结果,位于第二分区上的任意恶意代码不能将恶意代码置入第一分区的可执行代码并且由此访问或者感染任意关键数据文件。
除了保护第一分区,本优选实施例能够允许第一分区恢复被恶意计算机可执行代码感染的第二分区的数据文件。恶意计算机可执行代码能够破坏第二分区及其对屏幕和键盘的控制,由此阻止用户通过第二分区访问远程终端。在一个实施例中,第一分区包括硬件特征,该硬件特征利用按键序列以允许直接连接到第一分区的用户命令第一分区的CPU控制被恶意计算机可执行代码感染的第二分区的屏幕和键盘以及程序控制。通过第一分区,直接连接到第一分区的被授权用户能够触发第二分区上的保护软件。该用户也能够命令第一分区完全擦除第二分区的存储器和/或数据文件以删除恶意计算机可执行代码,或者将第二分区恢复至没有这种恶意代码的先前保存的状态。在该实施例中,第二分区的操作系统和应用被第一分区记录。结果,第一分区能够在删除恶意计算机可执行代码之后恢复第二分区的操作系统和应用。在恶意代码的删除之后,第二分区将是可操作的,由此允许计算装置对远程终端的访问。
此外,优选实施例使引入各种类型的保护软件切实可行。如上所述,优选实施例利用各种硬件方法防止恶意计算机可执行代码访问和感染第一分区的程序代码或者数据文件。这种方法包括但不限于,阻止第一分区通过互联网对远程终端的直接访问并且限制第一分区的存储器寻址。虽然该设计限制了来自第二分区的对第一分区的数据文件的请求,计算装置的其他方面将运行为本领域中已知的标准计算机系统。例如,当第一分区的CPU从第二分区读取数据时,来自第一分区的CPU将经常收到个别的数据项被发送回第二分区的请求。然后该被请求的信息能够通过网络被第二分区转发至远程终端。优选实施例允许保护程序被第一分区的CPU执行以在一段时间内分别地或者集中地检查这种数据请求是否是可疑的。示例性的可疑数据请求是第二分区上的程序,其请求关键数据文件,该关键数据文件被第一分区上的软件映射为财务信息。结果,当可疑的活动被检测到时,第一分区的CPU能够触发适当的验证手段,包括请求来自具有至第一分区的直接连接的被授权人员的参与。在进一步的实例中,被硬件保护的第一分区的程序代码被编程以仅仅将数据的特定项而不是整个文件或者全套关键数据文件发送给第二分区。示例性的程序也能够拒绝将例如密码和信用卡安全码的机密数据发送给第二分区。这种程序在已知的系统中不是切实可行的,因为恶意计算机可执行代码能够直接获取关键数据文件并且可能改变保护程序。
通过为应用创建硬件“沙箱”,此处公开的原理也可以被并入到移动装置的结构中。就像当前在一些蜂窝电话操作系统上使用的软件“沙箱”一样,这会允许应用访问一些功能和数据同时限制对其他的关键的存储器的访问。不像那些现有的方法,该实施例提供了对恶意计算机可执行代码的访问的硬件限制。关键数据和操作系统本身可以被保护防止任何应用的修改,因为所有的辅助的程序将被载入到第二分区中。
此外,此处公开的原理能够被用于保护主要接口用于非计算功能的联网装置。例如冰箱和恒温器的家用电器越来越多地被设计成连接到互联网。这种装置也能够被设计有优选实施例的计算机系统结构,以保护主要分区的功能防御通过互联网或者通过网络接收的恶意计算机可执行代码。其他的“智能家居”和“智能建筑”装置以及车辆中的计算机控制台可以相应地利用计算机系统结构。
虽然优选实施例在集成的新的计算机系统结构的背景中被描述,此处公开的原理能够适合于利用现有结构连同硬件和软件的组合的计算装置,该硬件和软件的组合利用优选实施例的关健特征。对于已经在现有的计算机上做出重大投资并且想继续使用它们但是想要增强的保护防御入侵的用户,这样的实施例可以是有用的。在一个实施例中,集成系统的第一分区能够被连接到现有的计算机,现有的计算机能够保存大部分关键的文件和程序。结果,如以上对于集成系统的第一分区所描述的那样,计算机将被与互联网及其他的外部源隔离。通过总线或者I/O模块,第一分区可以与计算机进行通信、读取和写入,并且计算机将被硬件和操作系统保护,防御恶意软件。
另一个可供选择的实施例在图5中示出,包含第一计算机1300和第二计算机1400。第一计算机1300和第二计算机1400利用本领域中已知的计算机结构,例如,x86,ARM,和PowerPC。正因为如此,第一计算机1300和第二计算机1400包含用于执行计算机可执行代码的操作系统。正如以上的讨论,这些已知结构的缺点是第一计算机1300和第二计算机1400的处理器容易受到从互联网接收的恶意计算机可执行代码的执行的影响,恶意计算机可执行代码能够访问和感染关键数据文件。进一步,这样的恶意计算机可执行代码能够规避已知的软件解决方案。在本实施例中,第二计算机1400能够连接到互联网。结果,第二计算机1400容易受到来自互联网的恶意计算机可执行代码的影响。然而,第一计算机1300不被连接到互联网并且通过计算装置1000与第二计算机1400互连。第一计算机1300通过操作系统方法的使用可以实现一些保护度,如以下参考图6A详细描述的那样。然而,这样的保护将是有限的并且容易遭受富有经验的黑客的损害。也采用计算装置1000以保护第一计算机1300防御感染第二计算机1400的任意恶意计算机可执行代码将获得更多保护,计算装置1000使用本优选实施例的硬件设计和技术。计算装置1000包含了上述全集成系统的大部分结构,允许第一计算机1300以抵御对计算机1300的入侵企图的方式来处理通过计算机1400从互联网接收的数据和请求。
如图5所示,计算装置1000包含第一分区1100和第二分区1200。第二分区1200包含通过总线1202互连的CPU 1204,存储器1206,数据存储器1208,以及I/O模块1212。CPU 1204执行位于数据存储器1208和/或存储器1206上的操作系统以通过I/O模块1212与第二计算机1400通信。I/O模块1212可以是USB端口,eSATA,WiFi,或者用于将计算装置1000连接到第二计算机1400的任何其他的已知的通信接口。在该实施例中,软件在第二计算机1400上执行,这允许CPU 1204从第二计算机1400接收数据。通过CPU 1204从第二计算机1400读取的数据文件被存储在存储器1206和/或数据存储器1208上。CPU 1204被硬件限制不能与第一计算机1300直接通信。在一个实施例中,总线1002能够利用以上参考图3C描述的总线控制器技术限制第二计算机1400访问第一计算机1300的CPU和存储器。第二分区1200,进一步包含通信模块1210。通信模块1210允许第二分区1200通过例如互联网的网络而通信。结果,第一计算机1300能够利用通信模块1210访问来自互联网的数据,而不是利用第二计算机1400访问来自互联网的数据。
计算机1300和计算装置1000被与例如键盘、数据存储驱动、打印机等等的输入/输出装置直接互连。在用于大规模用途的实施例中,通过直接的硬线,计算机1300和计算装置1000能够被连接至处于计算装置的用户的控制下的物理位置的较小的计算机或者PC。在该实施例中,用户能够禁用较小计算机或者PC任意形式的互联网连接,包括电线,电缆,或者Wi-Fi。计算装置1000被硬件限制不能通过网络与远程终端通信。通过其他方式,例如,禁用计算机1300的操作系统中的远程连接,计算机1300被优选地限制不能通过网络与远程终端通信。
第一计算机1300被直接连接到第一分区1100的I/O模块1110。I/O模块1110可以是USB端口、eSATA、或者用于将计算装置1000连接到第一计算机1300的任意已知的通信接口。第一分区1100进一步包含通过总线1102互连的CPU 1104、存储器1106以及至少一个数据存储器1108。如以上参考图3A详细描述的那样,CPU 1104能够仅仅执行存储在存储器1106的程序代码地址范围以及数据存储器1108上的计算机可执行代码。这借助于硬件电路,通过CPU 1104(通过本实施例其本身被保护防御恶意软件)的操作系统的控制而实现。
在该实施例中,软件在第一计算机1300上执行,这允许CPU 1104从第一计算机1300发送和接收数据。软件允许第一计算机1300的用户将用于第一计算机1300的存储器的区域分段为关键程序、关键数据文件、以及从计算装置1000接收的数据和请求。此外,软件防止第一计算机1300的CPU将执行控制移交给具有从计算装置1000接收的文件的存储段。用于将存储段与执行控制分开的计算机安全的一个实例是沙箱安全机制的使用。第一分区1100通过总线1002与第二分区1200直接互连。CPU 1104能够向第二分区1200的存储器1206的全地址范围和数据存储器1208写入。此外,CPU 1104能够从存储器1206的全地址范围和数据存储器1208读取数据,但是仅仅通过CPU 1104的“读取”命令(拉取)。通过硬件限制,CPU 1104不能接受由第二分区1200推送至其的任意数据或者其他文件。在该实施例中,在直接连接到第一分区1100的第一计算机1300上运行的软件能够请求CPU 1104从第二分区1200拉取任意数据。计算装置1000的第一分区1100被保护防御存储在第二计算机1400或者存储器1206上的任意恶意计算机可执行代码,因为CPU 1104仅仅能够执行存储在存储器1106的程序代码地址范围和数据存储器1108上的计算机可执行代码。
在该实施例中,第一分区1100利用写入模块1112将数据写入被运行在第一计算机1300上的软件选择用于从计算装置1000接收的数据文件的存储段。写入模块1112包含映射第一计算机1300的存储段的硬件电路,该存储段被分割用于从计算装置1000接收的数据文件。示例性的硬件电路包括能够通过直接连接到计算装置1000的被授权人员的控制而被编程的现场可编程门阵列(FPGA)。在该实施例中,计算装置1000包含使能更新开关1004。使能更新开关1004包括接通位置和断开位置。使能更新开关1004的接通位置允许写入模块1112的硬件电路对用于从计算装置1000接收的数据文件的存储段的编程。此外,使能更新开关1004的接通位置防止计算装置1000向第一计算机1300发送数据。相比较之下,使能更新开关1004的断开位置允许计算装置1000向运行在第一计算机1300上的软件发送数据。使能更新开关1004的断开位置防止对写入模块1112的硬件电路的非授权改变。计算装置1000和计算机1300也能够利用上述额外的保护开关和保护软件。
在一些实施例中,除了以上参考图5描述的功能,开关被用于触发进一步的安全措施以便在更新期间保护第一分区防御第二分区数据。当开关被激活时,两个分区之间的连接也能够被禁用,以便在更新处理期间第一分区不能够访问第二分区上的数据,并且第一分区将不能向第二分区发送数据或者从第二分区读取数据。在正常操作状态下的正常操作期间,通过由硬件电路实现的直接连接或者总线,使用采用被设置为允许命令从第一分区流向第二分区的逻辑门或者晶体管的开关,第一分区能够访问第二分区。但是在更新模式期间,通过选择开关或者总线(例如三态门或者任意种类的可切换的总线)并且将其移动至“断开”位置,那些访问被禁止,因此提供在更新处理期间对第一分区的额外保护。当满足其逻辑条件时,“与”门可以被开关位置触发以允许通信(读取“真”)。此外,直接连接至第一分区的外部装置能够被利用以使得第一分区的CPU能够控制例如监控器、键盘、输入装置、打印机及其他外围设备的任意连接装置。这能够通过“KVM”开关的形式而被实现,并且可以在两个分区共用外围设备时格外地有用;例如,如果在第二分区中有恶意软件问题,用户可以接通使能装置,以允许第一分区控制监控器和键盘远离恶意软件,以便在第一分区上可以独立地采取行动。
对于许多用途,以上参考图5描述的开关对于更新系统将是关键性的;用于程序代码的存储器利用例如逻辑门的数字电路使存储器只读,以便向程序代码存储器写入是不可能的,除非开关接通。然而,可能有一些用途,预计没有更新,但是用于程序代码的存储地址范围应该被硬件保护防止改动。可供选择的实施例可以被采用,其中开关可以被省略。用于程序代码的存储器范围可以在制造的过程中被加载,然后通过硬件电路的手段,被永久地限制防止改动。这可以通过现有技术中各种已知的技术实现,例如硬件电路中的逻辑门。因此,基本的实施例将硬件保护用于程序代码的存储地址范围而不用根据开关,并且增加开关的能力可以是潜在的附加特征。
为了促进为第一分区更新操作系统和/或主要应用的便利性以及安全性,分立单元能够被使用。该单元能够是物理上分立的;或者其能够与不同且独立的硬件电路一起被并入用于系统的整个壳体内,并且被连接到第一分区。单元能够通过以太网电缆、Wi-Fi或者类似的手段被连接到互联网,用于下载新的关键应用或者更新现有的应用的特定目的。单元能够具有固定的硬件或者固件,该固定的硬件或者固件允许其通过互联网仅仅连接至至少一个用于该目的的预先确定的服务。这种预设的地址例如可能包括计算机和软件的主要供应商的官方更新地址。相比于允许互联网地址被输入或者通过软件被设置的常规计算机,该装置不能发送对于任意互联网地址的连接请求,除了那些预设在其硬件或者固件中的互联网地址。这限制装置仅仅对预先批准的地址访问。
在正常操作中,第一分区将不能以该方式接受任意数据。在更新的时候,用户将接通以上参考图5描述的开关,将单元连接至互联网,并且单元将直接连接并且仅仅连接至用于该目的的预先确定的互联网地址,并且下载可应用的更新。
如果单元是独立的,它能够将更新数据写入到例如闪存驱动器的非易失性存储器上。参考图5描述的开关将使第一分区能够通过连接到第一分区的USB驱动器或者类似的设备来接受这样的更新数据。然后闪存驱动器或者类似的装置能够被插入USB驱动器,更新能够被完成,并且用户能够移除装置以及断开开关并且继续正常的操作。
如果单元被构建到整个系统壳体中,那么当开关被接通时,图5中描述的开关将能够实现其用途。更新能够被完成,并且用户能够断开开关并且继续正常的操作。
通过保护安全密钥,此处公开的原理也可以被用于实现从远程位置的安全更新,该安全密钥在制造时被安装在任意计算装置中,或者在这样的装置由供应商准备发货时。大部分现代加密系统使用保持实际上安全的数学算法(AES-256标准通常被视为需要数百万年的标准处理能力来破解),但是在理论上仍然能够被破解;密码学界声称一些实体能够破解直至2048位长的密钥。随机数的安全密钥在拥有密钥的两方之间提供更高标准的十分安全的消息。希望不止一次通信的各方可以携带多个版本的一次性的密钥,正如间谍在二次世界大战中所做,并且计算装置可以在存储器中保存很多版本。但是没有此处公开的硬件保护,这种密钥的任意文件本身将容易被篡改。通过将这种文件置入第一分区的被保护的存储器中,远程的各方能够安全并且重复地通信。
图6描绘了适合于利用具有软件解决方案的现有结构的计算装置的实施例。虽然软件解决方案可能容易受到恶意可执行计算机代码的影响,但是它能够提供上述硬件解决方案的一些益处,包括限制对关键数据文件的访问,限制程序执行访问第一计算机,并且避免将程序控制给予来自第二计算机的任意输入。在该实施例中,利用例如USB、eSATA、WiFi或者以太网的已知通信接口,第一计算机1500被连接到第二计算机1600。第一计算机1500和第二计算机1600利用本领域中已知的计算机结构,例如,x86、ARM以及PowerPC。正因为如此,第一计算机1500和第二计算机1600包含用于执行计算机可执行代码的操作系统。关键的文件和系统位于第一计算机1500上,而第二计算机1600被用于连接到互联网。该设计提供了第一计算机1500的软件以减少入侵第一计算机1500的风险的方法与第二计算机1600交互。可能通过第二计算机1600从互联网接收的恶意软件被在第一计算机1500上执行的软件阻止,不能到达第一计算机1500上可执行代码的位置。
第一计算机1500包含在第一计算机1500上执行的虚拟分区1510。虽然虚拟分区1510能够利用第一计算机1500的一些计算资源(即CPU和存储),但是使用本领域中已知的技术,例如软件“沙箱”,虚拟分区1510被隔离不能访问第一计算机1500的操作系统。结果,如果虚拟分区1510已经被从第二计算机1600的虚拟分区1606接收的恶意计算机可执行代码感染,虚拟分区1510被限制不能感染第一计算机1500的操作系统。进一步,虚拟分区1510被限制为访问来自直接连接至第一计算机1500的输入装置和第二计算机1600的虚拟分区1606的数据。结果,虚拟分区1510被限制不能访问能够通过网络连接到远程终端的第一计算机1500的计算资源。
在该实施例中,第一计算机1500的操作系统将第一计算机1500的一部分内存分配给虚拟分区1510。虚拟分区1510的操作系统1502被编程为仅仅执行位于虚拟分区1500的程序代码地址块1504的程序代码。从第二计算机1600的虚拟分区1606接收的所有数据被存储在第二分区数据地址块1508中。最后,虚拟分区1510的关键数据文件被存储在第一分区数据地址块1506中。在该设计中,第一计算机1500的关键数据文件被保护防止可能已被置入第二计算机1600的恶意软件的访问。虚拟分区1510能够使用以上参考图4详细描述的处理来请求第一计算机1500的操作系统以访问存储在第一计算机1500上的数据文件。第一计算机1500的操作系统能够访问分配给虚拟分区1510的内存的全地址范围。然而,由于从第二计算机1600读取的任意数据被存储在第一计算机1500的第二分区数据地址块1508中,并且第一计算机1500的操作系统被限制不能执行存储在第二分区数据地址块1508上的数据文件,因此第一计算机1500将不会执行从第二计算机1600传送的任意的恶意可执行代码。
第二计算机1600包含由在第二计算机1600上执行的常驻软件创建的虚拟分区1606。在该实施例中,第二计算机1600通过网络被连接到远程终端。虚拟分区1606能够利用第二计算机1600的一些计算资源(即CPU和存储)。第二计算机1600的操作系统将第二计算机1600的一部分内存分配给虚拟分区1606。进一步,第二计算机1600的操作系统允许虚拟分区1602访问资源以通过网络与远程终端通信。虚拟分区1602包含能够访问并且执行程序代码/数据地址块1604的全地址范围的操作系统1602,程序代码/数据地址块1604被第二计算机1600的操作系统分配给虚拟分区1606。虚拟分区1510的操作系统1502被编程为使用拉取命令从程序代码/数据地址块1604的全地址范围读取数据。然而,通过软件限制,操作系统1502不能接受由第二计算机1600的虚拟分区1606推送至其的任意数据或者其他文件。第二计算机1600中的软件以操作系统1502需要的形式规定被第一计算机1500读取的数据的格式。第二计算机1600可能被互联网黑客潜入。如果恶意软件改变了被提供给第一计算机1500的数据的形式,那么操作系统1502将不会接受不正确的格式的数据。此外,软件能够利用以上参考图4详细描述的处理,用于第一计算机从第二计算机获取数据。
尽管图6A描绘了包含三个地址块的第一计算机,两个或以上的地址块可以被使用。图6B描绘了第一计算机1520包含两个地址块的配置,该两个地址块为程序代码地址块1524和第一分区数据地址块1526。在该配置中,程序代码地址块1524被用于存储可以被操作系统1522执行的代码。第一分区数据地址块1526被用于存储不用于操作系统1522的执行的其他数据。第一分区数据地址块1526也被用于存储从第二计算机1610被读取到第一计算机1520上的数据。
虽然图6A和6B中公开的实施例利用虚拟分区保护第一计算机的程序和数据以防御恶意计算机可执行代码,公开的技术(即限制对关键数据文件的访问,限制程序执行对第一计算机的访问,并且避免将程序控制给予来自第二计算机的任意输入的软件)可以被直接应用于第一和第二计算机的操作系统而不用虚拟环境的使用。在任何情况下,这样的实施例能够减少入侵的风险,但是不能提供利用硬件以及软件保护的优选实施例中的全集成系统给予的增强的保护。
以上参考图2A描述的计算机系统结构也能够利用在第一分区和第二分区中的每个上的虚拟环境。这些分区能被用于将各种操作系统和程序活动分区的目的。不像以上参考图6A描述的软件解决方案,在第一分区上实现的虚拟环境被硬件保护防御第二分区,正如以上参考图2A描述的那样。
在另一个实施例中,利用现有结构的计算装置能够利用虚拟分区代替两个物理上分立的分区,而不背离广泛的发明公开的精神。利用虚拟分区的这样的实施例能够提供上述硬件解决方案的一些益处,包括阻止互联网入侵,限制对关键数据文件的访问,限制程序执行访问,以及限制程序控制。
这样的实施例能够利用具有虚拟机能力的现有技术中已知的计算机结构,例如,x86、ARM和PowerPC,并且包含“管理程序”(或者修改的“内核”或者“容器”系统)以管理虚拟分区系统中的虚拟分区和处理的主要方面。有两个主要的虚拟分区,第一虚拟分区和第二虚拟分区,相应于以上详细描述的物理上分立的第一和第二分区。在正常操作前,管理员使用虚拟分区配置处理来配置虚拟分区,虚拟分区配置处理与管理程序或等效物一起运作。每个虚拟分区被分配了对包括存储器的计算机的硬件资源的可访问性、网络连通性、输入/输出连通性、CPU以及取决于计算机的能力的各种其他的特性。进一步,管理程序能够再分配或者动态地修改虚拟分区。
第一虚拟分区(FVP)包含CPU和至少一个用于执行计算机可执行代码的操作系统,并且可以具有FVP的虚拟分区的子分区。为了便于参考,FVP及其子分区被称为虚拟分区的FVP“族”。
至少一个第二主要的虚拟分区(SVP)包含CPU和至少一个用于执行计算机可执行代码的操作系统,并且可以具有至少一个子分区。为了便于参考,SVP及其子分区被称为虚拟分区的SVP“族”。
FVP族和SVP族也可以具有额外的对于计算机常用的功能,包括存储器和I/O模块。关键文件和系统存在于FVP族,同时SVP族能够通过例如互联网的网络而通信。相比较之下,FVP族能够仅仅直接与SVP族,或者与直接连接到FVP族的输入/输出装置通信。虚拟分区被配置以便FVP族不连接到互联网或者任何其他的装置,例如连接到互联网的服务器。为了保护关键数据文件,整个SVP族被配置为禁止从FVP族的任意存储器读取或者向FVP族的任意存储器写入。
该设计提供了FVP族以减少FVP族的互联网入侵风险的方式与SVP族交互。可能由SVP族的任意部分从互联网接收的恶意软件被阻止在FVP族上被执行。进一步,FVP族的关键文件被阻止被恶意软件改动或者读取,该恶意软件可以存在于SVP族上或者被写入SVP族。
FVP族被配置以便其存储地址被分割为至少两个部分,包含用于计算机可执行代码和非常关键的数据的一个部分。其他的配置可以包含至少三个存储器范围或者分区:一个用于计算机可执行代码和非常关键的数据,一个用于从SVP族读取的数据,以及至少一个用于其他的FVP族数据。
图7是说明在计算装置上实现虚拟分区的示例性的实施例的简化框图。计算装置1900包含CPU 1902、存储器1904、网络适配器1906和输入/输出1908,并且利用现有的计算机结构。进一步,计算装置1900具有利用操作系统级虚拟化或者硬件虚拟化来创建虚拟分区的能力,该硬件虚拟化利用Intel VT-x或者AMD-V。管理程序1910被用于创建、配置并且管理多个虚拟分区。如图所示,管理程序1910管理虚拟分区与CPU 1902、存储器1904、网络适配器1906和输入/输出1908的通信。管理程序1910可以是运行在主机操作系统内的应用。在该实施例中,管理程序1910直接运行在计算装置1900上(“类型-1”管理程序)。管理程序1910可以是商业上可用的虚拟化解决方案中的一个。操作系统级虚拟化可以被用于分隔虚拟分区并且管理计算装置的资源而不背离此处公开的原理。
如图7所示,管理程序1910已经创建并且配置了包含一族子分区的FVP1700,并且管理程序1910已经配置了同样包含一族子分区的SVP 1800。进一步,管理程序1910管理FVP1700和SVP 1800之间的通信。在该实施例中,管理程序1910已分配SVP 1800访问适配器1906并且限制FVP 1700不能访问网络适配器1906。结果,FVP 1700被保护防止感染来自互联网和能够通过网络适配器1906通信的任何其他来源的恶意计算机可执行代码。FVP 1700族包含FVP 1701、FVP1702和FVP 1703。FVP 1701包含可执行代码和非常关键的数据,FVP1702包含从SVP 1800族读取的数据,并且FVP 1703包含其他的FVP数据。FVP 1700的操作系统被配置为仅仅执行位于FVP 1701中的程序代码地址的程序代码。SVP1801包含被SVP1800利用的数据。由FVP 1700从SVP 1801读取的所有数据被存储在子分区FVP 1702中。在该实施例中,管理程序1910已限制SVP 1801对计算装置1900的CPU 1902的访问。
FVP 1700的关健数据文件能够被存储在FVP 1701中。管理程序1910已配置FVP1700访问被分配给FVP 1700和SVP 1800的存储器1904的全地址范围。进一步,管理程序1910被配置为发送FVP 1700对于数据的请求,该数据从SVP1800至分配给FVP 1702的存储器。FVP 1700被保护防止执行从SVP 1800传送的任意恶意的可执行代码,因为FVP 1700的操作系统被限制为执行位于FVP 1701中程序代码地址的程序代码。
在该实施例中,管理程序1910已配置虚拟分区以便分配给FVP 1700的CPU资源仅能够从分配给FVP 1700族的任意存储器或者CPU读取或者向分配给FVP 1700族的任意存储器或者CPU写入。SVP 1800族中的软件以取决于数据的特定的形式和长度来规定被FVP1700读取的数据的格式。正如以上的讨论,管理程序1910已将对网络适配器1906的访问分配给SVP 1800。因此,SVP 1800可能被互联网黑客潜入。管理程序1910包含一列被FVP 1700接受的数据格式。在从SVP 1800传送FVP 1700请求的数据之前,管理程序1910利用接受的数据格式的列表来检查数据。如果感染SVP 1800的恶意软件已经改变了被提供给FVP1700的数据的格式或者长度,那么管理程序1910能够拒绝将不正确的格式的数据传送至FVP1700。在其他实施例中,FVP 1700能够检查数据的格式并且拒绝接受不正确的格式的数据。
为了提高安全性,管理程序能够配置虚拟分区以将FVP及其子分区族与其他的虚拟分区隔离开。因此,FVP族外的虚拟分区被限制不能访问分配给FVP族的CPU、存储器以及任意文件。进一步,当最初创建并且配置FVP族时,或者在任何时候,包括在动态地分配资源和虚拟分区的大小的处理期间,管理程序能够限制访问。由于很多系统使用对虚拟分区的动态调整,并且由于分区配置能够创建共享的存储的区域,必须注意FVP族和FVP族外任何其他的分区之间的基本的分离不被对虚拟分区的动态调整所违反。
在正常操作期间,管理程序将被分配用于FVP 1701上的可执行代码的存储器配置为只读。对于更新模式,其中关键程序在FVP 1701上被安装或者更新,管理程序能够临时地暂停FVP族的操作。此后,管理程序重新配置FVP 1701以允许写入以便在FVP 1701上安装或者更新关键程序。在更新关键程序完成之后,管理程序将FVP 1701重新配置为只读并且允许FVP 1700恢复正常操作。可选择地,为了能够实现更新模式,硬件修改可以以开关的形式被引入系统,该开关将控制FVP 1701是否能够被写入。该开关也可以接通或者断开FVP族访问SVP族的能力。此外,该开关或者独立的开关可以限制关于FVP族的虚拟配置被改动的能力。这种开关,类似于以上参考图5描述的开关,可以利用逻辑门、固件、现场可编程门阵列或者其他类似的现有技术。
利用根据此处公开的原理的硬件实施例作为对于输入和输出的看门人,被配置到SVP分区中的任意虚拟服务器能够被进一步保护。分立单元连接至路由器和服务器阵列之间的虚拟服务器。一个这样的单元可以被置入虚拟分区中使用的任意组服务器中,即使服务器被显著的地理距离所分隔。
通过单元的所有业务流,正如通过互联网送至或者来自其他计算机或者单元的所有信息,必须流过路由器。在虚拟分区的初始设置期间,单元也被配置为管理送至FVP和SVP的业务。信息不能从远程计算机被写入FVP,例如,因为单元将不会允许这样;所有的输入数据和代码只能够去向SVP分区。
类似地,当SVP想要与FVP共享信息时,它不能触发传送,这样的请求也不会被单元所允许。来自SVP的数据仅仅能够去向SVP 1801,在FVP 1700发起时,SVP 1801能够被访问。FVP 1703中的数据不能被推送至SVP 1800。
因此,单元应用实施例及其硬件保护的额外安全性以执行类型-1管理程序的功能,该管理程序的监控功能先于操作系统的安装。对于一些路线,它的结构允许直接访问(从网络至SVP 1800),而对于其他的路线,允许只读连接(从FVP 1702至SVP 1800),并且对于其他的,完全不允许访问(从FVP 1703至SVP 1800)。在虚拟分区的设置时,装置被配置为知道哪个地址范围对应于哪个分区。通过类似于以上参考图5描述的开关的读/写开关的使用,单元能够被保护防止未被授权的重配置。这种开关能够是手动的或者电动的,如同晶体管一样。通过将开关的使用限制为本地激活,单元的配置不能从远程位置被改动。
系统也可以被配置有两个或以上的第一分区,结合一个第二分区,或者两个或以上的第二分区结合一个第一分区,或者两个或以上的第一分区结合两个或以上的第二分区。第一分区中的每个将具有单个第一分区的实施例的基本特性,包括存储器结构,包括被保护的可执行代码和非常关键的数据,使用例如逻辑门的硬件电路,每个第一分区被硬件限制防止任意第二分区的访问。这将允许例如多个客户机运行在单个系统上,每个客户机的关键文件保存在分立的被保护的第一分区上。同样允许系统通过一个以上的第二分区通信,如果一个第二分区变为被恶意软件感染,这可能特别地有益。
虽然已经参考被非常详细地陈述用于进行本发明的完整公开目的的优选实施例来初步描述了此处公开的原理,论述的实施例仅仅是示例性的并且不意欲限制或者代表此处公开的原理的所有方面的穷举。进一步,可以在不背离此处公开的精神和原则的情况下,在细节上进行很多改变,这对本领域的技术人员将是显而易见的。应当理解的是在不背离这些原则基本特征的情况下,这些原则能够以其他的形式被具体化。

Claims (35)

1.一种计算机系统,其特征在于,包含:
第一分区,所述第一分区包含:
第一CPU,
第一存储模块,所述第一存储模块包含:
至少一个用于程序代码的存储地址范围,其中所述程序代码包含计算机可执行代码,并且所述用于程序代码的存储地址范围通过硬件电路被配置并且被保护防止改动;
至少一个用于其他数据的存储地址范围,所述用于其他数据的存储地址范围包含从第二分区读取的数据;以及
其中所述第一CPU被硬件配置为仅仅执行所述用于程序代码的存储地址范围中的所述计算机可执行代码;
第二分区,所述第二分区包含:
第二CPU,
第二存储模块,以及
至少一个通信模块,所述通信模块被配置为耦合至网络;
其中所述第一CPU能够访问所述第二CPU和所述第二存储模块;以及
其中所述第二CPU对所述第一CPU或者所述第一存储模块的访问被限制。
2.根据权利要求1所述的计算机系统,其特征在于,存储器寻址结构包含:
第一存储单元,所述第一存储单元用于所述至少一个用于程序代码的存储地址范围;以及
第二存储单元,所述第二存储单元用于所述至少一个用于其他数据的存储地址范围。
3.根据权利要求1所述的计算机系统,其特征在于,映射用于程序代码的存储器寻址结构的所述硬件电路包含至少一个现场可编程门阵列。
4.根据权利要求1所述的计算机系统,其特征在于,所述至少一个用于其他数据的存储地址范围包含:
至少一个用于从所述第二分区读取的数据的存储地址范围,以及
至少一个用于其他的第一分区数据的存储地址范围。
5.根据权利要求1所述的计算机系统,其特征在于,存储器寻址结构包含:
第一存储单元,所述第一存储单元用于所述至少一个用于程序代码的存储地址范围;
第二存储单元,所述第二存储单元用于从所述第二分区读取的数据;以及
第三存储单元,所述第三存储单元用于其他的第一分区数据。
6.根据权利要求1所述的计算机系统,其特征在于,包含至少一个外部物理开关,所述外部物理开关能够被接通或者断开,其中只有当所述外部物理开关被接通时,所述第一CPU能够修改存储在所述至少一个用于程序代码的地址范围中的数据。
7.根据权利要求1所述的计算机系统,其特征在于,包含至少一个外部物理开关,所述外部物理开关能够被接通或者断开,
其中只有当所述外部物理开关被接通时,所述第一CPU能够修改存储在所述至少一个用于程序代码的存储地址范围中的数据;以及
其中当所述至少一个外部物理开关被接通时,所述第一CPU访问所述第二CPU和所述第二存储模块的能力被禁止。
8.根据权利要求1所述的计算机系统,其特征在于,利用直接连接至所述第一分区的外部装置的硬件特征被配置为使用户能够命令所述第一CPU控制连接到所述第二分区的至少一个输入/输出装置。
9.根据权利要求1所述的计算机系统,其特征在于,所述至少一个用于程序代码的地址范围包含操作系统。
10.根据权利要求1所述的计算机系统,其特征在于,包含至少一个数据存储器。
11.根据权利要求1所述的计算机系统,其特征在于,多个输入/输出装置被耦合至至少一个I/O模块。
12.根据权利要求1所述的计算机系统,其特征在于,进一步包含芯片,所述芯片包含所述第一分区和所述第二分区。
13.根据权利要求1所述的计算机系统,其特征在于,进一步包含第一芯片和第二芯片,所述第一芯片包含所述第一分区,所述第二芯片包含所述第二分区。
14.根据权利要求1所述的计算机系统,其特征在于,
所述第一CPU访问所述第二存储模块和所述第二CPU的所述能力通过硬件电路被实现;
其中所述第一CPU能够从所述第二分区仅仅读取到所述至少一个用于其他数据的存储地址范围中;以及
其中对所述第二CPU不能访问所述第一CPU或者所述第一存储模块的所述限制通过硬件电路被实现。
15.根据权利要求1所述的计算机系统,其特征在于,进一步包含总线,
其中所述第一分区通过所述总线与所述第二分区互连;
其中所述第一分区被配置为通过所述总线执行拉取命令以从所述第二分区读取数据并且将所述数据仅仅写入所述至少一个适用于从所述第二分区读取的数据的存储地址;以及
其中所述第一分区被配置为通过所述总线执行推送命令以将数据写入所述第二分区。
16.根据权利要求1所述的计算机系统,其特征在于,包含硬件单元,
其中所述单元被配置为通过所述互联网仅仅连接至至少一个预先确定的服务,以下载新的关键应用或者更新现有的应用;
其中所述单元被配置为连接到所述第一分区或者将所述更新数据写入到非易失性存储器上;以及
其中所述第一分区被配置为只有当硬件开关被接通时,接受来自所述单元或者所述非易失性存储器的数据。
17.根据权利要求1所述的计算机系统,其特征在于,包含被构建到所述系统中的硬件单元,
其中所述单元包含固定硬件或者固件,所述固定硬件或者固件被配置为通过所述互联网仅仅连接至至少一个预先确定的服务;以及
其中所述第一分区被配置为只有当硬件开关被接通时,接受来自所述单元的数据。
18.根据权利要求1所述的计算机系统,其特征在于,所述计算机系统被连接到装置,所述装置能够通过例如所述互联网的网络或者通过包括但不限于蓝牙和RFID传输的本地无线通信而通信,其中在制造商配送之前,所述装置或者计算机系统被准备有安全密钥或者置入被保护存储器中的密钥。
19.根据权利要求1所述的计算机系统,其特征在于,所述计算机系统被配置为包含一个以上的所述第一分区,或者一个以上的所述第二分区,或者一个以上的所述第一和所述第二分区,其中每个所述第二分区的所述CPU对每个所述第一分区的所述CPU或者存储模块的访问被硬件限制。
20.根据权利要求1所述的计算机系统,其特征在于,
所述第一分区包含一个或者多个虚拟子分区;以及
所述第二分区包含一个或者多个虚拟子分区。
21.一种计算机系统,其特征在于,包含:
第一虚拟分区族,所述第一虚拟分区族包含:
至少一个分区,
至少一个CPU,以及
至少一个存储模块,所述存储模块包含:
至少一个用于程序代码的地址范围,其中所述程序代码包含计算机可执行代码,其中所述至少一个用于程序代码的地址范围被配置为在所述正常操作状态下只读;以及
至少一个用于其他数据的存储地址范围,所述用于其他数据的存储地址范围包含从所述第二分区读取的数据;
其中所述第一虚拟分区族的所述至少一个CPU被配置为仅仅执行存储在所述至少一个用于程序代码的地址范围中的所述计算机可执行代码;
第二虚拟分区族,所述第二虚拟分区族包含:
至少一个分区,
至少一个CPU,
至少一个存储模块,以及
至少一个通信模块,所述通信模块能够耦合至网络;
其中所述第一虚拟分区族的所述至少一个CPU被配置为能够访问所述第二虚拟分区族的所述至少一个CPU和所述至少一个存储模块;以及
其中,所述第二虚拟分区族的所述至少一个CPU被配置为不能访问所述第一虚拟分区族的所述至少一个CPU或者所述第一虚拟分区族的所述至少一个存储模块。
22.根据权利要求21所述的计算机系统,其特征在于,包含硬件特征,所述硬件特征利用至少一个连接至所述计算机的装置并且能够被接通或者断开,其中所述第一虚拟分区族的所述至少一个CPU不能修改所述用于程序代码的第一虚拟分区族地址范围中的数据,除非所述硬件装置被接通。
23.根据权利要求21所述的计算机系统,其特征在于,包含:
硬件特征,所述硬件特征包含至少一个连接到所述计算机的装置,并且包含接通位置和断开位置,
其中所述第一虚拟分区族的所述至少一个CPU不能修改所述用于程序代码的第一虚拟分区族地址范围中的数据,除非所述硬件装置处于所述接通位置;以及
其中当所述至少一个硬件装置处于所述接通位置时,所述第一虚拟分区族的所述至少一个CPU访问所述第二虚拟分区族的所述能力被禁止。
24.根据权利要求21所述的计算机系统,其特征在于,
硬件装置被放置在服务器阵列托管虚拟服务器和被用于连接到例如所述互联网的网络的所述路由器之间,
其中所述装置管理所述分区之间、或者外部单元之间、或者连接到所述分区的计算机之间的所有业务,以便没有代码或者数据可以被写入所述第一分区,除非由所述第一分区发起时或者被所述硬件开关允许时;以及
其中所述装置本身可以被配置为只有当它的配置开关处于所述接通位置时,沿它的三条独立的路径管理业务(读和写、只读、以及无连接/请求拒绝)。
25.根据权利要求21所述的计算机系统,其特征在于,包含至少一个连接到所述计算机的硬件装置,其中所述至少一个硬件装置能够被接通或者断开,其中所述第一虚拟分区族的所述虚拟配置不能被修改,除非所述至少一个硬件装置接通。
26.一种计算机系统,其特征在于,包含:
第一计算机,所述第一计算机包含:
CPU,以及
存储模块,所述存储模块包含:
至少一个用于程序代码的存储地址范围,其中所述程序代码包含计算机可执行代码,并且所述用于程序代码的存储地址范围通过硬件电路被配置并且被保护防止改动;
至少一个用于其他数据的存储地址范围,所述用于其他数据的存储地址范围包含从所述第二计算机读取的数据;以及
其中所述至少一个CPU被硬件配置为仅仅执行所述用于程序代码的存储地址范围中的所述计算机可执行代码;
第二计算机,所述第二计算机包含:
CPU,以及
至少一个通信模块,所述至少一个通信模块被配置为耦合至网络;
总线,
其中,所述第一计算机和所述第二计算机仅仅通过所述总线互连;
其中所述总线被配置用于所述第一计算机通过所述总线执行拉取命令以从所述第二计算机读取数据并且将所述数据只写入适用于从所述第二计算机读取的数据的所述至少一个存储地址范围;
其中所述总线被配置用于所述第一计算机通过所述总线执行推送命令以向所述第二计算机发送数据;
其中所述总线不能接受来自所述第二计算机的推送命令或者来自所述第二计算机的拉取命令;以及
其中所述总线的所述硬件电路不允许所述第二计算机访问所述第一计算机的所述CPU或者所述存储模块。
27.根据权利要求26所述的计算机系统,其特征在于,存储器寻址结构包含:
第一存储单元,所述第一存储单元用于所述用于程序代码的至少一个存储地址范围;以及
第二存储单元,所述第二存储单元用于所述用于其他数据的至少一个存储地址范围。
28.根据权利要求26所述的计算机系统,其特征在于,映射用于程序代码的存储器寻址结构的所述硬件电路包含至少一个现场可编程门阵列。
29.根据权利要求26所述的计算机系统,其特征在于,所述至少一个用于其他数据的存储地址范围包含:
至少一个用于从所述第二计算机读取的数据的存储地址范围,以及
至少一个用于其他的第一计算机数据的存储地址范围。
30.根据权利要求26所述的计算机系统,其特征在于,存储器寻址结构包含:
第一存储单元,所述第一存储单元用于所述用于程序代码的至少一个存储地址范围;
第二存储单元,所述第二存储单元用于从所述第二计算机读取的数据;以及
第三存储单元,所述第三存储单元用于其他的第一计算机数据。
31.根据权利要求26所述的计算机系统,其特征在于,包含至少一个外部物理开关,所述外部物理开关能够被接通或者断开,其中只有当所述外部物理开关被接通时,所述第一计算机的所述CPU能够修改存储在所述至少一个用于程序代码的地址范围中的数据。
32.根据权利要求26所述的计算机系统,其特征在于,所述至少一个用于程序代码的地址范围包含操作系统。
33.根据权利要求26所述的计算机系统,其特征在于,包含至少一个数据存储器。
34.根据权利要求26所述的计算机系统,其特征在于,
所述第一计算机包含至少一个输入/输出模块;以及
其中多个输入/输出装置被耦合至至少一个I/O模块。
35.一种总线,其特征在于,所述总线被设计为连接两个计算机,
其中所述总线被配置用于所述第一计算机通过所述总线执行拉取命令以从所述第二计算机读取数据并且将它传送至所述第一计算机;
其中所述总线被配置用于所述第一计算机通过所述总线执行推送命令以向所述第二计算机发送数据;
其中所述总线将不允许来自所述第二计算机的推送命令或者来自所述第二计算机的拉取命令;以及
其中所述总线的所述硬件电路不允许所述第二计算机访问所述第一计算机的所述CPU或者所述存储模块。
CN201780002517.6A 2017-02-20 2017-02-20 防黑客计算机设计 Pending CN110337651A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/018578 WO2018151735A1 (en) 2017-02-20 2017-02-20 Hacking-resistant computer design

Publications (1)

Publication Number Publication Date
CN110337651A true CN110337651A (zh) 2019-10-15

Family

ID=63170619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780002517.6A Pending CN110337651A (zh) 2017-02-20 2017-02-20 防黑客计算机设计

Country Status (5)

Country Link
EP (1) EP3583538A4 (zh)
JP (1) JP7027664B2 (zh)
CN (1) CN110337651A (zh)
SG (1) SG11201706338WA (zh)
WO (1) WO2018151735A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428235A (zh) * 2020-02-21 2020-07-17 华东师范大学 一种面向类mil-std-1553b的总线控制器决策防护方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1314091A2 (en) * 2000-06-30 2003-05-28 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US20080146265A1 (en) * 2006-12-18 2008-06-19 Valavi John J Method and apparatus for location-based wireless connection and pairing
CN101361077A (zh) * 2006-02-07 2009-02-04 国际商业机器公司 用于预防连接了因特网的计算机上的恶意软件安装的方法
CN101632083A (zh) * 2007-05-09 2010-01-20 国际商业机器公司 用于防止计算机系统被操控的方法和数据处理系统
US20100325454A1 (en) * 2009-06-23 2010-12-23 Hewlett-Packard Development Company, L.P. Resource and Power Management Using Nested Heterogeneous Hypervisors
US20140331307A1 (en) * 2010-01-26 2014-11-06 Frampton E. Ellis Method of using a secure private network to actively configure the hardware of a computer or microchip
US20150229471A1 (en) * 2014-02-11 2015-08-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for securing content keys delivered in manifest files

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3873260B2 (ja) * 1996-04-08 2007-01-24 ソニー株式会社 情報処理システム、並びに情報処理装置および方法
JP2007304954A (ja) * 2006-05-12 2007-11-22 Sharp Corp メモリ保護機能を有するコンピュータシステム
US9479331B2 (en) * 2014-08-20 2016-10-25 Apple Inc. Managing security in a system on a chip (SOC) that powers down a secure processor
US10063375B2 (en) * 2015-04-20 2018-08-28 Microsoft Technology Licensing, Llc Isolation of trusted input/output devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1314091A2 (en) * 2000-06-30 2003-05-28 Intel Corporation Method and apparatus for secure execution using a secure memory partition
CN101361077A (zh) * 2006-02-07 2009-02-04 国际商业机器公司 用于预防连接了因特网的计算机上的恶意软件安装的方法
US20080146265A1 (en) * 2006-12-18 2008-06-19 Valavi John J Method and apparatus for location-based wireless connection and pairing
CN101632083A (zh) * 2007-05-09 2010-01-20 国际商业机器公司 用于防止计算机系统被操控的方法和数据处理系统
US20100325454A1 (en) * 2009-06-23 2010-12-23 Hewlett-Packard Development Company, L.P. Resource and Power Management Using Nested Heterogeneous Hypervisors
US20140331307A1 (en) * 2010-01-26 2014-11-06 Frampton E. Ellis Method of using a secure private network to actively configure the hardware of a computer or microchip
US20150229471A1 (en) * 2014-02-11 2015-08-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for securing content keys delivered in manifest files

Also Published As

Publication number Publication date
JP2020508499A (ja) 2020-03-19
WO2018151735A1 (en) 2018-08-23
SG11201706338WA (en) 2018-09-27
JP7027664B2 (ja) 2022-03-02
EP3583538A4 (en) 2020-11-04
EP3583538A1 (en) 2019-12-25

Similar Documents

Publication Publication Date Title
US11061832B2 (en) Hacking-resistant computer design
US9967333B2 (en) Deferred configuration or instruction execution using a secure distributed transaction ledger
US20170098099A1 (en) Tokenization in a centralized tokenization environment
US20190007216A1 (en) Secure server and compute nodes
KR102465738B1 (ko) 하드웨어-가속화된 암호 기법을 위한 키들의 스레드 소유권
US20110231670A1 (en) Secure access device for cloud computing
CN102741853A (zh) 用于利用虚拟机包裹应用来防止数据丢失的系统和方法
US20210192086A1 (en) Virus immune computer system and method
US11132438B2 (en) Virus immune computer system and method
WO2016122410A1 (en) Method for data protection using isolated environment in mobile device
US10592697B1 (en) Virus immune computer system and method
CN110337651A (zh) 防黑客计算机设计
CN109271139A (zh) 一种基于缓存中间件的规范化处理方法及装置
Rauter et al. Thingtegrity: A Scalable Trusted Computing Architecture for the Internet of Things.
EP2980724A1 (en) Method to handle sensitive resources

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40015076

Country of ref document: HK

CB02 Change of applicant information
CB02 Change of applicant information

Address after: USA New York

Applicant after: Lu'an Co.,Ltd.

Address before: USA New York

Applicant before: NEWMAN H-R COMPUTER DESIGN, LLC

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220106

Address after: USA New York

Applicant after: Lu'an Co.,Ltd.

Address before: USA New York

Applicant before: Lu'an Co.,Ltd.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191015