CN1158195A - 密钥托管及数据托管加密系统和方法 - Google Patents

密钥托管及数据托管加密系统和方法 Download PDF

Info

Publication number
CN1158195A
CN1158195A CN95195035.5A CN95195035A CN1158195A CN 1158195 A CN1158195 A CN 1158195A CN 95195035 A CN95195035 A CN 95195035A CN 1158195 A CN1158195 A CN 1158195A
Authority
CN
China
Prior art keywords
user
ari
drc
drf
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN95195035.5A
Other languages
English (en)
Inventor
斯蒂文·B·利浦尔
戴卫·M·巴林森
卡尔·M·俄里森
斯蒂芬·T·沃克
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.)
McAfee LLC
Original Assignee
Trusted Information Systems Inc
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
Priority claimed from US08/289,602 external-priority patent/US5557346A/en
Application filed by Trusted Information Systems Inc filed Critical Trusted Information Systems Inc
Publication of CN1158195A publication Critical patent/CN1158195A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

密钥托管和数据托管密码技术的系统和方法。在密钥托管密码技术中,只将公共的托管密钥存在发送器和接收器中。发送器利用保密的对话密钥(KS)加密消息,并产生被加密的页验证串(ELVS)和第一法律强制访问域(LEAF)。接收器产生和第一LEAF比较用的第二LEAF。在数据托管密码技术中,加密用户产生数据恢复域(DRF),其包括访问规则索引(ARI)和用户的机密(US)。为了恢复US,解密用户将DRF送到数据恢复中心(DRC),DRC根据ARI所标识的访问规则(AR)发出询问。

Description

密钥托管及数据托管加密系统和方法
本发明一般涉及数据加密,更具体地涉及密钥托管和数据托管加密。
被称为“克利珀尔创议”(Clipper initiative)的1993年4月16目的美国总统公告要求开发一种称为“叩头虫”(Skipjack)的保密加密算法的硬件实施方案。总统公告将这种叩头虫算法刻划为“明显优于目前公众所能用到的任一种算法”。叩头虫的硬件实施方案也应该包括一种称为“密钥托管”的能力,这种能力允许政府恢复用于数据加密的密钥。实现叩头虫算法的集成电路芯片被称为“克利珀尔芯片”和/或“卡普斯通芯片”(Capstone芯片)。
克利珀尔创议(尤其是密钥托管特征)试图在为守法的公民提供一种比他们现在能用到的系统都要强大得多的加密系统的同时,试图维持法律强制和国家安全截取和探测通信内容的能力。克利珀尔创议公告以及随后的讨论使之变得清楚:虽然叩头虫是比现有的非保密数据加密标准(DES)功能更强的加密算法,但法律执行单位认为,DES语音保密装置的激增将成为他们维护其执行法院命令从电话(电报)线路上窃取情报能力的极大障碍。
在对4月16日公告的公众反应中,对克利珀尔创议的大量反对意见是很明显的。反对意见采用各种形式表达,但以下的主要观点最为突出:
·许多人反对这样的可能:密钥托管加密技术的展开以及今后将和政府托管代理人共享私人密码密钥的做法将导致个人隐私的丧失。
·许多人反对管理机构企图把政府的购买力强行成为它们事实上的标准,从而政府代理人能随意击败。
·有些人反对引入分级算法做为保护非保密信息的标准。DES是公开的并且在其15年的使用周期中已经有了广泛和详尽的研究。有人暗示叩头虫可能存在某种缺陷或陷门(而不是密钥托管过程)。一个外部密码员的专门小组对叩头虫的赞同考察也不能平息这些反对意见。
·许多人(尤其是信息技术产品的供应商)反对硬件实施方案的要求,因为成本提高而且受到要在整个系统或产品设计上必须采用政府所设计的芯片的限制。
在1993年8月,国家标准化技术研究所(NIST)宣布了和工业界的一个协作计划,寻找用软件实现密钥托管的可能方法(不需要专用硬件元件,例如克利珀尔(Clipper)芯片或卡普斯通(Capstone)芯片。
讨论该课题时存在许多互相交织的问题,问题包括硬件实施方案、保密的加密算法,以及对加密过程的用户必须给予多大的信任等问题。这些问题将在下面讨论,但在涉及这些问题之前,先讨论一下密钥托管将是有用的。
密钥托管密码技术
将密钥托管技术加到实现密码特征的产品中,可允许被授权的用户查找用于加密通信的密钥并利用密钥对通信解密。在克利珀尔创议中,用于每个加密装置的密钥在数学上被分成两半(每一半在长度上等于原始的密钥)并且分别由两个独立的托管代理人保存。在对某个给定的装置中的通信解密之前,两个托管代理人必须协作(重新产生原始的密钥)。对于克利珀尔创议来说,托管代理人为政府机构,要求他们保证请求密钥的法律强制机构得到法院命令授权对所讨论的通信从电话(电报)线路上窃取情报。
许多需求已经被引用以证明密钥托管密码技术是需要的。某些适用于法制和国家安全的需要,而其它的则适用于个人用户或组织的要求。
·使法制和国家安全机构感到担心的是,加密通信日益增长的使用将损害他们利用法院命令从电话(电报)线路上窃取情报以解决犯罪问题和防止恐怖行为的能力。广泛使用密钥托管加密技术将维护这些机构的这种能力,又能为公众提供高质量密码术的好处。在法律强制和国家安全的情况下,当法院命令授权时,政府托管机构提供对通信的访问。
·某些公司已经表示了这样的担心:雇员的粗心大意或蓄意破坏可能会使公司得不到对其有价值信息的访问。公司级的密钥托管密码技术已经实现了这样一种机制,在这种机制中,这些公司能重新获得对其信息的访问。在这类应用中,可以由高级管理或人事办公室做为托管代理人,他可允许雇员的主管访问雇员文件或通信。
·在自己的信息中使用加密技术的个人可能会因为死亡或残废而忘记或丢失保护其加密密钥的口令。密钥托管密码技术已经被推荐做为这样一些个人的一种安全机制。在这种情况下,个人可以选择朋友或律师做为允许个人(或者也许是其财产的指定遗嘱执行人)访问被保护的信息的托管代理人。
·在某些情况下,政府代理机构有权监视其雇员的商业通信。例如,这样的权限适用于军事和国家安全设施,用于检测对保密或敏感信息的滥用。密钥托管密码技术也为这样的代理机构提供了行使其监视加密通信的权力的机会。在这种应用中,通信安全官员可以做为托管代理人,他们将授权给线路的管理员或指挥员。
克利珀尔创议集中在上述引用的对密钥托管的四种应用中的第一种。此外,克利珀尔创议将密钥托管的引入和叩头虫算法的引入结合起来,叩头虫算法是一种比非保密DES要强得多的加密算法。
克利珀尔创议的反对者争辩说,象克利珀尔这样的密钥托管加密系统可能会被象有组织的犯罪这样的老练用户所击败,这些人有能力编写成购买他们自己的加密系统(不用密钥托管)并且不理采密钥托管产品或者先在他们自己的系统下加密,然后再在密钥托管系统下加密。希望能协同击败密钥托管技术的用户对也有各种选择方法的余地,克利珀尔创议的某些反对者认为,阻止这种情况发生的唯一办法是通过法律禁止使用非托管的加密技术,并且采用强有力的通信监视手段来实施这种法律-至少可以说这是一种毫无吸引力的指望。
克利珀尔创议的拥护者反击说,他们很清楚:成对的协同用户有许多方法避开密钥托管。这些拥护者的目的是使个别的“无赖”用户难以或者不可能有把握地和同线的用户(或更准确地说和被托管的加密装置)通信,由此使之相信,在他们所进行的通信中,两边的通信者都忠实地遵循托管规则。
“个别无赖用户”的情况对密钥托管系统构成了一种测试。成功的密钥托管系统(硬件或软件)应该能防止个别的无赖用户探测到被托管产品中的密码技术,并且能防止其破坏或绕过产品的密钥托管特征,同时又能使其他的用户(产品)进行可靠的通信,相信他们和无赖用户都在正确地实现托管特征。
“克利珀尔”芯片解决“个别无赖用户”问题的方法是将每次个人通信对话的密钥嵌入由对所有“克利珀尔”芯片都一样的密钥(族密钥)加密的法律强制访问域(LEAF)中。被嵌入的信息包括依赖对话密钥的检查和。接收方的“克利珀尔”芯片也存放族密钥;因此,它可比对LEAF解密并且证实该检查和对于当前的对话密钥是正确的(为了通信的成功和安全,两个芯片必须秘密共享)。所有“克利珀尔”芯片共享被嵌入的族密钥并且依靠芯片的防窜改硬件保护族密钥免于被发现。
密钥托管密码技术的硬件实施方案
有几个因素支持这样的决策,即需要在做为克利珀尔创议的元件的密钥托管产品(克利珀尔和卡普斯通芯片)的设计中采用独立的硬件。下面将要讨论到的这些因素中的某些和密钥托管密码技术的引入有关,有些因素和使用某种保密的加密算法有关,而另一些则和用于加密产品设计的保守标准有关。
·单独的硬件提供了在软件系统中难以得到的加密处理的保护程度。出错的或恶意的计算机程序不能破坏嵌入在象克利珀尔或卡普斯通芯片这样的硬件加密装置中的加密算法或密钥管理功能。
·单独的硬件提供了在软件系统中难以得到的密钥托管处理的保护程度。虽然软件能处理托管过程的外部可视参数,但硬件至少能提供托管操作得到执行或验证的某些保证。
·如果使用例如叩头虫这样的保密加密算法,执行具体保护措施的单独硬件对保护算法的设计不被暴露可能是最为重要的。
·保密的密码密钥在硬件装置上能得到高级的保护,因为不加密的密钥永远不需要出现在装置外部。反之,要保护嵌在软件中的保密密钥免受用户用基础计算机硬件的物理控制是很困难甚至不可能的。
·加密能力的激增可以预期,利用硬件装置控制受控装置的计费以及出口的限制比采用嵌入的软件要更为方便。
上述的观点表明,采用克利珀尔创议装置的需求中,有些是为了保护保密的叩头虫算法,有些是由于加密系统保守设计的需要,而有的则是为了保护托管处理过程。
使用保密的数据加密算法
随克利珀尔创议引入的叩头虫加密算法声称比现有公开使用的算法(例如DES)要强得多。对于任何新的加密产品来说,具有好的算法是一种有价值的销售观点。但是,正如上述中所指出的那样,至少在现在的技术状况下,保护保密算法不被发现,需要某种硬件实施方案,体现出阻止反向工程的特殊措施。
通常认为保密的加密算法比公共领域中的算法要好得多,因为这些用来保护政府保密信息的算法是保密的。但由于公众无法对其复审,人们对于使用保密的算法来保护非保密信息的建议表示怀疑,因为可能存未知的故意的陷门或非故意的缺陷。虽然DES最初也受到某些人的怀疑,但经过认真的公开的仔细检查,现在其主要力量在于即使15年了也没有发现什么严重的缺陷。
这样的密钥托管技术并不要求使用保密的算法,而可以使用例如DES和IDEA这样公开可得到的算法或者例如RSADSI的RC2和RC4这样专用的但非保密的算法。如果一种公开使用或专用的非保密算法被用在体现密钥托管加密技术的产品中,将不需要采用硬件实施方案来达到保护加密算法不被泄露的目的(虽然存在采用硬件实现密钥托管加密技术的其它理由,如上表列出的那样)。
在检验软件密钥托管方法的可行性中,硬件实施方案和保密的算法之间的这种相互依赖性已经引起了相当大的混乱。如果需要某种保密的算法,无论是否实现密钥托管,都必须采用硬件来保护该算法。如果选择某种非保密的公用的或专用的算法,就可以自由选择用硬件或软件的方法来实现。采用硬件或软件的决定是由其它因素驱使的,例如在上述的列举中所列出的那些理由。
软件加密的优点和局限性
在历史上,用来保护敏感信息的加密系统都是采用单独的硬件装置来实现的,通常为在计算机或通信系统和某种通信电路之间的外围的“盒子”。这样的装置在设计中对操作的完整性采用高水平的检查技术来面对失效和恶意的攻击,并采用特别小心的措施来保护密码函数和密钥。
软件加密系统在历史上一直受到怀疑的对待,因为它们对保护算法和密钥的能力是有限的。上面的段落中讨论了有关保护保密的加密算法免于泄露的问题。在这些问题之外还存在这样的事实,即采用软件实现的加密算法受到各种各样的攻击。计算机的操作系统或用户能修改实施加密算法的代码,以便使之失效;从存储器中偷走保密的密码密钥,或者,最糟的是,每次发送或接收加密消息时,都导致产品泄露其保密的密码密钥。
使用加密硬件的主要缺点,而同时又是集成化的软件实施方案的主要优点是成本。当采用硬件实现加密时,无论是芯片、线路板、外围设备(例如PCMCIA卡)或盒子,最终用户都必须支付价格。销售商必须购买芯片并将其设计在装置中,由于芯片所需的附加的“不动产”将使得设备的成本上升。最终用户必须购买具有集成加密硬件的更为昂贵的设备,或者必须购买PCMCIA卡或类似的设备,然后花钱在其计算系统上增加一个设备接口,或者指定某个现有的接口做为加密用,而不是由调制解调器或磁盘执行的另一种功能。
软件实施方案的第二个主要优点是操作的简单性。软件方法能方便地被集成为各种各样的应用程序。企图以成于上万或几百万的数量销售产品的大规模市场软件工业寻找能用软件实现一切,以便减少对硬件变化和配置的依赖性并以最少的成本向用户提供最有用的产品。
本发明的目的是提供用在包括发送器和接收器的系统中的密钥托管密码的系统和方法。对于“发送器”,我们指的是为随后的传输或存储对数据加密的某个程序或设备,对于“接收器”,指的是对已经接收到的或从存储器中检索到的数据解密的某个程序或设备。只有公共密钥被存在发送器和接收器中,才不需要对软件保密。根据本发明的第一个实施例,发送器用保密对话密钥(KS)加密消息,并通过组合唯一的程序标识符(UIP)、程序唯一密钥的公用部分(KUpub)和签名而产生页验证串(LVS)。签名代表由密钥托管程序设计软件包(KEPF)密钥(KEPFpriv)的保密部分标识的UIP和KUpub。加密的LVS(ELVS)是通过用KS对LVS加密后形成的。
发送器利用KUpub加密KS而产生第一加密对话密钥(EKS),并通过用存在发送器中的族密钥公用部分(KFpub)的拷贝对第一EKS和UIP的组合加密,产生第一法律强制访问域(LEAF)。被加密的消息、ELVS和第一LEAF从发送器中送到接收器。
接收器操作过程如下。接收器存储KEPF密钥的公用部分(KEPFpub)和族密钥的公用部分(KFpub)。接收器利用KS对ELVS解密,并从LVS中提取UIP、KUpub和签名,并利用KEPFpub验证签名。如果验证成功,接收器将利用被提取的KUpub对KS加密以产生第二加密对话密钥(EKS)。接收器用存储在其中的KFpub的一个拷贝对第二EKS和被提取的UIP的组合加密,产生第二LEAF。接着,接收器比较第一LEAF和第二LEAF。如果第一LEAF等于第二LEAF,则接收器用KS对被加密的消息解密。
本发明的该实施例是这样操作的,不用抗窜改技术,也不用对发送器或接收器的软件或硬件保密,已经修改了发送器或接收器的硬件或软件的用户不能成功地和没有被修改的接收器或发送器进行通信,并且同时也不能阻止法制机构获得对通信的授权访问。
在本发明的第二个实施例中,发送器利用保密的对话密钥(KS)对消息加密,并通过组合KS1和KS2(这里KS=KS1 XOR KS2)产生LVS。利用KS加密LVS而形成ELVS。此外,发送器利用每个托管代理人的公共密钥(KEApub1和KEApub2)加密KS1和KS2,分别产生EKS1和EKS2。最后,发送器通过并置EKS1和EKS2产生第一LEAF。被加密的消息ELVS和LEAF从发送器送到接收器。
第二实施例中的接收器操作过程如下。接收器存储KEApub1和KEApub2。接收器利用KS对ELVS解密并提取KS1和KS2。然后接收器通过对KS1和KS2的异或运算产生试验的KS。如果试验的KS等于KS,则接收器利用KEApub1和KEApub2的拷贝计算出第二LEAF。如果第二LEAF等于第一LEAF,则接收器利用KS对被加密的消息进行解密。
最后,在关于数据托管密码技术的本发明第三实施例中,加密用户利用保密的存储密钥(KS)加密文件并产生包括访问规则索引(ARI)和由收据恢复中心(DRC)公共密钥(DRCpub)加密的KS的数据恢复域(DRF)。DRCpub是在初始注册阶段中得到的,后该阶段中,AR定义用户定义一组对DRF的内容的潜在访问进行控制的访问规则(ARs)。在DRC接收到来自AR定义用户的AR后,DRC返回被包括在附属于随后的加密文件的一个或多个DRFs中的ARI。
为了对用KS加密的文件解密,正常的解密用户使用通常适合于标识或访问存储沉密钥KS的任何机制。当失败时,借助DRF实现紧急访问。在这种情况下,紧急解密用户提取附加在被加密消息中的DRF并将其送到DRC。DRC根据AR定义用户所定义的ARs访问紧急解密用户,并且当紧急解密用户满足访问时,将包含KS的消息送给紧急解密用户。
在其它的实施例中,KS不是加密密钥,而宁可说是能装在DRF中的任何一条机密信息。在所有的情况下,DRC限制对紧急解密用户的访问,这些用户能满足由DRF中的ARI指定的AR所定义的询问。
本发明的进一步的特征的优点,以及本发明各种实施例的结构和操作将在下面结合附图详细介绍。在附图中,相同的引用数字表示相同的或功能上类似的文件。
本发明将结合附图描述,其中:
图1为根据本发明第一实施例的密钥托管密码系统的方块图;
图2至图9以及图17为流程图,说明了根据本发明第一实施例的密钥托管密码系统;
图10为本发明第二实施例的密钥托管密码系统的方块图;
图11至图16为说明本发明第二实施例密钥托管密码系统的流程图;
图18为根据本发明的某个实施例的数据处理器的方块图;
图19为根据本发明第三实施例的数据托管密码系统的方块图;
图20、图24和图26为描述访问规则定义处理的数据流图;
图21至图23以及图25为描述访问规则定义的流程图;
图27为数据恢复域结构的最佳实施例;
图28为描述紧急访问请求处理的流程图;
图29为示例性的询问-应答周期流程图;
图30为描述嵌入某个紧急访问请求中的询问应答周期的数据流图;以及
图31为描述检索数据恢复域中的访问规则的数据流图。
本发明的目标是提供一种密钥托管和数据托管密码技术的系统和方法。本发明最好采用软件实现,然而,采用硬件技术实施本发明同样能很好工作。
本发明最好使用某种不保密的数据加密算法。因此,软件不能保护保密的加密算法这样一种反对意见就不能适用于本发明。
另一种反对采用软件技术的意见是不能保证密钥托管软件能正确工作并且不被用户修改以绕过或破坏托管处理。应该注意,这种反对意见不仅限于软件,而且对于允许软件控制进出硬件加密装置的信息流的硬件实施方案也会出现同样的问题。
另一种反对采用软件技术的意见是不可能在不易被发现的大风险下将保密的密码密钥嵌入软件产品中。本发明解决这种在常规的密钥托管软件实施方案中所固有的问题的方法是,不将保密的密钥或专用密钥嵌入在发送器和接收器的软件模块中。本发明的这种特征将在后面讨论。
在本发明中,最好采用任何为人们所熟知的不保密的和公开可得到的算法(例如DES和IDEA)或者任何为人们所熟知的专用的但不保密的算法(例如RSADSI的RC2和RC4)来执行加密和解密操作。加密和解密算法的具体细节将不在本发明中介绍。
本文使用下述符号。
[a]b表示利用密钥“b”对“ a”加密;同样,加密(e,f)表示利用密钥“f”对“e”加密。
{x}y表示采用为人们所熟知的过程,利用密钥“y”对“x”数字签字;同样,sign(a,b)表示利用密钥“b”对“a”进行数字签字。
a|b表示“a”和“b”并置(连接)。
decrypt(m,n)表示利用密钥“n”对“m”解密。
extract(g,h)表示利用熟知的过程从并置的值“g”中提取“h”。
verify(a,b,c)表示利用密钥“c”验证签名“b”或“a”。
xor(o,p)表示用“p”按位异或“o”。
用在这里时,具有后缀“priv”的标号的值被认为是专用的或保密的。后缀为“pub”的标号的值被认为是公用的。
关于由Z=[X]Y(X由Y加密)表示的符号,如果Y为公共密钥,并且Z需要用不具有对应于Y的专用密钥的某些其它程序重建,则这种加密需要用到已知的或被送到该重建过程的X周围的所有没有被用到的位。如果不需要重建Z,这可以直接间接加密。即,可以等价地计算Z=([X]K1,[K1]Y)(这里的Ki为常规的随机选择对称加密密钥)并取得相同的功能结果。如果X大于能一次在Y下直接加密的数量,这可能是所希望的。同样,也可以计算Z=([X]K2,[K2]K1,[K1]Y)。
下面将介绍三个实施例,两个适用于密钥托管密码技术的系统和方法,而第三个适用于数据托管密码技术。前两个实施例一般都具有下列的最佳特征:
·两个实施例都能保证:修改过发送器或接收器软件的用户不能成功地和没有修改过的接收器或发送器通信,并且同时不能拒绝对通信的法律强制授权访问。
·在这两个实施例中,通信的接收方重新构造发送器的LEAF,以验证所接收到的LEAF对于当前被加密的通信都是有效和正确的LEAF。这种选择针对个别无赖的攻击。
·都使用了基于公共密钥加密技术的托管规约来建立法律强制访问域(LEAF),使法律强制权威机构能得到用户的密钥。这种选择不需要将任何保密的密钥放在软件产品中(应该是托管过程的一部分)。
·最好都使用不保密的公用或专用的加密算法执行所有的密码操作。
另一方面,第三实施例集中在对被存储中信息的恢复,而不是对被传输信息的恢复。在该实施例中,数据恢复域(DRF)(和LEAF类似的一种结构)允许用户对前面实施例的法律强制机构发挥相同的作用。访问不但能通过法院强制命令执行,而且也能通过任何一组由发送器定义的访问规则(AR)得到。
1.第一实施例
图1为根据本发明第一实施例的密钥托管系统102的方块图。密钥托管系统102包括密钥托管程序设计软件包(KEPF)106,两个或多个密钥托管代理机构(KEA)110和114,发送和接收实体124和130,以及法律强制解密器120。
发送实体124的方块图由图18表示。发送实体124最好是具有中央处理器(CPU)的数据处理装置1802,CPU1804通过数据总线1810和其它设备连接。CPU1804根据控制逻辑1806进行操作。控制逻辑1806最好是计算机程序,这样,CPU1804就能根据该程序中的指令执行操作。
数据处理装置1802还包括通信或存储装置1808,监视器1812,键盘1814和打印机1816。发送实体124和其他装置(例如接收实体130)之间的通信是通过通信或存储装置1808的操作来实现的,通信或存储装置为任何熟知的发送机或存储器。
根据本发明,控制逻辑1806使发送实体124(尤其是CPU1804)能如本文所述那样操作。例如,控制逻辑1806(当由CPU1804执行时)使发送实体124能执行如图7所示的步骤。
接收实体130的结构类似发送实体124,因此,上面的描述同样适用于接收实体130。然而,根据本发明,接收实体130的控制逻辑1806使接收实体130(具体来说为CPU1804)能如本文所述的那样操作。例如,控制逻辑1806(当被CPU1804执行时)使接收实体130能执行如图8所示的步骤。
由于发送和接收实体124和130中的控制逻辑1806最好代表软件,因此发送和接收实体124和130在本文中有时也称为“程序”。然而,应该理解,这样的“程序”代表了根据软件操作的设备1802。另外,根据本发明的另一实施例,发送和接收实体124和130完全采用硬件实现(例如,CPU1804和控制逻辑1806代表了硬件状态机)。
如上所述,这样的系统104和Clipper/Capstone系统之间的一个差别是,系统104利用公共密钥密码技术而不是常规的(对称的)密码技术来产生法律强制访问域LEAF。众所周知,采用对称的密码技术时,发送器和接收器共享一个密钥,用来控制加密和解密。而使用非对称的密码技术时,加密和解密使用的是单独的密钥,不能从对另一个的计算得到。因此,加密密钥可比成为公用的(一个“公共密钥”)而且任何人可以送出保密消息,该消息只能由对应(“专用”)的解密密钥的持有者解密。使用公共密钥密码技术允许软件程序124和130产生和验证LEAFs而不需要存储保密密钥或专用密钥。只需将公用的信息嵌入软件程序124和130中,因此,本发明不需要保存其自身结构或内容的秘密。现在将介绍系统102的各种元件。
1.1密钥托管程序设计软件包
密钥托管程序设计软件包(KEPF)106位于被保护的环境104之内。保护环境104被定义为某个物理上和过程上的保密区域,该区域足以保护将由任何密钥托管加密程序保护的所有信息的值。
KEPF106包括各种和密码有关的数据108。这种存储在KEPF106中的数据108不能被保护环境104外的人员或实体访问。下面将结合图2中的流程图202介绍KEPF106初始化这些数据108的方法。
KEPF106用两对公共/专用密钥初始化。第一对为KEPF公共/专用密钥对,它们在步骤206、208、210和212中被初始化,用于标识和认证由KEPF106产生和分布的其它组成部分。KEPF密钥对是在外部产生并装入KEPF106中(步208),或者是在KEPF106的内部产生(步210)。控制可用于KEPF密钥对的产生和保管上,因为它们将成为克利珀尔/卡普斯通芯片程序设计软件包所使用的族密钥和种密钥。KEPF公共、专用密钥对在步212中被存在一个存储器装置中。
KEPF所用的第二密钥对为族密钥(KF),它们在步214、216、218、220和222中被初始化。KF最好在KEPF106的外部产生(步216),虽然也可以内部产生(步218)。只有公用部分(KFpub)被送给KEPF106(步222)。对应的专用部分(KFpriv)被装入法律强制解密器(LED)120(步220)。KF的专用部分也可以被分为两半并且被托管。
1.2法律强制解密器
法律强制解密器(LED)120也在保护环境104之内。LED包括族专用密钥KFpriv122。
LED120对族专用密钥122的初始化如图4所示。在步406中,LED得到KF的专用部分KFpriv,并在步408中存入一个存储装置中。
1.3产生程序参数
在上述操作的基础上,KEPF106对每个程序进行签字并选择性地产生唯一的程序参数,正如克利珀尔/卡普斯通程序设计软件包对每个单独芯片进行程序设计一样。具体来说,如图3的流程图302所示,KEPF106在步306中将KEPFpub和KFpub送给软件的供应商/用户118。然后对每个程序例子执行步308-324。
在步308中,KEPF106产生或取得程序唯一标识符(UIP)和程序唯一密钥(KU)。KU最好是某个非对称的公共/专用密钥对。KU在KEPF106内部产生并且和在外部产生并被装入KEPF106的参数一块做为种子。KU的专用部分(KUpriv)被分成两半(步308),这最好通过产生随机位串的方法来实现,只要将KUpriv做为KUpriv1并且通过对KUpriv1和KUpriv的异或运算计算出KUpriv2
在步310中,UIP和两个半个的单独的专用密钥由两个托管代理机构(KEA)110和114托管。具体来说,如图5中的流程图所示,托管代理人110接收UIP和KUpriv1(步504)并存储UIP和KUpriv1(步骤506)。对每个程序例子重复执行这些步骤,如步508所指示的那样。另一个代理人114的操作过程和这个一样。
在步312和314中,KEPF106将程序唯一参数UIP和KUpub送到软件供应商118,以便被嵌入软件程序产品中。在步312中,KEPF106利用所熟知的过程,用其专用密钥KEPFpriv数字化地对这些参数签字,并将签名和其它部分一块送给软件供应商118(步314)。程序设计软件包的公共密钥(KEPFpub)和族密钥公用部分(KFpub)也被送给供应商118。对每个程序例子重复步骤308-314,如步316所示。
1.4产生软件产品
如果KEPF106通过某个频带之外的(保密)通道将其公共密钥KEPFpub送给供应商118,供应商就能可靠地认证从KEPF106中接收到的一组参数(KFpub,UIP,KUpub)。这是因为,众所周知,用专用密钥加密(或数字签字的)的数据可由拥有相应公共密钥的任何人解密(或验证)。另外,用公共密钥加密的数据则只能用对应的专用密钥解密。
正如图6的流程图602所表示的那样,当软件供应商118制造其产品的软件拷贝时,将KFpub和KEPFpub嵌入在产品的代码中(步608)。已经从KEPF106中接收到KFpub和KEPFpub(步606)了。每个程序例子必须用下面的数据初始化:
KEPFpub
KFpub
对该程序例子唯一的KUpub
对该程序例子唯一的UIP
S={KFpub,KUpub,UIP}KEPFpriv,对该程序例子唯一的。
这些数据可以放在程序的代码中或者放在和该程序有关的某个存储文件中。KEPFpub,KFpub和S必须来自KEPF、KUpub和KUpriv,而UIP可以由KEPF、供应商或程序本身在初始化期间产生。S只能在接收或产生的有效的KUpub、KUpriv对和成功地托管KUpriv的基础上由KEPF产生。
供应商118最好将每个程序的程序唯一性参数(UIP,KUpub和有关的签名)嵌入程序的介质中(步612)。UIP,KUpub和相关的答名是在步610从KEPF106中接收到的。对每个软件产品执行步610和612,如步614所示。
上述的数据在发送程序124中用引用数字126表示,而在接收程序中用引用数字132表示(图1)。
注意,在程序产品中不提供保密的或专用的密钥。只将公用量KEPFpub,KFpub和KUpub嵌入软件产品中。
在软件产品采用大规模制造的CDROM介质出售(从而不能接受唯一的系列号或密钥信息)时,或者装在某种共享的存储装置上供多用户访问时,为每个产品拷贝嵌入唯一的KUpub、UIP和相关的签名是不可行的。在这些情况下,产品的用户可以被要求运行某个安装程序,后者在网络或通信线路上检索KUpub、UIP及其签名。通过执行安装程序并且拥有KUpub、UIP以及相应的有效签名,能让产品的加密功能操作随机变化。
由于为其用户定制的托管软件所需的只是对某些量进行数字化签字并公开,因此,在网络或其它不安全的通信通道上检索它们并不存在危险。其可靠性没有什么问题,其完整性也可以利用KEPFpub进行验证,KEPFpub对所有的用户和产品的拷贝都是一样的并且可由供应商118嵌入。
让产品检索KUpub和UIP的另一种方法是让产品在初始化处理中产生UIP和KU,并将所有的组成部分(UIP,KUpub和KUpriv)在KEPFpub加密下送到KEPF106。在这种不同的方法中,KEPF106将分裂KUpriv并将这两半送到托管代理机构110和114,对[UIP|KUpub]和KUpub签字,并将{UIP|KUpub}KEPpriv送回给产品。
1.5发送程序的操作
如图7中的流程图702所示,发送程序124在步706中接收数据消息M。在步708中,发送程序124和接收程序130利用任何熟知的过程议定某个保密的对话密钥708。在步710和712中,发送程序124利用保密的(或专用的)对话密钥KS加密并传送数据消息M。这个被加密的消息C由[M]KS表示。
另外,在步710中,发送程序124通过在程序唯一公共密钥KUpub下加密对话密钥KS,由此产生[KS]KUPpub。[KS]KUpub也被称为加密的对话密钥或EKS。EKS和程序唯一标识符UIP并置因而产生[KS]KUpub|UIP。该值由该公共密钥KFpub加密。所得的LEAF被符号化为[[KS]KUpub[UIP]KFpub。请注意,在本发明中,M的加密是利用对称加密实现的,而在密钥KUpub和KFpub下的LEAF中的加密则是利用非对称、而不是对称密码技术实现的。
另外,在步710中,发送程序124产生的LEAF验证串(LVS)包括:(1)发送程序124的程序唯一标识符UIP,(2)程序唯一公共密钥KUpub,以及(3)通过密钥托管程序设计软件包106施加到这两个量上的签名S,即{UIP|KUpub}KEPFpriv(这三项被称为页验证串LVS)。该串在对话密钥KS下被加密,因此,ELVS表示如下:
[UIP|KUpub|{UIP,KUpub}KEPFpriv]KS
在步712中,C、LEAF和ELVS被送到接收程序130。
1.6接收程序的操作
如图8的流程图802所示,在步806中接收程序130和发送程序124议定保密话路密钥KS(这对应图7中的步708)。在步808中,接收程序130从发送程序124中接收C、LEAF和ELvS。
在步820中,接收程序820用对话密钥KS对被加密的消息C解密以恢复消息M。然而,在此之前,接收程序820必须认证LEAF以保证发送程序124已经包括了某个有效的LEAF做为消息传送的一部分。这将在步810、812、814和816期间执行。
注意,接收程序130不能对LEAF解密,因为它不具有族专用密钥KFpriv的拷贝。而根据本发明接收程序130通过对LEAF的重构来验证它。这样做是可能的,由于接收程序130已经被提供了组成LEAF的所有各种组成部分,或者通过托管系统(KF和KS)操作的外部通信或者被签字后的加密LEAF验证串ELVS发送。
具体来说,在步810中,接收程序130利用话路密钥KS对被加密的页验证串ELVS进行解密以得到页验证串LVS或UIP|KUpub|{UIP|KUpub}KEPFpriv。接着在步810中,接收程序130验证所接收到的发送程序124的拷贝的程序唯一密钥KUpub和程序唯一标识符UIP(在LVS中)是正确的可靠的。这将在步812中通过利用KEPFpub验证对应的答名S或{UIP|KUpub}KEPFpriv来实现的。
如果页验证串LVS是可靠的(根据步812中所确定的),则在步814中,接收程序130利用KS和KFpub以及发送程序124的KUpub和UIP重新计算LEAF(在图8中被称为“fest-LEAF”)。如果所计算的LEAF和接收到的一致(在步816中确认),则LEAF是有效的。因此,接收程序130接受并解密消息(步820)。否则,接收程序130柜绝该消息(步818)。
使用话路密钥KS加密页验证串LVS对于验证LEAF的功能是没有必要的,而这一步能保护发送程序124的UIP和Kupub免于被不和它进行通信的同线用户发现。
1.7法律强制解密器
由法律强制机构操作的法律强制作解密器(LED)120包括族专用密钥KFpriv(在图1中被表示为122)。其操作由图4的流程图402所表示,LED120在步406中从KEPF106中接收KFpriv(对应图2中的步220KFpriv在KEPF106中产生的情况;这里的KFpriv是由某个外部实体在KEPF106的外面产生的(没有表示出来),接着,外部实体将KFpriv送给LED120)。在步408中,LED120将KFpriv存放在LED120的存储装置中。
因为LED120有了KFpriv,因此LED130能对LEAF解密。这一操作由图17中的流程图1702表示。在步1706中,LED120从发送程序124中接收C、LEAF和ELVS。在步1708中,LED130利用KFpriv对LEAF解密,并从被解密的LEAF(在图17中称为“plain-LEAF”)中提取UIP。在步1710、1712、1714和1716中,LED120利用UIP从各自的密钥托管代理机构110和114中得到发送程序124的唯一专用密钥组成部分KUpriv1和KUpriv2。如果有一个密钥托管代理机构表示不能找到对应UIP的专用密钥组成部分,则该LEAF无效(步1724)。在步1718中,LED130最好利用某个熟知的异或操作组合KUpriv1和KUpriv2以形成发送程序124的程序唯一密钥KUpriv。KUpriv在步1720中被存储在LED120中。在步1722中,LED130用KUpriv对对话密钥KS解密。另外,在步1722中,在给定KS下,LED120对消息解密。
2.第二实施例:在线托管机构
克利珀尔创议的密钥托管规约受到批评是由于一开始就发现了这样的事实,其唯一密钥(初始克利珀尔模式中的KU)已经从托管代理机构取出的装置从取出后的时间起易遭到解密。虽然克利珀尔创议的公开策略是,一旦从电话(电报)线路中窃取情报的授权到期时,唯一密钥将从法律强制解密器(LED)中擦除,但对于一开始就认为密钥托管毫无吸引力的个人来说,这种策略是一种使人不寒而栗的安慰。
上述的本发明软件密钥托管系统的第一实施例和克利珀尔创议一样都使用设备唯一密钥(KUpriv),该密钥被装入法律强制解密器LED120,并且当从电话(电报)线路上窃取情报的授权到期时必须被擦除。此外,可能会有这样的情况,某个恶意的用户利用被修改过的软件产品获取或重用其他用户的托管信息(UIP和KUpub),向他们秘密地传递潜在的问题,在这种情况下,可以导致法律强制机构对清白的同线用户查找Kupriv。
本发明软件密钥托管系统的第二实施例将讨论和解决这些担心。第二实施例不用唯一密钥(KU,KUpub和KUpriv)和标识符(UIP)。反之,每个发送器分割其对话密钥KS并在每个托管代理机构的公共密钥下加密一个碎片。这种模式也加入LEAF和LEAF的验证串,但和KEPF无关并简化了供应商的作用。
图10为第二实施例的方块图。KEApub1和KEApriv1(表示为1008)被存储在密钥托管代理机构1006中,而KEApub2和KEApriv2(被指定为1012)被存储在密钥托管代理机构1010中。注意,没有密钥托管程序设计软件包(KEPF)。然而,在对密钥托管代理机构1006和1010进行初始化的被保护环境1004中有某些实体(图中没有表示,该实体可以被称为KEPF)。这个初始化过程由图11中的流程图1102表示,在其中的步1108中,实体从某个外部源(没有表示出来)得到KEApub1和KEApub2。备择地,在步1110中,实体产生KEApub1、KEApriv1、KEApub2和KEApriv2,将KEApriv1和KEApub1发送给密钥托管代理机构1006,将KEApriv2和KEApub2发送给密钥托管代理机构1010,并擦除KEApriv1和KEApriv2。在步1114中,实体存储KEApub1和KEApub2。在步1116中,实体将KEApub1和KEApub2发送给软件供应商1014。备择地,如图10所示,KEApub1和KEApub2从密钥托管代理机构1006和1010中发送到软件供应商1014。
供应商1014的唯一作用是在每个程序例子中嵌入代码,该代码实现两个(或多个)托管代理机构的公用密钥(KEApub1和KEApub2)和密钥托管功能。这些密钥在发送程序1018和接收程序1024中分别用1020和1026表示。软件供应商1014的操作由图12表示,在其中的步1206中,软件供应商1014从密钥托管代理机构1006和1010中接收KEApub1和KEApub2,在步1208中,软件供应商1014存储KEApub1和KEApub2,并在步1210和1212中,软件供应商1014将KEApub1和KEApub2嵌入在每个软件程序中。
发送程序1018的操作如图13的流程图1302所示。在步1306中,发送程序1018接收消息M。在步1308中,发送程序1018和接收程序1024利用任何众所周知的过程议定某个保密的对话密钥KS。在步1310中,发送程序1018用密钥KS加密消息M。
在步1312中,发送程序1018将对话密钥KS分割为两半KS1和KS2。最好按已知的方法赋给KS1某个随机数,然后将该随机数和KS的异或结果赋给KS2。发送程序1018在步1312中还产生LEAF。LEAF等于在KEApub1下被加密的KS1和在KEApub2下被加密的KS2的并置,并且可由下式表示:
LEAF=([KS1]KEApub1|[KS2]KEApub2)LEAF不需要用KEApub加密,因为任何人都得不到KEAprivi,到这些解密服务的唯一路径大概只能通过LED。KEApubi加密足以保持LEAF内容的保密性,而不必求助于KFpub加密。然而,如果存在某些不是通过LED对“托管”(解密)代理机构的通信路径,或者如果存在不同类型的用户,对于其中的某些用户,LED可能不允许被访问,则族密钥KFpub提供了所需的安全性。应该注意到,本实施例并不局限于两路分割的对话密钥。在其它的实施例中,任何数目的分割,从1向上都可以使用。一般的LEAF可由下式表示:
LEAF=([KS1]KEApub1,[KS2]KEApub2,…,[KSn]KEApubn)或者
LEAF=[[KS1]KEApub1,[KS2]KEApub2,…,[KSn]KEApubn]KFpub其中n>0LEAF结构的选择取决于是否需要KFpub加密的额外保护。然而,在某些点上,当考虑到一个密钥的尺寸时,可能禁止在一个KFpub密钥下对所有的碎片加密。
接着在步1312中,发送程序1018产生等于KS1和KS2的并置的页验证串LVS。然后利用话路密钥KS对LVS加密而产生被加密的页验证串ELVS。
在步1314中,C、LEAF和ELVS被送到接收程序1026中。
接收程序1024的操作如图14的流程图1402所示。在步1406中,接收程序1024从发送程序1018中接收C、LEAF和ELVS。在步1408中,对话密钥KS被议定产生(该步对应图13中的步1308)。然后,接收程序1024检查页验证串LVS并重新计算LEAF。具体来说,在步1410中,接收程序1024利用KS对被加密的页验证串ELVS解密,以得到页验证串LVS。从LVS中提取出被称为trial-KS1和trial-KS2的假定存在的KS1和KS2。接着,接收程序1024通过对刚从LVS中提取出来的trial-KS1和trial-KS2做异或运算而产生对话密钥KS(在步1412中称为“trial-KS”)。在步1412中,接收程序1024比较trial-KS和议定的对话密钥KS。如果不相等,则说明LEAF是坏的并拒绝接收该消息(步1418)。
如果相等,则在步1414中,接收程序利用KEApub1和KEApub2的拷贝重新计算LEAF。这是通过利用KEApub1加密trial-KS1以及利用KEApub2加密trial-KS2并由此分别产生trail-EKS1和trail-EKS2来实现的。接着,通过trail-EKS1和trail-EKS2的并置计算出被称为test-LEAF的LEAF。
在步1416中,接收程序1024判断frail-LEAF是否等于LEAF。若不相等,则拒绝接收消息(步1418);若相等,则认为LEAF是有效的并用KS对消息M解密。
法律强制解密器LED1016的操作如图15的流程图1502所示。在步1506中,LED1016从发送程序1018中接收到C、LEAF和ELVS。在步1508中,从LEAF中提取EKS1和EKS2。在步1510中,LED1016将EKS1送到密钥托管代理机构(KEA)1006并将EKS2送给KEA1010。另外,LED1016为每个托管代理机构1006和1010显露一个适当的法院命令。每个代理机构1006和1010验证法院命令的有效性,记录其有效日期,并利用对应特定法院命令的KEApriv1或KEApriv2产生保密的密钥的一半KS1或KS2并发送给LED1016。这由步1512表示,其中,LED1016从KEA11006接收KS1并从KEA21010接收KS2。LED1016组合回送的KS1和KS2得到KS(步1514),并利用KS对消息解密(步1516)。
由LED1016对某个托管代理1006和1010提交的用于电话(电报)线路窃取情报的密钥部分都必须由对应的密钥加密,当法院命令到期时,托管代理1006和1010删除保密的密钥KS1和KS2,因此,在命令到期之后,不能履行任何对密钥的请求。因为和托管代理1006和1010的所有通信都必须被加密以便保密,这一处理并没有对操作增加执行时间。
KEA11006的操作如图16中的流程图1602所示。KEA11006和KEA21010是一样的,因此,下面的描述同样适合于KEA21010。在步1606中,KEA11006从LED1016中接收EKS1。在步1608中,KEA11006利用KEApriv1对EKS1解密以得到KS1。在步1610中,KEA11006将KS1发送给LED1016。
由于没有数据库链接某个UIP到任何为法院命令的目标的个人,托管代理1006和1010没有别的选择,只能相信为某次特信定的电话(电报)线路窃听任务法院命令所对准的个人相关的LED1016。上述的规约可修改为在被送到托管代理1006和1010的LEAF部分中中入UIP,使这些代理1006和1010能保持每次法院命令目标的程序例子列表供以后的窃听使用。
该第二实施例的优点是,不向LED1016公开产品唯一密钥。一旦停止监视,LED1016就没有能力对发送程序1018的通信进行解密,除非再次请求托管代理1006和1010的服务。作为一种次要的作用,对于无赖的申请来说,不可能欺骗LED1016取出无关用户的唯一密钥。
第二实施例要求托管代理1006和1010为在线的并且包括对新对话密钥的每次解密。这不能看作是一种缺点,因为托管代理1006和1010被作为克利珀尔创议一部分负责连续不断地工作。假定具有公共密钥解密的硬件支持,托管代理的在线计算机系统可期望有0.2秒钟之内响应,托管代理机构和LED之间的可靠通信应该足够容易地被提供。
3.第三实施例一数据恢复中心
本技术的第三实施例适用于数据恢复中心(DRC)。第三实施例的目的是在丢失正常解密密钥的事件中能提供对被存储加密数据的紧急访问。不用密钥托管或托管代理机构,并且除了在初始化、注册阶段和紧急访问处理期间之外,不和第三方(具体地说为任何DRC)进行通信。
该实施例类似第二实施例,没有被托管密钥的数据库,因此也不存在被托管的密钥和托管代理机构。象第二实施例,本实施例的目的是解密服务。在为法律强制服务的第二实施例中,执行解密服务的实体被称为托管代理机构,即使它们并不执行托管功能。在本实施例中,为了吸引公司和个人的兴趣,执行解密服务的实体被称为DRCs。
图19给出了根据第三实施例的环境1902的方块图。环境1902包括位于被保护环境1904中的数据恢复中心(DRC)1910(可选择冗余)。被保护的环境1904由希望根据本发明第三实施例的原理提供服务的任何实体建立和维护。例如,被保护环境1904可由某个公共组织(例如某个州的汽车分部)或某个私人组织(例如某个公司)或公共/私人实体的多种组合建立和维护。DRC1910最好代表在某个适当装备的计算机系统上执行的软件。
功能元素1912(正常文件解密)、1914(文件加密)、1916(紧急文件解密)和1918(AR定义)代表在4个不同操作方式中的某个用户。在下面的描述中,这4个元素将分别被称为正常解密用户、加密用户、紧急解密用户和AR定义用户。应该理解这些用户不需要代表相同的用户。
在本实施例中,AR定义用户1918首先和DRC议定以得到DRC公共密钥(DRCpub)。AR定义用户1918接着建立某个访问规则(AR)定义并用DRC1910注册该AR定义。DRC1910将对应该AR的访问规则索引(ARI)送回到AR定义用户1918。AR定义用户1918接着将任何新的DRCpub、新的ARI以及附属的注释存储在AR文件1920中。
加密用户1914用存储密钥(KS)对文件F加密以产生被加密的文件C=[F]KS。加密用户1914是希望加密数据并存储这些被加密数据的任何实体。例如,加密用户可以是运行在某个计算机上的某个商业软件程序(例如字处理程序、电子表格程序、数据库程序或通信程序等等)。
加密用户1914建立数据恢复域(DRF),包括某个访问规则索引(ARI)和由DRCpub加密的KS。从ARI文件1920中检索到ARI和DRCpub的值。ARI值是由DRC1910在AR定义用户1918和DRC1910之间的初始化设置阶段期间产生的。DRF被附加到被加密的消息C上并由加密用户1914送到存储介质1922上。如果希望允许在后面的验证阶段中重构DRF,加密用户1914还产生DRF验证串(DVS)并附加在DRF上。(可选的)DVS包括用在DRF中、由存储密钥KS加密的ARI。
在该第三实施例中,加密消息和DRF被存在存储介质1922中,供正常解密用户1912或紧急解密用户1916检索用。通常,正常解密用户1912和加密用户1914为同一人,在不需要引用DRC的情况下访问存储密钥KS。
当紧急解密用户1916不具有对消息解密所需的KS时,就会出现紧急访问的情况。例如,这可能发生在这样的公司环境中,经理需要访问由某个雇员加密的数据,但该雇员不在场而且经理不知道该雇员的存储密钥KS。也可能发生在加密用户1914忘记KS或忘记产生KS和访问KS的正常方法的情况下。为了访问KS,紧急加密用户1916从存储介质1922中提取DRF并将其送给DRC1910。DRC1910用先前由AR定义用户1918在注册阶段定义、并由加密用户1914在加密期间选择的询问来响应,并且在紧急解密用户1916成功地满足询问时,将包含在相关DRF中的KS释放给紧急加密用户1916。在这种情况下,紧急解密用户1916一般可以被描述为对这些由加密用户1914首创的信息的某个特许方(例如管理机构)。
从一个更广泛的视角看,DRF中的KS能代表加密用户1914希望控制访问的任何一块秘密的信息。换句话说,在被紧急解密用户1916检索之后KS的预期使用并不限于本实施例的使用范围。
数据恢复中心1910、客户1918和用户1916最好每个都代表根据控制器中的指令或集合操作的数据处理装置。(在某些实施例中,数据处理装置包括处理器,在这种情况下,处理器根据控制器的指令或命令操作)。在一个实施例中,控制器代表硬件状态机。在另一个实施例中,控制器代表采用可直接由计算机读出的某种电子/磁形式的计算机程序。该计算机程序最好做为计算机程序产品(例如其上具有用电子或磁性记录的控制逻辑的软盘)散布或者通过某个通信网络分布。
3.1数据恢复域
这在头两个实施例中称为法律强制访问域(LEAF),而在第三实施例中则称为数据恢复域(DRF)。因为在本实施例中紧急访问只被提供给紧急解密用户1916(例如加密用户1914本身或其雇主),因此本实施例的最佳方式避免分割KS。显然,在其它的方式中,密钥分割仍然是加密用户希望的一种可能的实施方案。
应该注意,在其它的实施例中,KS不需要是存储密钥(即加密密钥)。DRF中的数据可以是加密用户1914希望加密和存储的任何数据。这样一种在DRF中的数据封装在功能上等同于利用随机产生的存储密钥(KS)对文件中的数据加密。随机产生的存储密钥(KS)被包含在附属于文件的DRF中并迫使文件的所有者做为紧急解密用户1916去访问该文件的内容。
同第二实施例的进一步比较是显然的,考虑n=1和无KFpub加密的LEAF。在该例中,LEAF包括[KS1]EApub1,这里的[Y]X意味着用密钥X对Y加密。相比下,第三实施例的DRF由[ARI|KS]DRCpub组成。在这里,由加密用户1914定义的访问规则(AR)的索引和由加密用户1914选择的存储密钥(KS)并置,然后用DRC的公共密钥DRCpub国密。如果加密用户1914将DRC1910看作潜在的敌人,可采用另一个实施例来实现的DRF包括:
[ARI1,KS1]DRCpub1,[ARI2,KS2]DRCpub2,…,[ARIn,KSn]DRCpubn在该替换的实施例中,至少需要n个KSi中的k个来恢复KS,并且n个DRC1910被分散,并且不受到(K-1)个以上方的合谋。将KS分解为若干份的任务由任何众所周知的保密共享机制实现。这样一种保密共享机制的例子在A.Shamir的“如何共享一个秘密”一文中被介绍,该文于1979年11月发表在ACM的通信(Communications of theACM)上,Vol.22,no.11,PP.612-613,这里将作为一个整体引用。
最后,由于DRF为加密用户1914本身提供了某种服务,没有必要强制形成其正确的结构。加密用户1914并不是故意要在所需的服务上设下陷井,利用自愿和可能支付的某些数量的钱得到这种服务。另外,基于某个不正确的DRF拒绝任何解密(正如在前两个实施例中一样)对存储加密都是一种不恰当的行为。在加密时毁坏的DRF以及在解密时检测不正确的DRF都是无效的。因此,在最佳实施例中,实施无DRF验证或采用背景“嗅探器”形式的验证。正如下面将进一步介绍的那样,“嗅探器”是这样一个处理过程:随机选择文件,检查其DRF格式(利用DRC1910提供的格式检查服务)并且在发现不正确格式的情况下,将缺陷通知文件的创建者(以及可能向其经理)。这将在加密时或加密后不久提供适度的社会或管理压力以纠正错误,产生正确的DRF。产生不正确的DRF可能是由于意外的事故或疏忽出错引起的,而不是恶意的破坏。
3.2 DRF验证
加密用户1914在不是有意破坏的情况下也可能使用这样一种软件,该软件没有将DRF附加在文件上(可能是因为当时不能作出这种选择),或者错误地加上(由于软件中的某种缺陷)不正确的DRF,或者不正确地构造DRF。有几种供选择的方法能检测出这样的问题并且最大限度地减少由此所可能出现的损害。这些方法(如下所述)包括格式的嗅探、DRF的随机重构、由DRC1910随机验证,以及什么事也不做,即不执行验证(选取不验证已经讨论过)。由于访问DRF是很少发生的事件,在对坏的DRF的检测中的时间延迟都可能少于等待需要DRF的时间,因此允许加密用户1914有时间重新建立正确的DRF。
3.2.1对格式的嗅探
一般来说,准备一个文件“嗅探器”程序是一种明智的做法,该程序扫描存储装置(例如存储装置1922),读出记录和可能遇到的坏块。磁盘存储器可能在没读时就坏了,而当读它时才检测到坏块。如果在数据被写入后检测工作的时间被延迟太长,则这些数据的备份也可能已经变坏了。“嗅探器”企图在其备份变坏之前找出这些坏块。
和DRC1910在一起的“嗅探器”不但能检测坏的数据块,而且也能检查坏的格式的DRF。为安全起见,该背景处理不应该访问到被加密文件的位。例如,在一个实施例中,文件和“嗅探器”处理可以驻留在不受拥有数据的公司或个人控制的某个商业性的文件服务器中。然而,“嗅探器”能从文件(已经被修改为能识别其是否存在)中选择DRF,并将其送到各自的DRC1910中,从DRC1910中返回布尔回答信号,指示该DRF是否被正确加密。这样在被加密文件中检查出不合适的DRF格式或缺少DRF。
在另一个实施例中,这里的DRC1910被这样一种“嗅探”的工作解决了问题,“嗅探器”可比被程序设计为能选择某个伪随机数并利用该值来控制是否验证某个特定的DRF,其效果为所遇到的DRF中的只有某个百分比数目的DRF被验证。该百分比可以变化以调节DRC1910的工作负担。如果DRC1910回答说某个DRF是坏的,则DRC1910或“嗅探器”(或两者)能产生审查日志记录并将错误通知文件的拥有者(也可能是拥有者管理链中的其他人)。维护所要通知的人员各单以及发出该通知的方法通常被认为是程序设计的工作,这里将不做进一步的详细介绍。
3.2.2 DRF的随机重构
“嗅探器”不能验证DRF中的存储密钥(KS)是否有效,因为它不能访问KS或解密DRF所需的专用密钥。如果DRF具有重构的形式(利用公共密钥算法直接建立DRF、而不是用公共密钥算法加密第二存储密钥KS2,这又被用来加密DRF的内容),并且如果加密用户1914已经附加了DRF验证串(DVS),则紧急解密用户1916/程序能通过重构它来验证DRF。在通过该处理过程检测错误的事件中,正常解密用户1916/程序将产生审查日志记录,并且,在一个实施例中,将消息(通过任何一种最佳的手段)送给文件的拥有者以及在公司管理机构中的其他人。然而,不象前面实施例的通信情况,在这种情况下拒绝解密是不合适的。拒绝对被存储的数据解密意味着失去对数据的访问,并且保护了对DRC1910打算提供的数据的访问。
由于这种重构是一种费时的操作,并且由于重构的目的是使加密用户1914对所用软件更加警觉,一个实施例预期解密软件重构仅仅重构随机选择的某个百分比的DRF。期望这种重构偶尔得到的知识足以提高加密用户1914的警觉性。
3.2.3 DRC的随机验证
在替换的实施例中,DRF格式不允许重构。然而,即使这些格式能由解密程序验证,但DRC1910必须参加该验证过程。为此,可以按比其它类型的验证低得多的百分比随机选择这种DRF格式进行验证。
在涉及DRC1910的验证的一个实施例中,加密用户1914得到文件的紧急访问解密并验证该处理过程起作用。在另一个实施例中,在加密用户1914和DRC1910之间的相互作用在验证期间被降低。在该实施例中,在得到存储密钥(KS)并对文件解密之后,解密程序将KS和DRF一块发送到DRC1910,要求DRC1910仅对DRF解密并回答所发送的KS和DRF数据中的KS是否一致。
在这种情况下不要求访问规则询问和应答,因为做为外来者对文件获得访问的一种方法,这种方法相当于一种蛮干的密钥测试法,但在这种方法中,每次测试都涉及到通信费用,因此是缓慢的并且没有随着VLSI电路速度的提高而改进。受攻击的程序比其它的方法小,因此不存在越来越大的安全风险。
3.3访问规则本发明定义了两类访问规则(ARS),基本验证测试规则和复合授权规则。AR是由定义它的AR定义用户1918指定的并将其送给DRC1910。作为响应,DRC1910授与AR定义用户1918访问规则索引(A RI)。因此,加密用户1914可用ARI来加入某个DRF,而AR定义用户1918可用ARI来定义其它的AR。AR定义用户1918和DRC1910之间的这种相互作用被称为注册阶段并在下面作更详细的描述。而DRC 1910又利用ARI来定位相关的AR并利用规则来控制对紧急解密用户1916的询问以制定解密器是否有权访问。
验证测试是相对简单的AR示例。如果紧急解密用户1916通过该测试,则该紧急解密用户1916得到访问权。更一般地,紧急解密用户1916接收访问或者接收用于响应其它询问的成功令牌。另一方面,复合授权规则指定一组ARI,其中的某些(或全部)需要被满足,才能使AR也被满足。
3.3.1验证测试
在一个实施例中,基本验证测试包括证明某个用户身份的方法。具体来说,可能包括共享的秘密(例如母亲少女时的名字)、密码验证规约、第三方担保(例如提交供验证的数据的人是否有效地持有预先指定的驾驶执照并和执照上的照片、描述以及签名匹配)、生物统计测定(例如视网膜扫描)或任何其它的证明。
其它的验证测试包括多重提示/回答对。在多重提示/回答对中,AR定义用户1918可以指定一组N个提示及其相关的回答。AR定义用户1918也指定数字A和K(K≤A≤N),使得当DRC1910进行验证测试时,它能随机选择N个提示中的A个来询问紧急解密用户1916。紧急解密用户1916企图对所有被选择的提示都提供正确的回答。如果紧急解密用户1916能给出K个以上的正确回答,则该验证测试被满足。提供给紧急解密用户1916的是这种有变化的共享秘密测试是不一样的,因为他们可能难以记住某个特定类型的串,但他们更可能记住其中A个中的K个。
最后,在共享秘密验证的一个最佳实施例中,为回答部分提供机密性保证。具体来说,不是将回答做为一个可读的文本串存放,而是在注册和对询问响应时,构造提示及回答的密码式坚固杂凑。这个杂凑值用ASCII码编码后送给DRC1910做为回答响应串。这种机密性允许AR定义用户1918在理论上能使用令人为难的(embarrassing)记忆作为一种回答,因为这种记忆不容易被忘记或共享。
3.3.2授权规则
在一个实施例中,复合授权规则采用下面的形式:
[n,k,ARI1,ARI2,…,ARIn];k≤n如果给定的n个ARI中有k个被满足,则该规则被满足。这些ARI所引用的AR可用AR定义用户1918建立,也可以由该AR定义用户1918所认识的其他人所建立。例如,可以建立一个AR来代表某公司集体紧急访问的授权规则,并且该ARI可比被列为每个雇员的一种可选择的应急访问方法。
具体来说,如果该公司有一个公司的ARI=c,而雇员有个人的ARI=e,则雇员可建立并使用的ARI=u,定义u=[2,1,e,c]。通过该定义,任何在其DRF中包括“u”作为ARI的文件都可以用在应急的情况下,只要满足雇员或公司的ARI。
应该注意到,n=k的组等价于该组规则的逻辑与,这意味着所有的ARI都必须被满足。同理,k=1的组等价于该组规则的逻辑或,意味着ARI中的任一个被满足就可以。而n=1和k=1的组则表示该ARI间接引用了另一个ARI。
3.4利用DRC访问实现数据托管
DRC1910提供的紧急访问并没有代替对加密文件的正常访问。假定在不考虑DRF的情况下对存储密钥(KS)进行正常的访问。在这种情况下,正常解密用户1912和加密用户1914为同一个人,他具有存储密钥(KS)或具有不依赖KRC1910来得到KS的方法的知识,因此,在一般情况下,DRC1910将不知道加密用户1914已经为某个文件建立了DRF。然而,本发明允许一种新的存储加密,在这种加密中,存储密钥被随机选择(例如由加密程序随机选择)。结果,在本实施例中,唯一的访问方法是借助DRF的应急使用。通过适当地定义AR,这种方法允许加密用户1914实现一种数据托管机制,在这种机制中,数据的被授与者将一直采用加密的形式保存数据,并且仅当满足某个可能复杂的AR时才能接收使用这些被加密的数据。任何个人,甚至这些数据的最初加密用户1914,都不能在不满足该AR的情况下解密数据。为了实现这种方法,只需一个受托的DRC1910,除了满足相应的AR外,其从不释放被解密的DRF。除了下面对DRC1910的介绍之外,DRC1910也可以被密封在防窜改的外壳中并且不被定义为最优先的访问。在一个实施例中,受托的DRC1910通过冗余技术定义为高度容错的。
3.5最优先级访问
在某些实施例中,提供了最优先级访问。具体来说,在对来自DRC1910满足某个AR的询问的响应中,被询问的紧急解密用户1916可以用“最优先级”应答。然后再根据为DRC1910定义的最优先级AR询问紧急解密用户1916。例如,最优先级AR可以要求预先被指定的5个公司办公人员中的3人同意最优选级访问。这样一种策略的定义是通过上述的(以及下面将进一步介绍的)访问规则机制来实现的。
让AR定义用户1918总是定义并使用如上所述的复合授权规则(例如u=[2,1,e,c])也能取得同样的效果。然而,最优先级机制节省了AR定义用户1918的注册时间并保证监督实体(例如管理机构)能被允许访问所有的文件,而不依赖雇员方面的任何行为。
3.6 DRC的操作
使用DRC1910所提供的紧急访问能力包括以下几个独立的步骤:
(1)注册,
(2)列出所定义的ARI,
(3)建立DRF,
(4)紧急访问请求,
(5)询问一应答规约,以及
(6)接收并使用被解密的DRF数据。
除了这些步骤之外,应该注意到,进出DRC1910的信息通常都是保密的,因此,在最佳实施例中,DRC1910的实现包括对DRC1910和用户1916以及1918之间的所有事务的加密。为此,DRC的公共密钥(DRCpub)被用来将某个随机选择的话路密钥从AR定义用户1918(或紧急解密用户1916)中送到DRC1910。此外,AR定义用户1918(或紧急解密用户1916)将被加密的对DRC1910的请求包括在其中,这是DRC1910将用于返回消息的回答密钥。除了机密性的问题之外,还有验证的问题。由于AR定义用户有1918通过在注册期间提供AR定义的方法定义本身,对于DRC1910/AR定义用户1918通信不需要存在进一步AR定义用户1918的验证。
然而,DRC1910本身要求通过众所周知的公用密钥方法进行验证。这可通过广泛地发布该DRC的公用密钥的方法来实现,即通过广泛被了解的或受托(或两者都有)的某个密钥利用DRC公共密钥上的各种通道或签名。如果AR定义用户使用某个不可靠的DRC公共密钥,则AR定义用户1918容易受到DRC1910不正当行为的攻击,并且无法为法律的纠正提供识别该DRC1910的令人信服的证据。
3.6.1注册
DRC1910注册(即,让AR定义用户1918对DRC1910进行登记注册)包括建立AR以及由AR定义用户1918接收每个AR的访问规则索引(ARI)。图20一般地说明了AR定义用户1918和DRC1910之间的AR定义过程。在这个简介中,AR定义过程包括下面的步骤:(1)AR定义用户1918将AR定义发送给DRC1910,(2)DRC1910将新的ARI发送给AR定义用户1918,以及(3)AR定义用户1918将该新的ARI和可选的解释性注释归档在AR文件1920中。
ARI是由DRC建立的一个值,使DRC找到对应ARI的AR定义。在最佳实施例中,ARI包括存放AR定义的一个地址。
该注册过程由图21的流程图进一步表示。在步2106中,AR定义用户1918得到DRC的公共密钥(这一步将在3.6.1节中描述)。在步2108中,AR定义用户1918选择所需的注册交互作用。这些注册的交互作用包括在步2112中得到新的DRCpub,在步2114中建立新的AR定义,在步2116中重定义现有的AR,以及在步2118中得到ARI的列表。获取新的DRCpub在3.6.1节中介绍,建立新的AR在3.6.1.2、3.6.1.4、3.6.1.5以及3.6.1.6节中描述,3.6.1.3节介绍重定义现有的AR,而3.6.2节中介绍获取ARI的列表。
3.6.1.1获取DRCpub
在这里标记为DRCpub(0)的初始DRC公共密钥可从广告栏或其他人的消息中得到。公共密钥的进一步发送的安全性取决于对该初始密钥可信赖的程度,因为公共密钥验证技术不能达到绝对可靠的程度。而更确切地只能建立信赖的等效性。
DRC1910不时地产生新的DRC公共密钥,以便使在任一密钥下进行紧急访问的数据量达到最小。在一个密钥下能被访问的数据量越大,对于某个敌手企图破除该特定密钥的诱惑力就越大。DRC1910保存所有被产生的DRC公共密钥/专用密钥对,因此,解密用户能用这些DRCpub密钥中的任何一个初始化安全的通信。
在AR定义用户1918获取某个可靠的DRC公共密钥之后,DRC1910将该DRC公共密钥的签字后版本返回给AR定义用户1918(图21中的步2106)。在和任何AR定义用户1918的每次DRC1910交互作用中,最近的DRC公共密钥做为被附加到DRC的正常消息上的文本块被返回。根据AR定义用户1918的某个具体请求,其中,AR定义用户1918发送数学“i”(所需的密钥号)和“k”(旧的密钥号),DRC1910将返回旧加密者选择的用前一个密钥DRCpub(k)签字的新密钥DRCpub(i)。
3.6.1.2建立某个新的访问规则
图22说明了建立新AR的过程,从步2206开始,在该步中,AR定义用户1918将AR定义发送到记录该定义的DRC1910中。在步2208中,DRC1910将ARI返回给该AR定义用户1918。AR定义用户1918在步2210中接收该ARI,并且,在附加上由AR定义用户1918提供的某个可选的描述性注释之后,将该ARI记录添加到ARI文件里。ARI文件已经包括该DRCpub以及AR定义用户1918已经获得的任何其它的ARI。
3.6.1.3重定义现有的访问规则
图23说明了AR定义用户1918希望改变某个现有的AR的定义的处理过程。虽然AR定义用户1918能随意产生新的AR。但是,当已经存在由某个给定的ARI加密的文件并且AR定义用户1918决定对这些现有的文件改变紧急访问过程时,就要求重定义。为了执行重定义,AR定义用户1918在步2306中将新的AR定义以及对应将被定义的AR的ARI发送给DRC1910。接着,在步2308中,DRC1910用附加在110的ARI上的AR询问AR定义用户1918。如果AR定义用户1918未能满足DRC1910发出的询问,则在步2110中拒绝重定义请求。如果AR定义用户1918成功地满足了该询问,则在步2312中允许AR定义用户1918改变对应该ARI的AR定义。因为在该实施例中,DRC1910记录了每个被定义的ARI的AR定义用户的1914网络地址,因此重定义的请求必须来自这些网络地址。
3.6.1.4第三方访问规则
从AR定义用户的1914观点看,存在利用正常验证测试规则和组规则建立起来的第三方验证规则。例如,AR定义用户1918用某些人工服务注册,通过AR定义用户1914的驾驶执照或任何生物统计措施(例如掌纹、视网膜扫描等)得到验证。如图24所示,这种服务包括(1)接收AR定义用户的1914驾驶执照号(不必亲自到场)以及(2)产生只有服务2404能成功地满足的AR,(3)再接收其ARI。服务2404接着(4)将得到的ARI附加到该服务的ARI文件2406中的该AR定义用户1914的执照号的记录上,然后(5)将得到的ARI送给AR定义用户1918。AR定义用户1918将(6)为该ARI产生一个间接的AR(间接AR的定义将在下面更详细介绍),(7)为该新的AR取得一个ARI,并且(8)将该ARI(现在属于AR定义用户1918而不是属于服务2404)归档在ARI文件2408中。
3.6.1.5定义授权(组)规则
图25说明一个组授权规则的产生过程。首先,在步2506中,AR定义用户1918从自己的ARI文件中检索一个或多个将被包含在该组中的ARI。AR定义用户1918在步2508中将组定义中的这张表发送给DRC,一起发送的还有数字“k”,指出为满足该组而必须被满足的组元素的数目,并且在步2510从DRC1910中接收对应该组的ARI。最后,在步2512,AR定义用户1918将新的ARI存在客户的ARI文件中。
3.6.1.6建立间接访问规则
如图26所示,间接AR的建立和上述的过程类似,只是引用了别的某些ARI。在这种情况下,其他人的2606 ARI将(1)从某些可靠的通信通道而不是从AR定义用户1914自己的ARI文件1920中得到。该处理过程的其它(2)-(4)步和上述的AR定义过程相同。
3.6.2列出被定义的ARI
AR定义用户1918也可以要求列出由其定义的所有AR的状态。在一个实施例中,用网络地址标识AR定义用户1918。在其它的实施例中,可以利用AR及其专用于标识AR的归属而定义的ARI,也可以采用DRC1910常规所用的网络或通信连接的任何一种标识方法。然而,如果DRC1910被指定来屏蔽网络地址,则ARI也可用作所有者的标识符。在本实施例中,当要求列表时,拥有者提供其标识的ARI。DRC 1910接着将询问拥有者,以证明其身份(利用标识的ARI),然后提供列表。
3.6.3建立DRF
图27给出了DRF2730结构的最佳实施例。在该实施例中,加密用户1914的软件通过ARI2706(由加密用户1914选择,取决于加密用户1914所要使用哪个AR)和某些小的用户机密[US]2708的并置而建立DRF2730。US2708通常(但不限于)为文件对称加密的密钥(即KS),但可以是加密用户1914想要加密的任何数据。这种并置的结果被称为DRF的内容(DRFC)2714。接着利用DRCpub对DRFC2714加密而产生被加密的DRFC(EDRFC)2722。EDRFC2722和唯一标识用于产生EDRFC2722的DRCpub的密钥标识符(KI)2712并置。在最佳实施例中,KI2712包括和DRCpub密钥数字2704并置的DRC[DRC ID]2702的网络地址。这个KI2712的一个例子为“drc@tis.com,4”。
3.6.4紧急访问请求
当紧急解密用户1916需要对某个其存储密钥已在DRF里面但不能对KS正常访问的文件进行解密时,可以使用附加在该文件上的DRF。更一般地,无论什么时候紧急解密用户1916需要被保存在DRF中的无论什么样的小秘密(即US2708),紧急解密用户1916都可以向DRC1910发生紧急访问请求。
图28说明获得紧急访问的方法。首先,在步2806中,紧急解密用户1916从存储介质1922中提取被附加到所需文件上的DRF(如果需要的话,也可以是单独的DRF),接着,在步2808中,将被提取的DRF发送给DRC1910。在步2810中,DRC1910发生由被提取的DRF中的ARI的AR定义所定义的询问。
图31说明由DRC1910执行的向紧急解密用户1916发生询问的处理步骤。首先,在步3106中,DRC1910利用KI2712识别DRCpub,然后,在步3108中,检索出对应特定DRCpub的DRC专用密钥。在步3110中,DRC1910对EDRFC2722解密以便得到DRFC2714并且在步3112中,从DRFC2714中检索出ARI2706。最后,在步3114中,DRC1910利用ARI2706定位对应的AR(例如存放在地址ARI中的AR)并且在步3116中询问紧急解密用户1916。
再次参看图28,如果在步2812中,紧急解密用户1916不能满足询问,则紧急访问在步2814中被拒绝。如果紧急解密用户1916在步2812中满足询问,则DRC1910在步2816中将DRFC2714发送给紧急解密用户1916。紧急解密用户1916在步2818中接收DRFC2714并且在步2820中从DRFC2714中提取US2708。
在一个实施例中,最初建立文件和DRF的软件执行步2806和2820。在该实施例中,在文件(或数据库记录,或被加密的任何项目)中或旁边的DRF的定位是在某些应用软件的控制下实现的,而不是DRC1910或其加密用户1914实现的。
在一个实施例中,步2808至步2818由紧急解密用户1916的软件执行,以向DRC1910提供方便的和无缝的接口。在一个最佳实施例中,紧急解密用户1916的软件在步2806中将DRF写入文件并且在步2820中从文件中检索DRFC,允许纯为DRC客户的独立应用软件执行步2808至步2814。
根据一个实施例,步2808和2818利用为人们所熟知的方法提供安全的信息传输。最佳实施例用紧急解密用户1916随机选择的对话密钥进行对称加密。该密钥由DRCpub加密并和被加密的消息一块被送给DRC1910(和KI2712一起以识别所用的密钥)。该消息包括对DRC1910的一个命令,以利用某个给定的(随机选择的)密钥送回给紧急解密用户1916(步2818)。采用这种方式,紧急解密用户1916不需要为密钥的传送而建立公共密钥。
3.6.5询问-应答规约
应答谒问的过程反映了相关AR定义的嵌套结构。图29表示询问-应答周期。在步2906中,DRC1910发出询问(可以被看作是一种远程过程调用[RPC]),而AR定义用户1918或紧急解密用户1916在步2908中响应应该询问。图30将该周期表示为附属于某个紧急访问请求。
如果ARI标识的AR代表简单的验证测试,则紧急解密用户1916具有提供正确应答的所有信息。然而,如果ARI标识的AR代表一个组或间接的AR,则紧急解密用户1916需要执行非局部的任务以便得到正确的应答。这种非局部任务将包括进一步嵌套RPC。如果ARI标识某个间接,则RPC是从一个紧急解密用户1916到另一个紧急解密用户1916。在不同情况中,RPC可以涉及网络通信,或只涉及软盘上用于传送的数据(例如,该间接是用于物理的验证)。
对于DRC1910发出的每次询问,该DRC1910包括顺序记号(SEQ)。SEQ是一个只有DRC1910才能解密的被加密数据,包括带有事务号和基于SEQ内容的强检查和的询问递归栈(为了检查窜改行为)。例如,如果ARI=17标识了一个组,ARI=5为一个成员,第一个顺序记号将列出递归深度为1的表并且集[17]为栈。接着用列出该组成员的组询问对紧急解密用户1916进行询问。解密用户1916选择其中的一个来满足第一个,例如5,并递归地调用DRC1910来询问紧急解密用户1916以满足ARI=5。该递归调用包括用组询问提供的DRC1910的SEQ。当DRC1910执行递归RPC时,调用紧急解密用户1916来满足ARI=5,该调用将包括列出递归深度为2和[17,5]和栈的SEQ。
在最佳实施例中,DRC1910在两个条件下对紧急解密用户1916发生询问。在第一条件中,紧急解密用户1916提交紧急访问的DRF2730。该提交不包括其它的信息并开始新的事务。如果该询问得到正确的应答,DRC2730返回DRFC2714。
在第二个条件中,紧急解密用户1916提交将被询问的请求作为实现某个组成间接询问的部分。这个提交包括识别该事务的SEQ和以该递归询问作为一部分的递归栈。提交该请求的紧急解密用户1916和提交DRF2730启动该事务的紧急解密用户1916不需要是同一个用户。如果该询问得到正确的应答,DRC1910返回SUCCESS记号,其包括作为SEQ的相同信息以及成功的事实。
为了响应简单询问(例如提示/回答或数字签名),紧急解密用户1916用SEQ和正确的应答。而DRC1910又提供了DRFC2714或SUCCESS记号。
为了响应组或间接的询问,紧急解密用户1916提供了DRC1910验证为该事务的一部分并且正确地满足该组或间接AR的一个或多个SUCCESS记号。而DRC1910又提供了DRFC2714或SUCCESS记号。
此外,在最佳实施例中,为了避免使DRC1910或紧急解密用户1916交叉在PRC上保持状态(即所有变量的内容,它们将由在从RPC中得到回答和返回到该程序的调用者之间发出RPC的计算机程序使用,DRC1910包括具有它初始化的每个RPC的状态记号,而紧急解密用户1916包括具有它初始化的每个RPC的状态记号。RPC的应答程序用其应答返回该记号,如果存在任何这样的记号的话。这些记号是用仅为发起人所知的一个密钥加密并且包含能使发起人验证该记号和伴随的SEQ一致的信息。
结果,DRC1910和紧急解密用户1916的状态被维持在该PRC的递归集上,在其中,调用者的身份保持更换管理。
3.6.6DRFC的接收和使用
如上所述,成功实现紧急访问的请求是将DRFC 2714返回给该紧急解密用户1916。询问一应答的目的是验证发出该请求的紧急解密用户1916被授权接收该DRFC2714。由于DRFC2714包括AR定义用户1918的ARI2706,因此,任何能满足该AR2706的随后的紧急解密用户1916大概已经被AR定义用户1918授权访问。
一旦DRFC2714被返回给紧急解密用户1916,该紧急解密用户1916的软件负责利用该DRFC2714提供对该文件的访问(即,用于从DRFC2714中提取US2708,并且也许利用US2708对其它的数据解密)。另外,应该注意到,在其它应用软件中,DRFC2714本身可以是所需的信息(例如某个安全的组合)。在这种情况下,在接收DRFC2714的软件中不需要别的什么东西。
虽然上面已经介绍了本发明的各种实施例,但应该理解为这仅仅是一些被提供的例子,而不是什么限制。因此,本发明的广度和范围不应该被局限在上述的示例性实施例中,而只能根据下面的权利要求书及其等同物来定义本发明。

Claims (49)

1.对紧急解密用户访问数据恢复域(DRF)中的由文件加密用户加密的机密进行控制的方法,其中,对消息的访问是由访问规则AR定义用户所定义的访问规则(AR)所控制的,包括以下的步骤:
(1)AR定义用户定义某个访问规则(AR)以便控制对保密信息的访问,并将所述的AR发送给数据恢复中心(DRC);
(2)所述DRC将对应所述AR的访问规则索引(ARI)返回给AR定义用户;
(3)文件加密加户检索所述的ARI并产生DRF,DRF包括所述的ARI和由DRC公共密钥加密的保密信息;
(4)紧急解密用户将DRF发送给所述的DRC;
(5)所述的DRC利用对应于DRF中的所述ARI的所述AR对紧急解密用户提出询问;并且
(6)如果紧急解密用户满足所述DRC的询问,则所述DRC将保密信息送给紧急解密用户。
2.对访问用户机密(US)的进行控制的系统,该系统包括:
数据恢复中心(DRC),用于存放访问规则(AR);
AR定义用户,其定义AR以控制访问US,所述AR定义用户用所述DRC注册所述的AR,其中,所述的DRC返回访问规则索引(ARI),并由所述AR定义用户存放在ARI文件中;
文件加密用户,其建立数据恢复域(DRF),其中,所述的DRF包括从所述ARI文件中检索到的ARI以及由DRC公共密钥加密的US;
紧急解密用户,其通过将所述DRF发送给所述的DRC并正确地应答由所述DRF中的所述ARI在所述DRC中引用的AR定义的询问来恢复US。
3.控制访问机密的方法,该方法包括以下的步骤:
(1)访问规则(AR)定义用户定义AR以控制访问机密并将所述的AR发送给数据恢复中心(DRC);
(2)所述DRC将对应所述AR的访问规则索引(ARI)返回给所述的AR定义用户;
(3)所述AR定义用户将所述ARI存放在ARI文件中;
(4)文件加密用户从所述的ARI文件中检索所述的ARI并产生数据恢复域(DRF),所述DRF包括所述的ARI和由DRC公共密钥加密的机密。
4.控制访问用户机密(US)的系统,该系统包括:
数据恢复中心(DRC),用于存放访问规则(AR);
AR定义用户,其定义控制访问US的AR,所述的AR定义用户用所述的DRC注册所述的AR,其中,所述的DRC返回访问规则索引(ARI),并由所述的AR定义用户存放在ARI文件中;
文件加密用户,其建立数据恢复域(DRF),其中,所述的DRF包括从所述ARI文件中检索到的ARI和由DRC公共密钥加密的US。
5.文件加密用户对紧急解密用户访问用户机密(US)进行控制的方法,该访问是由AR定义用户用数据恢复中心(DRC)注册的访问规则(AR)定义的,该方法包括以下的步骤:
(1)从ARI文件中检索访问规则索引(ARI),所述ARI对应文件加密用户选择用以控制访问US的AR;
(2)产生数据恢复域(DRF),所述DRF包括US和用DRC公共密钥(DRCpub)加密的所述ARI;并且
(3)将所述的DRF存储在某个存储介质中。
6.权利要求5的方法,其中所述的产生所述DRF的步骤进一步包括以下的步骤:
(a)并置US和所述的ARI以产生DRF的内容(DRFC);
(b)用DRC公共密钥加密所述的DRFC以产生被加密的DRFC(EDRFC);并且
(c)并置所述的EDRFC和密钥标识符(KI),其中,所述的KI包括DRC ID和DRC公共密钥号。
7.权利要求5的方法,其中所述的步骤(2)包括产生形式如下的DRF的步骤:[ARI1,US1]DRCpub1,[ARI2,US2]DRCpub2,…,[ARIn,USn]DRCpubn
其中US1,US2,…,USn为US的共享。
8.权利要求5的方法,进一步包括用文件嗅探器程序验证所述的DRF的步骤,所述的文件嗅探器程序识别坏的格式DRF。
9.对紧急解密用户访问用户机密(US)进行控制的文件加密用户,该访问由AR定义用户用数据恢复中心(DRC)注册的访问规则(AR)所定义,文件加密用户包括:
从ARI文件中检索访问规则索引(ARI)的装置,所述ARI对应文件加密用户选择用来控制访问US的AR;
产生数据恢复域(DRF)的装置,所述的DRF包括US和用DRC公共密钥加密的所述ARI;以及
将所述DRF存储在某个存储介质中的装置。
10.权利要求9的文件加密用户,其中,用于产生所述DRF的所述装置进一步包括:
并置US和所述ARI以产生DRF内容(DRFC)的装置;
用DRC公共密钥加密所述的DRFC以产生被加密的DRFC(EDRFC)的装置;以及
并置所述的EDRFC和密钥标识符(KI)的装置,其中,所述的KI包括DRC ID和DRC公共密钥号。
11.权利要求9的文件加密用户,其中所述的DRF具有以下的形式;[ARI1,US1]DRCpub1,[ARI2,US2]DRCpub2,…,[ARn,USn]DRCpubn,其中,US1,US2,…,USn为US的共享。
12.权利要求9的文件加密用户,进一步包括文件嗅探器程序,所述文件嗅探器程序识别坏格式的DRF。
13.用数据恢复中心(DRC)注册访问规则的访问规则(AR)定义用户,其中,AR控制紧急访问解密程序用户机密(US)的访问,AR定义用户包括:
定义控制访问US的访问规则(AR)的装置;
将所述AR发送给DRC的装置;
从DRC中接收对应所述AR的访问规则索引(ARI)的装置;以及
将所述的ARI存放在ARI文件中的装置。
14.权利要求13的AR定义用户,其中,所述的AR是验证用户身份的验证规则。
15.权利要求14的AR定义用户,其中,所述AR包括N个提示/回答对,所述的AR定义用户这样指定数字A和K(K≤A≤N),使得如果用户能正确地应答由DRC随机选择的A个提示/回答对中的K对时,所述的AR定义被满足。
16.权利要求13的AR定义用户,其中,所述的AR为具有形式[n,k,ARI1,ARI2,…,ARIn],k≤n的组授权规则,使得如果n个ARI中的k个被满足时,所述的AR定义被满足。
17.权利要求13的AR定义用户,进一步包括用于重新定义旧的AR的装置,用于重新定义的所述装置包括:
将新的AR和ARI发送给DRC的装置,所述ARI对AR定义用户希望用所述新的AR重新定义的所述旧的AR进行索引;以及
应答基于所述旧的AR的DRC询问的装置。
18.访问规则(AR)定义用户用数据恢复中心(DRC)注册AR的方法,其中,AR控制紧急访问解密程序对机密的访问,该方法包括以下的步骤:
(1)定义访问规则(AR)以控制访问机密;
(2)将所述AR发送给DRC;
(3)从DRC中检索对应所述AR的访问规则索引(ARI);以及
(4)将所述的ARI存放在ARI文件中。
19.权利要求18的方法,其中,所述的AR为验证用户身份的验证规则。
20.权利要求19的方法,其中,所述的AR包括N对提示/回答,所述AR定义用户如此指定数字A和K(K≤A≤N),使得如果用户能正确地应答DRC随机选择的A对提示/回答中的K对时,所述AR的定义被满足。
21.权利要求18的方法,其中所述的AR为具有形式[n,k,ARI1,ARI2,…,ARIn],k≤n的组授权规则,使得如果n个ARI中的k个被满足时,所述AR的定义也被满足。
22.权利要求18的方法,进一步包括重新定义旧的AR的步骤,所述重新定义步骤进一步包括以下的步骤:
(a)将新的AR和一个ARI发送给DRC,所述的ARI对AR定义用户希望用所述新的AR重新定义的所述旧的AR进行索引;并且
(b)应答基于所述旧AR的DRC询问。
23.紧急解密用户询问机密的方法,该机密由文件加密用户存放在数据恢复域(DRF)中,其中,DRF包括访问规则索引(ARI)和由数据恢复中心(DRC)公共密钥加密的机密,ARI指示访问规则(AR)在DRC中的存储位置,AR由AR定义用户所定义,该方法包括以下步骤:
(1)将DRF发送给DRC;
(2)满足DRC的询问,所述的询问基于对应DRF中ARI所索引的AR;以及
(3)如果DRC的询问被成功地满足,则从DRC中接收机密。
24.访问用户机密(US)的紧急解密用户,US被存放在数据恢复域(DRF)中,其中的DRF包括访问规则索引(ARI)和由数据恢复中心(DRC)公共密钥加密的US,ARI指示访问规则(AR)在DRC中的存储位置,AR由AR定义用户所定义,紧急解密用户包括:
将DRF发送给DRC的装置;
应答DRC的询问的装置,所述询问基于对应DRF中由ARI引用的AR;以及
如果DRC的询问成功地被满足,则接收来自DRC的US的装置。
25.数据恢复中心(DRC)对紧急解密用户访问由文件加密用户所加密的机密进行控制的方法,文件加密用户产生数据恢复域(DRF),该域包括该机密和由DRC公共密钥加密的访问规则索引(ARI),该方法包括以下的步骤:
(1)从请求访问DRF中被加密的机密的紧急解密用户接收DRF;
(2)用对应所述被接收DRF中的ARI的所述AR询问该紧急解密用户;并且
(3)如果紧急解密用户成功地满足DRC的询问,则将机密送给紧急解密用户。
26.对紧急解密用户访问由文件加密用户加密的用户机密(US)进行控制的数据恢复中心(DRC),文件加密用户产生数据恢复域(DRF),该域包括US和用DRC公共密钥加密的访问规则索引(ARI),DRC包括:
从请求访问DRF中被加密的机密的紧急解密用户接收DRF的装置;
用对应所述被接收DRF中的ARI的所述AR询问紧急解密用户的装置;以及
如果紧急解密用户成功地满足该DRC询问时,将US送给紧急解密用户的装置。
27.数据恢复中心(DRC)对访问某个机密进行控制的方法,该方法包括以下的步骤:
在和所述数据恢复中心的通信过程中从AR定义用户中接收访问规则(AR)定义,所述AR定义至少定义了用于验证某个未来用户身份的过程的一部分,由些控制该用户访问机密;
产生AR索引(ARI)并将所述的ARI和所述的AR联系在一起;并且
将所述的ARI发送给所述的AR定义用户。
28.对访问机密进行控制的数据恢复中心(DRC),包括:
在和所述数据恢复中心的通信过程中从AR定义用户接收访问规则(AR)定义的装置,所述AR定义至少定义了用于验证某个未来的用户的身份的过程的一部分,由此,控制该用户访问该机密;
产生AR索引(ARI)并关联所述ARI和所述AR的装置;以及
将所述ARI发送给所述AR定义用户的装置。
29.密钥托管密码术的方法,包括以下的步骤:
(1)在发送器中利用对话密钥(KS)加密消息以形成被加密的消息;
(2)在所述发送器中分割所述的KS1,形成第一对话密钥部分(KS1)和第二话路密钥部分(KS2);
(3)在所述的发送器中产生法律强制访问域(LEAF),至少并置第一被加密的对话密钥部分和第二被加密的对话密钥部分,第一被加密的对话密钥部分是用和第一托管代理机构(KEApub1)连系在一起的密钥的公用部分加密所述KS1得到的,而第二被加密的对话密钥部分则是用和第二托管代理机构(KEApub2)连系在一起的密钥的公用部分加密所述KS2得到的,所述LEAF用于验证所述发送器,所述的第一和第二托管代理机构位于被保护的环境中。
30.权利要求29的方法,进一步包括以下的步骤:
(4)在所述的发送器中,通过至少并置所述的KS1和KS2,产生页验证串(LVS)。
31.权利要求30的方法,进一步包括步骤:
(4b)在所述的发送器中,利用所述的KS对所述的LVS加密以产生被加密的LVS(ELVS)。
32.权利要求31的方法进一步包括以下的步骤:
(5)将所述的被加密消息、所述的LEAF以及所述的ELVS从所述的发送器中送给接收器。
33.权利要求32的方法,进一步包括以下由所述的接收器执行的步骤:
(6)利用所述的KS对所述的ELVS解密以恢复所述的LVS,并从所述的LVS中至少提取所述的KS1和所述的KS2
(7)产生第二LEAF,即通过至少并置由用所述KEApub1的拷贝加密所述被提取的KS1得到的第一试验被加密对话密钥部分和由用所述KEApub2的拷贝加密所述提取KS2得到的第二试验被加密对话密钥部分;
(8)比较所述的第一LEAF和所述的第二LEAF;并且
(9)如果所述的第一LEAF等于所述的第二LEAF,则确定所述的第一LEAF为可信的。
34.权利要求33的方法,进一步包括以下由所述的接收器执行的步骤:
(10)至少组合所述被提取的KS1和所述被提取的KS2以形成试验的话路密钥;
(11)比较所述的KS和所述的试验对话密钥;并且
(12)如果所述的KS不等于所述的试验的对话密钥,则确定所述的第一LEAF为不可信的。
35.权利要求34的方法,进一步包括以下由所述的接收器执行的步骤:
(13)如果所述的第一LEAF被确认为可信的,则利用所述的KS对所述的被加密消息解密。
36.权利要求33的方法,其中,所述的KEApub1和KEApub2的所述拷贝被存放在所述的接收器中。
37.权利要求33的方法,其中,所述的KEApub1和KEApub2的所述拷贝被存放在可由所述的接收器访问的某个外部文件中。
38.权利要求29的方法,其中,所述的KEApub1和KEApub2被存在所述的发送器中。
39.权利要求29的方法,其中所述的KEApub1和KEApub2被存在所述的发送器能访问到的某个外部文件中。
40.权利要求29的方法,其中,所述KEApub1的专用部分(KEApriv1)由所述的第一托管代理机构保持,而所述的KEApub2的专用部分(KEApriv2)由所述的第二托管代理机构保持,该方法进一步包括以下的步骤:
(4)在被保持的环境实体中,至少从所述LEAF中提取所述的第一加密对话密钥部分和所述的第二加密对话密钥;
(5)在所述的第一托管代理机构中利用所述的KEApriv1对所述的第一加密对话密钥部分解密,以使得到所述的KS1
(6)在所述的第二托管代理机构中,利用所述的KEApriv2对所述的第二加密对话密钥部分解密,以得到所述的KS2
(7)在所述的被保护环境实体中,至少组合所述的KS1和KS2以得到所述的KS;并且
(8)利用所述的KS对所述的被加密消息解密。
41.产生可操作的软件程序产品以支持密钥托管密码技术的方法,包括以下的步骤:
(1)在被保护的环境中产生和第一托管代理机构相关的密钥的公用部分(KEApub1)和专用部分(KEApriv1),所述的第一托管代理机构位于所述的保护环境中;
(2)在所述的保护环境中产生和第二托管代理机构相关的密钥的公用部分(KEApub2)和专用部分(KEApriv2),所述的第二托管代理机构位于所述的保护环境中;并且
(3)至少将所述的KEApub1和所述KEApub2发送到一个或多个的软件供应商。
42.权利要求41的方法,进一步包括以下的步骤:
将所述的KEApub1和KEApriv1存放在所述的第一托管代理机构中;并且
将所述的KEApub2和KEApriv2存放在所述的第二托管代理机构中。
43.权利要求41的方法,进一步包括步骤:
至少将所述的KEApub1和KEApub2存放在每个程序例子中。
44.用在包含发送器的系统中的接收器方法,发送器用对话密钥(KS)加密消息以形成被加密的消息,发送器还将所述的KS分割形成第一对话密钥部分(KS1)和第二对话密钥部分(KS2),发送器还通过至少并置第一被加密的对话密钥部分和第二被加密的对话密钥部分来产生第一法律强制访问域(LEAF),其中,第一被加密的对话密钥部分是用和第一托管代理机构相关的某个密钥的公用部分(KEApub1)加密所述的KS1而得到的,而第二被加密的对话密钥部分是通过用和第二托管代理机构向相关的某个密钥的公用部分(KEApub2)加密所述的KS2后得到的,所述的第一和第二托管代理机构位于某个被保护的环境中,发送器通过至少并置所述的KS1和所述的KS2进一步产生页验证串(LVS),发送器还利用所述的KS加密所述的LVS以产生被加密的LVS(ELVS),所述的接收器方法包括以下的步骤:
(1)接收所述的加密消息,所述的第一LEAF和所述的ELVS;
(2)利用所述的KS解密所述的ELVS以恢复所述的LVS,并且从所述的LVS中至少提取所述的KS1和KS2
(3)通过至少并置用所述的KEApub1的拷贝加密所述被提取的KS1后得到的第一试验加密对话密钥部分和用所述的KEApub2的拷贝加密所述的被提取的KS2所得到的第二试验加密对话密钥部分而产生第二LEAF;
(4)比较所述的第一LEAF和所述的第二LEAF;并且
(5)如果所述第一LEAF等于所述的第二LEAF,则确定所述的第一LEAF是可信的。
45.权利要求44的接收器方法,进一步包括步骤:
(6)组合所述被提取的KS1和所述提取的KS2比形成试验的对话密钥;
(7)比较所述的KS和所述的试验对话密钥;并且
(8)如果所述的KS不等于所述的试验对话密钥,则确定所述的第一LEAF为不可信的。
46.权利要求44的接收器方法,进一步包括步骤:
(9)如果所述的第一LEAF被确认为可信的,则利用所述的KS对所述的加密消息解密。
47.发送器,包括:
利用对话密钥(KS)加密消息以形成被加密消息的装置;
将所述的KS分割为第一对话密钥部分(KS1)和第二对话密钥部分(KS2)的装置;以及
通过至少并置第一加密对话密钥部分和第二加密话路密钥部分产生法律强制访问域(LEAF)的装置,其中的第一加密对话密钥部分是用和第一托管代理机构相关的某个密钥的公共部分(KEApub1)加密所述的KS1后得到的,而第二加密对话密钥部分则是用和第二托管代理机构相关的某个密钥的公共部分(KEApub2)加密所述的KS2后得到的,所述的LEAF用于验证所述的发送器,所述的第一和第二托管代理机构位于被保护的环境中。
48.用在包括发送器的系统中的接收器,发送器已经利用对话密钥(KS)加密消息而形成某个被加密的消息,发送器还已经通过用KS加密KS1和KS2的组合而产生被加密的页验证串(ELVS),这里KS=KS1XOR KS2,发送器还通过并置用公共密钥KEApub1加密的KS1的用公共密钥KEApub2加密的KS2而产生第一法律强制访问域(LEAF),所述的接收器包括:
接收所述的加密消息和所述的第一LEAF的装置;
利用所述的KS的拷贝和公用信息重构第二LEAF的装置;
比较所述的第一LEAF和第二LEAF的装置;
如果第一LEAF等于所述的第二LEAF时,确定第一LEAF为可信的装置;以及
如果确认第一LEAF可信,利用KS对所述的加密消息解密的装置。
49.产生支持密钥托管密码技术的可操作的软件程序产品的系统,该系统代表一种被保护的环境并且包括:
产生和第一托管代理机构相关的密钥的公用部分(KEApub1)和专用部分(KEApriv1)的装置,所述的第一托管代理机构位于所述的被保护环境中。
产生和第二托管代理机构相关的密钥的公用部分(KEApub1)和专用部分(KEApriv1)的装置,所述的第二托管代理机构位于所述的保护环境中;以及
至少将所述的KEApub1和所述的KEApub2发送给一个或多个的软件供应商的装置。
CN95195035.5A 1994-08-11 1995-08-11 密钥托管及数据托管加密系统和方法 Pending CN1158195A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/289,602 1994-08-11
US08/289,602 US5557346A (en) 1994-08-11 1994-08-11 System and method for key escrow encryption
US08/390,959 US5557765A (en) 1994-08-11 1995-02-21 System and method for data recovery
US08/390,959 1995-02-21

Publications (1)

Publication Number Publication Date
CN1158195A true CN1158195A (zh) 1997-08-27

Family

ID=26965728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95195035.5A Pending CN1158195A (zh) 1994-08-11 1995-08-11 密钥托管及数据托管加密系统和方法

Country Status (9)

Country Link
US (3) US5557765A (zh)
EP (1) EP0775401A1 (zh)
JP (1) JPH10508438A (zh)
CN (1) CN1158195A (zh)
AU (1) AU3321795A (zh)
BR (1) BR9508548A (zh)
CA (1) CA2197206A1 (zh)
MX (1) MX9700980A (zh)
WO (1) WO1996005673A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101506853B (zh) * 2006-08-25 2011-05-25 塔莱斯公司 无保护环境下显著定制安全组件的方法
CN1965527B (zh) * 2004-04-30 2013-08-07 高通股份有限公司 加密签章服务的签章特权的管理
CN103248476A (zh) * 2013-05-02 2013-08-14 华为数字技术(苏州)有限公司 数据加密密钥的管理方法、系统及终端
CN106453966A (zh) * 2016-12-05 2017-02-22 北京奇虎科技有限公司 移动通信设备间互动提示方法及设备
CN108242999A (zh) * 2017-10-26 2018-07-03 招商银行股份有限公司 密钥托管方法、设备及计算机可读存储介质
CN108512658A (zh) * 2017-02-28 2018-09-07 黑莓有限公司 以安全方式来恢复密钥

Families Citing this family (253)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292568B1 (en) 1966-12-16 2001-09-18 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US5870474A (en) * 1995-12-04 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
GB9320793D0 (en) * 1993-10-08 1993-12-08 Secr Defence Cryptographic receiver
US5557765A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for data recovery
US5557346A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for key escrow encryption
US6272632B1 (en) 1995-02-21 2001-08-07 Network Associates, Inc. System and method for controlling access to a user secret using a key recovery field
US6424717B1 (en) 1995-04-03 2002-07-23 Scientific-Atlanta, Inc. Encryption devices for use in a conditional access system
US20040136532A1 (en) * 1995-04-03 2004-07-15 Pinder Howard G. Partial dual-encrypted stream utilizing program map tables
US6157719A (en) * 1995-04-03 2000-12-05 Scientific-Atlanta, Inc. Conditional access system
US6937729B2 (en) * 1995-04-03 2005-08-30 Scientific-Atlanta, Inc. Representing entitlements to service in a conditional access system
US6246767B1 (en) 1995-04-03 2001-06-12 Scientific-Atlanta, Inc. Source authentication of download information in a conditional access system
US8548166B2 (en) 1995-04-03 2013-10-01 Anthony J. Wasilewski Method for partially encrypting program data
US7224798B2 (en) * 1995-04-03 2007-05-29 Scientific-Atlanta, Inc. Methods and apparatus for providing a partial dual-encrypted stream in a conditional access overlay system
US6560340B1 (en) 1995-04-03 2003-05-06 Scientific-Atlanta, Inc. Method and apparatus for geographically limiting service in a conditional access system
US6105134A (en) * 1995-04-03 2000-08-15 Scientific-Atlanta, Inc. Verification of the source of program information in a conditional access system
US6252964B1 (en) 1995-04-03 2001-06-26 Scientific-Atlanta, Inc. Authorization of services in a conditional access system
US5852665A (en) * 1995-04-13 1998-12-22 Fortress U & T Ltd. Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow
IL113375A (en) * 1995-04-13 1997-09-30 Fortress U & T Ltd Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow
US5757924A (en) * 1995-09-18 1998-05-26 Digital Secured Networks Techolognies, Inc. Network security device which performs MAC address translation without affecting the IP address
US6088515A (en) 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
GB2308282B (en) * 1995-12-15 2000-04-12 Lotus Dev Corp Differential work factor cryptography method and system
US5764772A (en) * 1995-12-15 1998-06-09 Lotus Development Coporation Differential work factor cryptography method and system
EP0872077B1 (en) * 1995-12-29 2009-09-23 Scientific-Atlanta, Inc. Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers
US5768373A (en) * 1996-05-06 1998-06-16 Symantec Corporation Method for providing a secure non-reusable one-time password
US5901227A (en) * 1996-06-20 1999-05-04 Novell, Inc. Method and apparatus for implementing partial and complete optional key escrow
US5796830A (en) * 1996-07-29 1998-08-18 International Business Machines Corporation Interoperable cryptographic key recovery system
US5764767A (en) * 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6483920B2 (en) * 1996-12-04 2002-11-19 Bull, S.A. Key recovery process used for strong encryption of messages
FR2763192B1 (fr) * 1996-10-18 1999-07-02 Bull Sa Procede de recuperation de cles mis en oeuvre pour un chiffrement fort de message
US5974151A (en) * 1996-11-01 1999-10-26 Slavin; Keith R. Public key cryptographic system having differential security levels
US5907618A (en) * 1997-01-03 1999-05-25 International Business Machines Corporation Method and apparatus for verifiably providing key recovery information in a cryptographic system
EP0951767A2 (en) 1997-01-03 1999-10-27 Fortress Technologies, Inc. Improved network security device
EP0856968A3 (en) 1997-01-24 2000-12-06 Nec Corporation Encryption key processing system to be incorporated into data recovery system or key setting system for generating encryption key
US7212632B2 (en) 1998-02-13 2007-05-01 Tecsec, Inc. Cryptographic key split combiner
US5920630A (en) * 1997-02-25 1999-07-06 United States Of America Method of public key cryptography that includes key escrow
US6396805B2 (en) * 1997-03-25 2002-05-28 Intel Corporation System for recovering from disruption of a data transfer
US6249585B1 (en) * 1998-04-08 2001-06-19 Network Associates, Inc Publicly verifiable key recovery
WO1998047260A2 (en) * 1997-04-11 1998-10-22 Network Associates, Inc. Publicly verifiable key recovery
JPH10301773A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US6694433B1 (en) * 1997-05-08 2004-02-17 Tecsec, Inc. XML encryption scheme
US6389136B1 (en) 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
US6202150B1 (en) 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
DE69720971T2 (de) * 1997-05-28 2003-10-30 Siemens Ag Computersystem und Verfahren zum Schutz von Software
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6243466B1 (en) 1997-08-29 2001-06-05 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US6314190B1 (en) * 1997-06-06 2001-11-06 Networks Associates Technology, Inc. Cryptographic system with methods for user-controlled message recovery
US6061454A (en) * 1997-06-27 2000-05-09 International Business Machines Corp. System, method, and computer program for communicating a key recovery block to enable third party monitoring without modification to the intended receiver
US6775382B1 (en) 1997-06-30 2004-08-10 Sun Microsystems, Inc. Method and apparatus for recovering encryption session keys
US6185308B1 (en) * 1997-07-07 2001-02-06 Fujitsu Limited Key recovery system
JP3076273B2 (ja) * 1997-07-07 2000-08-14 日本電気株式会社 鍵回復条件暗号化装置および復号装置
JPH1127253A (ja) 1997-07-07 1999-01-29 Hitachi Ltd 鍵回復システム、鍵回復装置、鍵回復プログラムを記憶した記憶媒体、および鍵回復方法
US6229894B1 (en) * 1997-07-14 2001-05-08 Entrust Technologies, Ltd. Method and apparatus for access to user-specific encryption information
US6058188A (en) * 1997-07-24 2000-05-02 International Business Machines Corporation Method and apparatus for interoperable validation of key recovery information in a cryptographic system
US7515712B2 (en) 1997-08-01 2009-04-07 Cisco Technology, Inc. Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system
US6549626B1 (en) 1997-10-20 2003-04-15 Sun Microsystems, Inc. Method and apparatus for encoding keys
EP0912011A3 (en) * 1997-10-20 2001-11-28 Sun Microsystems, Inc. Method and apparatus for encoding and recovering keys
US6098056A (en) * 1997-11-24 2000-08-01 International Business Machines Corporation System and method for controlling access rights to and security of digital content in a distributed information system, e.g., Internet
US20050114705A1 (en) * 1997-12-11 2005-05-26 Eran Reshef Method and system for discriminating a human action from a computerized action
JP4313873B2 (ja) * 1998-01-30 2009-08-12 キヤノン株式会社 電子機器及びデータ処理方法
US8077870B2 (en) * 1998-02-13 2011-12-13 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US7095852B2 (en) * 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
WO1999049613A1 (en) * 1998-02-20 1999-09-30 Fortress Technologies, Inc. Cryptographic key-recovery mechanism
US6324650B1 (en) * 1998-03-16 2001-11-27 John W.L. Ogilvie Message content protection and conditional disclosure
US6298445B1 (en) 1998-04-30 2001-10-02 Netect, Ltd. Computer security
US6584310B1 (en) * 1998-05-07 2003-06-24 Lucent Technologies Inc. Method and apparatus for performing authentication in communication systems
US6941463B1 (en) 1998-05-14 2005-09-06 Purdue Research Foundation Secure computational outsourcing techniques
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
US6370251B1 (en) 1998-06-08 2002-04-09 General Dynamics Decision Systems, Inc. Traffic key access method and terminal for secure communication without key escrow facility
US6336187B1 (en) 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
US6317829B1 (en) * 1998-06-19 2001-11-13 Entrust Technologies Limited Public key cryptography based security system to facilitate secure roaming of users
US6219790B1 (en) * 1998-06-19 2001-04-17 Lucent Technologies Inc. Centralized authentication, authorization and accounting server with support for multiple transport protocols and multiple client types
US7111173B1 (en) * 1998-09-01 2006-09-19 Tecsec, Inc. Encryption process including a biometric unit
US6311270B1 (en) * 1998-09-14 2001-10-30 International Business Machines Corporation Method and apparatus for securing communication utilizing a security processor
GB9820558D0 (en) * 1998-09-21 1998-11-11 Post Office A secure data transfer system
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US7194092B1 (en) 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7139915B2 (en) * 1998-10-26 2006-11-21 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6438695B1 (en) * 1998-10-30 2002-08-20 3Com Corporation Secure wiretap support for internet protocol security
US6530024B1 (en) 1998-11-20 2003-03-04 Centrax Corporation Adaptive feedback security system and method
JP2000165373A (ja) 1998-11-25 2000-06-16 Toshiba Corp 暗号装置、暗号通信システム及び鍵復元システム並びに記憶媒体
US6473508B1 (en) 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
WO2000041103A1 (en) * 1998-12-31 2000-07-13 Perfecto Technologies Ltd. Method and system for discriminating a human action from a computerized action
US6396929B1 (en) 1998-12-31 2002-05-28 International Business Machines Corporation Apparatus, method, and computer program product for high-availability multi-agent cryptographic key recovery
US7171000B1 (en) 1999-06-10 2007-01-30 Message Secure Corp. Simplified addressing for private communications
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7162452B1 (en) 1999-03-25 2007-01-09 Epstein Michael A Key distribution via a memory device
US7136838B1 (en) * 1999-03-27 2006-11-14 Microsoft Corporation Digital license and method for obtaining/providing a digital license
US6973444B1 (en) * 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
US6901145B1 (en) 1999-04-08 2005-05-31 Lucent Technologies Inc. Generation of repeatable cryptographic key based on varying parameters
US6625734B1 (en) * 1999-04-26 2003-09-23 Disappearing, Inc. Controlling and tracking access to disseminated information
US7499551B1 (en) 1999-05-14 2009-03-03 Dell Products L.P. Public key infrastructure utilizing master key encryption
DE19925910B4 (de) * 1999-06-07 2005-04-28 Siemens Ag Verfahren zum Be- oder Verarbeiten von Daten
US20020019932A1 (en) * 1999-06-10 2002-02-14 Eng-Whatt Toh Cryptographically secure network
US20020101998A1 (en) * 1999-06-10 2002-08-01 Chee-Hong Wong Fast escrow delivery
US6988199B2 (en) 2000-07-07 2006-01-17 Message Secure Secure and reliable document delivery
WO2001013293A1 (fr) * 1999-08-12 2001-02-22 Matsushita Electric Industrial Co., Ltd. Systeme de secours pour information electronique
US7757097B2 (en) * 1999-09-03 2010-07-13 Purdue Research Foundation Method and system for tamperproofing software
US7287166B1 (en) 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
US7461022B1 (en) 1999-10-20 2008-12-02 Yahoo! Inc. Auction redemption system and method
US7039713B1 (en) * 1999-11-09 2006-05-02 Microsoft Corporation System and method of user authentication for network communication through a policy agent
CN100340079C (zh) * 1999-12-07 2007-09-26 三洋电机株式会社 数据再生设备
US6757824B1 (en) * 1999-12-10 2004-06-29 Microsoft Corporation Client-side boot domains and boot rules
US6938013B1 (en) 2000-01-05 2005-08-30 Uniteller Financial Services, Inc. Money-transfer techniques
FR2804561B1 (fr) * 2000-01-31 2002-03-01 France Telecom Procede de communication avec sequestre et recuperation de cle de chiffrement
US6978385B1 (en) 2000-03-01 2005-12-20 International Business Machines Corporation Data processing system and method for remote recovery of a primary password
US7412604B1 (en) 2000-03-28 2008-08-12 International Business Machines Corporation Using biometrics on pervasive devices for mobile identification
US6823070B1 (en) * 2000-03-28 2004-11-23 Freescale Semiconductor, Inc. Method for key escrow in a communication system and apparatus therefor
DE10025626A1 (de) * 2000-05-24 2001-11-29 Deutsche Telekom Ag Verschlüsseln von abzuspeichernden Daten in einem IV-System
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7093020B1 (en) 2000-06-29 2006-08-15 Sungard Sct Inc. Methods and systems for coordinating sessions on one or more systems
US20020029269A1 (en) 2000-06-29 2002-03-07 Campus Pipeline, Inc. Methods and systems for coordinating the termination of sessions on one or more systems
US20020057284A1 (en) 2000-06-29 2002-05-16 Dalby Richard Sean Methods and systems for delivering announcements to users of an information system
WO2002005061A2 (en) * 2000-07-06 2002-01-17 David Paul Felsher Information record infrastructure, system and method
US7251728B2 (en) 2000-07-07 2007-07-31 Message Secure Corporation Secure and reliable document delivery using routing lists
AU2001283215A1 (en) * 2000-08-14 2002-02-25 Yahoo, Inc. Offline-online incentive points system and method
US8307098B1 (en) * 2000-08-29 2012-11-06 Lenovo (Singapore) Pte. Ltd. System, method, and program for managing a user key used to sign a message for a data processing system
US20020048372A1 (en) * 2000-10-19 2002-04-25 Eng-Whatt Toh Universal signature object for digital data
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7359518B2 (en) * 2001-04-05 2008-04-15 Intel Corporation Distribution of secured information
US6944300B2 (en) * 2001-06-22 2005-09-13 International Business Machines Corporaton Method for migrating a base chip key from one computer system to another
US8006280B1 (en) * 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7681034B1 (en) 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7178033B1 (en) * 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US7562232B2 (en) 2001-12-12 2009-07-14 Patrick Zuili System and method for providing manageability to security information for secured items
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7783765B2 (en) 2001-12-12 2010-08-24 Hildebrand Hal S System and method for providing distributed access control to secured documents
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US7478418B2 (en) 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US7631184B2 (en) 2002-05-14 2009-12-08 Nicholas Ryan System and method for imposing security on copies of secured items
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
USRE41546E1 (en) 2001-12-12 2010-08-17 Klimenty Vainstein Method and system for managing security tiers
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US20030149884A1 (en) * 2002-02-01 2003-08-07 Randolph Hernandez Electronic information content control
US7146009B2 (en) * 2002-02-05 2006-12-05 Surety, Llc Secure electronic messaging system requiring key retrieval for deriving decryption keys
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
EP1345395B1 (de) * 2002-03-15 2013-05-08 Alcatel Lucent Verfahren zum Abhören von Kommunikationsverbindungen
GB2386710A (en) * 2002-03-18 2003-09-24 Hewlett Packard Co Controlling access to data or documents
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
CA2425010C (en) * 2002-04-17 2013-11-19 Microsoft Corporation Saving and retrieving data based on public key encryption
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7748045B2 (en) * 2004-03-30 2010-06-29 Michael Frederick Kenrich Method and system for providing cryptographic document retention with off-line access
US8613102B2 (en) 2004-03-30 2013-12-17 Intellectual Ventures I Llc Method and system for providing document retention using cryptography
GB0210325D0 (en) * 2002-05-04 2002-06-12 Gaffney Philip M Secure data delivery
US7941662B2 (en) * 2002-05-31 2011-05-10 Broadcom Corporation Data transfer efficiency in a cryptography accelerator system
US8393001B1 (en) 2002-07-26 2013-03-05 Mcafee, Inc. Secure signature server system and associated method
US7512810B1 (en) 2002-09-11 2009-03-31 Guardian Data Storage Llc Method and system for protecting encrypted files transmitted over a network
US7836310B1 (en) 2002-11-01 2010-11-16 Yevgeniy Gutnik Security system that uses indirect password-based encryption
US7207067B2 (en) * 2002-11-12 2007-04-17 Aol Llc Enforcing data protection legislation in Web data services
US7577838B1 (en) 2002-12-20 2009-08-18 Alain Rossmann Hybrid systems for securing digital assets
US7890990B1 (en) 2002-12-20 2011-02-15 Klimenty Vainstein Security system with staging capabilities
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US8510571B1 (en) 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
US20040230817A1 (en) * 2003-05-14 2004-11-18 Kenneth Ma Method and system for disaster recovery of data from a storage device
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7152693B2 (en) * 2003-05-30 2006-12-26 International Business Machines Corporation Password security utility
US7730543B1 (en) 2003-06-30 2010-06-01 Satyajit Nath Method and system for enabling users of a group shared across multiple file security systems to access secured files
US9118710B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc System, method, and computer program product for reporting an occurrence in different manners
US9100431B2 (en) 2003-07-01 2015-08-04 Securityprofiling, Llc Computer program product and apparatus for multi-path remediation
US8984644B2 (en) 2003-07-01 2015-03-17 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9350752B2 (en) 2003-07-01 2016-05-24 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US20070113272A2 (en) 2003-07-01 2007-05-17 Securityprofiling, Inc. Real-time vulnerability monitoring
US9118711B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118709B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Anti-vulnerability system, method, and computer program product
US9118708B2 (en) 2003-07-01 2015-08-25 Securityprofiling, Llc Multi-path remediation
FR2857184A1 (fr) * 2003-07-04 2005-01-07 Thomson Licensing Sa Procede de chiffrement/dechiffrement d'un message et dispositif associe
US7555558B1 (en) 2003-08-15 2009-06-30 Michael Frederick Kenrich Method and system for fault-tolerant transfer of files across a network
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US7290278B2 (en) 2003-10-02 2007-10-30 Aol Llc, A Delaware Limited Liability Company Identity based service system
US8396216B2 (en) 2003-11-21 2013-03-12 Howard G. Pinder Partial dual-encryption using program map tables
US7702909B2 (en) * 2003-12-22 2010-04-20 Klimenty Vainstein Method and system for validating timestamps
US7707427B1 (en) 2004-07-19 2010-04-27 Michael Frederick Kenrich Multi-level file digests
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US20060069662A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for remapping accesses to virtual system resources
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7711835B2 (en) 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8613048B2 (en) * 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
DE102005004612A1 (de) * 2005-02-01 2006-08-10 Siemens Ag Verfahren zur Aufschaltung auf verschlüsselte Kommunikationsverbindungen in einem paketorientierten Netzwerk
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US20060288225A1 (en) * 2005-06-03 2006-12-21 Jung Edward K User-centric question and answer for authentication and security
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20070083610A1 (en) * 2005-10-07 2007-04-12 Treder Terry N Method and a system for accessing a plurality of files comprising an application program
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
KR100750153B1 (ko) * 2006-01-03 2007-08-21 삼성전자주식회사 Wusb 보안을 위한 세션 키를 제공하는 방법 및 장치,이 세션 키를 획득하는 방법 및 장치
US7499552B2 (en) 2006-01-11 2009-03-03 International Business Machines Corporation Cipher method and system for verifying a decryption of an encrypted user data key
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7685630B2 (en) * 2006-05-04 2010-03-23 Citrix Online, Llc Methods and systems for providing scalable authentication
US10062062B1 (en) 2006-05-25 2018-08-28 Jbshbm, Llc Automated teller machine (ATM) providing money for loyalty points
US9704174B1 (en) 2006-05-25 2017-07-11 Sean I. Mcghie Conversion of loyalty program points to commerce partner points per terms of a mutual agreement
US8668146B1 (en) 2006-05-25 2014-03-11 Sean I. Mcghie Rewards program with payment artifact permitting conversion/transfer of non-negotiable credits to entity independent funds
US7703673B2 (en) 2006-05-25 2010-04-27 Buchheit Brian K Web based conversion of non-negotiable credits associated with an entity to entity independent negotiable funds
US8684265B1 (en) 2006-05-25 2014-04-01 Sean I. Mcghie Rewards program website permitting conversion/transfer of non-negotiable credits to entity independent funds
US20080022120A1 (en) * 2006-06-05 2008-01-24 Michael Factor System, Method and Computer Program Product for Secure Access Control to a Storage Device
US20070297001A1 (en) * 2006-06-22 2007-12-27 Brian Podl Multi-function peripheral remote alert notification system and method
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
JP2008103936A (ja) 2006-10-18 2008-05-01 Toshiba Corp 秘密情報管理装置および秘密情報管理システム
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
US8015039B2 (en) * 2006-12-14 2011-09-06 Sap Ag Enterprise verification and certification framework
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US20090064134A1 (en) * 2007-08-30 2009-03-05 Citrix Systems,Inc. Systems and methods for creating and executing files
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US20090182668A1 (en) * 2008-01-11 2009-07-16 Nortel Networks Limited Method and apparatus to enable lawful intercept of encrypted traffic
US8169436B2 (en) * 2008-01-27 2012-05-01 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
MY153097A (en) * 2008-03-28 2014-12-31 Exxonmobil Upstream Res Co Low emission power generation and hydrocarbon recovery systems and methods
US8189794B2 (en) * 2008-05-05 2012-05-29 Sony Corporation System and method for effectively performing data restore/migration procedures
CA2933829C (en) * 2008-07-18 2019-03-12 Absolute Software Corporation Privacy management for tracked devices
EP2345222B1 (en) * 2008-10-10 2016-08-24 Telefonaktiebolaget LM Ericsson (publ) Lawful authorities warrant management
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
CN102473129B (zh) * 2009-07-16 2015-12-02 株式会社日立制作所 输出表示与故障的根本原因对应的恢复方法的信息的管理系统
US8913992B2 (en) * 2010-11-03 2014-12-16 Stephan V. Schell Methods and apparatus for access data recovery from a malfunctioning device
US9135460B2 (en) * 2011-12-22 2015-09-15 Microsoft Technology Licensing, Llc Techniques to store secret information for global data centers
US9094489B1 (en) * 2012-05-29 2015-07-28 West Corporation Controlling a crowd of multiple mobile station devices
US11032259B1 (en) * 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US10623386B1 (en) * 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US8745415B2 (en) * 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US9094377B2 (en) * 2013-08-16 2015-07-28 Netflix, Inc. Key generation and broadcasting
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US9516016B2 (en) 2013-11-11 2016-12-06 Pure Storage, Inc. Storage array password management
US10275396B1 (en) * 2014-09-23 2019-04-30 Symantec Corporation Techniques for data classification based on sensitive data
US10694352B2 (en) 2015-10-28 2020-06-23 Activision Publishing, Inc. System and method of using physical objects to control software access
JP7321481B2 (ja) * 2017-07-03 2023-08-07 株式会社 エヌティーアイ 第1通信装置、第2通信装置、方法、コンピュータプログラム
US11374760B2 (en) 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
US10546276B2 (en) * 2017-09-13 2020-01-28 Microsoft Technology Licensing, Llc Cyber ownership transfer
JP2022549671A (ja) * 2019-09-25 2022-11-28 コモンウェルス サイエンティフィック アンド インダストリアル リサーチ オーガナイゼーション ブラウザアプリケーション用の暗号化サービス
US11606206B2 (en) * 2020-01-09 2023-03-14 Western Digital Technologies, Inc. Recovery key for unlocking a data storage device

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4386233A (en) * 1980-09-29 1983-05-31 Smid Miles E Crytographic key notarization methods and apparatus
NL8301458A (nl) * 1983-04-26 1984-11-16 Philips Nv Werkwijze voor het distribueren en benutten van vercijferingssleutels.
US4590470A (en) * 1983-07-11 1986-05-20 At&T Bell Laboratories User authentication system employing encryption functions
US4926480A (en) * 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US4947430A (en) * 1987-11-23 1990-08-07 David Chaum Undeniable signature systems
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5313637A (en) * 1988-11-29 1994-05-17 Rose David K Method and apparatus for validating authorization to access information in an information processing system
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
US4996711A (en) * 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems
GB8927623D0 (en) * 1989-12-06 1990-02-07 Bicc Plc Repeaters for secure local area networks
DE68925695D1 (de) * 1989-12-13 1996-03-28 Ibm Rechnersystemsicherheitsvorrichtung
EP0439847B1 (en) * 1990-01-29 1997-10-22 Security Technology Corporation Optionally moderated transaction systems
US5163091A (en) * 1990-01-29 1992-11-10 Graziano James M Knowledge based system for document authentication (apparatus)
US5263157A (en) * 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
JP3080382B2 (ja) * 1990-02-21 2000-08-28 株式会社日立製作所 暗号通信システム
US5226080A (en) * 1990-06-22 1993-07-06 Grid Systems Corporation Method and apparatus for password protection of a computer
US5224163A (en) * 1990-09-28 1993-06-29 Digital Equipment Corporation Method for delegating authorization from one entity to another through the use of session encryption keys
FR2671205B1 (fr) * 1990-12-27 1995-01-20 Telemecanique Procede de controle de l'utilisation d'un poste de travail informatique par mot de passe et poste de travail informatique mettant en óoeuvre ce procede.
JPH06102822A (ja) * 1991-09-26 1994-04-15 Rooreru Intelligent Syst:Kk ファイルセキュリティシステム
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5265164A (en) * 1991-10-31 1993-11-23 International Business Machines Corporation Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5276901A (en) * 1991-12-16 1994-01-04 International Business Machines Corporation System for controlling group access to objects using group access control folder and group identification as individual user
US5210795A (en) * 1992-01-10 1993-05-11 Digital Equipment Corporation Secure user authentication from personal computer
GB9205774D0 (en) * 1992-03-17 1992-04-29 Int Computers Ltd Computer security system
US5280527A (en) * 1992-04-14 1994-01-18 Kamahira Safe Co., Inc. Biometric token for authorizing access to a host system
US5313521A (en) * 1992-04-15 1994-05-17 Fujitsu Limited Key distribution protocol for file transfer in the local area network
WO1993021708A1 (en) * 1992-04-20 1993-10-28 Silvio Micali Verifying secret keys in a public-key cryptosystem
US5276737B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5341426A (en) * 1992-12-15 1994-08-23 Motorola, Inc. Cryptographic key management apparatus and method
US5351293A (en) * 1993-02-01 1994-09-27 Wave Systems Corp. System method and apparatus for authenticating an encrypted signal
US5299263A (en) * 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
US5436972A (en) * 1993-10-04 1995-07-25 Fischer; Addison M. Method for preventing inadvertent betrayal by a trustee of escrowed digital secrets
US5371794A (en) * 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5481613A (en) * 1994-04-15 1996-01-02 Northern Telecom Limited Computer network cryptographic key distribution system
US5557346A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for key escrow encryption
US5557765A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for data recovery
US5564106A (en) * 1995-03-09 1996-10-08 Motorola, Inc. Method for providing blind access to an encryption key

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1965527B (zh) * 2004-04-30 2013-08-07 高通股份有限公司 加密签章服务的签章特权的管理
CN101506853B (zh) * 2006-08-25 2011-05-25 塔莱斯公司 无保护环境下显著定制安全组件的方法
CN103248476A (zh) * 2013-05-02 2013-08-14 华为数字技术(苏州)有限公司 数据加密密钥的管理方法、系统及终端
CN103248476B (zh) * 2013-05-02 2016-10-26 华为数字技术(苏州)有限公司 数据加密密钥的管理方法、系统及终端
CN106453966A (zh) * 2016-12-05 2017-02-22 北京奇虎科技有限公司 移动通信设备间互动提示方法及设备
CN106453966B (zh) * 2016-12-05 2020-01-17 北京奇虎科技有限公司 移动通信设备间互动提示方法及设备
CN108512658A (zh) * 2017-02-28 2018-09-07 黑莓有限公司 以安全方式来恢复密钥
CN108242999A (zh) * 2017-10-26 2018-07-03 招商银行股份有限公司 密钥托管方法、设备及计算机可读存储介质
CN108242999B (zh) * 2017-10-26 2021-04-16 招商银行股份有限公司 密钥托管方法、设备及计算机可读存储介质

Also Published As

Publication number Publication date
US5745573A (en) 1998-04-28
CA2197206A1 (en) 1996-02-22
JPH10508438A (ja) 1998-08-18
AU3321795A (en) 1996-03-07
MX9700980A (es) 1998-05-31
US5991406A (en) 1999-11-23
BR9508548A (pt) 1998-11-03
US5557765A (en) 1996-09-17
EP0775401A1 (en) 1997-05-28
WO1996005673A1 (en) 1996-02-22

Similar Documents

Publication Publication Date Title
CN1158195A (zh) 密钥托管及数据托管加密系统和方法
CN1291293C (zh) 储存及撷取加密数据的方法和系统
CN1165849C (zh) 保护软件的计算机系统及一种保护软件的方法
CN1669265A (zh) 在计算机系统中使用的隐藏的链接动态密钥管理器
CN1833398A (zh) 安全数据解析器方法和系统
CN101855860B (zh) 用于管理加密密钥的系统和方法
US7395436B1 (en) Methods, software programs, and systems for electronic information security
CN1299545A (zh) 使用虚拟专用密钥的用户鉴别
CN1266875C (zh) 内容发布/接收方法
CN1138927A (zh) 具有密钥由第三方保存特性的密码系统和方法
CN1192834A (zh) 多步数字签名方法和系统
CN1647442A (zh) 为获得解密密钥请求密钥检索的安全电子消息系统
US20060072745A1 (en) Encryption system using device authentication keys
CN101044490A (zh) 将光盘用作智能密钥装置的方法和系统
EP1734686A2 (en) Cipher communication system using device authentication keys
CN1675876A (zh) 个人保密复合体
CN1528068A (zh) 用于计算机网络中分布式数据处理的集成式保护的方法与系统
US20090271627A1 (en) Secure Data Transmission
CN1283827A (zh) 通用电子信息网络认证系统及方法
CN1788263A (zh) 登录系统和方法
US20080044023A1 (en) Secure Data Transmission
WO2013145627A1 (ja) 暗号化データベースシステム、クライアント端末、データベースサーバ、データ結合方法、および、プログラム
CN1661957A (zh) 用于使用密钥密码术实现消息的匿名通信的系统
Sahi et al. A Review of the State of the Art in Privacy and Security in the eHealth Cloud
Froomkin It Came From Planet Clipper: The Battle Over Cryptographic Key Escrow

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication