CN101361078B - 使用凭证对io设备进行保护和提供安全的方法和系统 - Google Patents

使用凭证对io设备进行保护和提供安全的方法和系统 Download PDF

Info

Publication number
CN101361078B
CN101361078B CN2007800016351A CN200780001635A CN101361078B CN 101361078 B CN101361078 B CN 101361078B CN 2007800016351 A CN2007800016351 A CN 2007800016351A CN 200780001635 A CN200780001635 A CN 200780001635A CN 101361078 B CN101361078 B CN 101361078B
Authority
CN
China
Prior art keywords
consumer
group
equipment
voucher
request
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
CN2007800016351A
Other languages
English (en)
Other versions
CN101361078A (zh
Inventor
A·P·恩格伯森
Z·马舒尔斯基
J·萨特兰
L·沙莱夫
I·希莫尼
T·B·史密斯三世
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101361078A publication Critical patent/CN101361078A/zh
Application granted granted Critical
Publication of CN101361078B publication Critical patent/CN101361078B/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/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials

Abstract

提供了一种使用凭证对IO设备进行保护和提供安全的方法和系统。所述系统可以包括至少一个消费者,其被安排以便发起来自所述IO设备的IO请求,并且所述IO请求可以包括IO能力分配和附加参数。所述系统还可以包括IO资源管理器(IORM),其被安排以便将包括在所述IO请求中的附加参数和IO能力分配转换成用于所述消费者或用于一组消费者的一组能力令牌,生成全局密钥来保护所述能力令牌,并且进一步被安排以便管理所述IO设备。所述系统可以进一步包括通道组件,其被安排以便将所述IO请求传送至所述IO设备以及从所述IO设备接收所述IO请求。

Description

使用凭证对IO设备进行保护和提供安全的方法和系统
相关申请的交叉引用
本发明涉及在同一日期提交的题为“A METHOD AND SYSTEMFOR MEMORY PROTECTION AND SECURITY USINGCREDENTIALS”的美国专利申请序列号11/333066。
技术领域
本发明一般涉及计算机和处理器体系结构的领域。特别地,本发明涉及一种使用凭证对IO设备进行访问保护和提供安全的方法和系统。
背景技术
通过现在参照的图1,可以概念性和示意性地说明大多数当前的个人计算机(PC)系统(从台式计算机到服务器)的体系结构。
PC系统10通常包括存储器20,其可以被包括在一个或多个处理单元12内,或者可以与之分离。处理单元12通常经由一根或多根IO总线16(例如,外设组件互连(PCI)总线)与IO设备14[1]-14[i]相耦合。
视情况,为了使处理单元12与IO设备14[1]-14[i]之间的连接更快速,PC系统10还可以包括与处理单元12进行通信并且控制与存储器20和IO总线16的交互的一个或多个组件,例如北桥单元18。
通常,IO总线16具有平面存储器(flat memory)和IO地址空间。通常在引导时间进行IO设备搜索,并且将所发现的每个IO设备映射到物理存储空间和IO地址空间。
该PC体系结构具有若干缺点:其并不与系统规模很好地成比例,这使得难以与属于不同PC的其它IO总线进行互连,并且其提供即使有也是非常有限的IO设备保护。
理论上,通常与处理单元12的CPU 26相耦合的存储管理单元(MMU)24可以用于保护IO设备14[1]-14[i]的存储空间。
然而,IO地址空间通常不被MMU 24管理,并且因此IO地址空间不受保护。此外,在具有多个CPU的系统中,或者在具有多个分区的虚拟化系统中,每个CPU或分区通常都具有对IO总线的完全访问。因而,具有特权许可(privileged permission)的任何过程(例如,操作系统过程)均可以访问任何IO设备。
解决该问题的一种已知方式是通过托管分区(hosting partition)将所有请求传递至IO设备。在这种情况下,设备受到保护,因为托管分区是可信实体,并且只有其被允许访问该设备。第二种已知的方式是使用多个IO设备,每个IO设备均被分派到不同的分区。在这种情况下,信任操作系统不访问未向其分派的设备。托管分区解决方案通常加重了系统资源的负担,而将IO设备分派给不同分区的解决方案在具有无害的误配置或有缺陷的代码的流氓操作系统的情况下是失效的。
通过使用IO存储管理单元(IOMMU)和/或访问列表(其通常记录给予任何过程的IO访问权限),可以进行保护IO设备的其它尝试。
发明内容
依照本发明的一些实施例,提供了一种用于保护IO设备的访问和操作的方法和系统,所述方法和系统使用加密签名能力令牌(cryptographically signed capability token),在文中称为凭证。依照本发明,可以通过使用无状态加密强制实施凭证机制(statelesscryptographically enforced credential mechanism)来保护IO设备。
IO设备初始化过程的一部分可以包括向被允许访问所述IO设备的消费者(例如,操作系统/分区、处理节点、应用等)分发加密签名凭证。操作系统(独立的或在逻辑分区中)可以将所述凭证附于每个IO设备访问事务。设备控制器(DC)可以检验所述凭证,并且,如果其被认证,则允许完成所述访问事务。
根据本发明的第一方面,提供了一种用于保护至少一个IO设备的访问和操作的计算机实现的系统。
所述系统可以包括至少一个消费者,其被安排以便发起来自所述IO设备的IO请求,并且所述IO请求可以包括IO能力分配和附加参数。所述系统还可以包括IO资源管理器(IORM),其被安排以便将包括在所述IO请求中的所述附加参数和IO能力分配转换成用于所述消费者或用于一组消费者的一组能力令牌,生成全局密钥(global key)来保护所述一组能力令牌,并且进一步被安排以便管理所述IO设备。所述系统可以进一步包括通道组件,其被安排以便将所述IO请求传送至所述IO设备以及从所述IO设备接收所述IO请求。
仍然依照本发明的一个实施例,所述系统可以进一步包括IO子系统管理器(IOSM),其被安排以便生成组凭证(group credential),从而允许一组消费者通过使用所述组凭证来访问所述IO设备。
此外,依照本发明的该实施例,所述通道组件可以进一步包括至少一个主网关(HG),其被安排以便通过检查用于所述消费者或用于所述一组消费者的一组能力令牌的加密签名凭证来强制实施所述组凭证;通信介质,其被安排以便通过所述通道组件来传送信息;以及至少一个设备控制器(DC),其被安排以便将所述IO设备分配给所述消费者或所述一组消费者,并且进一步被安排以便控制所述IO设备的管理权限。
另外,依照本发明的该实施例,所述组凭证由所述HG检验并且由所述一组消费者使用。
视情况,根据该实施例,所述IORM和所述IOSM可以在物理上嵌入不同的位置中。
此外,依照该实施例,假设所述HG连接至与所述全局密钥相耦合的所述消费者或所述一组消费者,则所述IOSM进一步被安排以便将所述全局密钥分发给所述HG。
另外,依照该实施例,所述IOSM进一步被安排以便分发所述消费者或所述一组消费者的凭证。
进一步地,仍然依照该实施例,所述IORM进一步被安排以便生成消费者凭证来检验:所述IO请求的IO能力分配处于所述消费者的许可内。
另外,根据本发明的该实施例,所述消费者凭证由所述HG检验并且由所述消费者使用。
依照本发明的另一实施例,所述IORM进一步被安排以便生成设备凭证,从而通过控制所述IO设备的访问和程序执行权限来保护所述IO设备。
另外,依照该实施例,所述设备凭证由所述DC检验并且由所述消费者使用。
依照本发明的另一实施例,所述IO请求的附加参数可以包括以下中的至少任何一项:IO设备访问、IO许可和IO命令。
根据本发明的第二方面,提供了一种用于保护至少一个IO设备的访问和操作的计算机实现的方法。
所述方法可以包括:将IO请求的IO能力分配以及包括在所述IO请求中的附加参数转换成用于消费者或用于一组消费者的一组能力令牌,所述IO请求由消费者或一组消费者发起。所述方法可以进一步包括:生成全局密钥来保护所述能力,并且基于所述全局密钥,发布所述消费者或一组消费者的能力的加密签名凭证,以及基于所述凭证来控制所述IO设备的管理权限。
依照本发明的该实施例,在所述控制步骤之前,所述方法可以进一步包括:分发所述消费者或所述一组消费者的凭证。
另外,依照本发明的该实施例,所述发布步骤可以进一步包括:发布消费者凭证来检验:所述IO请求的IO能力分配处于所述消费者的许可内。
相应地,依照本发明的该实施例,所述消费者凭证可以由主网关(HG)检验并且由所述消费者使用。
另外,同样依照本发明的该实施例,所述发布步骤可以进一步包括:发布组凭证,从而允许一组消费者通过使用所述组凭证来访问所述IO设备。
相应地,依照本发明的该实施例,所述组凭证由所述HG检验并且由所述一组消费者使用。
另外,仍然依照本发明的该实施例,所述发布步骤可以进一步包括:发布设备凭证来保护所述IO设备,并且所述控制步骤可以进一步包括:控制所述IO设备的访问和程序执行权限。
相应地,依照本发明的该实施例,所述设备凭证由设备控制器(DC)检验并且由所述消费者使用。
依照本发明的另一实施例,包括在所述IO请求中的附加参数可以包括以下中的至少任何一项:IO访问、IO许可和IO命令。
根据本发明的第三方面,提供了一种包括计算机可读介质的计算机软件产品,在所述计算机可读介质中存储了计算机程序指令,当计算机读取所述指令时,其使得所述计算机实现上述用于保护至少一个IO设备的访问和操作的方法。
附图说明
现在将参照附图,仅通过例子的方式描述本发明的实施例,在附图中:
图1是现有技术计算机系统的示意框图;
图2是依照本发明的实施例的系统的逻辑视图的简化框图;
图3是依照本发明的实施例的基于凭证的计算机系统的示意框图;
图4A是依照本发明的实施例的安全事务(secured transaction)的方法的示例性流程图;以及
图4B是依照本发明的实施例,在启动IO设备时认证IO设备与消费者之间的事务的方法的示例性流程图。
具体实施方式
本发明的目的是提供IO设备的受保护访问和操作。依照本发明的实施例,可以对IO设备与其消费者(例如,操作系统/分区、处理节点或应用)之间的连接提供保护。此外,依照本发明的实施例,可以提供操作系统或分区之间的系统隔离,或者在相同操作系统内的应用或过程之间的隔离。本发明的一些实施例还可以提供从台式计算机到超级计算机的可扩缩性,并且还可以对IO设备提供保护使其免于由消费者所导致的故障,如下面将详细描述的。
为了实现所要求的IO设备的访问保护和安全性,需要在发起IO请求的消费者与IO设备之间的通道(例如,像外设组件互连(PCI)总线这样的IO总线),以及通道接口(将在下面对其进行详细描述)存储允许对IO设备进行高效和可扩缩保护的最少信息。举例来说,可以尽可能地保持通道为无状态。术语“无状态”在下文中用于表示并未存储在每个事务中传送的数据的任何状态信息。相应地,需要可以与通道(或者通道接口)耦合的最小每连接表(minimal per-connection table),所存储的数据可以是无状态的或者是自描述的,并且可以通过加密签名能力来获得对IO设备的保护。
在下面的详细描述中,陈述了众多具体的细节以便提供对本发明的透彻理解。然而,本领域的技术人员将理解到,可以在没有这些具体细节的情况下实施本发明。在其它实例中,并未对公知的方法、过程和组件进行详细描述以便不模糊本发明。
现参照图2,其是依照本发明的实施例的系统30的逻辑视图的简化框图。在任何消费者34与任何IO设备14之间的交互期间,相应的IO设备14,无论其是否具有对其进行控制的节点(未示出)或者其是否是特定的IO设备,均可以在到单个消费者的连接上进行操作,如由从IO设备14到消费者34的直线所示出的。这样的交互可以包括,例如,发起IO请求,其可以包括,例如,IO能力分配、IO设备访问、IO许可、IO命令,等等(下文称为“IO请求”)。交互可以进一步包括通过IO设备执行IO请求,以及基于特定的IO请求向消费者发送反馈。
需要安全的IO访问来保护消费者到IO设备的连接。在下文中使用术语“保护”,并且其包括:对连接的认证(既从CPU侧又从IO侧);双向访问控制,例如,IO设备允许消费者哪些访问权限,以及在另一方向,消费者允许IO设备哪些访问权限;数据完整性保护,例如,检验出所传送的数据并未被通道有意或无意地修改;以及针对各种攻击的保护。
当在通道上发送数据时,对数据的保护可以通过具有诸如专用IO总线(例如,外设组件互连(PCI)总线)这样的物理安全连接来提供,或者通过使用网络安全协议(例如IPsec)来提供。
依照本发明的实施例,通道管理器32可以控制和管理对IO设备的保护。通道管理器32可以将凭证分派给所请求的能力,例如所允许的存储区、访问权限等,而通道接口单元(未示出)可以检验出对IO设备的每个访问都在通道管理器32所准许的能力内。
依照该实施例,每个IO设备均可以通信并且仅对其预期的消费者具有对数据的直接存储器访问(DMA)/仅具有来自其预期的消费者的直接存储器访问(DMA)。因此,任何攻击或差错均只可能影响发起IO连接的消费者,并且不同消费者之间的隔离可以作为对IO设备的保护的一部分来实现。这样的隔离还可以防止单个消费者或IO设备接管(take over)通道并因而使其它消费者或IO设备饥饿。
系统描述:
现参照图3,其是依照本发明的实施例的基于凭证的计算机系统40的示意性框图。系统40可以利用凭证来保护对IO设备14[1]-14[i]的访问以及保护其操作,如将在下面详细描述的。
系统40可以包括将在下面详细描述的三(3)个区段。区段42可以包括CPU(未示出)、消费者420,以及可以管理系统40的上层的管理体422,例如系统40的操作系统、消费者应用等。应当注意,在虚拟化系统中,每个OS均可以驻留于分离的分区中,而非虚拟化系统可以不具有分区。区段42可以进一步包括IO子系统管理器(IOSM)424,其可以将消费者应用的所分配的存储空间转换成消费者的能力并且生成如下面将描述的全局多样性密钥(global diversity key)(KDIV)。从逻辑上考虑,IOSM424可以作为上述通道管理器32的一部分。此外,IOSM 424可以生成组凭证,以便将若干消费者定义为下面将要详细描述的一个组的一部分。
通道区段44可以包括主网关(HG)440。依照本发明的该实施例,管理体422可以信任HG 440,从而通过使用消费者的凭证来强制实施消费者的存储器使用。HG 440是高度可靠和可信的,因为其可以能够访问分配给通道区段44的所有存储器。
通道区段可以进一步包括通道介质442,其潜在地可以是通信网络,和/或诸如PCI总线的IO总线。网络通常是网际协议(IP)网络。取决于特定应用,其可以包括诸如因特网的广域网(WAN)、局域网(LAN),或者任何其它合适的网络连接。设备控制器(DC)444可以与通道耦合并且连接至IO设备14[1]-14[i]。DC 444可以强制实施对消费者的IO设备分配,并且其可以控制IO设备14[1]-14[i]的管理权限,例如,启动事务、异常中断等。
HG 440可以接收由IOSM 424生成的多样性密钥(KDIV)。KDIV然后可以用于与DC 444进行通信。HG 440还可以创建和检验存储区域凭证,如在同一日期提交并转让给本发明的共同受让人的题为“A METHODAND SYSTEM FOR MEMORY PROTECTION AND SECURITYUSING CREDENTIALS”的美国专利申请序列号11/333066中所描述的。
区段46可以包括IO设备14[1]-14[i],与DC 444的接口,以及至少一个IO资源管理器(IORM)464,IO资源管理器(IORM)464可以管理与其耦合的IO设备。从逻辑上考虑,IORM 464可以是如上所述的通道管理器32的一部分。此外,尽管将IORM 464描述为区段46的一部分,然而在系统40的任选设计中,IOSM 424和IORM 464可以一起嵌于相同的组件中并且一起被称为IO管理器(IOM)(未示出)。在图3所示出的设计中,分开说明IOSM 424和IORM 464仅仅是为了清楚起见。
IOSM 424可以为其相应的信任区(trust zone)的每个HG 440分发消费者或消费者组的凭证,并且其可以为HG 440分发多样性密钥(KDIV)。IORM 464可以管理IO设备14[1]-14[i]和DC 440,例如,将IO设备资源分配给消费者420,将密钥分发至DC 440,等等。
依照该实施例,每个区段均可以由与其连接的组件来保护。举例来说,HG 440可以保护消费者420,如在同一日期提交并转让给本发明的共同受让人的题为“A METHOD AND SYSTEM FOR MEMORYPROTECTION AND SECURITY USING CREDENTIALS”的美国专利申请序列号11/333066中所描述的。相应地,HG 440可以通过使用凭证(例如基于时间的凭证)来保护消费者的存储空间免于IO直接存储器访问(DMA)的有害使用。HG 440还可以保护系统40的IO存储空间免于错误的分区访问。
DC 444可以保护IO设备14[1]-14[i]以及每个IO设备的程序执行单元,例如控制IO设备的驱动器。对IO设备的保护可以包括控制哪个消费者可以访问IO设备,以及控制对设备的特定使用。这类保护可以通过使用如下面将要详细描述的设备凭证来实现。举例来说,在IO设备是盘的情况下,DC 444可以持有具有对特定消费者允许访问的盘中的块的列表。在另一例子中,DC 444可以控制什么是存储映射设备中所允许的存储区域。
用于保护IO设备的凭证:
如先前所提到的,依照本发明的实施例对IO设备的保护是通过使用被称为“凭证”的加密签名的能力描述来获得的。可以生成若干凭证来对IO设备提供保护。
一种类型的凭证可以被称为“消费者凭证”。消费者凭证可以通过检验出应用的存储请求处于消费者的存储界内而提供消费者之间的保护。消费者凭证可以由管理体422定义,由IOSM 424生成,由HG 440检验,并且由消费者420使用。可以用于生成消费者凭证的示例性加密算法类似于由存储联网工业协会(SNIA)在“Object Store Security DocumentT10/03-279r0”,www.t10.org/ftp/t10/document.03/03-279r0.pdf中定义的在对象存储中所使用的算法。
可以生成第二种类型的凭证(下文称为“组凭证”)来将若干消费者定义为一个组的一部分。组凭证可以通过在作为组的成员的消费者之间委派IO设备的凭证来允许高效的IO设备共享。组凭证可以由IOSM 424生成并且由HG 440检验。作为相同组的成员的消费者可以共享设备能力(CAPD)。CAPD可以包括对组id(GID)的参考。每个消费者均可以接收组能力CAPG。相应地,在任何进一步的程序处理之前,HG 440或DC 444可以检查组能力CAPG
第三种类型的凭证在下文中被称为“设备凭证”。除了控制设备的访问权限和设备的程序执行权限之外,设备凭证还可以保护IO设备的特定信息,例如,盘块列表。其可以由IORM 464定义和生成,由DC 444检验,并且由消费者420使用。可以用于生成该凭证的示例性加密算法与上面提到的加密算法相同。
另一种类型的凭证是存储窗凭证,其在同一日期提交并转让给本发明的共同受让人的题为“A METHOD AND SYSTEM FOR MEMORYPROTECTION AND SECURITY USING CREDENTIALS”的美国专利申请序列号11/333066中进行了描述。存储窗凭证可以检查对于特定消费者(例如应用)来说,对分配给IO设备的存储器的使用处于该消费者的分区的存储器内并且因此允许该消费者使用该IO设备。使用时间戳凭证可以允许对存储窗凭证进行高效更新。
数据事务:
依照本发明的一些实施例,可以生成和分发若干安全密钥来支持对IO设备的保护。结合图3,现在参照图4A,其是依照本发明的实施例的安全数据事务的方法的示例性流程图。可以利用该安全事务来保护IO设备。
可以在HG 440与DC 444之间使用密钥KHGDC。由于每个HG 440均可以连接至多个DC 444,因此可以从全局多样性密钥(KDIV)导出KHGDC。如先前所提到的,IOSM 424可以生成KDIV并且将其发送至相应的HG440。视情况,可以为每个HG 440-DC 444对生成不同的KHGDC。举例来说,可以通过在KDIV和IO设备的id(DID)上实现散列算法来生成KHGDC
KHGDC=hash KDIV{DID}
一对附加密钥,KSMHG和KRMDC,可以用于设备能力(CAPD)。
CAPD可以包括IO设备ID(DID)、组ID(GID),以及与该能力相关联的访问权限和特定设备:
CAPD=[DID,GID,访问权限,特定设备]
KSMHG和KRMDC密钥可以分别由IOSM 424和IORM 464生成,并且被发送至使用它们的消费者420以及出于检验目的而发送至HG 440和DC444。
CAPD可以用于认证设备存储器使用,例如使用双重散列方案。IORM464可以使用KRMDC来创建新密钥KCAPd
KCAPd=hash KRMDC{CAPD}
可以生成组能力CAPG,其可以允许一组消费者访问IO设备:
CAPG=[GID,PID]
CAPD可以用于认证组存储器使用,例如使用双重散列方案。IOSM 424可以使用KSMHG来创建新密钥KCAPg
KCAPg=hash KSMHG{CAPG}
由于CAPG可以含有组id(GID),因此其可以由具有相同GID的组的任何成员使用。CAPG还可以含有分区ID。
如图4A中所示,IOSM 424与DC 444之间以及IORM 464与消费者420之间的连接可能仅仅被需要用于密钥分发。该安全通道可以通过IOSM424与IORM 464之间的连接(未示出)直接打开,或者通过DC 444和HG 440捎带。
现参照图4B,其是依照本发明的实施例,在启动IO设备时认证IO设备与消费者之间的事务的方法的示例性流程图。应当结合图3和图4A来查看图4B。当启动了控制IO设备的IO程序时,为了保护IO设备,可以要求认证该程序的所允许的存储器使用,可以创建对于存储器的上述能力,并且可以利用对IO设备的认证。
为了确保特定IO设备的存储认证和使用,要求消费者420具有用于IO设备的有效CAPG(其指示该消费者是被允许使用该设备的组的一部分)和用于认证设备存储器使用的有效CAPD。如图4A中所示,IOSM 424可以生成CAPG,并且IORM可以生成CAPD。HG 440可以接收(步骤4110)这些能力以及IO设备的访问权限和要被使用的存储区域的描述,例如,地址、区域的大小、读/写访问权限,等等。此后,可以生成以上简要提到的存储窗凭证(CAPW和CAPT)。CAPW然后可以与IO程序、CAPD以及数据信息一起被发送(步骤4120)至所寻址的DC 444。
应当注意,并不要求HG 440检验CAPD。可以仅要求检查CAPD中的GID字段由CAPG描述。DC 444可以检验出CAPD未被伪造。另外,DC 444可以检验CAPD,并且其可以接收和存储CAPW和CAPT作为IO程序数据结构的一部分。
下面的表1提供了对安全密钥生成和分发的概括:
表1
表1中用黑体字标出的密钥是在各种组件中生成和存储的密钥,而用正常字体标出的密钥可以从所存储的密钥导出并且可以被分发至各种组件。
下面的表2提供了对安全密钥所实现的使用的概括:
表2
Figure S2007800016351D00131
如表2中所示,虚线箭头表示组凭证(KCAPg和KSMHG)所实现的使用。点线箭头表示IO设备凭证(KCAPd和KRMDC)所实现的使用。点和虚线箭头表示数据流(KDIV和KHGDC)。
在上面的描述中,陈述了众多具体的细节以便提供对本发明的透彻理解。然而,对本领域的技术人员将显而易见的是,可以在没有这些具体细节的情况下实施本发明。在其它实例中,并未详细示出公知的电路、控制逻辑,以及用于常规算法和过程的计算机程序指令的细节,以免不必要地模糊本发明。
体现了本发明的各方面的软件编程代码通常在诸如计算机可读介质的永久存储器中进行维护。在客户机-服务器环境中,这样的软件编程代码可以存储在客户机或服务器上。软件编程代码可以体现于与数据处理系统一起使用的各种已知介质中的任何一种上。这包括,但不限于,诸如盘驱动、磁带、光盘(CD)、数字视频盘(DVD)这样的磁和光存储设备,以及体现于具有或不具有在其上调制了信号的载波的传输介质中的计算机指令信号。举例来说,传输介质可以包括诸如因特网的通信网络。另外,虽然本发明可以体现于计算机软件,但是可选地,实现本发明所必需的功能可以部分地或整体地使用诸如专用集成电路或其它硬件的硬件组件,或者硬件组件和软件的某种组合来体现。举例来说,HG 440x可以用计算机软件来体现,或者可选地,可以部分地或整体地使用硬件组件来体现。
通常将本发明实现为计算机程序产品,其包括用于控制计算机或类似设备的一组程序指令。可以通过以下方式提供这些指令:预加载到系统中或记录在诸如CD-ROM的存储介质上,或者使其可供通过诸如因特网或移动电话网的网络进行下载。
可以在不背离本发明的范围的情况下对前述进行各种改进和修改。
本领域的技术人员应当理解到,本发明并不限于上文中所特别示出和描述的内容。相反地,本发明的范围包括上文所描述的各种特征的组合和子组合这二者,以及本领域的技术人员在阅读了前面的描述之后将会想到的不属于现有技术的其变型和修改。

Claims (21)

1.一种用于保护至少一个IO设备的访问和操作的计算机实现的系统,所述系统包括:
至少一个消费者,其被安排以便发起来自所述IO设备的IO请求,所述IO请求包括IO能力分配和附加参数;
IO资源管理器IORM,其被安排以便将包括在所述IO请求中的所述附加参数和所述IO能力分配转换成用于所述消费者或用于一组消费者的一组能力令牌,生成全局密钥来保护所述一组能力令牌,并且进一步被安排以便管理所述IO设备;以及
通道组件,其被安排以便将所述IO请求传送至所述IO设备以及从所述IO设备接收所述IO请求。
2.根据权利要求1的系统,其进一步包括IO子系统管理器IOSM,其被安排以便生成组凭证,从而允许一组消费者通过使用所述组凭证来访问所述IO设备。
3.根据权利要求2的系统,其中所述通道组件进一步包括:
至少一个主网关HG,其被安排以便通过检查用于所述消费者或用于所述一组消费者的所述一组能力令牌的加密签名凭证来强制实施所述组凭证;
通信介质,其被安排以便通过所述通道组件来传送信息;以及
至少一个设备控制器DC,其被安排以便将所述IO设备分配给所述消费者或所述一组消费者,并且进一步被安排以便控制所述IO设备的管理权限。
4.根据权利要求3的系统,其中所述组凭证由所述HG检验并且由所述一组消费者使用。
5.根据权利要求3的系统,其中所述至少一个IORM和所述IOSM在物理上嵌入不同的位置。
6.根据权利要求3的系统,其中如果所述HG连接至与所述全局密钥相耦合的所述消费者或者所述一组消费者,则所述IOSM进一步被安排以便将所述全局密钥分发至所述HG。
7.根据权利要求6的系统,其中所述IOSM进一步被安排以便分发所述消费者或所述一组消费者的所述凭证。
8.根据权利要求1的系统,其中所述IORM进一步被安排以便生成消费者凭证来检验:所述IO请求的所述IO能力分配处于所述消费者的许可内。
9.根据权利要求8的系统,其中所述消费者凭证由所述HG检验并且由所述消费者使用。
10.根据权利要求1的系统,其中所述IORM进一步被安排以便生成设备凭证,从而通过控制所述IO设备的访问和程序执行权限来保护所述IO设备。
11.根据权利要求10的系统,其中所述设备凭证由所述DC检验并且由所述消费者使用。
12.根据权利要求1的系统,其中包括在所述IO请求中的所述附加参数包括以下中的至少任何一项:IO设备访问、IO许可和IO命令。
13.一种用于保护至少一个IO设备的访问和操作的计算机实现的方法,所述方法包括:
将IO请求的IO能力分配以及包括在所述IO请求中的附加参数转换成用于消费者或用于一组消费者的一组能力令牌,所述IO请求由消费者或一组消费者发起;
生成全局密钥来保护所述能力;
基于所述全局密钥,发布所述消费者或一组消费者的所述能力的加密签名凭证;以及
基于所述凭证,控制所述IO设备的管理权限。
14.根据权利要求13的方法,其中在所述控制步骤之前,所述方法进一步包括:分发所述消费者或所述一组消费者的所述凭证。
15.根据权利要求13的方法,其中所述发布进一步包括:发布消费者凭证来检验:所述1O请求的所述IO能力分配处于所述消费者的许可内。
16.根据权利要求15的方法,其中所述消费者凭证由主网关HG检验并且由所述消费者使用。
17.根据权利要求13的方法,其中所述发布进一步包括:发布组凭证,从而允许一组消费者通过使用所述组凭证来访问所述IO设备。
18.根据权利要求17的方法,其中所述组凭证由所述HG检验并且由所述一组消费者使用。
19.根据权利要求13的方法,其中所述发布进一步包括:发布设备凭证来保护所述IO设备,并且其中所述控制步骤进一步包括:控制所述IO设备的访问和程序执行权限。
20.根据权利要求19的方法,其中所述设备凭证由设备控制器DC检验并且由所述消费者使用。
21.根据权利要求14的方法,其中包括在所述IO请求中的所述附加参数包括以下中的至少任何一项:IO设备访问、IO许可和IO命令。
CN2007800016351A 2006-01-17 2007-01-04 使用凭证对io设备进行保护和提供安全的方法和系统 Expired - Fee Related CN101361078B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/333,716 US7925801B2 (en) 2006-01-17 2006-01-17 Method and system for protection and security of IO devices using credentials
US11/333,716 2006-01-17
PCT/EP2007/050078 WO2007082796A1 (en) 2006-01-17 2007-01-04 A method and system for protection and security of io devices using credentials

Publications (2)

Publication Number Publication Date
CN101361078A CN101361078A (zh) 2009-02-04
CN101361078B true CN101361078B (zh) 2011-08-17

Family

ID=38264416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800016351A Expired - Fee Related CN101361078B (zh) 2006-01-17 2007-01-04 使用凭证对io设备进行保护和提供安全的方法和系统

Country Status (4)

Country Link
US (1) US7925801B2 (zh)
EP (1) EP1974309A1 (zh)
CN (1) CN101361078B (zh)
WO (1) WO2007082796A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145871B2 (en) * 2008-06-09 2012-03-27 International Business Machines Corporation Dynamic allocation of virtual real memory for applications based on monitored usage

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949882A (en) * 1996-12-13 1999-09-07 Compaq Computer Corporation Method and apparatus for allowing access to secured computer resources by utilzing a password and an external encryption algorithm
US5987557A (en) * 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6279111B1 (en) * 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6766397B2 (en) * 2000-02-07 2004-07-20 Emc Corporation Controlling access to a storage device
US6785759B1 (en) * 2000-05-10 2004-08-31 International Business Machines Corporation System and method for sharing I/O address translation caching across multiple host bridges
US6782438B1 (en) * 2000-08-31 2004-08-24 Hewlett-Packard Development Company, L.P. IO speed and length programmable with bus population
US6647453B1 (en) * 2000-08-31 2003-11-11 Hewlett-Packard Development Company, L.P. System and method for providing forward progress and avoiding starvation and livelock in a multiprocessor computer system
GB2367646B (en) * 2000-10-03 2002-11-20 Sun Microsystems Inc Resource access control
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7503065B1 (en) * 2002-04-24 2009-03-10 Sprint Spectrum L.P. Method and system for gateway-based authentication
US7546452B2 (en) * 2002-08-20 2009-06-09 Intel Corporation Hardware-based credential management
US7526798B2 (en) * 2002-10-31 2009-04-28 International Business Machines Corporation System and method for credential delegation using identity assertion
US7571472B2 (en) * 2002-12-30 2009-08-04 American Express Travel Related Services Company, Inc. Methods and apparatus for credential validation
US7644275B2 (en) * 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
US8214884B2 (en) * 2003-06-27 2012-07-03 Attachmate Corporation Computer-based dynamic secure non-cached delivery of security credentials such as digitally signed certificates or keys
JP2005157881A (ja) * 2003-11-27 2005-06-16 Canon Inc サーバ端末装置、クライアント端末装置、オブジェクト管理システム、オブジェクト管理方法、コンピュータプログラム及び記録媒体
US8091120B2 (en) * 2005-12-21 2012-01-03 At&T Intellectual Property I, L.P. Adaptive authentication methods, systems, devices, and computer program products

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061794A (en) * 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture

Also Published As

Publication number Publication date
WO2007082796A1 (en) 2007-07-26
US7925801B2 (en) 2011-04-12
US20070168299A1 (en) 2007-07-19
CN101361078A (zh) 2009-02-04
EP1974309A1 (en) 2008-10-01

Similar Documents

Publication Publication Date Title
JP6462103B2 (ja) 特権的コンピューティングオペレーションの結果の保護
US11941134B2 (en) Data access control systems and methods
US6327660B1 (en) Method for securing communications in a pre-boot environment
Chakrabarti Grid computing security
JP6165883B2 (ja) 安全な仮想マシン移行
JP4579969B2 (ja) ネットワーク・ドメインのネットワークエンドポイントにおける組込みエージェントの間で暗号化キーを共有するための方法、装置及びコンピュータプログラム製品
CN102271037B (zh) 基于在线密钥的密钥保护装置
US8549592B2 (en) Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
US8839004B1 (en) Secure cloud computing infrastructure
US20150358354A1 (en) Method and system for policy based authentication
EP4186202A1 (en) Master key escrow process
KR101698555B1 (ko) 건강관리 데이터 핸들링 방법 및 시스템
US11432156B2 (en) Security unit for an IoT device and method for running one or more applications for the secured exchange of data with one or more servers which provide web services
US20030053630A1 (en) Method and system for key usage control in an embedded security system
Xu et al. Virtualization of the encryption card for trust access in cloud computing
CN101361078B (zh) 使用凭证对io设备进行保护和提供安全的方法和系统
CN116186727A (zh) 一种数据加密方法、解密方法及其相关设备
Smith Storage Protection with Intel® Anti-Theft Technology-Data Protection (Intel® AT-d)
Parodi et al. Integrating ObjectBroker and DCE security
CN110059489A (zh) 安全电子设备
Wang et al. A Practical Key Management Scheme in Software Layer and Its Applications
Zhang et al. A secure object sharing scheme for Java Card
EP2300940A1 (en) System and method that uses cryptographic certificates to define groups of entities

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20210104

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