当前位置: 首页 > article >正文

IDS Clearing House Core 项目入门

IDS Clearing House 核心由两个微服务组成:Document APIKeyring API。它们共同支持 Clearing House 服务,这是工业数据空间中 Clearing House 组件的一个原型实现。Clearing House 的主要功能是提供一个可以存储和检索数据的 API,所有的数据都经过加密处理,并且几乎无法被篡改。

核心服务及功能
  1. Document API

    • 功能:Document API 负责存储数据,并执行基础的加密和解密工作。它依赖于 Keyring API 来完成这些操作。Document API 的配置文件 Rocket.toml 需要包含数据库和其他服务的 URL 地址。
    • 必要性:Document API 是处理数据存储的关键接口,它负责确保数据在存储和传输过程中是安全的。它通过与 Keyring API 协作,确保数据以加密的方式安全存储,防止数据泄漏或被篡改。
  2. Keyring API

    • 功能:Keyring API 负责生成加密所需的密钥,并执行数据的加密和解密工作。它通过配置文件 Rocket.toml 进行配置,并需要一个数据库来存储文档类型和主密钥。这个 API 的核心作用是管理加密和解密过程。
    • 必要性:Keyring API 是整个系统的安全基础,负责生成并管理加密密钥。它保证了即使数据被不当获取,也无法被解密或篡改。
核心配置要求:
  • OpenSSL:用于支持数据的加密操作,确保数据传输和存储的安全性。
  • MongoDB:作为数据库存储加密的数据文档和密钥。
  • DAPS(动态属性代理服务):用于验证 API 交互中的身份凭证,确保所有参与方的身份都是可信的。
Docker 容器化部署:

Document API 和 Keyring API 可以通过 Docker 容器进行部署,提供了一个简化的运行环境。系统需要配置 Rocket.toml 文件,以正确指定服务和数据库的 URL 地址,并确保证书目录配置正确。

2. Document API 和 Keyring API 关系?

这两个 API 是 Clearing House Core 的核心组件,它们一起工作,确保数据存储和加密处理。

  • Document API:负责处理数据存储,确保数据被安全存放,并执行一些简单的加密和解密工作。

    • 作用:把你要保存的数据存储到数据库中,并对数据进行加密,确保数据存储时是安全的。
    • 依赖:它需要依赖 Keyring API 来完成加密和解密操作。
  • Keyring API:这个 API 专门处理加密和解密工作,并管理加密的密钥。

    • 作用:负责创建和管理用于加密的“密钥”(类似于锁和钥匙中的钥匙),确保数据被正确加密,只有有权限的人才能解密。
    • 依赖:它也需要依赖 MongoDB 数据库来存储加密密钥和相关信息。

简单来说,Document API 是管数据存储的,而 Keyring API 是管加密的。它们两者配合,确保数据存储和传输过程中的安全性。

3. MongoDB 是?

MongoDB 是用来存储数据的数据库。在这个系统中,它被用于存储加密后的数据和加密密钥。

  • 作用:Document API 和 Keyring API 都依赖 MongoDB 来存储加密后的数据和加密所需的密钥信息。
    • Document API:把加密的数据存到 MongoDB 里。
    • Keyring API:把加密密钥和文档类型等信息也存到 MongoDB 里。

4. OpenSSL 是?

OpenSSL 是一个用来加密数据的工具库。它为系统提供了基本的加密操作,确保数据在传输和存储时都是加密的,防止被第三方截获和篡改。

  • 作用:Keyring API 和 Document API 都依赖 OpenSSL 来完成加密和解密操作。

5. DAPS 是?

DAPS(动态属性代理服务)是用来做身份验证的,确保系统中每个参与方的身份都是经过认证的。换句话说,它确保只有经过验证的用户或系统才能访问和处理数据。

  • 作用:Document API 和 Keyring API 在处理数据时,会通过 DAPS 验证访问者的身份,确保只有可信的系统或用户才能处理这些数据。

6. Rocket.toml 配置文件

这是一个配置文件,用于设置 API 的运行参数,比如 MongoDB 数据库的地址、DAPS 服务的 URL 等。

  • 作用:Document API 和 Keyring API 需要通过这个文件来设置数据库和服务的连接信息,确保它们知道数据应该保存在哪里,以及如何与其他服务进行交互。

关联与总结:

  1. Document APIKeyring API 是核心组件,Document API 管数据存储,Keyring API 管加密。
  2. MongoDB 是它们存储数据和密钥的地方。
  3. OpenSSL 提供加密支持,确保数据传输和存储时都是加密的。
  4. DAPS 负责身份验证,确保只有经过认证的参与者才能操作数据。
  5. Rocket.toml 是一个配置文件,告诉系统这些服务和数据库怎么连接。


Further:

DAPS

DAPS(Dynamic Attribute Provisioning Service,动态属性代理服务) 在整个系统中的角色是身份验证和授权,它的主要作用是确保参与数据交换的每一个系统或用户都是经过验证的,且拥有相应的权限。可以将 DAPS 想象成一个“门卫”或者“检查员”,它在数据交互过程中负责检查每个参与方的身份权限

DAPS 的核心功能和作用

1. 身份验证(Authentication)

DAPS 的主要任务之一是验证系统或用户的身份,确保只有可信的参与方可以加入到数据传输中。它会生成一个DAPS 令牌(Token),这个令牌类似于一种数字身份证,证明请求方是可信的。

  • 举例说明:假设你有一个系统需要访问或者存储数据,系统会先向 DAPS 申请一个令牌。DAPS 会根据该系统的身份信息(如证书等)来确认它是否可信。如果确认无误,DAPS 会发放一个签名的令牌作为证明,表示这个系统是经过认证的。
2. 授权(Authorization)

除了验证身份外,DAPS 还负责检查参与方是否拥有执行某个操作的权限。这意味着,即使身份通过验证,也要确保请求方有权限访问或处理特定的数据。

  • 举例说明:你有一个经过认证的系统,它要向另一个系统请求数据,DAPS 不仅会检查它的身份,还会检查它是否有权限请求这些数据。只有通过 DAPS 的授权检查,系统才能访问数据。
3. 令牌的发放与验证

DAPS 发放的令牌会带有时间戳、签名等信息,确保令牌在一定时间内是有效的。当另一个系统收到请求时,它会通过 DAPS 检查这个令牌是否有效、是否过期,从而决定是否允许该请求进行数据交互。

  • 令牌的验证过程:当 Document API 或 Keyring API 收到请求时,它会检查请求方的令牌,验证令牌是否是由 DAPS 发放的、是否在有效期内。如果令牌无效或过期,系统将拒绝请求。
4. 动态属性验证

DAPS 还可以根据上下文环境动态调整权限。这意味着,DAPS 可以基于当前的操作或环境,对请求方的权限进行更细致的管理。比如,某个用户在特定的情况下可能有权限访问某些数据,但在其他情况下可能没有权限。

DAPS 在系统中的重要性

  • 安全性保障:通过 DAPS,系统确保只有经过认证的参与者才能访问数据,防止恶意攻击者伪装身份进入系统。

  • 防止未授权访问:DAPS 还确保只有拥有相应权限的参与者才能执行某些操作,这避免了即使身份验证通过的情况下,未经授权的访问行为。

  • 可追溯性:每一个令牌都有明确的来源和时间戳,确保可以追踪每个操作的来源,从而为审计和合规性提供支持。

具体在 Clearing House 中的角色

Clearing House Core 中,DAPS 负责确保所有与 Document APIKeyring API 交互的参与者身份都是可信的,并且拥有操作数据的权限。这是通过为每一个请求生成和验证 DAPS 令牌来实现的。

举例流程:
  1. 系统 A 想要请求 Document API 存储数据。
  2. 系统 A 首先向 DAPS 请求一个令牌,DAPS 验证系统 A 的身份并生成一个令牌。
  3. 系统 A 带着这个令牌请求 Document API。
  4. Document API 收到请求后,先检查这个令牌的有效性,确认系统 A 是否有权限存储数据。
  5. 如果验证通过,Document API 就允许请求,存储数据;否则请求被拒绝。

总结:

DAPS 是系统中的安全守护者,它负责验证和授权所有数据交互中的参与者,确保系统的每个操作都是可信且经过授权的。通过 DAPS 的身份验证和授权机制,系统能够在数据传输和处理过程中保持高度的安全性,防止未经授权的访问或篡改。


http://www.kler.cn/news/306737.html

相关文章:

  • 【云原生监控】Prometheus监控系统
  • Python [ GUI编程自学 ],虽然但是,还是想出一个系列
  • 完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (四) 运行、调试、各种问题解决
  • ai智能电销机器人是新科技产业
  • charls基于夜神模拟器抓取安卓7.0应用程序https请求
  • 数据结构 Java DS——分享部分链表题目 (2)
  • Linux下的简单TCP客户端和服务器
  • [论文笔记] LLM大模型剪枝篇——4、Qwen2系列剪枝实现
  • Android Radio2.0——电台动态列表(六)
  • 查看TCP/UDP网络连接通信情况
  • PostgreSQL配置主从同步
  • docker构建镜像环境搭建深度学习开发环境
  • 简单说说关于shell中zsh和bash的选择
  • 基于Keil软件实现读写备份寄存器(江协科技HAL库)
  • Edge浏览器设置夜间模式/深色模式
  • OpenCV高阶操作
  • 1.使用 VSCode 过程中的英语积累 - File 菜单(每一次重点积累 5 个单词)
  • 【AI大模型-什么是大模型】
  • 03 战略的本质与实践 - 战略管理实践的启示
  • k8s独立组件ingress,七层转发
  • \section*{References}为什么需要加*
  • DAY20240909 VUE:编程式导航,动态路由,命名路由
  • DeepGaitV2:显式时间建模,CNN和Transformer在步态任务上的影响
  • 设计模式 23 访问者模式
  • Wophp靶场寻找漏洞练习
  • 从OracleCloudWorld和财报看Oracle的转变
  • 苏州科技大学、和数联合获得国家知识产权局颁发的3项发明专利证书
  • 计算机毕业设计 在线新闻聚合平台的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
  • C++复习day12
  • Android桌面(Launcher)源码分析