数据安全服务系统的制作方法_4

文档序号:9401962阅读:来源:国知局
确定1308所述GET请求可信,则过程1300可 包括提供1312已加密数据对象与已加密密钥,当解密时,已加密密钥可用于对已加密数据 对象进行解密。应注意,与本文描述的所有过程一样,众多变体也被视为是在本公开的范围 内。例如,过程1300可被配置来当GET请求可信时,通过提供已加密数据对象但不提供已 加密密钥来响应GET请求。请求者,也就是提交GET请求的用户或系统,可以其他方式获取 已加密密钥。例如,在一些实施方案中,用户它们自己可将已加密密钥存储在处于用户的控 制下的数据储存系统中。作为另一个实例,一个储存服务系统可储存已加密数据对象,并且 另一个服务系统可储存已加密密钥,并且用户可从相应服务系统获取已加密数据对象和已 加密密钥。作为另一个实例,另一个服务系统或用户的第三方可用于储存已加密密钥,并且 用户应请求可获取已加密密钥。一般地,可使用可提供已加密密钥的任何方式。
[0077] 如图13所示,过程1300可使得实体已经被提供数据对象和可用于对数据对象进 行解密的已加密密钥。在各个实施方案中,为了对数据对象进行解密,必须对已加密密钥进 行解密。图14相应地示出过程1400的说明性实例,过程1400可将已解密密钥提供给需要 这种已解密密钥以便使用已解密密钥来对已加密数据对象进行解密的实体。过程1400可 由任何合适的系统来执行,如由上文结合图12描述的密码服务前端系统。在实施方案中, 过程1400包括接收1402使用具有指定KeyID的另一个密钥对密钥进行解密的解密请求。 虽然结合密钥的解密描述过程1400,但应注意,过程1400 -般可适用于数据的解密。解密 请求可如上所述以任何合适的方式来接收1402(例如,通过适当配置的API调用)。此外, 解密请求可由对执行过程1400的语境适当的任何实体来接收。例如,解密请求可源自用户 或源自另一个系统,如上文论述的数据服务前端。解密请求还可包括将要解密的数据(例 如,密钥)或其参考内容。KeyID也可以任何合适的方式来指定。例如,在一些实施方案中, 解密请求包括KeyID或KeyID的参考内容,也就是,可用于确定KeyID的信息。如以上所论 述,也可隐式地指定KeylD。例如,可通过与可获得的数据、如提交解密请求的请求者的标识 码关联来获取KeylD。例如,对应于KeyID的密钥可以是用于请求者或被代表来提交请求的 实体的默认密钥。
[0078] 在实施方案中,过程1400包括提交1404认证请求和接收1406认证响应。提交 1404认证请求和接收1406认证响应可如上所述以任何合适的方式来执行。此外,如上所 述,所接收认证响应可用于确定1408 GET请求是否可信。如果确定1408 GET请求不可信, 则过程1400可包括拒绝1410 GET请求。如上所述,拒绝1410 GET请求可如上所述以任何 合适的方式来执行。然而,如果确定1408 GET请求可信,则过程1400可包括访问针对指定 KeyID和/或请求者的策略信息。策略信息可包括以下信息,所述信息包括关于KeyID和/ 或请求者的一个或多个策略的信息。
[0079] 在实施方案中,所访问策略?目息用于确定1414任何适用策略是否允许对具有指 定KeyID的密钥进行解密。如果确定1414策略不允许对由KeyID指定的密钥进行解密, 则过程1400可包括拒绝1410GET请求,如上所述。然而,如果确定1414策略允许对具有 指定KeyID的密钥进行解密,则过程1400可包括使用由KeyID标识的密钥对密钥进行解密 1416。一旦密钥已经使用具有KeyID的密钥来解密,随后就可如通过在网络上进行传输来 向提交解密请求的请求者(或,在一些实施方案中,另一个授权的目的地)提供1418已解 密密钥。
[0080] 如上文论述的环境1200所示,用户可以各种方式获取已加密数据对象和用于对 数据对象进行解密的密钥。图15示出根据各个实施方案的可用于获取明文的过程1500的 说明性实例。过程1500可由任何合适的系统来执行,如由结合图12描述的用户所操作和 /或托管的系统。其他合适的系统包括代表用户并且不必根据所提供的实时用户输入但或 许根据预先编程的过程进行操作的系统。
[0081] 在实施方案中,过程1500包括从数据储存服务系统接收1502密文。向数据储存 服务系统请求1502密文可如上所述以任何合适的方式来执行。例如,执行过程1500的系 统可在上文结合图12示出的环境1200中使用适当配置的API调用和/或通过上文结合图 13描述的过程1300来请求1502密文。
[0082] 过程1500还可包括接收密文和已加密密钥。接收密文和已加密密钥可以任何合 适的方式来执行。例如,可响应于从数据储存服务系统获取密文的请求来接收密文和已加 密密钥。然而,一般地,密文和已加密密钥可以其他合适的方式来接收1504。例如,从数据 储存服务系统接收密文的请求可以是异步请求,并且可依据随后提交的另一个请求来接收 1504密文。此外,密文和已加密密钥可作为单个响应提供或可以独立地获取,如通过不同的 响应(不同响应可来自相同系统或不同系统)。作为另一个实例,执行过程1500的系统可 本地地或以其他方式储存已加密密钥,并且已加密密钥可从本地存储器接收。
[0083] 在实施方案中,过程1500包括请求使用具有指定KeyID的密钥对已加密密钥进行 解密。KeyID可如上所述以任何合适的方式来指定。此外,应注意,执行过程1500的系统可 能够以任何合适的方式指定KeylD。例如,与KeyID-起提供的已加密密钥和/或信息可指 定KeylD。作为另一个实例,执行过程1500的系统可本地或远程访问使得能够确定KeyID 的信息。例如本地或远程数据库可使数据对象与用于对数据对象进行加密的密钥的密钥标 识符关联。一般地,可使用可使得系统能够指定KeyID的任何方式。此外,在一些实施方案 中,无需指定KeylD,如当向密码服务系统提供的信息足以确定KeyID时。用于对已加密密 钥进行解密的请求1506可以如与上文结合图12论述的环境相关的任何合适的方式和/或 通过执行上文结合图14描述的过程1400来执行。
[0084] 在实施方案中,过程1500包括接收1508已解密密钥。接收1508已解密密钥可以 任何合适的方式来执行。例如,可响应于用于对已加密密钥进行解密的请求来接收已解密 密钥。作为另一个实例,用于对已加密密钥进行解密的请求可以是异步请求,并且可能已经 提交用于接收已解密密钥的另一个请求。一般地,已解密密钥可以任何合适的方式来接收。 此外,与从一个装置流向另一个装置的所有信息一样,信息的传递可使用安全通道来执行。 例如,已解密密钥可由接收已解密密钥的实体再次加密以用于解密。一般地,任何方式的安 全通信可用于从一个实体向另一个实体传递信息。
[0085] -旦已经接收1508已解密密钥,过程1500就可包括使用1510已解密密钥对密文 进行解密1510并且因此获取明文。应注意,与本文描述的所有过程一样,变体被视为是在 本公开的范围内。例如,过程1500示出获取密文的请求和用于对已加密密钥进行解密的请 求顺序地被执行。然而,与本文关于各种过程描述的许多操作一样,在各个实施方案中无需 顺序地执行操作。例如,如果执行过程1500的系统可在请求密文之前访问已加密密钥,或 以其他方式能够这样做,则系统可并行地或以与所示方式不同的顺序请求密文并请求对已 加密密钥进行解密。其他变体也被视为是在本公开的范围内。
[0086] 如以上所论述,本公开的各个实施方案涉及提供密码服务。密码服务可由如上所 述的密码服务系统来提供。图16相应地示出根据各个实施方案的密码服务系统1600的说 明性实例。如图16所示并且如以上所论述,密码服务系统1600在逻辑上包括前端系统和 后端系统。前端系统和后端系统两者都可由被配置来执行本文描述的操作的一个或多个计 算机系统来实现。例如,如图16中所示,密码服务系统1600的前端系统实现请求API和策 略配置API。在实施方案中,请求API是被配置用于请求将要由密码服务系统执行的密码操 作和其他操作的API。因此,可通过请求API向前端系统做出请求,以便由密码服务系统执 行此类密码操作。
[0087] 请求API可被配置为具有以下可获得的示例性高级请求:
[0088] CreateKey(KeyID)
[0089] Encrypt(KeyID, Date, [AAD])
[0090] Decrypt(KeylD,Ciphertext, [AAD])
[0091] Shred (KeyID)
[0092] Rekey(Ciphertext, OldKeyID, NewKeyID) 〇
[0093] 在实施方案中,CreateKey(KeyID)请求引起密码服务系统创建由请求中所标识的 KeyID标识的密钥。在接收到请求之后,密码服务系统可生成密钥并使密钥与KeyID关联。 应知道,KeyID可以是但不必是唯一的标识符。例如,KeyID可标识密钥族。例如,在一些 实施方案中,执行密钥轮换。密钥轮换可包括:将密钥替换为其他密钥,以防止收集到足够 允许实际破解所使用加密法的已解密数据。如果在不同于密码服务系统的实体的指导下执 行,则使用CreateKey(KeyID)请求可引起密码服务系统创建新密钥以替换由KeyID标识的 旧密钥。旧密钥可保持由KeyID标识,但是可例如仅用于解密(已经使用旧密钥进行加密 的数据)而不用于将来的加密。作为另一个实例,在一些实施方案中,密码服务系统的用户 提供他们自己的密钥标识符,并且可能的是两个不同客户可能提供相同标识符。在此类情 况下,标识符可能不是唯一地标识密钥或甚至唯一地标识密钥族。各种措施可就位以解决 此问题。例如,与密码服务系统的用户关联的标识码或其他信息可用于标识适当的密钥或 密钥族。在再其他实施方案中,密码服务系统可随机地、顺序地、或使用任何其他方法分配 KeyID0
[0094] 应注意,当KeyID不是唯一地标识密钥时,各种系统可就位以实现适当的功能。例 如,在各个实施方案中,由KeyID标识的密钥族是有限的。如果请求使用由KeyID标识的密 钥进行的解密操作,则另外数据(例如,执行加密时的时间戳)可使得能够确定要使用的适 当密钥。在一些实施方案中,密文可包括指示密钥版本的信息。在一些实施方案中,所有可 能的密钥被用于提供数据的不同解密过程。由于存在有限次数的密钥,可从所提供的那些 解密中选择适当的解密过程。在一些实施方案中,用密钥进行解密以使得密码服务系统能 够检测到密文不是至少部分地基于密钥生成(如通过使用已认证加密)的方式来执行。其 他变体也被视为是在本公开的范围内。
[0095] Encrypt (KeyID, Data, [AAD])请求可用于引起密码服务系统使用由KeyID标识的 密钥对指定数据进行加密。另外的已认证数据(AAD)可用于各种目的并且可以是不必加 密但经认证的数据,例如通过电子签名、消息认证码、或一般地包括在AAD内的加密钥散列 值来认证。在一些实施方案中,密文被生成为包括AAD的至少一部分。在一些其他实施方 案中,AAD是在解密期间单独地提供。在一些其他实施方案中,AAD是在解密时至少部分地 基于请求和或其他元数据生成,使得解密将仅在元数据传递时成功。在一些实施方案中, 策略可约束关于特定AAD是否可执行密码操作。通过编程逻辑和/或由密码服务系统强 制实施的策略,Encrypt (KeyID, Data, [AAD])请求的处理可既要求AAD包括具体值又要求 AAD可信(例如,自原始传输以来未被修改)。类似地,Decrypt(KeyID, Ciphertext, [AAD]) 请求可用于引起密码服务系统使用由KeyID标识的密钥对指定密文进行解密。 Decrypt (KeyID, Ciphertext, [AAD])请求中的AAD可如上所述来使用。例如,通过编程逻辑 和/或由密码服务系统强制实施的策略,Decrypt (KeyID, Ciphertext, [AAD])的处理可既 要求AAD包括具体值又要求AAD可信(例如,自原始传输以来未被修改)。
[0096] 在实施方案中,Shred(KeyID)可用于引起密码服务系统电子地销毁(shred) 由指定KeyID标识的密钥或密钥族。电子销毁可包括使密钥不再可访问。例如,使用 Shred(KeyID)请求可引起密码服务系统命令一个或多个硬件装置对由指定KeyID标识的 一个或多个密钥执行SecureErase操作。一般地,由KeyID标识的密钥可以任何合适的方式 电子地销毁,如通过用其他数据(例如,一系列零或一,或随机字符串)重写编码密钥的数 据。如果密钥以在密钥下被加密的方式被存储,则可电子地销毁用于对密钥进行加密的密 钥,从而使得丢失对密钥的访问权。在一些实施方案中,销毁操作可使得指示所销毁KeyID 的解密操作在将来某一确定时刻失败。可使用安全地并且永久地摧毁对密钥的任何可能访 问的其他方式。
[0097] 在实施方案中,ReKey (Ciphertext, OldKeyID, NewKeyID)请求可用于引起密码服 务系统在不同密钥下对密文进行加密。当密码服务系统接收ReKey (Ciphertext, OldKeyID ,NewKeyID)请求时,它可使用由OldKeyID标识的密钥对指定密文进行解密并随后使用由 NewKeyID标识的密钥对已解密密文进行加密。如果由NewKeyID标识的密钥尚不存在,则密 码服务系统可生成要使用的密钥并使所生成密钥与指定NewKeyID关联,如结合以上所述 的Create(KeyID)请求所描述。在一些实施方案中,ReKey操作可以可操作来使得数据可 在密钥服务系统的孤立实体之间传送。在一些实施方案中,策略可能允许对密文执行rekey 操作,但可能不允许相同请求者直接对密文进行解密。在一些实施方案中,ReKey可能支持 将密文的密钥从由第一账户内的第一 KeyID标识的密钥更新为由第二账户内的KeyID标识 的密钥。
[0098] 类似地,前端系统可实现策略配置API,在实施方案中,策略配置API使得用户能 够提交用于配置用于执行密码操作和其他策略相关操作的策略的请求。在各个实施方案 中,策略可与密钥、密钥组、账户、用户和其他逻辑实体关联。以下提供可通过策略配置API 配置的示例性策略。在实施方案中,密码服务策略配置API包括以下请求:
[0099] SetKeyPolicy (KeyID, Poliey)
[0100] Suspend(KeyID, Public Key)
[0101] Reinstate(KeyID, Private Key)
[0102] 在实施方案中,SetKeyPolicy(KeyID, Policy)请求可用于引起密码服务系统存储 关于由KeyID标识的密钥(或密钥族)的策略。策略可以是确定在具体语境中是否可执 行所请求密码操作的信息。策略可以陈述性访问控制策略语言来编码,如可扩展访问控制 标记语言(XACML)、企业隐私授权语言(EPAL)、亚马逊网络服务访问策略语言、Microsoft SecPol或编码执行密码操作必须满足的一个或多个条件的任何合适的方式。策略可限定可 执行什么操作,何时可执行操作,哪些实体可为执行操作做出授权请求,授权特定请求需要 哪些信息等。另外,除了或替代以上给出的实例,策略可使用访问控制列表、与用户关联的 特权和/或操作位掩码来限定和/或强制实施。以下呈现示例性策略。
[0103] 在一些实施方案中,密码服务系统可例如使用Suspend(KeyID,Public Key)API 调用来支持暂停操作。暂停操作使得密码服务系统的客户能够拒绝密码服务系统的操作 者使用或访问密钥。这对关心隐蔽合法命令或其中密码服务系统的操作者可被强迫使用 密钥执行一些操作的其他情况的客户可能有用。它也对希望锁定特定数据并使其在线 不可访问的客户可能有用。在一些实施方案中,暂停操作可能包括:从客户接收公共密 钥并利用所接收公共密钥对由给定KeyID指定的密钥进行加密、并销毁由KeyID指定的 密钥,使得提供者不能访问已暂停密钥,除非例如使用既指定KeyID又包括私人密钥的 Reinstate (KeylD,Private Key) API调用提供与公共密钥关联的私人密钥。在一些其他实 施方案中,暂停操作可能包括:使用由密码服务系统管理的另一个密钥对与指定KeyID关 联的密钥进行加密,所述另一个密钥包括但不限于为了立即暂停操作的目的而创建的一个 密钥。可向客户提供通过这个操作产生的密文,而不是将密文保留在密码服务系统内。随 后可销毁由KeyID标识的原始密钥。密码服务系统可以可操作来接收所提供密文并再导入 已暂停密钥。在一些实施方案中,密文可以将防止密码服务系统向客户返回已解密版本的 方式生成。
[0104] 如图16所示,密码服务系统1600包括后端系统,在一些实施方案中,后端系统自 身包括各种组件。例如,在此实例中,后端系统包括请求处理系统,所述请求处理系统可以 是密码服务系统1600被配置来根据通过请求API或策略配置API接收的请求执行操作的 子系统。例如,请求处理组件可接收通过请求API和策略配置API接收的请求,确定此类请 求是否可信并且因此确定是否可完成,并且可完成请求。完成请求可包括:例如,执行和/ 或已经执行密码操作。请求处理单元可被配置来与认证接口交互,认证接口使得请求处理 单元能够确定请求是否可信。认证接口可被配置来与如上所述的认证系统交互。例如,当 由请求处理单元接收到请求时,请求处理单元可利用认证接口与认证服务系统交互,如果 适用,认证服务系统可提供可使用以引起执行密码操作的认证证明。
[0105]
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1