CN1578214A - 从服务器发送到客户机的启动文件的三向确认和验证 - Google Patents

从服务器发送到客户机的启动文件的三向确认和验证 Download PDF

Info

Publication number
CN1578214A
CN1578214A CNA2004100618848A CN200410061884A CN1578214A CN 1578214 A CN1578214 A CN 1578214A CN A2004100618848 A CNA2004100618848 A CN A2004100618848A CN 200410061884 A CN200410061884 A CN 200410061884A CN 1578214 A CN1578214 A CN 1578214A
Authority
CN
China
Prior art keywords
client computer
server
startup file
verified
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2004100618848A
Other languages
English (en)
Other versions
CN100550722C (zh
Inventor
W·G·米勒
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 CN1578214A publication Critical patent/CN1578214A/zh
Application granted granted Critical
Publication of CN100550722C publication Critical patent/CN100550722C/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Abstract

一种从服务器向具有预安装的环境的客户机传输启动文件的方法和系统。所述服务器验证所述客户机。所述客户机验证所述服务器。所述启动文件从所述已验证的服务器传输到所述已验证的客户机。所述客户机可以在执行所述启动文件来创建操作系统之前验证该启动文件。

Description

从服务器发送到客户机的启动文件的三向确认和验证
技术领域
本发明涉及客户机、服务器和启动文件的确认和验证领域,尤其涉及对于预操作系统(pre-operating system)环境中通过网络连接至服务器的客户机的启动文件的确认和验证。
背景技术
预操作系统(pre-OS)个人计算机(PC)的网络启动的一个关键问题是很难和/或无法确认这类PC对服务器的安全性。另外,许多服务器无法验证其客户机,并且许多客户机无法确认服务器和/或由服务器提供给客户机的启动文件的完整性。而且,当启动新的或被损坏的未安装操作系统的PC时有很大的限制。尤其是在预操作系统环境中,需要确认客户机、服务器或启动文件的完整性。也需要允许客户不论操作系统的状态如何都能够安全地启动,以提供一种更安全且健壮的方法来启动客户机并展开操作系统。
发明内容
通过在客户机上设置预安装的环境,并在预安装环境中装置能够确认客户机、服务器或启动文件的完整性的组件,本发明提供了一种更安全且健壮的方法来启动客户机并展开操作系统。另外,允许客户不论操作系统的状态如何都能够安全地启动,提供了一种更安全且健壮的方法来启动客户和展开操作系统。因此,本发明满足了对提供能用来确认这三个组件-客户机、服务器、(多个)启动文件的任一个或全部的完整性的预安装环境的非常驻组件的系统和方法的需求。
一般而言,本发明是一种用于确认和验证网络化环境中启动的操作系统的系统和方法。传统的基于网络的启动不包括对服务器/客户机的确认和验证组件。本发明提供一种用于服务器/客户机验证和确认的三向验证框架。本发明在客户机和服务器组件上同时使用确认装置,如数字证书。通过交换确认装置,客户机能够向服务器验证其自身,服务器能够向客户机验证其自身,并且客户机能够核实由服务器发送的启动文件已适当地被确认。
依照本发明的一个方面,一种方法通过网络从服务器向具有预操作系统环境的客户机传输启动文件。该方法包括在客户机上安装客户机的可信性证书;客户机通过网络请求服务器向客户机传输启动文件;客户机通过网络发送已安装的客户机可信性证书;服务器通过接收的客户机可信性证书来验证客户机;服务器通过网络向客户机发送服务器可信性证书,作为对服务器验证客户机的响应;客户机通过所接收的服务器可信性证书验证服务器;已验证的客户机通过网络请求已验证的服务器向已验证的客户机发送启动文件;从已验证的服务器向已验证的客户机传输启动文件,作为对已验证的客户机的请求的响应;已验证的客户机验证所传输的启动文件;以及已验证的客户机执行已验证的启动文件。
以另一种形式,本发明包括一种从服务器向客户机传输启动文件的方法,包括服务器验证客户机;客户机验证服务器;以及从已验证的服务器向已验证的客户机传输启动文件。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法。该方法包括在客户机上安装客户机可信性证书;客户机通过网络请求服务器向客户机传输启动文件;客户机通过网络发送已安装的客户机可信性证书;服务器通过所接收的客户机可信性证书验证客户机;以及从服务器向已验证的客户机传输启动文件。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,包括在客户机上安装客户机可信性证书;客户机通过网络请求服务器向客户机传输启动文件;客户机通过网络发送已安装的客户机可信性证书;以及客户机从服务器接收启动文件。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机发送启动文件的方法。该方法包括服务器通过网络从客户机接收服务器向客户机传输启动文件的请求;服务器通过网络从客户机接收先前安装的客户机可信性证书;服务器通过接收的客户机可信性证书验证客户机;以及从服务器向已验证的客户机传输启动文件。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,包括客户机通过网络请求服务器向客户机传输启动文件;服务器通过网络向客户机发送服务器可信性证书;客户机通过接收的服务器可信性证书验证服务器;客户机通过网络请求已验证的服务器向客户机传输启动文件;以及从已验证的服务器向客户机传输启动文件,作为对客户机的请求的响应。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,包括服务器通过网络从客户机接收服务器向客户机传输启动文件的请求;服务器通过网络从客户机接收先前安装的客户机可信性证书;服务器通过所接收的客户机可信性证书验证客户机;以及服务器通过网络向已验证的客户机发送启动文件。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,包括:客户机通过网络请求服务器向客户机传输启动文件;客户机通过网络从服务器接收服务器可信性证书;客户机通过所接收的服务器可信性证书验证服务器;客户机通过网络请求已验证的服务器向客户机传输启动文件;以及接收从已验证的服务器向客户机传输的启动文件,作为对客户机请求的响应。
以另一种形式,本发明包括一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法。该方法包括客户机通过网络请求服务器向客户机传输启动文件;从服务器向客户机传输启动文件,作为对客户机的请求的响应;客户机验证所传输的启动文件;以及已验证的客户机执行已验证的启动文件。
以另一种形式,本发明包括一种传输启动文件的系统,包括一客户机;一具有启动文件的服务器;向服务器验证客户机的软件;向客户机验证服务器的软件;以及从已验证的服务器向已验证的客户机传输启动文件的软件。
以另一种形式,本发明包括一种用于通过网络从服务器向具有预操作系统环境的客户机传输启动文件的计算机可读媒质。该媒质含有指令,这些指令用于客户机通过网络请求服务器向客户机传输启动文件、用于客户机通过网络发送先前安装的客户机可信性证书、以及用于客户机从服务器接收启动文件。
以另一种形式,本发明包括一种用于通过网络从服务器向具有预操作系统环境的客户机传输启动文件的计算机可读媒质。该媒质含有指令,这些指令用于服务器通过网络从客户机接收服务器向客户机传输启动文件的请求、用于服务器通过网络从客户机接收先前安装的客户机可信性证书、用于服务器通过接收的客户机可信性证书验证客户机、以及用于从服务器向已验证的客户机传输启动文件。
以另一种形式,本发明包括一种用于通过网络从服务器向具有预操作环境系统的客户机传输启动文件的计算机可读媒质。该媒质包括指令,这些指令用于服务器通过网络从客户机接收服务器向客户机传输启动文件的请求、用于服务器通过网络从客户机接收先前安装的客户机可信性证书、用于服务器通过接收的客户机可信性证书验证客户机、以及用于服务器通过网络向已验证的客户机发送启动文件。
以另一种形式,本发明包括一种用于通过网络从服务器向具有预操作系统环境的客户机传输启动文件的计算机可读媒质,包括指令,这些指令用于客户机通过网络请求服务器向客户机传输启动文件、客户机通过网络从服务器接收服务器可信性证书;客户机通过接收的服务器可信性证书验证服务器、客户机通过网络请求已验证的服务器向客户机传输启动文件、以及作为对客户机的请求的响应接收从已验证的服务器传输到客户机的启动文件。
可选地,本发明也可以包括各种其它方法和装置。
以下将部分指出其它特征,并且能够部分清楚这些其它特征。
附图说明
图1所示是依照本发明的客户机和服务器之间的通信的结构图。
图2所示是依照本发明的系统的方法和操作的流程图。
图3所示是适合在其中实现本发明的计算系统环境的示例的结构图。
具体实施方式
本发明包括储存在要启动的客户机上的数字证书或其它数字校验或确认装置,以及储存在启动服务器上的另一数字证书或其它数字校验或确认装置。依照本发明的体系结构和方法允许三向验证。包含具有内建证书的预操作系统的客户机向服务器作出启动文件的请求(通过PXE或其它关联协议)。预启动执行环境(PXE)是一种工业标准客户机/服务器接口,允许尚未加载操作系统的联网计算机能够由管理员远程地配置并启动。PXE代码通常在新计算机的只读存储器芯片或启动盘上传送,允许该计算机(客户机)与网络服务器进行通信,使得该客户机机器能够被远程地配置并且其操作系统能够被远程地启动。PXE提供以下三项:
1)动态主机配置协议(DHCP),允许客户接收IP地址来获取向网络服务器的访问。
2)一组应用程序接口(API),由客户机的基本输入/输出操作系统(BIOS)或下载的网络引导程序(NBP)使用,NBP自动化了操作系统的启动和其它配置步骤。
3)初始化PXE ROM芯片或启动盘中的PXE代码的标准方法。
服务器和客户机之间的初始连接通常由来自客户的请求启动,尽管背景情况也加以考虑。在服务器和客户机之间的初始连接时,任一方向上都未建立信任,即,服务器的对客户机的信任或客户机的对服务器的信任。在服务器从客户机接收请求之后,客户机把其凭证或证书呈现出来。服务器然后确定客户机所呈现的证书是否有效且未被吊销。如果该证书是无效或已吊销的,则服务器不响应。如果该证书是有效的,服务器使用其自己的证书来响应。客户机然后执行类似的分析来确定服务器的可信性和吊销状态。如果客户机检验出服务器是可信的,则客户机作出对(多个)实际启动文件进一步的请求。服务器采用数字签名的文件响应。客户机将使用其自己的本地证书来检查该文件以确定该文件是否为可信地签名的。如果该数字签名是可信的,则客户机将执行(多个)启动文件。
图1所示是依照本发明的客户机和服务器之间的通信的框图。特别地,参考图1,说明了一种通过网络100从服务器104向具有预操作系统环境的客户机计算机106传输启动文件102的系统和方法。一般而言,启动是开始或复位计算机的进程。当首次打开或复位时,计算机执行启动文件来加载并开始其操作系统和/或准备将计算机投入使用。
客户机106上传输的启动文件108可以由客户机执行来为客户机创建、重建、修改、扩展或增强操作系统。一般而言,依照本发明的验证包括以下的一个或多个:服务器104验证客户机106;和/或客户机106验证服务器104;和/或从已验证的服务器104向已验证的客户机106传输已验证的启动文件以在客户机106上创建传输的启动文件,该启动文件能够被验证并被执行来影响客户机106的操作系统110。
图2所示是依照本发明的系统的方法和操作的流程图。参考图1和2,说明了一种通过网络100从服务器104向具有预操作系统环境的客户机106传输一个或多个启动文件102的方法。最初在102,在客户机106上安装客户机可信性证书112。这一安装(以及客户机和服务器之间的任一其它通信)能够手动或通过网络110实现。如图1的箭头114所示,在204,客户机106通过网络100请求服务器104向客户机106传输启动文件102,并且在206,客户机通过网络发送已安装的客户机可信性证书112以呈现其凭证。在208,服务器104通过接收的客户机可信性证书112验证客户机。如果客户机不可信(如,如果客户机证书是无效的、过期的或者已吊销的),则进程结束。
如图1的箭头116所示,如果客户机证书112与服务器104维护或可访问的预存可信客户机列表相匹配,则令客户机106对服务器104可信,在210,服务器104通过网络100向客户机106发送服务器可信性证书118,作为对服务器验证客户机的响应。
在212,客户机106通过所接收的服务器可信性证书118来验证服务器。如果服务器104不可信(例如,如果服务器证书是无效的、过期的或已吊销的),则进程结束。客户机106可能以若干种方式之一来验证服务器的证书118。例如,服务器的证书118可能对应于客户机的证书112。另一方面,服务器证书112可能匹配客户机106所维护或可访问的预存可信服务器列表,令服务器对客户机106可信。如图1的箭头120所示,如果服务器证书118匹配或已检验,则客户机106向服务器104响应。特别地,在214,已验证的客户机通过网络请求已验证的服务器向已验证的客户机传输启动文件102。如图1的箭头122所示,服务器104通过向启动文件102添加签名来响应,并在216从已验证的服务器向已验证的客户机传输签名的启动文件,作为对已验证的客户机的请求的响应。
下一步,在218,已验证的客户机通过确认启动文件具有与客户机证书和/或服务器证书相应的签名来验证传输的签名启动文件。特别地,所传输的启动文件应当包括与来自服务器的客户机可信性证书相应的签名,并且客户机检验签名对应于其可信性证书(见图2的124)。如果启动文件未验证(如,如果启动文件是不正确地签名的、无效的、过期的或已吊销的),则进程结束。在220,客户机执行验证的启动文件来创建操作系统110。
也考虑依照本发明的系统和方法仅包括客户机授权。这一实施例如下实现。在客户机106上安装客户机可信性证书112。这可以手动或通过网络100或由服务器104安装。客户机通过网络请求服务器向客户机传输启动文件。客户机通过网络发送已安装的客户机可信性证书。服务器通过接收的客户机可信性证书验证客户机并从服务器向已验证的客户机传输启动文件102。可选地,启动文件可以是已签名的,并且已验证的客户机可以在执行启动文件之前验证所传输的签名启动文件。
从客户机一方来看,客户机授权系统和方法可包括安装在客户机上的客户机可信性证书。客户机具有请求服务器向客户机传输启动文件的软件(或通过手动提示)。客户机通过网络发送已安装的客户机可信性证书,并从服务器接收启动文件。可选地,已验证的客户机可以在执行启动文件之前先对其进行验证。
从服务器一方来看,客户机授权系统和方法可包括服务器上的软件,用于通过网络从客户机接收服务器向客户机传输启动文件的请求。该软件也通过网络接收先前安装在客户机上的客户机可信性证书。服务器包括用于通过接收的客户机可信性证书验证客户机的软件。服务器的软件然后从服务器向已验证的客户机传输(可任选地签名的)启动文件。
也考虑依照本发明的系统和方法仅包括服务器授权。在该实施例中,客户机106通过网络100请求服务器104向客户机传输启动文件102。服务器通过网络向客户机发送服务器可信性证书118。客户机通过接收的服务器可信性证书验证服务器。客户机通过网络请求已验证的服务器向客户机传输启动文件。作为对客户机的请求的相应,通过网络从已验证的服务器向客户机传输启动文件。可选地,可以对启动文件签名,使它们能被客户机验证。
从服务器一方来看,服务器授权系统和方法包括用于通过网络从客户机接收服务器向客户机传输启动文件的请求的软件、通过网络从客户机接收先前安装的客户机可信性证书的软件、用于通过接收的客户机可信性证书验证客户机的软件以及通过网络向已验证的客户机发送(可任选地签名的)启动文件的软件。
从客户机一方来看,服务器授权系统和方法包括通过网络请求服务器向客户机传输启动文件的软件、通过网络从服务器接收服务器可信性证书的软件、通过接收的服务器可信性证书验证服务器的软件、通过网络请求已验证的服务器向客户机传输启动文件的软件以及从已验证的服务器接收(可任选地签名的)启动文件作为对客户机的请求的响应的软件。
也考虑依照本发明的系统和方法可以仅包括启动文件授权。在该实施例中,客户机106通过网络100请求服务器104向客户机传输启动文件102。从服务器向客户机传输签名的启动文件作为对客户机的请求的响应。客户机验证传输的签名的启动文件并执行已验证的启动文件。
通过包括数字签名或其它数字校验装置作为由客户机使用来创建其操作系统的启动文件的一部分,可以对客户机、服务器和启动文件做全面确认。无论客户机软件存在于可读还是读/写计算机可读存储器(CRM)装置中,预安装的环境都能够:
确认服务器是可信的;
向服务器验证客户是可信的;以及
确认启动文件的完整性。
可选地,如上所述,可以实现不同的部分仅确认客户完整性、仅确认服务器完整性或仅确认(多个)启动文件的完整性,而得到不同层次的安全性。依照本发明的一种安全解决方案是要得到三者之全部,因此核实该进程的全部非安全步骤。
也可以实现以下在验证失败的情况下的准则来降低风险:
服务器不回应具有无效或已吊销证书的客户机。
客户机不应答具有无效或已吊销证书的服务器。
客户机不执行所接收到的非正确签名的启动文件。本发明尤其适用于网络配置团体和配置/管理团体。本发明着眼于保护网络启动协议,这是当前技术未满足的团体客户的需求。
图3以计算机130的形式示出了通用计算设备的一个示例,计算机130可以是客户机106或服务器104。在本发明的一个实施例中,计算机,如计算机130适合在这里说明并描述的其它示图中用作服务器和/或客户机。计算机130具有一个或多个处理器或处理单元132以及系统存储器134。在说明的实施例中,系统总线136将包括系统存储器134的各种系统组件耦合至处理器132。总线136代表任意若干种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用任一多种总线体系结构的处理器或本地总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机130通常至少具有某些形式的计算机可读媒质。计算机可读媒质包括易失和非易失媒质、可移动和不可移动媒质,可以是可由计算机130访问的任一可用媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括易失和非易失、可移动和不可移动媒质,以任一方法或技术实现来储存信息,如计算机可读指令、数据结构、程序模块或其它数据。例如,计算机存储媒质包括RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备,或可以用来储存所期望的信息并可由计算机130访问的任一其它媒质。通信媒质通常以诸如载波或其它传输机制的已调制数据信号中来实现计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。本领域的技术人员熟悉已调制数据信号,该信号以某种方式设置或改变其一个或多个特征以对信号中的信息进行编码。有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质,是通信媒质的示例。上述任一组合也包括在计算机可读媒质的范围之内。
系统存储器134包括可移动和/或不可移动、易失和/或非易失存储器形式的计算机存储媒质。在说明的实施例中,系统存储器134包括只读存储器(ROM)138和随机存取存储器(RAM)140。基本输入/输出系统142(BIOS),包含如在启动时帮助在计算机130内的元件之间传输信息的基本例程,通常储存在ROM 138中。ROM 140通常包含处理单元132直接可访问和/或当前正在操作的程序模块。作为示例而非局限,图3说明了操作系统144、应用程序146、其它程序模块148以及程序数据150。
计算机130也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。例如,图3说明了对不可移动、非易失磁媒质进行读写的硬盘驱动器154。图3也示出了对可移动、非易失磁盘158进行读写的磁盘驱动器156、以及对可移动、非易失光盘162,如CD-ROM或其它光媒质进行读写的光盘驱动器160。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录影带、固态RAM、固态ROM等等。硬盘驱动器154以及磁盘驱动器156和光盘驱动器160通常通过非易失存储器接口,如接口166连接至系统总线136。
以上描述并在图3中说明的驱动器或其它大容量存储设备及其关联的计算机存储媒质为计算机130提供了计算机可读指令、数据结构、程序模块和其它数据的存储。在图3中,例如,硬盘驱动器154被说明成储存操作系统170、应用程序172、其它程序模块174以及程序数据176。注意,这些组件可以与操作系统144、应用程序146、其它程序模块148以及程序数据150相同,也可以与它们不同。这里对操作系统170、应用程序172、其它程序模块174以及程序数据176给予不同的数字来说明至少它们是不同的副本。
用户可以通过输入设备或用户接口选择设备,如键盘180和指向设备182(如鼠标、轨迹球、输入笔或触摸板)向计算机130输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏板、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通过耦合至系统总线136的用户输入接口184连接至处理单元132,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器188或其它类型的显示设备也通过接口,如视频接口190连接至系统总线。除监视器188之外,计算机经常包括其它外围输出设备(未示出),如打印机和扬声器,可通过输出外围接口(未示出)连接。
计算机130可以在使用到一台或多台远程计算机,如远程计算机194的逻辑连接的网络化环境中操作。远程计算机194可以是个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并通常包括上述与计算机130相关的元件的许多或全部。图3所示的逻辑连接包括局域网(LAN)196和广域网(WAN)198,但也可包括其它网络。LAN 136和/或WAN 138可以是有线网络、无线网络或其组合等等。这类网络环境常见于办公室、企业范围计算机网络、内联网和全球计算机网络(如因特网)。
当在局域网环境中使用时,计算机130通过网络接口或适配器186连接至LAN196。当在广域网环境中使用时,计算机130通常包括调制解调器178或其它用于通过WAN 198,如因特网建立通信的装置。调制解调器178可以是内置的或外置的,通过用户输入接口184或其它合适的机制连接至系统总线136。在网络化环境中,所描述的与计算机130相关的程序模块或其部分可以储存在远程存储器存储设备(未示出)中。作为示例而非局限,图3说明了远程应用程序192驻留在存储器设备中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
一般而言,计算机130的数据处理器通过不同时间储存在计算机的不同计算机可读存储媒质中的指令来编程。例如,程序和操作系统通常分布在软盘或CD-ROM上。由此,它们被安装或加载到计算机的二级存储器中。在执行时,它们被至少部分地加载到计算机的一级电子存储器中。这里描述的本发明包括这些和其它不同类型的计算机可读存储媒质,这类媒质包含用于协同微处理器或其它数据处理器实现下文描述的步骤的指令或程序。当依照这里描述的方法和技术来编程时,本发明也包括计算机其本身。
为说明目的,这里说明程序和其它可执行程序组件,如操作系统,为离散的块。然而,应当认可,这类程序和组件在不同的时间驻留在计算机的不同存储组件中,并由计算机的(多个)数据处理器执行。
尽管结合示例性计算系统环境,包括计算机130来描述,本发明可适用于众多其它通用或专用计算系统环境或配置。计算系统环境并非对本发明的适用或功能的范围的限制。此外,不应当将计算系统环境解释成具有关于示例性操作环境中说明的任一组件或其组合的依赖或需求。适合使用本发明的众所周知的计算系统、环境和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程电子消费产品、移动电话、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可以在计算机可执行指令的一般语境下描述,由一台或多台计算机或其它设备执行的计算机可执行指令如程序模块,。一般而言,程序模块包括但不限于,例程、程序、对象、组件以及数据结构,执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地或远程计算机存储媒质上,包括存储器存储设备。
在操作中,计算机130执行计算机可执行指令,如启动文件102。
以下示例进一步说明了本发明。如果计算机130用作服务器104,则其存储器包括如上所述的服务器可信性证书118和软件,用于与客户机106进行通信并用于验证客户机106。如果计算机130用作客户机106,则其存储器包括如上所述的客户机可信性证书112和软件,用于与服务器104进行通信、用于验证服务器104、用于验证启动文件102并用于执行启动文件102。
当介绍本发明或其(多个)实施例的元件时,冠词“一”、“一个”、“该”以及“所述”意指具有这些元件的一个或多个。术语“包括”、“包含”和“具有”是内含的,并意指除所列出的元件之外还有另外的元件。
从上述来看,可以发现,达到了本发明的若干目的,并且获得了其它有利的结果。
由于在不脱离本发明的范围的情况下可以对上述构造、产品和方法作出各种变化,所有包含在上述描述并在附图中示出的事物应解释为说明性的而非限制性的。

Claims (20)

1.一种从服务器向客户机传输启动文件的方法,其特征在于,它包括:
所述服务器验证所述客户机;
所述客户机验证所述服务器;以及
从所述已验证的服务器向所述已验证的客户机传输所述启动文件。
2.如权利要求1所述的方法,其特征在于,它还包括所述已验证的客户机验证所述传输的启动文件。
3.如权利要求2所述的方法,其特征在于,它还包括所述已验证的客户机执行所述已验证的启动文件。
4.如权利要求1所述的方法,其特征在于,其证书无效或已吊销的客户机不被所述服务器验证或应答。
5.如权利要求1所述的方法,其特征在于,其证书无效或已吊销的服务器不被所述客户机确认。
6.如权利要求1所述的方法,其特征在于,所述客户机接收到的未正确签名的启动文件不被所述客户机执行。
7.如权利要求1所述的方法,其特征在于,所述传输的启动文件包括一签名,其中所述客户机核实所述签名。
8.一种用于通过网络从服务器向具有预操作系统环境的客户机传输网络启动文件的方法,其特征在于,它包括:
在客户机上安装客户机可信性证书;
所述客户机通过网络请求所述服务器向所述客户机发送所述启动文件;
所述客户机通过网络发送所述已安装的客户机可信性证书;
所述服务器通过所接收的客户机可信性证书验证所述客户机;以及
从所述服务器向所述已验证的客户机传输所述启动文件。
9.如权利要求8所述的方法,其特征在于,它还包括:
所述已验证的客户机验证所述传输的启动文件;以及
所述已验证的客户机执行所述已验证的启动文件。
10.一种通过网络从服务器向具有前操作系统环境的客户机传输启动文件的方法,其特征在于,它包括:
在客户机上安装客户机可信性证书;
所述客户机通过网络请求所述服务器向所述客户机发送所述启动文件;
所述客户机通过网络发送所述已安装的客户机可信性证书;以及
所述客户机从服务器接收所述启动文件。
11.如权利要求10所述的方法,其特征在于,它还包括:
所述已验证的客户机验证所传输的启动文件;以及
所述已验证的客户机执行所述已验证的启动文件。
12.一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,其特征在于,它包括:
所述客户机通过网络请求所述服务器向所述客户机传输启动文件;
所述服务器通过网络向所述客户机发送服务器可信性证书;
所述客户机通过所接收的服务器可信性证书验证所述服务器;
所述客户机通过网络请求所述已验证的服务器向所述客户机传输所述启动文件;以及
从所述已验证的服务器向所述客户机传输所述启动文件,作为对所述客户机请求的响应。
13.一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,其特征在于,它包括:
所述服务器通过网络从所述客户机接收要所述服务器向所述客户机传输所述启动文件的请求;
所述服务器通过网络从所述客户机接收先前安装的客户机可信性证书;
所述服务器通过所述接收的客户机可信性证书验证所述客户机;
所述服务器通过网络向所述已验证的客户机发送所述启动文件。
14.一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,其特征在于,它包括:
所述客户机通过网络请求所述服务器向所述客户机传输所述启动文件;
所述客户机通过网络从所述服务器接收服务器可信性证书;
所述客户机通过所述接收的服务器可信性证书验证所述服务器;
所述客户机通过网络请求所述已验证的服务器向所述客户机传输所述启动文件;以及
作为对所述客户机的请求的响应,接收从所述已验证的服务器到所述客户机的所述启动文件。
15.如权利要求14所述的方法,其特征在于,其证书无效或已吊销的服务器不被所述客户机确认。
16.如权利要求16所述的方法,其特征在于,所传输的启动文件包括一签名,其中,所述客户机验证所述签名。
17.如权利要求14所述的方法,其特征在于,所述客户机接收的未正确签名的启动文件不被所述客户机执行。
18.一种通过网络从服务器向具有预操作系统环境的客户机传输启动文件的方法,其特征在于,它包括:
所述客户机通过网络请求所述服务器向所述客户机传输启动文件;
作为对所述客户的所述请求的响应,从所述服务器向所述客户机传输所述启动文件;
所述客户机验证所传输的启动文件;以及
所述已验证的客户机执行所述已验证的启动文件。
19.如权利要求18所述的方法,其特征在于,所传输的启动文件包括一签名,其中,所述客户机验证所述签名。
20.如权利要求19所述的方法,其特征在于,所述客户机接收的未正确签名的启动文件不被所述客户机执行。
CNB2004100618848A 2003-06-27 2004-06-25 从服务器发送到客户机的启动文件的三向确认和验证 Expired - Fee Related CN100550722C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/609,152 US7313690B2 (en) 2003-06-27 2003-06-27 Three way validation and authentication of boot files transmitted from server to client
US10/609,152 2003-06-27

Publications (2)

Publication Number Publication Date
CN1578214A true CN1578214A (zh) 2005-02-09
CN100550722C CN100550722C (zh) 2009-10-14

Family

ID=33418743

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100618848A Expired - Fee Related CN100550722C (zh) 2003-06-27 2004-06-25 从服务器发送到客户机的启动文件的三向确认和验证

Country Status (16)

Country Link
US (1) US7313690B2 (zh)
EP (1) EP1491983B1 (zh)
JP (1) JP2005018786A (zh)
KR (1) KR101085631B1 (zh)
CN (1) CN100550722C (zh)
AT (1) ATE403901T1 (zh)
AU (1) AU2004202717C1 (zh)
BR (1) BRPI0402447A (zh)
CA (1) CA2469749A1 (zh)
DE (1) DE602004015533D1 (zh)
HK (1) HK1069231A1 (zh)
MX (1) MXPA04006354A (zh)
MY (1) MY142353A (zh)
RU (1) RU2365987C2 (zh)
TW (1) TWI347769B (zh)
ZA (1) ZA200404377B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107896224A (zh) * 2017-12-04 2018-04-10 宁波升维信息技术有限公司 一种基于双链路安全校验的网络信息发布方法
CN111856135A (zh) * 2020-07-29 2020-10-30 中国电力科学研究院有限公司 一种采用5g技术的移动式宽频测量系统及配置方法
CN113285855A (zh) * 2021-07-14 2021-08-20 天聚地合(苏州)数据股份有限公司 服务器监控方法及系统

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070162420A1 (en) * 2004-01-21 2007-07-12 Oracle International Corporation Techniques for automatically discovering a database device on a network
US6487547B1 (en) 1999-01-29 2002-11-26 Oracle Corporation Database appliance comprising hardware and software bundle configured for specific database applications
US6993657B1 (en) 2000-09-08 2006-01-31 Oracle International Corporation Techniques for managing database systems with a community server
US7739308B2 (en) 2000-09-08 2010-06-15 Oracle International Corporation Techniques for automatically provisioning a database over a wide area network
US7134122B1 (en) 2001-05-31 2006-11-07 Oracle International Corporation One click deployment
JP2005070968A (ja) * 2003-08-21 2005-03-17 Toshiba Corp 情報処理装置およびプログラム
US20050149729A1 (en) * 2003-12-24 2005-07-07 Zimmer Vincent J. Method to support XML-based security and key management services in a pre-boot execution environment
US20050161495A1 (en) * 2004-01-22 2005-07-28 Shepherd Russell A. Stackable display container, its preassembly and blank for making same
US7507242B2 (en) * 2004-06-02 2009-03-24 Facet Solutions Surgical measurement and resection framework
US7702907B2 (en) * 2004-10-01 2010-04-20 Nokia Corporation System and method for safe booting electronic devices
US7401212B2 (en) 2004-11-01 2008-07-15 Microsoft Corporation Self-contained computer servicing device
KR100925732B1 (ko) * 2005-05-27 2009-11-11 엘지전자 주식회사 장치관리에서의 부트스트랩 메시지 보안 전송 방법 및 장치
US8468591B2 (en) * 2006-10-13 2013-06-18 Computer Protection Ip, Llc Client authentication and data management system
US8254568B2 (en) 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US8291480B2 (en) 2007-01-07 2012-10-16 Apple Inc. Trusting an unverified code image in a computing device
US8239688B2 (en) 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US20220147634A1 (en) * 2007-05-22 2022-05-12 Computer Protection Ip, Llc Client authentication and data management system
US7962737B2 (en) * 2007-11-21 2011-06-14 Dell Products L.P. Methods, media and apparatus for booting diskless systems
US20090129597A1 (en) * 2007-11-21 2009-05-21 Zimmer Vincent J Remote provisioning utilizing device identifier
US8150039B2 (en) 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
US8543799B2 (en) 2008-05-02 2013-09-24 Microsoft Corporation Client authentication during network boot
EP2291740A4 (en) * 2008-06-16 2012-03-07 Nokia Siemens Networks Oy SOFTWARE LOADING PROCESS AND DEVICE
US20100122076A1 (en) 2008-09-30 2010-05-13 Aristocrat Technologies Australia Pty Limited Security method
US8127146B2 (en) * 2008-09-30 2012-02-28 Microsoft Corporation Transparent trust validation of an unknown platform
US8447977B2 (en) 2008-12-09 2013-05-21 Canon Kabushiki Kaisha Authenticating a device with a server over a network
GB201005479D0 (en) * 2010-03-31 2010-05-19 Becrypt Ltd System and method for unattended computer system access
JPWO2012032628A1 (ja) * 2010-09-08 2013-12-12 株式会社東芝 情報処理装置
US8984610B2 (en) * 2011-04-18 2015-03-17 Bank Of America Corporation Secure network cloud architecture
US8707402B1 (en) 2011-06-22 2014-04-22 Amazon Technologies, Inc. Secure computer provisioning
US9191275B1 (en) * 2011-06-22 2015-11-17 Amazon Technologies, Inc. Global computer provisioning
US8745730B1 (en) 2011-09-13 2014-06-03 Amazon Technologies, Inc. Secure computer provisioning and operation
US9064117B1 (en) 2011-09-20 2015-06-23 Amazon Technologies, Inc. Mobile provisioning device
US8874703B1 (en) 2011-09-20 2014-10-28 Amazon Technologies, Inc. System and method of selectively implementing network configurations
US9195475B2 (en) 2013-05-01 2015-11-24 Hewlett-Packard Development Company, L.P. Data relay by server
WO2015172352A1 (en) 2014-05-15 2015-11-19 Seagate Technology Llc Storage device tampering detection
JP6312087B2 (ja) * 2014-09-29 2018-04-18 三菱電機ビルテクノサービス株式会社 ソフトウェアインストールシステム、インストール装置、端末装置およびソフトウェアインストール方法
US9489542B2 (en) 2014-11-12 2016-11-08 Seagate Technology Llc Split-key arrangement in a multi-device storage enclosure
US9489508B2 (en) 2014-11-13 2016-11-08 Seagate Technology Llc Device functionality access control using unique device credentials
US10867047B2 (en) * 2015-03-11 2020-12-15 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (OS) images
US10102378B2 (en) * 2016-09-29 2018-10-16 Hewlett Packard Enterprise Development Lp Boot images for units under test
JP6889263B2 (ja) 2017-01-27 2021-06-18 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ユーザ機器の二次認証
KR101816652B1 (ko) * 2017-02-14 2018-01-09 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
KR101816653B1 (ko) 2017-02-14 2018-02-21 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
KR101816651B1 (ko) * 2017-02-14 2018-01-09 주식회사 코인플러그 Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
US11107068B2 (en) 2017-08-31 2021-08-31 Bank Of America Corporation Inline authorization structuring for activity data transmission

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758165A (en) 1995-07-07 1998-05-26 Sun Microsystems, Inc. Local area network and network operating system for formatting a client disk and installing a client operating system
US5892904A (en) 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6367012B1 (en) 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
US6185678B1 (en) 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
US6560706B1 (en) * 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US6298443B1 (en) 1998-04-24 2001-10-02 Dell Usa, L.P. Method and system for supplying a custom software image to a computer system
US6219652B1 (en) 1998-06-01 2001-04-17 Novell, Inc. Network license authentication
US6080207A (en) 1998-06-04 2000-06-27 Gateway 2000, Inc. System and method of creating and delivering software
US6131192A (en) 1998-06-18 2000-10-10 Microsoft Corporation Software installation
US6189100B1 (en) * 1998-06-30 2001-02-13 Microsoft Corporation Ensuring the integrity of remote boot client data
US6327660B1 (en) 1998-09-18 2001-12-04 Intel Corporation Method for securing communications in a pre-boot environment
US6463535B1 (en) 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6438550B1 (en) 1998-12-10 2002-08-20 International Business Machines Corporation Method and apparatus for client authentication and application configuration via smart cards
US6341312B1 (en) 1998-12-16 2002-01-22 International Business Machines Corporation Creating and managing persistent connections
US6263431B1 (en) 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
US6314455B1 (en) 1999-02-24 2001-11-06 International Business Machines Corporation Data processing system and method for permitting a server to remotely initiate a client's boot block recovery
JP2002543621A (ja) * 1999-05-03 2002-12-17 インフィネオン テクノロジース アクチエンゲゼルシャフト 多次元に積層されたチップステープルを保安するための方法および装置
US6385766B1 (en) 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6871210B1 (en) * 2000-09-05 2005-03-22 International Business Machines Corporation Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server
EP1425745A2 (en) 2001-08-27 2004-06-09 Gracenote, Inc. Playlist generation, delivery and navigation
US7093124B2 (en) * 2001-10-30 2006-08-15 Intel Corporation Mechanism to improve authentication for remote management of a computer system
US7114018B1 (en) 2004-01-06 2006-09-26 American Megatrends, Inc. Methods, systems, and computer program products for communication of non-keyboard related data via a keyboard connection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107896224A (zh) * 2017-12-04 2018-04-10 宁波升维信息技术有限公司 一种基于双链路安全校验的网络信息发布方法
CN111856135A (zh) * 2020-07-29 2020-10-30 中国电力科学研究院有限公司 一种采用5g技术的移动式宽频测量系统及配置方法
CN113285855A (zh) * 2021-07-14 2021-08-20 天聚地合(苏州)数据股份有限公司 服务器监控方法及系统

Also Published As

Publication number Publication date
KR20050002575A (ko) 2005-01-07
MY142353A (en) 2010-11-15
CN100550722C (zh) 2009-10-14
AU2004202717C1 (en) 2010-07-08
AU2004202717A1 (en) 2005-01-20
ZA200404377B (en) 2005-03-30
EP1491983B1 (en) 2008-08-06
EP1491983A1 (en) 2004-12-29
HK1069231A1 (en) 2005-05-13
KR101085631B1 (ko) 2011-11-22
MXPA04006354A (es) 2005-02-24
TWI347769B (en) 2011-08-21
ATE403901T1 (de) 2008-08-15
JP2005018786A (ja) 2005-01-20
AU2004202717B2 (en) 2009-12-17
TW200511795A (en) 2005-03-16
US7313690B2 (en) 2007-12-25
DE602004015533D1 (de) 2008-09-18
CA2469749A1 (en) 2004-12-27
BRPI0402447A (pt) 2005-05-24
RU2004119442A (ru) 2006-01-10
US20050005096A1 (en) 2005-01-06
RU2365987C2 (ru) 2009-08-27

Similar Documents

Publication Publication Date Title
CN1578214A (zh) 从服务器发送到客户机的启动文件的三向确认和验证
US8819787B2 (en) Securing asynchronous client server transactions
EP2756444B1 (en) Resource access authorization
CN1870643A (zh) 利用顺序号的数据通信协调
JP5908612B2 (ja) 非ネットワークインタフェースとネットワークインタフェースとの橋絡
US8332928B2 (en) Location attestation service
MXPA05011088A (es) Ambiente de computo portatil.
CN1925402A (zh) iSCSI鉴权方法、其发起设备和目标设备及鉴权方法
US20070061866A1 (en) Method and system for secure connection of peripheral device to processing device
US20080072302A1 (en) Methods and systems for preventing error in an access protocol
US11068035B2 (en) Dynamic secure ACPI power resource enumeration objects for embedded devices
CN103179108B (zh) 应用认证方法及计算机系统
US7730481B2 (en) Method, apparatus and system of anti-virus software implementation
CN1705265A (zh) 在java消息传递服务中利用证书验证
US20230071552A1 (en) Certificate authorization policy for security protocol and data model capable devices
JP6874464B2 (ja) 端末装置及び通信システム
US9270471B2 (en) Client-client-server authentication
CN112187786B (zh) 网络服务的业务处理方法、装置、服务器及存储介质
US8438624B2 (en) Systems and methods of modifying system resources
US20200252401A1 (en) Reverse authentication in a virtual desktop infrastructure environment
JP2005157571A (ja) 情報処理装置、機器、情報処理システム、認証プログラム及び記録媒体
JP5840796B2 (ja) クライアント−ホスト接続の確立
JP6397094B1 (ja) ネットワーク・ブートの方法、コンピュータおよびコンピュータ・プログラム
CN115766127A (zh) 一种工控环境下cs类应用的单点登录方法及装置
JP5049196B2 (ja) 画像形成システム、端末装置およびログインサーバ装置

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: 20150504

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

Effective date of registration: 20150504

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: 20091014

Termination date: 20190625

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