CN100565457C - 向具有高保证执行环境的系统提供安全输入的系统和方法 - Google Patents

向具有高保证执行环境的系统提供安全输入的系统和方法 Download PDF

Info

Publication number
CN100565457C
CN100565457C CNB2004100882982A CN200410088298A CN100565457C CN 100565457 C CN100565457 C CN 100565457C CN B2004100882982 A CNB2004100882982 A CN B2004100882982A CN 200410088298 A CN200410088298 A CN 200410088298A CN 100565457 C CN100565457 C CN 100565457C
Authority
CN
China
Prior art keywords
operating system
user
input pattern
secure operating
input
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.)
Expired - Fee Related
Application number
CNB2004100882982A
Other languages
English (en)
Other versions
CN1609811A (zh
Inventor
C·M·丘
山本浩文
I·艾弗拉罕
J·E·帕弗
P·C·罗伯茨
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1609811A publication Critical patent/CN1609811A/zh
Application granted granted Critical
Publication of CN100565457C publication Critical patent/CN100565457C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/086Access security using security domains
    • 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/2105Dual mode as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Burglar Alarm Systems (AREA)

Abstract

揭示了为用户输入提供安全性的技术,其中,第一、主机操作系统连同第二、高保证操作系统一起使用,第一系统为第二系统至少提供某些基础结构。呈现了两种模式。在第一种模式中,用户数据被传递到主机操作系统。在第二种模式中,用户数据保留在第二操作系统中,由第二操作系统或运行在第二操作系统上的进程使用。模式之间的转移可依照诸如按键组合等担保用户行动来实现,或当用户执行指示运行在第二操作系统中的进程的编程激活的行动时实现。当由第一操作系统运行阴影图形元素以指示运行在第二操作系统中的进程的图形元素的位置时,该编程激活可由阴影图形元素的编程激活指示。

Description

向具有高保证执行环境的系统提供安全输入的系统和方法
技术领域
本发明一般涉及计算机安全领域,尤其涉及在单个计算设备上使用多个执行环境(如,操作系统),并提供允许在多个执行环境中的更高保证执行环境中保护输入的完整性的技术。
背景技术
在现代的计算中,可在计算机上执行的许多任务需要某种级别的安全性。为提供安全级别,有若干选项。一个选项是在完全从任一可能的不安全元素分离的计算机上执行所有安全应用程序,或使用虚拟机器监控器(VMM)来使运行在单个计算机系统上的两个执行环境(如,操作系统)之间完全分离。然而,这可能是不切实际的。出于成本或存在方便的原因,可能需要安全执行环境来与具有不确定安全性的应用程序共享资源,并且那些应用程序和那些资源可对攻击者而言是易攻击的。另外,当使用VMM时,由于VMM需要机器及其所有设备的完全虚拟化(由此需要该VMM为每一可能的设备提供其自己的设备驱动器),VMM并不完全适合在其中可向机器添加几乎不受限制的各种设备的开放体系结构机器。
提供在两个执行环境之间共享资源的能力的一种方式是提供一种计算机系统,其中,有一个控制机器上大多数进程和设备的“主”操作系统,并且也存在一第二操作系统。该第二操作系统是与主操作系统一起的执行某些有限任务的小型、专用操作系统。令操作系统变得“小型”或“专用”的一种方式是允许小型操作系统从“主”操作系统借用某些基础结构(如,调度设施、存储器管理器、设备驱动器等)。由于VMM将一个操作系统与另一个有效地隔离,该基础结构的共享不适合使用VMM。
某些其它技术允许操作系统在同一机器上并肩存在,而不使用VMM。一种这样的技术是令一个操作系统担当其它操作系统的“主机”。(由“主机”提供服务的操作系统有时候被称为“访客”。)在这一情况下,主机操作系统向访客提供诸如存储器和处理器时间等资源。另一这类技术是使用“外内核(exokernel)”。外内核管理某些设备(如,处理器和存储器),也管理操作系统之间某些类型的交互,尽管外内核-与VMM不同-不虚拟化整个机器。即使当使用外内核时,情况可以是一个操作系统(如,“主”操作系统)向其它操作系统提供大多数基础结构,在这一情况下,主操作系统仍可被称为“主机”,而较小的操作系统被称为“访客”。主机模型和外内核模型都允许支持基础结构共享的操作系统之间有用类型的交互。
由此,这些技术可用于向计算机系统提供至少两种执行环境。其中之一可以是“高保证”操作系统,称为“网络点(nexus)”。高保证操作系统是提供关于其行为的某一级别的保证的操作系统。例如,网络点可用于通过提供确保不向网络点外部的世界泄露信息的屏蔽存储器(curtained memory),并通过仅准许某些经证明的应用程序在网络点下执行并访问屏蔽存储器,来对不应当被泄露的机密信息(如,密码密钥等)起作用。
在具有两个执行环境的计算机系统中,其中之一是网络点,理想的是网络点作为访客操作系统,而行为上不服从相同级别的保证的第二操作系统是主机操作系统。这可使网络点尽可能地小。小网络点允许网络点提供的保证有更高可信度。因此操作系统功能上由主机操作系统运行。
可由主机操作系统运行的一个这样的操作系统是窗口系统。当使用窗口系统时,以窗口-屏幕上显示应用程序的信息的区域-填充用户的显示器。应用程序可具有一个或多个窗口。所显示的所有窗口之一可具有聚焦。例如,聚焦窗口可由窗口周围与众不同的边界来指示。
在传统的窗口系统中,当窗口聚焦时,它一般是用户输入的目标。因此,在许多情况下,如果用户使用键盘键入信息,按键数据将由操作系统发送到拥有聚焦窗口的应用程序。某些按键和其它输入行动可不发送到拥有聚焦窗口的应用程序。例如,在某些窗口系统中,有一种最小化所有窗口的按键命令。这一命令由窗口系统处理,并且不发送到拥有聚焦窗口的应用程序。拥有聚焦窗口的应用程序可接收最小化该窗口的通知;然而,用户按键供窗口系统,而非拥有聚焦窗口的应用程序使用,并且不发送到该应用程序。
当由主操作系统而非网络点运行窗口系统时,它很容易受攻击。这导致一个问题,因为如上所述,窗口系统通过跟踪聚焦窗口来跟踪哪一窗口将接收用户输入。因此,可通过在转换聚焦以在系统上进行攻击,而用户不注意到这一攻击,甚至没有用户可注意到的指示。
例如,攻击可通过运行在主机上转换聚焦并捕捉按键的程序出现。导致用户相信用户的输入将被定向到可信实体-网络点中运行的某一硬件、系统软件、应用程序或窗口。然而,在某一点上聚焦转换。用户输入被替代地定向到攻击程序,稍后在攻击程序中可捕捉并使用该用户输入。
由此,由于窗口系统在主机操作系统的控制下,并且用户输入一般被定向到在输入时刻具有聚焦的窗口,因此令网络点的高保证处于危险状态。尽管参考窗口系统描述了本发明,然后可以有其中具有两种或多种保证级别,并且用户可选择与哪一实体(如,应用程序)交互的其它系统。同样,在这些系统中,必须保持某些输入的安全以避开较低保证的应用程序和实体,并且会出现上文描述的相同问题。
鉴于上述原因,需要一种克服现有技术的缺点的系统。
发明内容
在本发明的一个实施例中,使用两种模式-标准输入模式和网络点输入模式,来维护具有安全执行环境和第二执行环境的系统上的安全执行环境的安全性。一般地,仅当安全执行环境处于标准输入模式时,来自可信输入设备的用户输入被传输到第二执行环境。一般仅当安全执行环境处于网络点输入模式时,用户输入被定向到运行在安全执行环境中的进程。
用户输入的解密将在安全执行环境中完成。
在一个实施例中,在经担保的用户输入上或在运行在安全执行环境中的进程的编程激活(例如,使用鼠标指针或键盘命令对窗口聚焦,该窗口对应于运行在安全执行环境中的进程)之后,出现从标准输入模式到网络点输入模式的转移。
在一个实施例中,在经担保的用户输入上或在退出运行在显示图形用户界面的安全执行环境中的最后一个进程之后,出现从网络点输入模式到标准输入模式的转移。
在一个实施例中,即使在标准输入模式中,对应于对与运行在安全执行环境中的进程对应的图形用户界面元素的改变的用户输入也不被定向到第二执行环境。
在一个实施例中,通过维护安全执行环境的当前状态(至少来自标准输入模式和网络点输入模式),并依照当前状态定向用户输入流程来维护安全性。
下文描述本发明的其它特征。
附图说明
当结合附图阅读时,可以更好地理解以上概述以及以下较佳实施例的详细描述。为说明本发明的目的,附图中示出了本发明的示例性构造;然而,本发明不限于所揭示的具体方法和手段。附图中:
图1是可在其中实现本发明的各方面的示例性计算环境的框图;
图2是维护彼此的某种交互和彼此的某种分离的两个示例性执行环境的框图;
图3是依照本发明的一个实施例的输入模式的状态图;
图4是依照本发明的一个实施例的具有额外的过渡信息的输入模式的状态图;
图5是依照本发明的一个实施例维护彼此的某种交互和彼此的某种分离的两个示例性执行环境的框图;以及
图6是依照本发明的一个实施例用于维护安全执行环境的安全性的方法的流程图。
具体实施方式
综述
当两个执行环境,诸如操作系统在单个机器上并肩运行时,必须确定应当如何由操作系统访问用户输入。此外,需要保护操作系统之一不访问定向到第二操作系统的用户输入。本发明提供了允许保护定向到高保证实体的用户输入没有被主机操作系统实体发现的可能的技术。
示例性计算方案
图1示出了适合在其中实现本发明的各方面的一个示例计算环境。计算系统环境100仅为合适的计算环境的一个示例,并非建议对本发明的使用或功能的范围的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统、环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、嵌入式系统、包括任一上述系统或设备的分布式计算环境等等。
本发明可在计算机可执行指令的一般上下文环境中描述,计算机可执行指令如由计算机执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络或其它数据传输媒质连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储媒质中,如存储器存储设备。
参考图1,用于实现本发明的示例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。处理单元120可代表如多线程处理器上所支持的多个逻辑处理单元。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构的局部总线。作为示例而非局限,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线(也称为Mezzanine总线)。系统总线121也可被实现为点对点连接、交换光纤等通信设备。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CDROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘162和定位设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器之外,计算机也包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口195连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN 173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在存储器设备181中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
单个机器上的多个计算环境
如上所述,本领域已知两个操作系统可并肩地在单个计算装置上执行。本发明要解决的一个问题是如何在两个操作系统之间提供某一级别的分离的同时仍提供该两个操作系统之间某一级别的交互。
图2示出了其中两个操作系统134(1)和134(2)在单个计算机110上执行的系统。在操作系统134(1)和134(2)之间存在某一类型的逻辑分隔202,使得在操作系统134(1)和134(2)之间准许某些交互204,而仍允许保护操作系统的至少一个免遭其它操作系统中起源的事件的攻击。在图2的示例中,操作系统134(1)是主操作系统,而操作系统134(2)是访客操作系统,如上文所描述的“网络点”。如上所述,当操作系统134(2)是网络点时,期望要构造分隔202使得操作系统134(2)可与操作系统134(1)交互以借用操作系统134(1)的基础结构,而仍允许操作系统134(2)保护其本身免遭操作系统134(1)中引发的可能导致操作系统134(2)以与其行为规范相反的方式表现的行动(不论是恶意的还是无意的)。(然而,可以理解,本发明不限于操作系统134(2)是网络点的情况。)
操作系统134(1)和134(2)之间的分隔202可任选地在安全监控器的帮助下实施。安全监控器对操作系统134(1)和134(2)都是外部组件,它提供可用于保护操作系统134(2)免遭操作系统134(1)侵袭的某些安全服务。例如,安全监控器可控制对某些硬件的访问、可管理存储器的使用(以给予操作系统134(2)对存储器的某些部分的独占使用)、或可方便数据以安全的方式从操作系统134(1)传递到操作系统134(2)。应当注意,安全监控器的使用表示如何保护操作系统134(2)免遭操作系统134(1)的行动的一个模型,尽管安全监控器的使用并非所需。作为另一示例,操作系统134(2)可包括保护其本身免遭操作系统134(1)的行动所需要的所有功能。
应当注意,图2示出了操作系统134(1)为主机,而操作系统134(2)是访客。一般而言,这一特性指的是这样一个事实,在这些示例中,操作系统134(1)提供操作系统134(1)和134(2)都使用的某一操作系统基础结构(如,设备驱动器、调度等),并且操作系统134(2)在它较佳地缺乏这一基础结构而相反使用操作系统134(1)的基础结构的意义上是“访客”。然而,应当注意,令操作系统为“主机”或“访客”的参数是灵活的。此外,应当注意,“主机”和“访客”操作系统的传统概念假定主机需要保护其本身免遭访客的行动。然而,在图2的示例中,假定访客操作系统134(2)是需要保护其本身免遭主机操作系统134(1)的行动的高保证操作系统。在以下的示例中,为了在它们之间进行区分,一般将操作系统134(1)称为“主机”,而操作系统134(2)称为“访客”或网络点。应当理解,本发明所描述的技术可应用到运行在同一机器上(或甚至在同一组连接的机器上)的任意两个或多个操作系统的交互。
对单个机器上多个计算环境的用户输入
当用户与包含高保证操作系统的计算机系统上的程序交互时,用户通过用户输入设备,如鼠标161或键盘162(图1)来完成这一交互。如上所述,允许运行在主机操作系统134(1)上的窗口系统控制输入事件流的目的地会准许使用暴露的主机操作系统或应用程序的攻击。由此,输入事件流的目的地由运行在网络点134(2)上的可信用户接口引擎来控制。建立了计算机110可在其中运行的两种模式。这两种模式是标准输入模式(SIM)和网络点输入模式(NIM)。
下文将描述细节,然而,一般地,当用户输入被定向到网络点模式进程时,使用网络点输入模式,当用户输入不被定向到网络点时,使用标准输入模式。由此,这些模式用于提供一种保证级别,当用户输入应当被定向到与网络点134(2)连接的实体时,它不会被误定向到与主机操作系统134(1)连接的实体。避免这一误定向使网络点侧数据和进程安全性提高。由于SIM和NIM模式的使用能够防止网络点134(2)上的攻击,保护了这些模式上的控制。因此,这些模式由网络点134(2)控制,或者当计算机系统110中存在安全监控器时,可由安全监控器控制。
一般地,在标准输入模式中,在网络点中解密用户输入事件,并由网络点传递到标准模式输入管道。该标准模式输入管道是主机操作系统134(1)从其提取用户输入事件以供自己使用并用于在主机操作系统134(1)下运行的应用程序的输入管道。然而,某些用户输入事件触发从标准输入模式到网络点输入模式的切换。因此,在输入事件被传递到标准模式输入管道之前,由运行在网络点134(2)上的进程检查它们以确定它们是否为应当触发到网络点输入模式的切换的事件。
除触发到网络点输入模式的切换的事件之外,某些鼠标或其它用户输入事件可由网络点保留和作用,而非传递到主机侧,即使是在SIM中。例如,当使用窗口系统时,在标准输入模式,仅非网络点实体所拥有的窗口具有聚焦。在一个实施例中,当使用窗口系统时,鼠标用于控制显示器上光标的移动,网络点控制跟踪并显示鼠标在网络点侧应用程序或其它NIM和SIM中的实体控制的窗口上的移动。在这一情况下,输入事件是鼠标移动,在SIM中,从网络点传递到主机侧的输入事件不包括具有网络点用户界面元素的区域上的鼠标移动。
在网络点输入模式中,用户输入事件在网络点空间内处理一即,在包含网络点134(2)的计算机系统110的部分内,并由逻辑分隔202从计算机系统110的其它部分分离。在这一模式中,标准模式输入管道不接收用户输入事件。输入事件被传递到网络点空间中的目标实体,或由网络点134(2)用于操作系统功能,并确定是否应当出现到标准输入模式的切换。
在一个实施例中,有某些即使在NIM中,也被传递到主机134(1)的例外。例如,在一个实施例中,关于键盘上的指示灯的命令、音量控制命令和屏幕对比度和亮度的命令可被传递到主机134(1)。然而,在一个替换实施例中,当计算机系统在NIM中时简单地忽略这些命令。
由此,计算机系统110的输入模式可由图3所示的状态图来描述。图3依照本发明的一个实施例示出了输入模式的状态图。标准输入模式状态300代表标准输入模式,其中,在被检查以确保它们不是触发到网络点输入模式状态310的转移的事件之后,事件被传递到标准模式输入管道。网络点输入模式状态310代表网络点输入模式,其中,标准输入模式不接收用户输入事件。
输入模式之间的转移
在一个实施例中,当用户激活网络点用户界面元素时,出现SIM到NIM的转移302。在窗口环境中,这可在用户选择或点击由网络点空间控制的窗口时出现。这指示用户的聚焦移动到该窗口。在一个实施例中,对于网络点空间中的实体控制的每一用户界面元素,有一在主机侧维护的对应的“阴影”。当选择该阴影用户界面元素时(如,通过点击阴影用户界面元素的标题栏),作出到NIM的转移,并且聚焦被切换到网络点侧实体所拥有的对应的用户界面元素。
当出现担保的用户交互时,也出现SIM到NIM的转移。担保用户交互是在计算机系统110的环境中始终产生特定结果的用户交互。因此,可以有其结果是计算机系统110处于网络点输入模式的担保用户交互。
图4更完全地描述了依照本发明的一个实施例的从SIM状态300到NIM状态310的转移的两种方式。依照本发明的一个实施例,图4以更具体的转移信息示出了输入模式的状态图。图4示出当用户聚焦在网络点空间实体402上时,作出从SIM到NIM的转移。这是一种担保行动。另外,当用户执行任一其它的NIM担保行动404-即,旨在始终导致计算机处于NIM状态的行动时,作出从SIM到NIM的转移。情况也可以是用户可在处于NIM状态310时执行NIM担保行动。如果是这样,如NIM担保行动406所示,状态保留在NIM状态310。例如,NIM担保行动可以是按键的集合或组合。例如,当用户同时按“control”键、“alt”键和“tab”键时,这一系列的键提供了计算机系统110将立即切换到NIM状态310的保证。
在一个实施例中,这一转移作为按键组合的结果出现,主机侧将接收解析它所接收的任何按键信息的模型用户输入数据。因此,使用先前的<CTRL><ALT><TAB>示例,如果主机侧接收按了control键和alt键的信息,则当按tab键时,出现到NIM状态310的转移,并且主机侧接收指示control键和alt键已被释放的模型用户输入。由此,当作出到NIM的转移时,清空或重设主机侧输入跟踪。类似地,当作出到SIM的转移时,主机侧接收关于输入设备的状态,如当前在键盘上压下哪些键的信息,使得它可正确地对来自输入设备的进一步变化作出响应。
再次参考图3,也提供了NIM到SIM的转移312。在一个实施例中,如图4所示,为向网络点空间实体提供高保证,该转移仅当用户具体地请求这一切换时通过执行SIM担保行动412出现。可以看到,有两种方式从NIM状态310转移到SIM状态312,但是只有一种方式可以转移回。在一个实施例中,不存在从NIM状态310到SIM状态312的转移,它与当用户聚焦在网络点空间实体上时出现的从SIM状态312到NIM状态310的转移402“对称”。更一般地,再次参考图3,在一个实施例中,在与从NIM到SIM 312的转移所出现的方式完全对称的方式中不出现从SIM到NIM 310的转移。这通过确保计算机系统110的用户必须有意而非偶然地促使到标准输入模式的任何转移提供了提高的安全性。
在其它实施例中,有替换的方式从SIM切换到NIM。例如,如果在网络点中执行的用户模式进程(“网络点代理”)到达需要用户输入的一点,它导致从SIM到NIM的转移。这允许某些额外的安全性。例如,如果网络点代理在监视器191(图1)上显示保密信息时,它会不时地要求密码,以维护监视器上的保密信息。如果网络点代理可强迫到NIM的转移并请求该数据,则当它未接收密码时,它可从监视器191上移除保密信息,并执行需要的任何其它行动。可触发到NIM模式的转移的另一事件是接收电源管理事件。这一事件可包括加电、断电、切换到另一形式的电源(电池等)、休眠等。
在其它实施例中,有替换方式从NIM切换到SIM。例如,如果使用了窗口系统,并且用户关闭了网络点代理所拥有的最后一个窗口,这次将导致从NIM到SIM的转移。在这一实施例中,由于NIM仅用于允许对网络点代理的输入,一旦关闭了与任何网络点代理关联的所有窗口,计算机系统110不需要在NIM中,并且它切换到SIM。
多个计算环境中的可信输入路径
在一个实施例中,诸如鼠标161或键盘162(图1)等用户输入设备的一些或全部可支持加密。这一加密设备允许输入设备和网络点建立安全连接,并由此防止硬件攻击。在一个实施例中,NIM和SIM仅应用到来自加密设备的输入。然而,其它输入设备可能未被加密,来自未加密用户输入设备的输入仅被主机系统接受,并且不用于网络点或运行在网络点上的任何实体。
图5是依照本发明的一个实施例,维护彼此的某种交互和彼此的某种分离的两个示例性执行环境的框图。如图5所示,可信输入设备500向计算机系统110发送加密的用户输入数据。加密数据到达主机侧操作系统134(1)的输入栈505中。由于它被加密,它不能由主机侧操作系统134(1)使用,而被传递到网络点134(2)。在图5中,主机侧(逻辑分隔202的左侧)和网络点侧(逻辑分隔202的右侧)都被进一步划分成用户层510和内核层520。它们对应于操作系统中用户级和内核级执行之间的区别。当网络点134(2)接收加密的用户输入数据时,它被传递到输入可信服务提供器(TSP),其中对加密的用户输入数据进行解密。
解密的数据然后被传递到可信用户接口引擎(TUE)530,具体地为可信输入管理器540。可信输入管理器540结合可信窗口管理器(TWinMgr)545一起跟踪输入模式的状态。可信输入管理器540和TWinMgr545也跟踪转移事件是否由用户输入数据指示,并相应地改变用户输入模式。
在上文描述的实施例中,对每一网络点侧用户界面元素创建主机侧上的阴影用户界面元素(如,阴影窗口),当在阴影用户界面元素上接收聚焦事件时,由TWinMgr 545接收该事件的通知,并且这导致到NIM的切换。TWinMgr 545担当网络点侧用户界面元素的窗口管理器。由此,请求聚焦的网络点侧窗口将发信号通知TWinMgr 545,并导致到NIM的切换。
如果输入模式是SIM,大多数用户输入数据(如上所述)被恢复到输入栈505中,用于在主机侧上使用,如箭头C 590所示。一个例外是关于网络点侧用户界面元素上的鼠标移动的数据。网络点侧用户界面元素的显示由可信输出管理器(TOM)550处理,因此网络点侧用户界面元素上的鼠标移动被传递到TOM 550,如箭头B 580所示。其它例外包括可被传递到网络点侧的别处的触发事件和上文所描述的事件。
如果输入模式是NIM,则数据从可信输入管理器传递到正确的目标网络点模式进程。这由箭头A 570示出,示出用户输入数据被发送到网络点代理575。其它数据可被传递到网络点侧的其它实体。如上所述,在一个实施例中,某些数据,例如音量控制数据可被传递到主机侧。
图6是依照本发明的一个实施例用于维护安全执行环境的安全性的方法的流程图。如图6所示,在步骤600,从可信输入设备接受用户输入。例如,这可以是图5所示的直接或间接路径。在步骤610,确定安全执行环境是否在标准输入模式中。如果时,则在步骤620,将用户输入的至少第一部分传输到第二执行环境。
总结
注意,上述示例仅为解释目的提供,并且不应当被解释为对局限本发明。尽管参考各种实施例描述了本发明,可以理解,此处所使用的词语是描述和说明的词语,而非限制的词语。此外,尽管此处参考具体的方法、材料和实施例描述了本发明,本发明不意味着限于此处所揭示的细节;相反,本发明延及处于所附权利要求书的范围内的所有功能等效结构、方法和使用。从本说明书的教导获益的本领域的技术人员可以在不脱离本发明的各方面的范围和精神的情况下对其作出许多修改和变化。

Claims (37)

1.一种维护在包括安全执行环境和第二执行环境的系统上的所述安全执行环境的安全性的方法,其特征在于,它包括:
从一可信输入设备接受用户输入;
确定所述安全操作系统是否在标准输入模式中;以及
如果所述安全操作系统在标准输入模式中,将所述用户输入的至少第一部分传输到所述第二操作系统;
如果所述安全操作系统在网络点输入模式中:
则确定一将所述用户输入导向其处的运行在所述安全操作系统中的具体进程;以及
将所述用户输入导向到所述具体进程;
确定所述用户输入是否包括一所述安全操作系统应当在网络点输入模式中的用户网络点输入模式指示;以及
如果所述用户输入包括所述用户网络点输入模式指示,并且所述安全操作系统不在所述网络点输入模式中,则将所述安全操作系统切换到所述网络点输入模式。
2.如权利要求1所述的方法,其特征在于,它还包括:
解密所述用户输入。
3.如权利要求1所述的方法,其特征在于,所述用户网络点输入模式指示包括键盘上的按键组合。
4.如权利要求1所述的方法,其特征在于,所述用户网络点输入模式指示包括运行在所述安全操作系统中的进程的程序激活。
5.如权利要求4所述的方法,其特征在于,运行在所述安全操作系统中的第一进程的所述程序激活包括选择一对应于所述进程的图形用户界面元素。
6.如权利要求5所述的方法,其特征在于,所述图形用户界面元素是使用第二进程显示的阴影图形用户界面元素,其中,所述进程运行在所述第二操作系统中,并且其中,所述阴影图形用户界面元素对应于由所述第一进程显示的安全图形用户界面元素。
7.如权利要求1所述的方法,其特征在于,它还包括:
确定所述用户输入是否包括一所述安全操作系统应当在所述标准输入模式中的用户标准输入模式指示;以及
如果所述用户输入包括所述用户标准输入模式指示,并且所述安全操作系统不在所述标准输入模式中时,则将所述安全操作系统切换到所述标准输入模式。
8.如权利要求7所述的方法,其特征在于,所述用户标准输入模式指示包括键盘上的按键组合。
9.如权利要求7所述的方法,其特征在于,所述用户标准输入模式指示包括导致没有对应于运行在所述安全操作系统上的进程的图形用户界面元素的显示的行动。
10.如权利要求1所述的方法,其特征在于,如果所述安全操作系统在标准输入模式中,并且所述用户输入的第二部分对应于对由运行在所述安全操作系统中的进程显示的图形用户界面元素的改变,则在所述安全操作系统内执行对所述图形用户界面元素的所述改变。
11.如权利要求10所述的方法,其特征在于,对由运行在所述安全操作系统上的进程显示的图形用户界面元素的改变包括在由运行在所述安全操作系统中的进程显示的图形用户界面元素上的鼠标光标移动。
12.如权利要求1所述的方法,其特征在于,它还包括:
如果检测到电源管理变化,则将所述安全操作系统切换到网络点输入模式。
13.一种用于维护包括安全操作系统和第二操作系统的系统上的所述安全操作系统的安全性的计算计算系统系统,其特征在于,所述计算系统包括:
用于从一可信输入设备接受用户输入的装置;
用于确定所述安全操作系统是否在标准输入模式中的装置;以及
用于如果所述安全操作系统在标准输入模式中,则将所述用户输入的至少第一部分传输到所述第二操作系统的装置;
用于如果所述安全操作系统在网络点输入模式中,则执行以下动作的装置:
确定一将所述用户输入导向其处的运行在所述安全操作系统中的具体进程;以及
将所述用户输入导向所述具体进程;
用于确定所述用户输入是否包括所述安全操作系统是否应当在网络点输入模式中的用户网络点输入模式指示的装置;以及
用于如果所述用户输入包括所述用户网络点输入模式指示,并且所述安全操作系统不在所述网络点输入模式中,则将所述安全操作系统切换到所述网络点输入模式的装置。
14.如权利要求13所述的计算系统,其特征在于,进一步包括:
用于解密所述用户输入的装置。
15.如权利要求13所述的计算系统,其特征在于,所述用户网络点输入模式指示包括键盘上的按键组合。
16.如权利要求13所述的计算系统,其特征在于,所述用户网络点输入模式指示包括运行在所述安全操作系统中的进程的程序激活。
17.如权利要求16所述的计算系统,其特征在于,运行在所述安全操作系统中的第一进程的所述序程激活包括选择一对应于所述进程的图形用户界面元素。
18.如权利要求13所述的计算系统,其特征在于,所述图形用户界面元素是使用第二进程显示的阴影图形用户界面元素,其中,所述进程运行在所述第二操作系统中,并且其中,所述阴影图形用户界面元素对应于由所述第一进程显示的安全图形用户界面元素。
19.如权利要求13所述的计算系统,其特征在于,进一步包括:
用于确定所述用户输入是否包括所述安全操作系统应当在所述标准输入模式中的用户标准输入模式指示的装置;以及
用于如果所述用户输入包括所述用户标准输入模式指示,并且所述安全操作系统不在所述标准输入模式中,则将所述安全操作系统切换到所述标准输入模式的装置。
20.如权利要求19所述的计算系统,其特征在于,所述用户标准输入模式指示包括键盘上的按键组合。
21.如权利要求19所述的计算系统,其特征在于,所述用户标准输入模式指示包括导致没有对应于运行在所述安全操作系统中的进程的图形用户界面元素的显示的行动。
22.如权利要求13所述的计算系统,其特征在于,如果所述安全操作系统在标准输入模式中,并且所述用户输入的第二部分对应于对由运行在所述安全操作系统中的进程显示的图形用户界面元素的改变,则在所述安全操作系统内执行对所述图形用户界面元素的改变。
23.如权利要求22所述的计算系统,其特征在于,对由运行在所述安全操作系统中的进程显示的图形用户界面元素的改变包括在由运行在所述安全操作系统中的进程显示的图形用户界面元素上的鼠标光标的移动。
24.如权利要求13所述的计算系统,其特征在于,进一步包括:
用于如果检测到电源管理变化,则将所述安全操作系统切换到网络点输入模式的装置。
25.一种在包括安全操作系统和第二操作系统的计算机系统中使用的可信用户接口引擎,其特征在于,所述可信用户接口引擎包括:
一输入栈,用于接受用户输入;以及
一可信输入管理器,用于确定所述安全操作系统是否在标准输入模式中;并用于当所述安全操作系统在标准输入模式中时将所述用户输入的至少第一部分导向到所述第二操作系统;
如果所述安全操作系统在网络点输入模式中,则所述可信输入管理器确定一将所述用户输入导向其处的运行在所述安全操作系统中的具体进程;并将所述用户输入导向所述具体进程;
所述可信输入管理器确定所述用户输入是否包括所述安全操作系统应当在网络点输入模式中的用户网络点输入模式指示;并且
如果所述用户输入包括所述用户网络点输入模式指示,且所述安全操作系统不在所述网络点输入模式中,则将所述安全操作系统切换到所述网络点输入模式。
26.如权利要求25所述的可信用户接口引擎,其特征在于,所述用户网络点输入模式指示包括键盘上的按键组合。
27.如权利要求25所述的可信用户接口引擎,其特征在于,所述用户网络点输入模式指示包括运行在所述安全操作系统中的进程的程序激活。
28.如权利要求27所述的可信用户接口引擎,其特征在于,运行在所述安全操作系统中的第一进程的所述程序激活包括选择一对应于所述进程的图形用户界面元素。
29.如权利要求28所述的可信用户接口引擎,其特征在于,所述图形用户界面元素是使用第二进程显示的阴影图形用户界面元素,其中,所述进程运行在所述第二操作系统中,并且其中,所述阴影图形用户界面元素对应于由所述第一进程显示的安全图形用户界面元素。
30.如权利要求25所述的可信用户接口引擎,其特征在于,所述可信输入管理器确定所述用户输入是否包括所述安全操作系统是否应当在所述标准输入模式中的用户标准输入模式指示;并且如果所述用户输入包括所述用户标准输入模式指示,且所述安全操作系统不在所述标准输入模式中,则将所述安全操作系统切换到所述标准输入模式。
31.如权利要求30所述的可信用户接口引擎,其特征在于,所述用户标准输入模式指示包括键盘上的按键组合。
32.如权利要求30所述的可信用户接口引擎,其特征在于,所述用户标准输入模式指示包括导致没有对应于运行在所述安全操作系统中的进程的图形用户界面元素的显示的行动。
33.如权利要求25所述的可信用户接口引擎,其特征在于,如果所述安全操作系统在标准输入模式中,且所述用户的第二部分对应于对由运行在所述安全操作系统中的进程显示的图形用户界面元素的改变,则在所述安全操作系统中执行对所述图形用户界面元素的改变。
34.如权利要求33所述的用户接口引擎,其特征在于,对由运行在所述安全操作系统中的进程显示的图形用户界面元素的改变包括在由运行在所述安全操作系统中的进程显示的图形用户界面元素上的鼠标光标的移动。
35.如权利要求25所述的可信用户接口引擎,其特征在于,如果检测到电源管理变化,则所述可信输入管理器将所述安全操作系统切换到网络点输入模式。
36.一种维护包括安全操作系统和第二操作系统的系统上的所述安全操作系统的安全性的方法,其特征在于,它包括:
维护从一组可能的状态中选择的所述安全操作系统的当前状态,所述可能状态包括:标准输入模式状态和网络点输入模式状态;
依照所述当前状态定向用户输入流;
确定所述用户输入是否包括一所述安全操作系统应当在网络点输入模式中的用户网络点输入模式指示;以及
如果所述用户输入包括所述用户网络点输入模式指示,并且所述安全操作系统不在所述网络点输入模式中,则将所述安全操作系统切换到所述网络点输入模式。
37.如权利要求36所述的方法,其特征在于,它还包括:
当所述当前状态是所述网络点输入模式状态时,限制所述用户输入到所述第二操作系统的传输。
CNB2004100882982A 2003-10-24 2004-10-22 向具有高保证执行环境的系统提供安全输入的系统和方法 Expired - Fee Related CN100565457C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/693,061 2003-10-24
US10/693,061 US7464412B2 (en) 2003-10-24 2003-10-24 Providing secure input to a system with a high-assurance execution environment

Publications (2)

Publication Number Publication Date
CN1609811A CN1609811A (zh) 2005-04-27
CN100565457C true CN100565457C (zh) 2009-12-02

Family

ID=34394582

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100882982A Expired - Fee Related CN100565457C (zh) 2003-10-24 2004-10-22 向具有高保证执行环境的系统提供安全输入的系统和方法

Country Status (12)

Country Link
US (2) US7464412B2 (zh)
EP (1) EP1526426B1 (zh)
JP (1) JP4607529B2 (zh)
KR (1) KR101099324B1 (zh)
CN (1) CN100565457C (zh)
AT (1) ATE386971T1 (zh)
AU (1) AU2004216665B2 (zh)
BR (1) BRPI0404021A (zh)
CA (1) CA2482078C (zh)
DE (1) DE602004011871T2 (zh)
MX (1) MXPA04010156A (zh)
RU (1) RU2365988C2 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496768B2 (en) * 2003-10-24 2009-02-24 Microsoft Corporation Providing secure input and output to a trusted agent in a system with a high-assurance execution environment
US7464412B2 (en) * 2003-10-24 2008-12-09 Microsoft Corporation Providing secure input to a system with a high-assurance execution environment
US7784088B2 (en) 2004-07-30 2010-08-24 Research In Motion Limited Method and system for managing delayed user authentication
EP1779248A4 (en) 2004-07-30 2008-02-27 Research In Motion Ltd METHOD AND SYSTEM FOR COORDINATING CLIENT AND HOST SAFETY MODULES
US9363481B2 (en) * 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US7721094B2 (en) * 2005-05-06 2010-05-18 Microsoft Corporation Systems and methods for determining if applications executing on a computer system are trusted
US20070192826A1 (en) * 2006-02-14 2007-08-16 Microsoft Corporation I/O-based enforcement of multi-level computer operating modes
US7917750B2 (en) * 2006-07-25 2011-03-29 Hewlett-Packard Development Company, L.P. Virtual user authentication system and method
GB0615015D0 (en) * 2006-07-28 2006-09-06 Hewlett Packard Development Co Secure use of user secrets on a computing platform
DE102006049646B3 (de) * 2006-10-20 2008-06-19 Siemens Ag Verfahren und Sendevorrichtung zum gesicherten Erstellen und Versenden einer elektronischen Nachricht sowie Verfahren und Empfangsvorrichtung zum gesicherten Empfangen und Verarbeiten einer elektronischen Nachricht
US8095977B2 (en) * 2007-01-19 2012-01-10 Microsoft Corporation Secure PIN transmission
KR100838488B1 (ko) * 2007-01-24 2008-06-16 현대중공업 주식회사 사용자 컴퓨터에 키스트로크 해킹 보안 프로그램 설치가필요 없는 변조된 일회성 인증 데이터 생성 방식을 이용한정보 보안 방법 및 장치
JP4782042B2 (ja) * 2007-02-21 2011-09-28 富士通株式会社 電子計算機及びソフトウェアによるユーザインタフェースの実現方法
US8261064B2 (en) * 2007-02-27 2012-09-04 L-3 Communications Corporation Integrated secure and non-secure display for a handheld communications device
US8307358B1 (en) 2007-07-10 2012-11-06 Parallels IP Holdings GmbH Method and system for unattended installation of guest operating system
US8205248B2 (en) * 2007-09-30 2012-06-19 Lenovo (Singapore) Pte. Ltd. Local verification of trusted display based on remote server verification
US8516564B2 (en) * 2008-07-18 2013-08-20 International Business Machines Corporation Secure user interaction using virtualization
KR101540798B1 (ko) * 2008-11-21 2015-07-31 삼성전자 주식회사 가상화 환경에서 보안 정보를 제공하기 위한 장치 및 방법
US9065812B2 (en) * 2009-01-23 2015-06-23 Microsoft Technology Licensing, Llc Protecting transactions
WO2011075484A2 (en) 2009-12-14 2011-06-23 Citrix Systems, Inc. A secure virtualization environment bootable from an external media device
US8924571B2 (en) * 2009-12-14 2014-12-30 Citrix Systems, Imc. Methods and systems for providing to virtual machines, via a designated wireless local area network driver, access to data associated with a connection to a wireless local area network
EP2517104A4 (en) * 2009-12-24 2013-06-05 Intel Corp METHOD AND APPARATUS FOR MANAGING I / O OPERATION IN A VIRTUALIZATION ENVIRONMENT
TWI476625B (zh) 2011-02-22 2015-03-11 Htc Corp 資料安全管理系統和方法
EP2780860A1 (en) 2011-11-14 2014-09-24 ST-Ericsson SA Method for managing public and private data input at a device
CN102542205B (zh) * 2011-12-31 2015-06-03 汉柏科技有限公司 用于共享数据保护的辅助设计方法
GB201218389D0 (en) 2012-10-12 2012-11-28 Uni I Olso Multi-mode computer with selector
RU2583710C2 (ru) * 2013-07-23 2016-05-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обеспечения конфиденциальности информации, используемой во время операций аутентификации и авторизации, при использовании доверенного устройства
CN104143065A (zh) * 2014-08-28 2014-11-12 北京握奇智能科技有限公司 安全智能终端设备、及信息处理方法
US9704355B2 (en) 2014-10-29 2017-07-11 Clover Network, Inc. Secure point of sale terminal and associated methods
US9832207B2 (en) * 2014-12-23 2017-11-28 Mcafee, Inc. Input verification
US9996690B2 (en) * 2014-12-27 2018-06-12 Mcafee, Llc Binary translation of a trusted binary with input tagging
US9798559B2 (en) 2014-12-27 2017-10-24 Mcafee, Inc. Trusted binary translation
EP3355188B1 (en) 2017-01-31 2021-08-25 OpenSynergy GmbH Instrument display on a car dashboard by checking frames of a gui by a realtime os
US10846432B2 (en) 2018-09-11 2020-11-24 OneLogin, Inc. Secure data leak detection
US11429753B2 (en) * 2018-09-27 2022-08-30 Citrix Systems, Inc. Encryption of keyboard data to avoid being read by endpoint-hosted keylogger applications

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5537544A (en) 1992-09-17 1996-07-16 Kabushiki Kaisha Toshiba Portable computer system having password control means for holding one or more passwords such that the passwords are unreadable by direct access from a main processor
US5590266A (en) 1994-10-11 1996-12-31 International Business Machines Corporation Integrity mechanism for data transfer in a windowing system
KR100521252B1 (ko) * 1997-06-16 2006-01-12 삼성전자주식회사 화면출력상태 제어기능을 갖는 컴퓨터 시스템 및 그 제어방법
JP4089171B2 (ja) 2001-04-24 2008-05-28 株式会社日立製作所 計算機システム
GB2376761A (en) 2001-06-19 2002-12-24 Hewlett Packard Co An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk
GB2376764B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
US7496768B2 (en) * 2003-10-24 2009-02-24 Microsoft Corporation Providing secure input and output to a trusted agent in a system with a high-assurance execution environment
US7464412B2 (en) 2003-10-24 2008-12-09 Microsoft Corporation Providing secure input to a system with a high-assurance execution environment

Also Published As

Publication number Publication date
BRPI0404021A (pt) 2005-06-21
US7464412B2 (en) 2008-12-09
US7882566B2 (en) 2011-02-01
CA2482078C (en) 2011-10-25
EP1526426B1 (en) 2008-02-20
AU2004216665A1 (en) 2005-05-12
EP1526426A3 (en) 2005-07-20
CA2482078A1 (en) 2005-04-24
CN1609811A (zh) 2005-04-27
ATE386971T1 (de) 2008-03-15
DE602004011871T2 (de) 2009-03-05
RU2004131023A (ru) 2006-04-10
DE602004011871D1 (de) 2008-04-03
US20090083862A1 (en) 2009-03-26
KR101099324B1 (ko) 2011-12-26
KR20050039542A (ko) 2005-04-29
MXPA04010156A (es) 2005-04-28
RU2365988C2 (ru) 2009-08-27
EP1526426A2 (en) 2005-04-27
JP4607529B2 (ja) 2011-01-05
US20050091530A1 (en) 2005-04-28
AU2004216665B2 (en) 2010-03-18
JP2005129035A (ja) 2005-05-19

Similar Documents

Publication Publication Date Title
CN100565457C (zh) 向具有高保证执行环境的系统提供安全输入的系统和方法
US7434069B2 (en) Method and device for encryption/decryption of data on mass storage device
CN101533450B (zh) 提供安全执行环境的微处理器及其执行安全编码的方法
RU2365045C2 (ru) Обеспечение защищенного ввода и вывода для доверенного агента в системе с высоконадежной средой исполнения программ
US20190332765A1 (en) File processing method and system, and data processing method
CN101246530A (zh) 对一组存储设备进行数据加密和数据访问的系统和方法
CN101529366A (zh) 可信用户界面对象的标识和可视化
CN1811785A (zh) 安全计算机密码系统和方法
CN1306357C (zh) 一种保证信息安全的计算机系统
TWI444834B (zh) 使用於鍵盤及應用程式間之共享秘密技術
CN101079090B (zh) 再现个人应用环境的设备
CN2754136Y (zh) 一种保证信息安全的计算机系统
KR101742265B1 (ko) 입력 장치 및 방법
CN1591333A (zh) 一种能识别计算机的智能加密方法
TW202013291A (zh) 透過作業系統驗證密碼以進行加解密之系統及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091202

Termination date: 20201022

CF01 Termination of patent right due to non-payment of annual fee