CN102571329B - 密码密钥管理 - Google Patents

密码密钥管理 Download PDF

Info

Publication number
CN102571329B
CN102571329B CN201110437099.8A CN201110437099A CN102571329B CN 102571329 B CN102571329 B CN 102571329B CN 201110437099 A CN201110437099 A CN 201110437099A CN 102571329 B CN102571329 B CN 102571329B
Authority
CN
China
Prior art keywords
key
access control
control rule
data
atom
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.)
Active
Application number
CN201110437099.8A
Other languages
English (en)
Other versions
CN102571329A (zh
Inventor
V.G.巴拉瓦吉
N.T.费尔古森
C.M.埃利森
B.G.M.奈斯特伦
周大翊
D.伊索波夫
O.T.乌雷彻
P.J.诺沃特尼
C.M.伊拉克
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 Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102571329A publication Critical patent/CN102571329A/zh
Application granted granted Critical
Publication of CN102571329B publication Critical patent/CN102571329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

描述了密码密钥管理技术。在一个或多个实现方式中,读取包括具有多个原子的布尔表达式的访问控制规则,每个原子具有密码密钥的标识符。请求与访问控制规则中的所述多个原子中的每一个的标识符相应的密码密钥。然后,使用所述密码密钥中的一个或多个对数据执行一种或多种密码操作。

Description

密码密钥管理
背景技术
计算设备可能以各种各样的不同方式遇到各种各样的敏感数据。例如,计算设备可以用来存储数据,通过网络传送数据等等。此外,该数据可能是相当有价值的,并且因而成为恶意方的目标。然而,用来保护该数据的常规技术可能涉及存储大量的密码(cryptographic)密钥。例如,该数据可能被保护以供不同各方访问,从而涉及管理大量的密码密钥。传统上,这导致复杂的存储和通信技术,当面临要单独地加密和/或解密的大量各种各样的数据时,尤其如此。
发明内容
描述了密码密钥管理技术。在一个或多个实现方式中,读取包括具有多个原子的布尔表达式的访问控制规则,每个原子具有密码密钥的标识符。请求与访问控制规则中的所述多个原子中的每一个的标识符相应的密码密钥。然后,使用所述密码密钥中的一个或多个对数据执行一种或多种密码操作。
在一个或多个实现方式中,从嵌入了加密的数据的访问控制规则读取密钥标识符。形成请求,该请求包括密钥标识符并且描述了请求访问数据的主体(principal)的一个或多个属性。接收对所述请求的响应,该响应包括基于所描述的一个或多个属性而授权主体使用的解密密钥。依照访问控制规则应用在响应中接收的解密密钥以便确定获得了解密加密的数据的足够的解密密钥集合。
在一个或多个实现方式中,对于访问控制规则中的每个原子获取保护器密钥,访问控制规则在布尔表达式中描述多个原子。对于布尔表达式中的一个或多个合取子句、用于子句中的每个原子的分数密钥(fractional key),使用与该原子相应的保护器密钥加密该分数密钥,并且利用具有一定保护器密钥的复合原子代替合取子句,该保护器密钥是分数密钥的组合。产生内容加密密钥,并且使用该内容加密密钥加密数据。对于每个复合原子,利用该复合原子的保护器密钥加密内容加密密钥,并且与复合原子的保护器密钥的标识符一起存储加密内容加密密钥的结果。
本发明内容部分被提供以便以简化的形式引入构思的选择,这些构思在下面的具体实施方式中进一步加以描述。本发明内容部分并不预期标识要求保护的主题的关键特征或基本特征,也不预期用来帮助确定要求保护的主题的范围。
附图说明
具体实施方式参照附图进行描述。在图中,附图标记的最左边的数字标识其中该附图标记第一次出现的图。在说明书的不同实例和附图中使用相同的附图标记可能指示相似或相同的项。
图1示出了数据保护系统的实例实现方式中的环境,该数据保护系统可操作来采用涉及密码密钥管理的技术。
图2A和图2B为绘出其中依照访问控制规则加密数据的实例实现方式中的过程的流程图。
图3为更详细地示出图1的数据保护模块的实例实现方式中的系统的图示。
图4示出了被示为依照访问控制规则加密数据的图1数据保护系统的实例实现方式。
图5示出了多级密钥导出方案的实例实现方式。
图6为绘出其中安全主体从采用图5的多级密钥导出方案的密钥管理服务请求加密密钥的实例实现方式中的过程的流程图。
图7示出了可操作来采用关于图5和图6描述的层级技术的系统的实例实现方式。
具体实施方式
实例环境
图1示出了数据保护系统的实例实现方式中的环境100,该数据保护系统可操作来采用涉及密码密钥管理的技术。该环境100示出了包括密钥管理服务102的分布式环境的一个实例,所述密钥管理服务可由第一和第二计算设备106、108经由网络104访问。密钥管理服务102进一步被示为使用一个或多个服务器(例如服务器群的一部分)来实现。尽管示出了一个实例分布式环境,但是应当容易清楚的是,该环境100可以进一步扩展(例如以便包括众多其他计算设备)、缩小(例如以便由两个设备或者甚至单个设备采用)等等。
计算设备可以以各种各样的方式进行配置。例如,可以将计算设备配置成能够通过网络104通信的计算机,例如台式计算机、移动站、娱乐器具、通信耦合到显示设备的机顶盒、无线电话、游戏控制台等等。因此,计算设备可以范围从具有充分的存储器和处理器资源的全资源设备(例如个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如传统机顶盒、手持式游戏控制台)。此外,尽管示出了单个计算设备(例如用于密钥管理服务102的服务器),但是计算设备可以代表多个不同的设备,例如多个由企业用来执行操作的服务器。
计算设备也可以包括使得计算设备的硬件执行操作的实体(例如软件),例如处理器、功能块等等。一个这样的实例是针对对应计算设备106、108而示出的通信模块110、112,其代表经由网络104通信的设备功能。在一个或多个实现方式中,计算设备可以包括计算机可读介质,该计算机可读介质可以被配置成维持使得计算设备以及更特别地计算设备的硬件执行操作的指令。因此,这些指令用来将硬件配置为执行操作并且通过这种方式导致将硬件转换成实现功能。这些指令可以通过各种各样的不同配置由计算机可读介质提供给计算设备。
计算机可读介质的一个这样的配置是信号承载介质并且因而被配置成例如经由网络104将指令(例如作为载波)传输至计算设备的硬件。计算机可读介质也可以被配置成计算机可读存储介质并且因而不是信号承载介质。计算机可读存储介质的实例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁、光和其他技术存储指令和其他数据的其他存储器设备。
尽管网络104被示为因特网,但是该网络可以采取各种各样的广泛配置。例如,网络108 104包括广域网(WAN)、局域网(LAN)、无线网络、公共电话网络、内联网、蓝牙个人区域网络(PAN)等等。此外,尽管示出了单个网络104,但是网络104可以被配置成包括多个网络。
密钥管理服务102被示为包括数据保护模块114,其代表依照用作加密和解密数据的基础的访问控制规则116管理密码密钥的功能。在一个或多个实现方式中,该规则是由例如利用“AND”(与)和“OR”(或)逻辑算子组合的原子118集合形成的布尔表达式。每个原子118可以表示为形式为“属性=标识符”的字符串,其中标识符转化成密码密钥。例如,每个原子可以采取“安全_主体_类型=标识符”的形式,使得安全主体标识符转化成密码密钥。因此,利用这种规则加密的数据被配置成仅仅通过具有满足该规则的属性的实体(例如满足该规则的安全主体)而被解密。
例如,基于安全标识符(SID)的系统可以采用以下访问控制规则“SID=S-1-5-32-544 AND 密钥=MSKSP:myKeyName OR 证书=IssuerAndSerial:3132,3131”。因此,该访问控制规则包括三个原子:
“SID=S-1-5-32-544”;
“密钥=MSKSP:myKeyName”;以及
“证书=IssuerAndSerial:3132,3131”
此外,该访问控制规则规定应当满足的不同属性集合,SID和密钥或者证书。因此,有权访问标识的证书或者在其令牌中具有标识的SID并且也有权访问标识的密钥的主体满足该规则。
下面的讨论安排如下。首先,讨论用于将密码访问控制规则的每个原子转换成密码密钥(或者可以从其导出密码密钥的秘密)的技术。然后,讨论使用密码密钥按照访问控制规则在密码学上保护数据块。如前面所描述的,这可以以这样的方式执行,使得授权主体只能使用访问控制规则的密码密钥中的每一个解密该数据。与访问控制规则原子相应的密码密钥称为保护器密钥,并且假设每个保护器密钥具有唯一标识符,当需要时,该唯一标识符可以用来定位相应的解密密钥。
然后,描述了涉及以高效且可伸缩的方式产生保护器密钥和相应的解密密钥的技术。例如,这些技术可以用于属于公共安全域的实体,例如用于主体的授权表达式,其可能涉及一个主体或一组主体的标识符,例如用在数据存储区或目录(例如微软公司的活动目录产品)中的安全标识符(SID)。
通常,本文描述的任何功能都可以使用软件、固件、硬件(例如固定逻辑电路)、手工处理或者这些实现方式的组合来实现。当在本文中使用时,术语“模块”和“功能”通常代表硬件、软件、固件或者其组合。在软件实现方式的情况下,模块、功能或逻辑代表指令和硬件,其执行硬件指定的操作,例如一个或多个处理器和/或功能块。
可以将指令存储到一种或多种计算机可读介质中。如上面所描述的,计算机可读介质的一个这样的配置是信号承载介质并且因而被配置成例如经由网络104将指令(例如作为载波)传输至计算设备的硬件。计算机可读介质也可以被配置成计算机可读存储介质并且因而不是信号承载介质。计算机可读存储介质的实例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁、光和其他技术存储指令和其他数据的其他存储器设备。下面描述的技术的特征是平台独立的,这意味着这些技术可以在具有各种各样的硬件配置的各种各样的商业计算平台上实现。
访问控制规则
图2A和图2B绘出了其中依照访问控制规则加密数据的实例实现方式中的过程200。以下讨论描述了可以利用先前和随后描述的系统和设备实现的技术。每个过程的各方面可以以硬件、固件、软件或者其组合实现。这些过程被示为规定由一个或多个设备执行的操作的功能框集合,并且不一定限于所示出的各功能框执行操作的顺序。
开始于图2A,为了按照访问控制规则加密数据块,可以执行以下操作。首先,例如使用唯一标识符获取与访问控制规则中的每个原子相应的保护器密钥(框202)。然后,将布尔访问控制规则转换成析取范式(框204)。
对于规范化访问控制规则中的每个合取子句206,执行以下操作(框206)。对于子句中的每个原子,例如使用随机化技术产生分数密钥(框208)。利用与该原子相应的保护器密钥加密分数密钥(框210)。然后,与唯一标识的保护器密钥一起存储加密的分数密钥(框212)。该结构称为保护器。然后,利用新的复合原子代替整个合取子句,所述新的复合原子的保护器密钥是分数密钥的组合(框214)。该组合可以以各种各样的不同方式形成,例如通过采用诸如XOR或密钥导出函数之类的密码技术形成,所述密钥导出函数例如基于口令的密钥导出函数,比如来自RSA实验室的公钥密码标准系列的PBKDF2。
现在继续到图2B,例如使用随机化技术产生内容加密密钥(框216)。然后,使用诸如AES-GCM之类的加密技术利用内容加密密钥加密数据(框218)。
对于析取范式的表达式的每个复合原子(框222),可以执行以下操作。利用原子的保护器密钥加密内容加密密钥(框224)。在每种情况下与作为保护器的保护器密钥的唯一标识符一起存储加密的结果(框226)。
然后,例如通过使用RSA安全公司公布的公钥密码标准#7将加密的内容和上面创建的保护器封装进信封(框228)。因此,上面的技术允许按照访问控制规则中的原子的组合加密数据。该技术也是高效的,因为它可以使用对称加密技术。
当解密数据时,嵌入到包封和封装的加密数据中的唯一密钥标识符可以用来取回必要的保护器密钥。如果对于主体可用的保护器密钥集合足以满足加密的数据的访问控制规则,那么加密方案确保该主体解密数据将是可能的。
图3为更详细地示出图1的数据保护模块114的实例实现方式中的系统的图示。为了找到与每个原子相应的保护器密钥,每个安全主体类型302可以采用以下关联的方法。
GetEncryptionKey(获得加密密钥)方法304
该方法304可以将安全主体标识符306取为输入并且返回加密密钥308以及相应解密密钥的唯一标识符310。在一个实现方式中,可以为调用主体执行该方法,即使调用主体未被授权访问解密密钥。
GetDecryptionKey(获得解密密钥)方法312
在一个实现方式中,该方法采取解密密钥的唯一标识符314,其可以与从GetEncryptionKey方法304接收的解密密钥的唯一标识符310相同。然后,当且仅当调用主体被授权访问解密密钥316时,GetDecryptionKey方法312才可能取回解密密钥316。
图4示出了被示为依照访问控制规则加密数据的图1数据保护系统102的实例实现方式400。在该实例中,用户希望依照以下访问控制规则保护数据块:
“密钥=User:UserIdXYZ OR SID=S-1-5-32-544”。
数据保护系统102以及更特别地数据保护模块114定位负责管理“用户(User)”类型402的密钥的模块(例如数据保护模块114的子模块),并且利用输入参数“UserIdXYZ”406调用该模块的GetEncryptionKey方法404。因此,用户类型402提供了用于该类型的加密密钥408以及在该实例中称为“UniqueIdXYZ”410的相应解密密钥的唯一标识符。
类似地,数据保护模块114定位负责管理用于“SID”类型412的主体的密钥的模块(例如数据保护模块114的子模块),并且利用输入参数“S-1-5-32-544”416调用相应的GetEncryptionKey方法414。因此,SID类型412提供了用于该类型的加密密钥418以及在该实例中称为“UniqueIdSid544”420的相应解密密钥的唯一标识符。
然后,数据保护模块114使用早先描述的技术通过使用加密密钥408、418加密数据422以便获得被包封和封装的加密的数据424。然后,加密的数据424可以被存储以供以后使用、传输至不同的计算设备(例如如关于图1所描述的)等等,以供以后解密。
最后,可以代表用户或其他实体(例如应用程序)要求计算设备解密加密的数据424。因此,数据保护系统102可以尝试使用GetDecryptionKey方法取回唯一标识符“UniqueIdXYZ”和“UniqueIDSid544”410、420标识的解密密钥,所述方法的实例关于图3进行了描述。如果二者都不可以获得,那么就不可能解密加密的数据424。如果获得了任一解密密钥,那么数据保护系统102使用它以便解密数据和验证其完整性。如果完整性检查失败,那么返回错误;否则,系统将解密的数据返回给用户。
图5示出了多级密钥导出方案的实例实现方式500。该密钥导出方案采用了可以利用一个主体或一组主体的标识符的主体的授权表达式,其一个实例是以下讨论中的SID,但是也可以设想其他的实例。该实例示出了三级导出,第一级次(标记为L0)具有链长1,并且其他级次(L1和L2)具有链长32,但是应当容易清楚的是,也可以设想其他的长度。为了简单起见,始终使用相同的密钥导出函数,并且表示为KDF,但是应当容易清楚的是,可以采用各种各样的不同导出函数。MRK在该实例实现方式中代表主根密钥。
该技术被描述为使用受信任认证服务(包括诸如活动目录之类的分布式服务)以便获得与服务的安全域中的每个唯一标识相应的密钥。例如,该技术可以由活动目录域控制器用来产生用于AD林(forest)中的每个SID的保护器密钥,并且响应对于这样的密钥的请求。该实例实现方式包括以下组件。
主密钥
采用一个或多个主密钥(MRK)以用于安全域,以及用于每个主密钥的唯一标识符和用于从主密钥集合确定当前主密钥的规则。
导出级次
可以支持一定数量的导出级次N,其在所示的实例中为三个级次。对于0与N-1之间的每个导出级次k,采用初始密钥导出函数KDF1_k。也可以采用用于确定其参数的规则,该规则可以基于安全主体的标识符或其他属性(例如可以由主体满足的授权表达式)、当前时间和可选的附加参数。与用于基于安全主体的属性(例如标识符)或授权表达式、当前时间和可选的附加参数确定对应参数的规则一起,对于每个导出级次也采用链密钥导出函数KDF2_k。对于“k”导出级次中的每一个,也采用链长M_k。
时间间隔
时间间隔T1代表对于给定的安全主体,多长时间创建新加密密钥一次。这可以用来间接地确定层级中每个级次的密钥寿命。例如,考虑如图5中所示具有三个级次(即N=3)的实例。用于第二导出级次“L2”的新密钥在时间间隔“T1”处产生。这意味着用于第一导出级次“L1”的新密钥在时间间隔“32*T1”处产生,这反过来意味着用于最高导出级次“L0”的新密钥在时间间隔“32*32*T1=1024*T1”处产生。当可以从某个密钥导出的每个密钥的创建时间已经过去,则称该密钥已经耗尽。例如,如果从“L1”密钥导出每个“L2”密钥的创建时间已经过去,则认为“L1”密钥耗尽。根据一个或多个实现方式中的定义,主密钥不可能耗尽。
时间间隔“T2”代表对于给定安全主体,给定加密密钥可以多长时间用来加密新数据。因此,在一个实现方式中,密码密钥可能经常改变,从而不采用显式的密钥撤销技术。
对称加密算法
可以在该实例实现方式中采用对称加密算法A1以及可以用来导出用于该算法的密钥的密钥导出函数KDF_s。当授权进行GetEncryptionKey调用的主体访问相应解密密钥时,可以导出供该算法使用的保护器密钥。
非对称算法
在该实现方式中,非对称算法A2以及两个密钥导出函数KDF_e和KDF_d可以用来导出用于该算法的加密和解密密钥配对。当进行GetEncryptionKey调用的主体未被授权访问密钥对的解密密钥时,可以导出供该算法使用的保护器密钥对。
图6绘出了其中安全主体从采用图5的多级密钥导出方案的密钥管理服务请求加密密钥的实例实现方式中的过程600。以下讨论描述了可以利用先前描述的系统和设备实现的密钥导出技术。每个过程的各方面可以以硬件、固件或软件或者其组合实现。这些过程被示为规定由一个或多个设备执行的操作的功能框集合,并且不一定限于所示出的各功能框执行操作的顺序。在以下讨论的部分中,将参照图5的实例实现方式。
密钥管理服务从安全主体“S”接收针对给定安全主体标识符“S”的对于加密密钥的请求(框602)。作为响应,密钥管理服务获得用于域的当前主密钥(框604)。然后,基于安全主体的标识和当前时间,密钥管理服务确定用于该主体的当前加密密钥的链位置(l_0, l_1, …, l_N-1)(框606)。应当指出的是,在该实现方式中,每个链位置l_k为0与(M_k – 1)之间的整数。
对于范围从0至N-1且包括0和N-1的每个导出级次k,执行以下操作(框608)。KDF1_k用来从先前级次的当前密钥导出该级次的初始密钥(框610)。对于k=0,主密钥为先前级次的密钥。将KDF2_k的“M_k – l_k – 1”次迭代应用于初始密钥以便获得该级次的当前密钥(框612)。
一旦获得了N-1级次的当前密钥,那么可以执行以下操作。如果主体S被授权请求的安全主体S’的解密密钥,那么使用KDF_s导出对称密钥(框614)。如果主体S未被授权请求的安全主体S’的解密密钥,那么使用KDF_e导出非对称加密密钥(框616)。
然后,将前面的操作中导出的密钥与通过级联安全主体的属性(例如标识属性)ID S’、主密钥的唯一ID和多元组(l_0, l_1, …, l_N-1)而构造的唯一密钥标识符一起,返回给安全主体(框618)。为了提高效率,客户端实现方式可以缓存加密密钥。然而,在一个实现方式中,比T2更旧的加密密钥不用来加密新数据。
当主体“R”从服务器请求解密密钥时,主体“R”提供唯一密钥标识符。唯一密钥标识符包含密钥的安全主体标识符R’、主密钥的唯一ID以及多元组(l_0, l_1, …, l_N-1)。然后,密钥管理服务可以执行与上面类似的具有以下差异的过程。如果调用安全主体R未被授权安全主体标识符R’,则返回错误。否则,服务返回可以用来导出请求的解密密钥的最新且最高级次的耗尽密钥。然后,客户端可以应用一个或多个密钥导出函数以便获得适当的解密密钥。
在一个实例实现方式中,做出以下算法选择,但是应当容易清楚的是,也可以设想其他的选择。伽罗瓦计数器运算模式(GCM)中的高级加密标准(AES)算法可以用作A1。具有指定的组发生器、模数和子组大小的Diffie-Hellman-Merkle算法可以用作算法A2。NIST特刊800-108中指定的密钥导出函数之一可以用于KDF1和KDF2函数中的每一个以及KDF_s函数。函数KDF_d可以采用SP 800-108 KDF,其输出被截断为用于A2的私有子组的大小。然后,通过应用KDF_d并且计算相应的公钥而执行函数KDF_e。对于Diffie-Hellman-Merkle算法,这涉及将组发生器提升至KDF_d的输出模组的模数(modulo)所表示的整数。
因此,可以利用这些技术以便提供各种各样的性质。例如,密钥管理服务可以存储相对较小的主密钥集合,而不管安全主体的总数如何。此外,安全主体不能可行地确定用于该主体未被授权的安全主体标识符的解密密钥。此外,安全主体不能可行地计算主密钥,也不能计算未来的密钥。
再进一步,即使当安全主体“A”不是主体集合“B”的成员时,安全主体“A”也可以在密码学上保护用于主体集合“B”的数据。像所述服务那样,客户端也可以缓存相对较小的密钥集合以便能够解密加密到给定安全主体的每个过去数据项。例如,在图6的实现方式中,缓存耗尽的“L0”密钥、不超过31个耗尽的“L1”密钥以及当前L2密钥中的每一个就足够了。
图7示出了可操作来采用关于图5和图6描述的层级技术的系统700的实例实现方式。如图所示的系统700包括具有保护API 704的密钥管理客户端模块702,所述保护API 704可调用来访问模块代表的功能。例如,可以调用保护API 704以便访问主体标识符(例如SID)保护器模块706、证书保护器模块708和密钥保护器模块710。密钥保护器模块710代表管理诸如持久对称密钥712之类的密钥、持久KDF秘密714等等的功能。证书保护器模块708代表密钥管理客户端模块702维护和管理证书的功能。
主体标识符保护器模块706代表与诸如安全标识符(SID)之类的主体标识符有关的功能。例如,主体标识符保护器模块706可以用来本地地维护SID密钥缓存716。主体标识符保护器模块706可以利用一个或多个有线或无线协议718以便访问可以在只读域控制器(RODC)中实现的SID密钥服务模块720,和/或被配置成在全域控制器内起作用的SID密钥服务模块722。AD存储区724也可以由系统700采用,其可以用来维护主密钥和服务器配置(并且可以使用一个或多个管理工具726进行访问和管理)。
密钥管理客户端模块702也被示为与配置728数据通信,所述配置数据例如客户端算法、命名描述符、恢复等等,其进一步被示为利用组策略设置730。
尽管关于活动目录描述了上面的图5-7的实例,但是应当指出的是,本文描述的技术也可以用于其他的密码应用。例如,可以实现用于数据完整性保护的系统,使得授权安全主体单独地可以检验给定数据块的完整性(或真实性)。
结论
尽管以特定于结构特征和/或方法动作的语言描述了本发明,但是应当理解的是,所附权利要求书中限定的本发明不必限于所描述的特定特征或动作。相反地,这些特定的特征和动作作为实现要求保护的本发明的实例形式而被公开。

Claims (2)

1.一种由主体的一个或多个计算设备实现的方法,该方法包括:
读取嵌有加密数据的访问控制规则的密钥标识符;
形成请求,所述请求包括所述密钥标识符并描述请求访问数据的主体的一个或多个属性;
接收针对所述请求的响应,该响应包括基于所描述的一个或多个属性而授权主体使用的解密密钥集合;以及
将在所述响应中接收的所述解密密钥集合和所述访问控制规则进行比较以确定是否已获得了解密加密数据的足够的解密密钥收集。
2.如权利要求1所述的方法,其中所述访问控制规则的密钥标识符与所述加密数据一起被嵌入在信封中。
 3. 如权利要求1所述的方法,其中所述访问控制规则以布尔表达式形成自原子集合,每个原子对应于多个属性中相应的一个。
 4. 如权利要求1所述的方法,其中包括在所述响应中的解密密钥对应于访问控制规则中被所述主体满足的属性。
 5. 如权利要求3所述的方法,其中来自所述原子集合中的至少一个原子对应于一个属性,所述属性定义为被所述主体满足以对加密数据执行解密操作。
 6.如权利要求1所述的方法,其中所述访问控制规则支持至少两组属性,两者都被配置为允许访问所述密钥。
 7. 如权利要求1所述的方法,其中访问所述解密密钥集合基于请求所述解密密钥的主体是否共享与如所述访问控制规则定义的原子集合中相应原子相对应的一个或多个属性。
CN201110437099.8A 2010-12-23 2011-12-23 密码密钥管理 Active CN102571329B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/978266 2010-12-23
US12/978,266 US9058497B2 (en) 2010-12-23 2010-12-23 Cryptographic key management

Publications (2)

Publication Number Publication Date
CN102571329A CN102571329A (zh) 2012-07-11
CN102571329B true CN102571329B (zh) 2015-07-22

Family

ID=46415872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110437099.8A Active CN102571329B (zh) 2010-12-23 2011-12-23 密码密钥管理

Country Status (2)

Country Link
US (1) US9058497B2 (zh)
CN (1) CN102571329B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471766B (zh) * 2014-03-31 2019-08-06 爱迪德技术有限公司 密码芯片和相关方法
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10860086B2 (en) * 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US11063980B2 (en) * 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10880281B2 (en) 2016-02-26 2020-12-29 Fornetix Llc Structure of policies for evaluating key attributes of encryption keys
US11228421B1 (en) 2017-02-03 2022-01-18 Apple Inc. Secure secrets to mitigate against attacks on cryptographic systems
CN108650086A (zh) * 2018-05-14 2018-10-12 无锡知更鸟网络科技有限公司 一种云数据加密方法
CN111030976A (zh) * 2019-04-26 2020-04-17 哈尔滨安天科技集团股份有限公司 一种基于密钥的分布式访问控制方法、装置及存储设备
US11640475B1 (en) * 2019-11-26 2023-05-02 Gobeep, Inc. Systems and processes for providing secure client controlled and managed exchange of data between parties
CN112069263B (zh) * 2020-09-09 2023-08-25 上海万向区块链股份公司 基于区块链的流程数据审核方法、系统及介质
CN116980232B (zh) * 2023-09-21 2024-01-12 深圳市能数科技有限公司 一种数据处理方法、装置、计算机设备和可读存储介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69638018D1 (de) 1995-02-13 2009-10-15 Intertrust Tech Corp Systeme und Verfahren zur Verwaltung von gesicherten Transaktionen und zum Schutz von elektronischen Rechten
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6148342A (en) 1998-01-27 2000-11-14 Ho; Andrew P. Secure database management system for confidential records using separately encrypted identifier and access request
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US7272723B1 (en) 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
US7305562B1 (en) 1999-03-09 2007-12-04 Citibank, N.A. System, method and computer program product for an authentication management infrastructure
US7406603B1 (en) 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US6697944B1 (en) 1999-10-01 2004-02-24 Microsoft Corporation Digital content distribution, transmission and protection system and method, and portable device for use therewith
US7213005B2 (en) 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
EP2352120B1 (en) 2000-01-13 2016-03-30 Digimarc Corporation Network-based access to auxiliary data based on steganographic information
US7155415B2 (en) 2000-04-07 2006-12-26 Movielink Llc Secure digital content licensing system and method
US7213266B1 (en) 2000-06-09 2007-05-01 Intertrust Technologies Corp. Systems and methods for managing and protecting electronic content and applications
AU7593601A (en) 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
GB0024918D0 (en) 2000-10-11 2000-11-22 Sealedmedia Ltd Method of providing java tamperproofing
US6996234B2 (en) 2001-02-02 2006-02-07 Asier Technology Corporation Data decryption methodology
US7437429B2 (en) 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
AU2002254478A1 (en) * 2001-03-27 2002-10-08 Microsoft Corporation Distributed, scalable cryptographic acces control
US20020147929A1 (en) 2001-04-10 2002-10-10 Rose Mark E. Access control for distributed content servers
US7110982B2 (en) 2001-08-27 2006-09-19 Dphi Acquisitions, Inc. Secure access method and system
JP4664572B2 (ja) 2001-11-27 2011-04-06 富士通株式会社 文書配布方法および文書管理方法
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7478418B2 (en) * 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
US8176334B2 (en) * 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US7614077B2 (en) 2002-04-10 2009-11-03 International Business Machines Corporation Persistent access control of protected content
US6678828B1 (en) 2002-07-22 2004-01-13 Vormetric, Inc. Secure network file access control system
US6931530B2 (en) 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing
US7296077B2 (en) 2002-12-12 2007-11-13 International Business Machines Corporation Method and system for web-based switch-user operation
JP4619615B2 (ja) * 2002-12-25 2011-01-26 株式会社東芝 特典管理コンピュータ及び方法並びにプログラム
US7500096B2 (en) 2002-12-31 2009-03-03 Pitney Bowes Inc. System and method for message filtering by a trusted third party
US7515717B2 (en) 2003-07-31 2009-04-07 International Business Machines Corporation Security containers for document components
JP2005128996A (ja) 2003-09-30 2005-05-19 Dainippon Printing Co Ltd 情報処理装置、情報処理システム及びプログラム
JP4174032B2 (ja) 2004-02-20 2008-10-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 設定装置、設定方法、プログラム、及び記録媒体
US7715565B2 (en) 2004-07-29 2010-05-11 Infoassure, Inc. Information-centric security
EP1672486A1 (en) * 2004-12-15 2006-06-21 Sony Ericsson Mobile Communications AB Method and device for permitting secure use of program modules
US20060218650A1 (en) 2005-03-25 2006-09-28 Nokia Corporation System and method for effectuating digital rights management in a home network
DE102005018676B4 (de) 2005-04-21 2008-09-25 Wincor Nixdorf International Gmbh Verfahren zur Schlüsselverwaltung für Kryptographiemodule
WO2007127349A2 (en) 2006-04-26 2007-11-08 Exobox Technologies Corp. Secure user environment software
US7792301B2 (en) 2006-06-29 2010-09-07 Microsoft Corporation Access control and encryption in multi-user systems
US8082452B2 (en) * 2006-12-06 2011-12-20 George Mason Intellectual Properties, Inc. Protecting sensitive data associations
US9286481B2 (en) 2007-01-18 2016-03-15 Honeywell International Inc. System and method for secure and distributed physical access control using smart cards
US8588421B2 (en) * 2007-01-26 2013-11-19 Microsoft Corporation Cryptographic key containers on a USB token
US20080244691A1 (en) 2007-03-30 2008-10-02 Israel Hilerio Dynamic threat vector update
US20090070580A1 (en) 2007-09-12 2009-03-12 Patricio Lucas Cobelo Portable electronic file protection system
US8281145B2 (en) * 2007-12-14 2012-10-02 Mehran Randall Rasti Doing business without SSN, EIN, and charge card numbers
US7769641B2 (en) 2008-11-18 2010-08-03 Cisco Technology, Inc. Sharing media content assets between users of a web-based service
US8364984B2 (en) 2009-03-13 2013-01-29 Microsoft Corporation Portable secure data files

Also Published As

Publication number Publication date
US9058497B2 (en) 2015-06-16
CN102571329A (zh) 2012-07-11
US20140108814A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
CN102571329B (zh) 密码密钥管理
US10803194B2 (en) System and a method for management of confidential data
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
Han et al. A data sharing protocol to minimize security and privacy risks of cloud storage in big data era
US8059818B2 (en) Accessing protected data on network storage from multiple devices
US20140112470A1 (en) Method and system for key generation, backup, and migration based on trusted computing
US7877604B2 (en) Proof of execution using random function
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
Pu et al. R²PEDS: a recoverable and revocable privacy-preserving edge data sharing scheme
CN104618096B (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US10880100B2 (en) Apparatus and method for certificate enrollment
Samanthula et al. An efficient and secure data sharing framework using homomorphic encryption in the cloud
CN101771699A (zh) 一种提高SaaS应用安全性的方法及系统
CN107453880B (zh) 一种云数据安全存储方法和系统
EP3694142A1 (en) Management and distribution of keys in distributed environments (ie cloud)
Sethia et al. CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder.
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
Hahn et al. Trustworthy delegation toward securing mobile healthcare cyber-physical systems
CN113411323A (zh) 基于属性加密的医疗病历数据访问控制系统及方法
KR102025989B1 (ko) IoT 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
Senthil Kumari et al. Key derivation policy for data security and data integrity in cloud computing
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
Xu et al. An integrated privacy preserving attribute based access control framework
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
WO2022199796A1 (en) Method and computer-based system for key management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150612

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

Effective date of registration: 20150612

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant