一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

密码系统的制作方法

2022-02-20 06:36:26 来源:中国专利 TAG:


1.本发明的实施方案涉及密码系统。


背景技术:

2.密钥管理是指对密码系统中的密码密钥的管理,包括密钥的生成、交换、存储、使用、破坏和替换。传统上,密钥管理服务提供并保护密码密钥,使得从长远来看,未加密密钥存储在与存储加密数据不同的位置,并且用户必须向密钥管理服务提供商认证自己以获得对未加密密钥的访问,以便对数据进行解密。密钥管理系统是部署在服务器上的软件应用程序。对数据的权利由系统生成并通过布尔(boolean)机制来执行,并且通过用户名或密码来解锁对密钥库的访问,该用户名或密码将人认证为系统的用户。然而,此类密钥管理服务取决于基于软件的控制(基于逻辑/规则的控制),这意味着软件的缺陷可允许未经授权的用户访问密钥。
3.us20180287785描述了一种提供数据存储服务的密码系统,该数据存储服务使用密钥提供商来获取封装密钥(由密钥封装算法用来加密另一个密钥的密钥加密密钥或密钥封装密钥)并形成封装密钥池。
4.发明目的
5.本发明的目的是改进密码系统或至少为公众或行业提供有用的选择。


技术实现要素:

6.一种密码系统允许云服务提供商代表中间服务提供商存留客户数据,但提供端到端加密,使得云服务提供商不能读取数据。机密仓库(secrets vault)提供以密码方式执行的机制,通过该机制,密码受到保护并且仅可由授权的用户或服务访问,并且对密码的访问能以密码方式证实。具有有效凭证的实体具有相关联的密钥对。该凭证用于对该密钥对(即,该密钥对的私有密钥,因为根据定义,公开密钥被设计为可公开访问)进行加密/封装。这允许该密钥对以加密形式在线存储。机密具有用于对该机密进行对称地加密的对应机密密钥。然后使用公私密钥对来对该机密密钥进行非对称地加密。
7.根据一个实施方案:一种以密码方式保护供实体访问的机密的方法,该实体具有凭证和相关联的密钥对,该密钥对包括私有密钥和公共密钥,其中该密钥对的私有密钥使用该凭证进行加密,该方法包括以下步骤:生成机密密钥;使用该机密密钥对该机密进行对称地加密;以及使用该密钥对的公共密钥对该机密密钥进行非对称地加密。任选地:使用该凭证对该密钥对的私有密钥进行对称地加密。使用aes192或aes256对该机密进行加密。使用rsa算法或椭圆曲线数字签名算法对该机密密钥进行加密。该机密是数据流。
8.根据一个实施方案:一种以密码方式保护供实体访问的至少一个机密的方法,该实体具有凭证和相关联的公共密钥,该方法包括以下步骤:针对每个机密,生成或接收机密密钥对,该机密密钥对包括该相关联的公共密钥和该机密特有的新私有密钥;使用该凭证对该机密密钥对的私有密钥进行加密;以及使用该机密密钥对的相关联的公共密钥对每个
机密进行非对称地加密。
9.根据一个实施方案:一种以密码方式保护供实体访问的至少一个机密的方法,该实体具有凭证和相关联的身份密钥对,该身份密钥对包括公共密钥和私有密钥,该方法包括以下步骤:生成或接收用于对该至少一个机密进行加密的机密密钥;使用机密密钥对该至少一个机密进行加密;使用该身份密钥对来对该机密密钥进行非对称地加密;以及用该凭证对该身份密钥对的私有密钥对进行对称地加密。
10.根据一个实施方案:一种用于以密码方式保护由数据收集器收集的供实体访问的机密的系统,使得该机密不能被该数据收集器读取,该系统包括:该实体,其中该实体与凭证和相关联的公共密钥相关联;机密密钥对生成器,该机密密钥对生成器被配置为针对每个机密生成机密密钥对,其中该机密密钥对包括该相关联的公共密钥和该机密特有的新私有密钥;以及该数据收集器,该该数据收集器被配置为:捕获或接收每个机密,使用该凭证对每个机密密钥对的私有密钥进行加密;以及使用该机密密钥对的相关联的公共密钥对每个机密进行非对称地加密。
11.一种用于以密码方式保护由数据收集器收集的供实体访问的机密的系统,使得该机密不能被该数据收集器读取,该系统包括:该实体,其中该实体与凭证和相关联的身份密钥对相关联;机密密钥生成器,该机密密钥生成器被配置为针对每个机密生成机密密钥;以及,该数据收集器,该数据收集器被配置为:捕获或接收每个机密,使用该身份密钥对来对每个机密进行非对称地加密;以及用该凭证对该身份密钥对的私有密钥进行对称地加密。
附图说明
12.图1示出了基础部署和使用架构;
13.图2示出了从用户交互获得的数据的流程图;
14.图3示出了用于捕获的数据流的每个部分的分类的一个示例;
15.图4示出了根据一个实施方案的机密仓库的部件的示意图;
16.图5示出了根据一个实施方案的机密的存储;
17.图6示出了根据一个实施方案的密码系统;
18.图7示出了根据另一个实施方案的密码系统;
19.图8示出了根据一个实施方案的加密机密的示意图;并且
20.图9示出了存储机密的方法。
21.发明公开内容
22.技术问题
23.待解决的技术问题是允许用导出的密钥来保护用户数据,使得服务提供商能够为用户保持数据但不能访问数据(端到端加密),以便数据能够在用户的要求下与其他用户共享,同时维持该端到端加密。优选地,该系统将不需要对文件数据本身进行任何重新加密,从而避免了昂贵的操作。
24.另一个挑战是提供以密码方式执行(与以编程方式执行相反)的认证机制,从而降低编码错误导致第三方获得未经授权的访问的可能性,并降低特权攻击升级的风险。优选地,以密码方式执行的系统允许新的用户或服务提供商获得授权和解除授权,而不影响系统的其他方面或将机密暴露于第三方。
25.技术方案
26.机密仓库提供以密码方式执行的机制,通过该机制,机密受到保护并且仅能够由授权的用户或服务访问。图8示出了加密架构,由此机密被双重加密,使得它们仅能被具有有效凭证的用户访问。具有有效凭证的实体具有相关联的密钥对510。凭证用于对密钥对(即,密钥对的私有密钥,因为公开密钥是公开的)进行加密/封装。这允许该密钥对以加密形式在线存储。机密具有对该机密进行对称地加密/解密的对应的机密密钥。继而使用该密钥对来对该机密密钥进行非对称地加密。
27.在“多个机密密钥”实施方案中,用机密密钥对机密进行加密,该机密密钥是本身用与授权用户凭证相关联的身份密钥对进行加密的对称密钥。在“多个机密密钥”实施方案中,凭证与身份密钥对是1:1。根据需要定期地生成机密密钥,并且对所有敏感信息(诸如会话或配置信息)进行双重加密。提供有效凭证允许对身份密钥对进行解密,继而允许存储在这些身份密钥对下的可用于解密它们各自的机密的所有机密密钥进行解密。使用身份密钥对的未加密私有密钥对机密密钥进行非对称地加密。图6示出了根据“多个机密密钥”实施方案存储的机密的示意图。作为服务提供商a、b、c和d的四个实体各自具有相应的凭证和相应的身份密钥对。服务提供商b能经由由服务提供商b的公共密钥b加密的机密密钥x的副本来访问机密x。服务提供商a能访问两个机密,即,机密x和机密y。服务提供商c只能访问机密y,并且服务提供商d能访问机密x和机密y。针对每个机密,存储多个机密密钥;每个具有访问权限的实体具有一个机密密钥。存在机密密钥x的三个副本,因为服务提供商a、b和d各自具有相关联的机密密钥。类似地,存在机密密钥y的三个副本,因为服务提供商a、c和d各自具有副本。
28.在“多个密钥对”实施方案中,凭证与授权实体的公共密钥相关联。针对要由实体访问的每个新机密,使用公共密钥以及机密和实体特有的私有密钥来创建新的机密密钥对。使用私有密钥来对机密进行非对称地加密,并且使用凭证对身份密钥对的私有密钥进行加密。因此,代替针对每个授权实体使用新的机密密钥,使用单个机密密钥来创建与凭证相关联的多个机密密钥对。图7示出了根据“多个密钥对”实施方案存储的机密的示意图。每个机密具有一个对应的机密密钥,该机密密钥可不对称地加密多次,以便为能访问该机密的每个实体创建新的机密密钥对。服务提供商b能访问一个机密:机密x。服务提供商a能访问三个机密:x、y和z。机密y可由三个实体访问:服务提供商a、服务提供商c和服务提供商d。
29.机密仓库的元素
30.机密仓库17包括身份密钥对或机密密钥对、凭证、机密密钥以及密钥和身份数据库(机密密钥db)。
31.机密
32.该系统可用于保护任何机密。机密是访问受控制的任何数据,并且可包括敏感配置和/或凭证数据。在一个实施方案中,机密是敏感数据流。配置和/或凭证数据(诸如外部服务凭证或可被视为敏感的其他应用程序设置)可类似地加密为机密并存储在机密仓库中以保持敏感数据安全并处于认证状态。敏感配置和凭证数据可作为二进制或文本块连同hmac(例如,hmac256)一起存储在机密仓库中,该hmac用于向数据所有者(机密数据的授权评估员/创建者)验证数据的完整性。
33.凭证
34.凭证是密钥,或是使用基于标准密码的保护机制经由密码生成的密钥。例如,可使用pbkdf2生成该密钥。凭证用于加密和保护身份密钥对私有密钥。
35.身份密钥对
36.身份密钥对包括具有相关联的凭证的实体/用户特有的公共密钥证书。例如,它可使用rsa或椭圆曲线数字签名算法来实现。该身份密钥对的公共密钥部分用于安全加密和验证目的。在如本文所述的密码系统中,身份密钥对与凭证是1:1。身份密钥对的私有密钥部分使用凭证进行加密,并且用于对受保护的机密密钥进行解密。
37.机密密钥对
38.类似地,机密密钥对还包括具有相关联的凭证的实体/用户特有的公共密钥证书。例如,它可使用rsa或椭圆曲线数字签名算法来实现。该机密密钥对的公共密钥部分用于安全加密和验证目的。在如本文所述的密码系统中,针对要在特定凭证下保护的每个机密来创建多个机密密钥对。每个机密密钥对的私有密钥部分使用凭证进行保护,并且用于对受保护的机密密钥或机密进行解密。
39.机密密钥
40.机密密钥(其可为会话保护密钥)可为任何合适的对称加密密钥。例如,可使用标准aes192或aes256加密密钥。这些机密密钥是每个会话和服务提供商特有的。机密密钥从不未加密存储或传输。当存储在机密密钥db中时,使用身份密钥对私有密钥对机密密钥进行加密。云服务中的每个敏感数据块可用机密密钥进行加密。
41.机密密钥可用于保护本身通过用户凭证(例如,以身份密钥对私有密钥的形式)保护或加密的数据。用户凭证可以是私有/公共的或用户的密码。换句话说,以需要用户凭证的方式来封装机密密钥。以密码方式执行封装。
42.机密密钥db
43.机密密钥始终以加密形式存储。机密密钥db是密钥和身份数据库。在一个实施方案中,这可以是存储服务提供商加密会话密钥(机密密钥)的内容的网络隔离(群集)数据库。该数据库仅可经由被批准且访问受控制的机制来访问。
44.机密仓库
45.图5示出了根据一个实施方案的机密仓库的基本机制。a存储三个凭证,包括主凭证502、服务提供商凭证504和服务凭证506。
46.主凭证502用于对身份密钥对510进行加密,从而创建加密私有密钥552。主凭证502还用于对保护身份密钥对512进行加密,从而创建加密私有密钥555。服务提供商凭证504也用于对身份密钥对510进行加密,并且创建身份密钥对512的第二加密私有密钥553并和与服务提供商凭证504相关联的身份密钥对512存储在一起服务凭证506仅用于对身份密钥对514进行加密,从而创建身份密钥对514的私有密钥的第三副本(除了分别由主凭证502和服务提供商凭证504创建的私有密钥558和私有密钥559之外)。
47.认证代码:
48.可在存储机密(例如,会话数据)时生成基于哈希的消息认证代码,以允许以密码方式确保数据完整性检查。
49.访问控制和审计
50.访问控制机制可用于控制对事件数据流数据的任何访问(无论数据分类如何)以
及对机密密钥的任何访问。该机制确保已对请求访问数据的用户执行基本身份检查,并且仅可获得用户授权访问的数据。访问与用户的角色和身份相关联。用户具有控制可访问事件数据流的哪个部分以及可用数据做什么的一组权限。另外,使用身份密钥对确保服务提供商的数据只能由有权限访问服务提供商的身份密钥对的用户访问。
51.所有访问请求(无论请求是否成功)都可能导致在防篡改审计日志中创建审计事件。该日志允许对所有数据请求进行审计和验证,从而提供从创建到根除的数据流的历史跟踪。
52.过程
53.对机密进行加密
54.图9示出了对机密进行加密的方法,并且图5示出了按照图9所示方法存储的多个机密的示意图。
55.在步骤901,生成凭证并将其添加到机密仓库。该凭证可以是公私密钥对、密码或任何其他适当的凭证。
56.在步骤902,生成相关联的ppkp(公私密钥对)。可在将凭证添加到机密仓库的同时生成该ppkp(例如,身份密钥对)。身份密钥对可以是给定的名称(如果不提供的话)。
57.在步骤903,用凭证对该ppkp进行加密。如果该凭证是密码,那么从该密码导出对称密钥(经由诸如pbkdf2的算法)。如果该凭证是公共/私有密钥(例如,在pem文件中),则该凭证的公共密钥用于对身份密钥对的私有密钥进行加密/封装。
58.针对被授权访问新ppkp的每个新凭证,使用用于加密的新凭证来重复如在步骤903中所述的加密过程,并且存储ppkp的私有密钥的加密副本。
59.在步骤904,使用机密密钥对要添加到机密仓库的机密进行加密。使用指定的ppkp(其可使用凭证和ppkp的名称来指定)来创建机密密钥。ppkp用于(即,ppkp的公共密钥部分)保护机密,然后需要访问ppkp的私有密钥部分来对该机密进行解密。
60.在步骤905,将加密机密添加到机密仓库。
61.访问机密
62.为了访问机密,需要有效的凭证来访问机密的身份密钥对或机密密钥对。
63.在“多个机密密钥”实施方案中,如果该凭证是有效的,则身份密钥对可被解封装/解密,并且可访问身份密钥对的私有密钥并用于对该机密密钥进行解密。当正在存储的机密是数据块(而不是会话密钥)时,在添加数据时生成新的对称密钥并用于对机密数据进行解密。
64.在“多个密钥对”实施方案中,如果该凭证是有效的,则机密密钥对可被解封装/解密,并且可访问该机密密钥对的私有密钥并用于对该机密进行解密。
65.密钥对被用作机密加密密钥源,因为这允许单独地控制读取和写入授权。一个凭证允许只写访问(经由公共密钥),并且另一个凭证允许读取和写入访问(使用两个密钥)。
66.访问控制
67.机密的创建者是初始授权者,并且授权对机密的读取访问。针对被授权访问机密的每个实体,创建者将机密封装。
68.添加新用户
69.通过使用预授权的凭证对身份密钥对的私有密钥的副本进行解密来向新的凭证
授权访问由身份密钥对保持的机密,从而将其提供给新的凭证,该新的凭证使用其自身的凭证对身份密钥对的私有密钥的其自身副本重新加密。
70.撤销用户访问
71.在“多个机密密钥”实施方案中,可通过从它们的密钥链中移除适用的机密密钥来撤销对机密的访问。在“多个密钥对”实施方案中,可通过移除适用的机密密钥对来撤销对机密的访问。仅需要对实体的密钥链的访问。撤销列表可被保留,例如,当用户登录密码系统时,其密钥链可被捕获并且访问机密的“密钥”可从其密钥链移除。
72.读取和写入访问
73.由于身份密钥对被用作机密密钥源,这通过允许一个凭证进行只写访问(经由公共密钥)并且另一个凭证进行读取和写入访问(使用两个密钥)来单独地控制读取和写入授权。
74.使用用户b的凭证,用户a可从用户b的身份密钥对加载公共密钥,以使用通过使用用户b的身份密钥对中的用户b的公共密钥而创建的机密密钥对机密进行加密。为机密创建记录。一旦机密被加密,用户a就不能再访问数据,除非用户a具有用来自用户a的身份密钥对的用户a自己的公共密钥复制并封装的机密密钥。为了读取数据,用户b对他们的私有密钥进行解密,因此可使用他们的私有密钥对机密密钥进行解封装,并且使用解封装的机密密钥对机密进行解密。因此,任何具有凭证的用户都能够插入数据并写入机密。然而,以密码方式执行读取访问。
75.存储新的机密
76.收集数据的服务或实体可存储不被允许访问的数据。例如,数据收集器可对分析服务可读取并用于分析目的的数据进行加密。以密码方式执行分析模块的授权,并且一旦数据被存储,数据收集器就不能访问数据。
77.覆写机密
78.可使用哈希或签名来保护机密的覆写。
79.凭证使用和管理
80.对机密仓库的任何访问都需要有效的凭证。如果未呈现有效凭证,则不允许在机密仓库上进行操作。指定的凭证还控制可通过密钥封装机制来访问仓库内的哪些机密。
81.凭证可以是从中导出对称密钥的密码或包含公共密钥和私有密钥两者的pem文件。由于pem文件通常(或应当)用密码保护,因此当pem文件用作凭证时也需要这样做。
82.凭证可具有两个授权(只写或读写)中的一者。只写授权的凭证只能添加机密,而不能读取机密。当添加时,已用验证机制以数字签名的形式创建新凭证,这允许检测非法替换的凭证。
83.在一个实施方案中,当创建新的机密仓库时,自动添加至少两个凭证,该两个凭证中的一者是添加新凭证所需的。
84.·
主凭证:这可以是具有对仓库中的每个密钥对的读写访问的仅pem凭证。这可确保忘记或撤销的密码不会导致机密变得不可访问。
85.·
服务提供商凭证:这是客户保护标识符(cpi),该凭证同样具有能完全访问每个ppkp的机制,但它可以是基于pem的凭证或基于密码的凭证。
86.验证需要访问主凭证私有密钥或cpi私有密钥。在主凭证和服务提供商凭证的情
况下,它们充当彼此的替代验证机制,因为服务提供商凭证验证主凭证。密钥验证仅是性能和数据验证机制,而不是安全性验证机制。通过直接覆写数据来替换凭证将不会有帮助,因为ppkp封装功能在与替换凭证一起使用时将会失败。
87.本文所述的实施方案允许实体以简单的方式更改他们的密码。例如,用户具有使用凭证(其为密码“密码1”)存储的机密。昂贵的哈希函数(诸如pkb22)可处理密码以创建哈希密码。该哈希密码继而用作加密密钥以存储服务提供商的加密密钥,该加密密钥可用于将真实密钥解密到用户的密钥链(他们的身份密钥对)。如果用户希望将它们的密码更改为“密码2”,则服务提供商仅需要将他们自己的密钥重新加密到用户的密钥链(他们的身份密钥对)。
88.根据一个实施方案的实现方式
89.在一个实施方案中,本文所述的密码系统用于保护在终端用户与计算机系统交互的会话期间捕获的数据。该用户可与代理进行交互,该代理可以是经由计算机麦克风和相机通过口头和非口头通信与用户实时交互的具体化代理。代理提供商(主凭证)可代表服务提供商提供代理。在另一个实施方案中,终端用户还可具有密码系统的凭证,并且对应于他们个人数据的机密仅可由所述用户读取并且可选择性地与服务提供商和/或代理提供商共享。
90.图1示出了基础部署和使用架构。数据收集器18收集并处理原始会话事件数据。数据流处理器16处理会话数据,从而为分析任务提供归一化的时间序列数据流。机密仓库17收集并保护在数据收集会话期间创建的各种会话加密密钥。
91.图2概述了来自用户交互的基本数据流。流经代理服务器27的所有数据可使用安全的加密网络连接,诸如tls 1.2或更好(https)。数据流由表示数据流的性质和数据流的方向性的编码箭头表示。
92.数据收集器
93.数据收集器18接受来自视频主机23(视频主机过程)的传入套接字连接,并且在所有会话事件消息从服务器流出时读取它们。数据收集器18具有凭证并因此能够写入和存储机密。然而,数据收集器18未用它自身的凭证来创建机密密钥的任何副本;并且对机密仓库具有只写访问,并且该属性可通过不存在与数据收集器18的凭证相关联的任何加密机密密钥以密码方式证实。
94.数据收集器18对收集到的数据进行分类。假名或私有/敏感元素使用在会话初始化时生成的对称会话加密密钥(机密密钥)进行加密。机密密钥然后使用需要对数据进行读取访问的任何服务的身份密钥对的公共密钥进行加密。因此,数据收集器18授权服务或用户来访问机密,但不授权其自己读取机密。机密密钥以加密形式存储在机密仓库中。当对数据元进行加密时,参照存储在替代数据流中的加密数据来替换事件流中的原始数据。该机密密钥从不以未加密形式存储在磁盘中。该机密密钥在存储器中创建,仅通过加密通信信道(诸如https)传输,并且以加密形式存储在机密仓库中。然后将分类和保护的数据元素写入数据仓库实例(诸如cassandra集群节点)到原始会话表中。面向互联网的rest接口可被构建到数据收集器上以管理针对合适场景的会话数据收集,例如,代理交互在移动装置或非云托管的自助服务终端上。
95.数据流处理器
96.数据流处理器16为分析模块19提供原始会话数据的归一化时间序列视图,以允许更容易且更一致的处理。数据流处理器16可按需运行以提供对会话数据的访问。
97.服务将读取由数据收集器18提供的原始会话数据并提供可在处理期间使用的spark数据集。所提供的数据集将包括归一化视图中的匿名和解密(敏感)数据。数据集可持续在存储器中(或按需生成)以便各种spark任务进行工作。超过处理任务的生命周期便不保留数据,因为敏感数据从未被高速缓存或写入到任何形式的长期存储。数据流处理器16可被实现为java以促进与基于jvm的服务(诸如cassandra和spark)的集成。
98.数据仓库
99.数据仓库为长期结构化数据或基于时间序列的数据提供存储和检索机制。数据仓库支持敏感数据和广义数据或匿名数据的安全弹性存储。可使用任何合适的服务器和对应的架构来实现数据仓库。一个示例是cassandra nosql服务器。数据仓库可部署在最初部署有多个群集的群集式服务器模型中,例如,一个群集可在eu中以隔离符合gdpr的eu数据,而另一个更一般的群集可支持其他地理位置的存储需要。
100.供应
101.当在代理云上供应新的服务提供商时,初始“供应”步骤可在任何会话数据流受保护之前生成身份密钥对和相关联的凭证。然后将生成的凭证和身份密钥对安全地存储在机密密钥db中。
102.经由机密密钥的生成、使用和存储来保护会话数据流。按需针对每个会话生成新的机密密钥,并且在生成之后立即将新的机密密钥安全地存储在机密仓库中。敏感数据流可任选地使用认证的加密模式(比如aes gcm)或使用与安全数据流一起存储的“认证码”作为确保存储的数据和最初收集时一样的机制。会话数据流可包括不同的数据分类。可相应地对用于捕获的数据流的每个部分进行分类。可能的数据分类的一个示例包括私有/敏感数据、假名数据和匿名数据。
103.图3示出了用于捕获的数据流的每个部分的分类的一个示例。事件数据流31可包括数据流。事件数据流31的每个部分被分类为私有/敏感数据3、假名数据4或匿名数据5。使用独立的机密密钥来独立地保护不同的数据分类。例如,使用机密密钥113对事件数据流31的构成私有/敏感数据3的部分进行加密,并且使用机密密钥114对事件数据流31的构成假名数据4的部分进行加密。对应于事件数据流31的元数据6也可与数据本身一起存储,并且也可被加密。任选地,视频流32和/或音频流33也可根据机密密钥113进行存储。匿名数据5可以是未加密的。
104.机密仓库服务
105.在一个实施方案中,机密仓库服务可作为本地linux进程运行,并且提供rest接口和附加的基于cli的命令接口以与数据库进行交互。该cli接口仅呈现替代由rest接口提供的相同特征的命令行。所有基于cli或rest的访问(仅https)均使用内置凭证机制进行认证(参见凭证使用和管理)。可提供以下一组操作:
106.·
添加/移除凭证-要求使用主凭证或服务提供商凭证来完成
107.·
授权凭证-将该凭证添加到用于机密的授权列表。要求使用主凭证或客户凭证来完成
108.·
查看凭证-要求机密仓库中有效的任何凭证。
109.·
查看/移除身份密钥对-查看/移除要求的授权凭证
110.·
添加身份密钥对-要求机密仓库中有效的任何凭证。
111.·
查看/添加/移除机密-要求用于机密的正确凭证
112.服务api
113.在一个实施方案中,服务rest api可为机密仓库的主要函数提供端点。可使用客户端将需要生成的jwt令牌来保护所有rest api方法,并且服务器将进行验证。可实现api,诸如以下各项:
[0114][0115]
对应的rest url示例如下:
[0116][0117]
图4示出了机密仓库17的部件的示意图。
[0118]
数据库管理和方案设计
[0119]
任何合适的后端存储机制都可用于机密仓库,例如,sqlite3或cassandra。机密仓库设计可考虑到单个仓库db文件和多个机密db文件。该规定通过允许在特定时间段(例如,每月)创建新的机密db来促进可生成的大量会话密钥,从而保留可测量的最终可预测性能(对于i/o)且更容易进行数据管理(备份)。分布式文件系统机制可提供db分发、复制和快照。单独的db文件可存储在分层目录结构中以便于管理。
[0120]
[0121][0122]
威胁模型
[0123]
·
设计机密仓库并保护包含在各种表数据储存库内的数据的安全考虑包括减轻可能的威胁,如下:
[0124]
·
威胁:攻击者使用远程rest接口获得对后端存储机制的访问。

减轻:公共互联网无法访问机密服务器。机密服务器部署在私有vpc后面。

减轻:对rest接口的访问需要认证。使用所指定的凭证模型来实现认证,其中所有rest用户都需要有效的凭证来执行任何动作。
[0125]
·
威胁:攻击者将新凭证添加到后端存储机制

减轻:新凭证只能由主凭证或客
户cpi添加
[0126]
·
威胁:攻击者覆写主凭证或cpi凭证

减轻:在创建期间,主凭证和cpi凭证被创建并被添加在一起,在该过程期间,每个凭证生成签名以确认凭证的完整性。

减轻:即使主凭证和cpi密钥能够被覆写,所有现有数据仍然是安全的,因为新凭证的差异,现有ppkp密钥将是不可访问的。
[0127]
·
威胁:攻击者试图强制使用会话密钥以获得对原始数据的访问。

减轻:仅使用安全加密算法(aes256或更好)
[0128]
·
威胁:攻击者破坏凭证来获得对一组安全密钥数据的访问。

减轻:这是难以检测的(除审计外)。然而,如果检测到的话,则可使用主凭证替换该凭证,并且还移除旧的封装ppkp。
[0129]
有利效果
[0130]
·
向每个服务提供商(其可以是主凭证的客户)分配唯一的保护身份(身份密钥对)。
[0131]
·
每个服务提供商都具有将保护机制/密钥(凭证)分配给他们唯一的保护身份(身份密钥对)的能力,从而使得只有他们可进行访问(任选地,甚至排除主凭证)。
[0132]
·
每个授权用户具有他自己对机密的一组访问权限和凭证。换句话说,存储身份密钥对的新加密私有密钥,以便具有凭证的每个用户访问身份密钥对。
[0133]
·
身份密钥对用来保护用于保护单独会话数据流的所有密钥。
[0134]
·
可向每个会话数据流分配用于保护敏感数据唯一机密密钥。
[0135]
·
不同的数据源或分类可用独立的机密密钥进行分类和保护。
[0136]
·
未经授权的个体无法访问用于保护敏感会话数据的机密密钥。
[0137]
·
保护过程独立于客户的其他数据流来保护个体(所识别的)用户的数据。
[0138]
·
所有会话和客户身份以及密钥可受保护并存储在安全的中央数据库(机密仓库)中,作为额外的保护步骤,该数据库可受访问控制机制保护。
[0139]
·
每个授权用户具有他们自己/独立的一组凭证和对材料的访问权限
[0140]
·
可对敏感数据执行完整性检查,以确保未发生篡改。
[0141]
·
以密码方式而不是根据软件逻辑角色/算法/基于规则的控制来执行加密。
[0142]
·
由于只有身份密钥对的私有密钥被封装,因此可在没有凭证的情况下插入和加密新的机密,然而,仅对于具有与对应的身份密钥对相关联的凭证的人来说,对机密的后续解密才是可能的。
[0143]
·
唯一凭证的概念有利于访问的创建和撤销,而不需要改变系统的任何其他方面。一旦移除了用户的身份密钥对,该用户就不能再访问任何机密。
[0144]
·
凭证和身份密钥对安全性的分离防止未经授权的访问,因为访问是以密码方式授予的,从而禁止后门访问。
[0145]
说明
[0146]
所描述的方法和系统可在任何合适的电子计算系统上使用。根据下面描述的实施方案,电子计算系统使用各种模块和引擎来使用本发明的方法。
[0147]
该电子计算系统可包括至少一个处理器、一个或多个存储器装置或用于连接到一个或多个存储器装置的接口、用于连接到外部装置以便使该系统能够从一个或多个用户或
外部系统接收指令并对指令进行操作的输入和输出接口、用于各种部件之间的内部和外部通信的数据总线,以及合适的电源。此外,该电子计算系统可包括用于与外部和内部装置通信的一个或多个通信装置(有线或无线),以及一个或多个输入/输出装置,诸如显示器、定点装置、键盘或打印装置。
[0148]
该处理器被布置为执行作为程序指令存储在存储器装置内的程序的步骤。该程序指令使得能够执行如本文所述的执行本发明的各种方法。该程序指令可使用任何合适的软件编程语言和工具包(诸如,例如基于c的语言和编译器)来开发或实现。此外,该程序指令可以以任何合适的方式存储,使得它们可转移到存储器装置或由处理器读取,诸如,例如存储在计算机可读介质上。计算机可读介质可以是用于有形地存储程序指令的任何合适的介质,诸如,例如固态存储器、磁带、光碟(cd-rom或cd-r/w)、存储卡、闪存存储器、光盘、磁盘或任何其他合适的计算机可读介质。
[0149]
该电子计算系统被布置为与数据存储系统或装置(例如,外部数据存储系统或装置)通信,以便检索相关数据。
[0150]
应当理解,本文所述的系统包括被布置为执行如本文所述的各种功能和方法的一个或多个元件。本文所述的实施方案旨在向读者提供组成系统的元件的各种模块和/或引擎可以如何互连以使得能够实现功能的示例。此外,本说明书的实施方案以系统相关的细节解释了如何执行本文所述的方法的步骤。提供概念图是为了向读者指示如何由各种不同模块和/或引擎在不同阶段处理各种数据元素。
[0151]
应当理解,模块或引擎的布置和构造可根据系统和用户需求而相应地调整,使得各种功能可由与本文所述的那些不同的模块或引擎来执行,并且某些模块或引擎可组合成单个模块或引擎。
[0152]
应当理解,所描述的模块和/或引擎可使用任何合适形式的技术来实现并设置有指令。例如,模块或引擎可使用以任何合适的语言编写的任何合适的软件代码来实现或创建,其中代码随后被编译以产生可在任何合适的计算系统上运行的可执行程序。可替代地或结合可执行程序,模块或引擎可使用硬件、固件和软件的任何合适的混合来实现。例如,模块的部分可使用专用集成电路(asic)、片上系统(soc)、现场可编程门阵列(fpga)或任何其他合适的自适应或可编程处理装置来实现。
[0153]
本文所述的方法可使用专门被编程为执行所述步骤的通用计算系统来实现。可替代地,本文所述的方法可使用专用电子计算机系统来实现,诸如数据分类和可视化计算机、数据库查询计算机、图形分析计算机、数据分析计算机、制造数据分析计算机、商业智能计算机、人工智能计算机系统等,其中计算机已特别适于对从与特定领域相关联的环境捕获的特定数据执行所述步骤。
[0154]
附图标记列表
[0155]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
14 群集管理
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
29 服务提供商
[0156]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
15 群集
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
30 主凭证
[0157]1ꢀꢀ
代理
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
16 数据流处理器
ꢀꢀꢀꢀꢀꢀ
31 事件数据流
[0158]
2 机密
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
17 机密仓库
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
32 视频流
[0159]3ꢀꢀ
私有/敏感
ꢀꢀꢀꢀꢀꢀꢀꢀ
18 数据收集器
ꢀꢀꢀꢀꢀꢀꢀꢀ
33 音频流
[0160]4ꢀꢀ
假名
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
19 分析模块
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
34 长期存储
[0161]5ꢀꢀ
匿名
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
20 分析任务引擎
ꢀꢀꢀꢀꢀꢀ
35 密钥管理器
[0162]6ꢀꢀ
元数据
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
21 代理服务器
ꢀꢀꢀꢀꢀꢀꢀꢀ
36 凭证管理器
[0163]7ꢀꢀ
ppkp
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
22 节点服务器
ꢀꢀꢀꢀꢀꢀꢀꢀ
37 凭证存储
[0164]8ꢀꢀ
身份密钥对
ꢀꢀꢀꢀꢀꢀꢀꢀ
23 视频主机
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
38 密钥对存储
[0165]9ꢀꢀ
机密密钥对
ꢀꢀꢀꢀꢀꢀꢀꢀ
24 存储区
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
39 机密存储
[0166]
10 凭证
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
25 分布式文件存储
ꢀꢀꢀꢀ
40 服务api
[0167]
11 机密密钥
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
26 报告模块
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
41 凭证控制器
[0168]
12 机密密钥db
ꢀꢀꢀꢀꢀꢀꢀꢀ
27 代理云
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
42 pem文件
[0169]
13 数据仓库
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
28 客户端接口
ꢀꢀꢀꢀꢀꢀꢀꢀ
43 服务密钥。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献