GitHub - International-Data-Spaces-Association/ids-clearing-house-serv

打印 上一主题 下一主题

主题 894|帖子 894|积分 2682

GitHub - International-Data-Spaces-Association/ids-clearing-house-service
This project is called the IDS Clearing House Service, a prototype implementation of the Industrial Data Space (IDS). It plays a key role in ensuring that data is encrypted, immutable, and secure. Here's a summary of what the project does, its requirements, and guiding principles:
Project Overview:



  • Purpose: The IDS Clearing House ensures that once data is logged into the system, it cannot be changed or deleted, creating a secure, tamper-proof log of transactions or data entries.
  • How It Works:

    • Immutable Logging: Each data entry is chained to the previous one using a hash function, making it impossible to change a previous log without breaking the chain.
    • Receipts for Auditing: A signed receipt is provided to the data sender, serving as proof that the data has not been altered since it was logged.

Architecture:

The system has two main parts:

  • Clearing House App: A REST API written in Rust that manages the business logic.
  • Clearing House Processors: A Java library that integrates with the Trusted Connector, providing endpoints for other IDS systems to communicate with the Clearing House.
Requirements:



  • Technologies:

    • OpenSSL for encryption.
    • MongoDB for database storage.
    • Trusted Connector (can be deployed using Docker).
    • Rust for the app, Java for the processors.

Guiding Principles:


  • Data Immutability: Once data is entered, it cannot be altered, ensuring trust in the system.
  • Trust & Security: The system integrates into the Trusted Connector, ensuring secure and valid data communication.
Configuration & Deployment:



  • Trusted Connector Configuration: Keys, certificates, and configuration files (such as keystore and truststore) are needed.
  • Docker: The system can be deployed in Docker containers, making it easy to set up and run the service.
In short, this project ensures tamper-proof data logging in a highly secure, trusted environment. It’s built using modern cryptographic techniques and requires secure configurations.

这个项目叫做 IDS Clearing House Service,是 工业数据空间(IDS) 的一个原型实现。它的主要作用是确保数据被安全加密、不可窜改,保证数据的真实性和可靠性。以下是项目的主要内容、需求和根本理念:
项目概述:



  • 目的: IDS Clearing House 通过创建一个防窜改的日记系统,确保一旦数据被记录,就无法被更改或删除。就像在银行的交易记录中,一旦某笔交易被记录下来,后续不能修改,如许才能保证交易的安全和可信。
  • 工作原理:

    • 不可窜改的日记记录: 每条数据通过哈希(雷同于给数据打上一个独一无二的指纹)和之前的数据条目链在一起。这就像是一本连续的账本,如果有人想修改其中某一页内容,后面全部的记录都会变得不一致,立刻就能发现异常。
    • 审计回执: 每次记录数据时,系统会给发送数据的人发一个带有署名和时间戳的回执,作为“证据”。就像你买东西后拿到的收据,它证明在某个时间点你确实购买了某件商品,后续任何修改都会被看出来。

系统架构:

这个系统有两个主要构成部门:

  • Clearing House 应用程序: 用 Rust 语言编写的一个 REST API,负责处理系统的核心业务逻辑。
  • Clearing House 处理器: 一个用 Java 编写的库,它将这个应用程序与 Trusted Connector(信托毗连器) 结合起来。这个“信托毗连器”相称于系统内的守门员,帮助不同的系统之间安全地互换数据。
系统需求:



  • 必要用到的技术:

    • OpenSSL:用来加密数据,保证传输过程中数据不被窃取或修改。
    • MongoDB:作为数据库,用于存储日记记录。
    • Trusted Connector(信托毗连器):可以使用 Docker 来简化部署。
    • Rust 和 Java:分别用于开发应用程序和处理器。

根本理念:


  • 数据不可更改性: 数据一旦进入系统,任何人都无法修改。这是为了确保系统的信托度,就像账本里的每一笔记录都是不可窜改的,确保数据的完整性。
    举例: 假设你把一条重要的交易记录存入系统,然后有人试图修改这条记录。由于每一条数据都是相互关联的,窜改后的数据会让整个链条断裂,就像在账本中撕掉一页,立刻会被发现。
  • 信托与安全性: 系统通过与 Trusted Connector 集成,保证数据的传输安全,就像银行系统中的防火墙,确保数据只有在验证通过后才能传递。
配置与部署:



  • Trusted Connector 的配置: 系统必要设置一系列的密钥和证书(雷同于开门的钥匙和锁),确保只有得到授权的用户才能访问和操作数据。
  • Docker 部署: 使用 Docker 容器技术,可以快速部署和运行整个系统。Docker 就像是一个虚拟的小堆栈,能够把全部的程序和设置打包好,随时可以在不同的地方运行,方便管理。
总结:

这个项目的核心目的是在一个高度安全、可信的情况中,保证数据记录的防窜改性。通过使用加密技术和严密的日记系统,确保每一条数据都是真实的、不可更改的。这对于任何必要保护数据完整性的系统来说都非常重要。

阐明:

一、清晰解读:哈希和数据链条的原理

1. 哈希天生和数据链条:

每一条记录都会天生一个哈希值(独特的“暗码”)。每条记录的哈希值是根据当前的内容 和前一条记录的哈希值 共同计算出来的。这就像一个链条一样,把全部的记录连在一起,确保每条记录都与前面的记录细密关联。
2. 检查哈希值是否精确:

当你想要验证某个记录(比如第二天花了多少钱)是否被窜改时,你只必要从第一条记录开始,依次重新计算每一条记录的哈希值,并和之前存储的哈希值举行对比。


  • 举例: 如果某人偷偷把第二天的消费从50元改成500元,那第二天的哈希值会发生变革。比如,原来第二天的哈希值是“xyz789”,但修改后会变成一个新的值,比如“lmn123”。
  • 由于第三天的记录依赖于第二天的哈希值(“xyz789”),一旦第二天的哈希值被窜改,第三天的哈希值也会错误。这个错误会像连锁反应一样影响全部后续的记录。
3. 如何发现窜改?

你可以从头开始,依次检查每一天的记录:


  • 重新计算第一天的哈希值,然后比对它是否和之前记录的哈希值一致。如果一致,就证明第一天的数据没问题。
  • 接着计算第二天的哈希值。如果有人修改了第二天的消费数据,那么你重新计算出来的哈希值(比如“lmn123”)就和之前存储的哈希值(“xyz789”)不一致,这时你就能发现有人窜改了第二天的数据。
  • 由于第三天的数据依赖于第二天的哈希值,第三天的哈希值也会不对,如许后续全部的记录都会堕落。因此,一旦发现某天的哈希不一致,后面的记录就全都会受到影响。
 
二、数字署名的原理:

数字署名依赖于非对称加密技术,通常涉及两个密钥:私钥公钥

  • 私钥:由数据的发送者持有,用于天生署名。私钥是保密的,只有署名者本身知道。
  • 公钥:公开给全部人,用于验证署名的真实性。公钥可以用来解密署名,验证是否是由发送者用对应的私钥署名的。
署名的天生与验证过程:


  • 天生署名(发送端)

    • 当发送者要发送一份数据时,起首通过哈希算法对这份数据计算出一个哈希值(也就是数据的“指纹”)。
    • 然后,发送者使用本身的私钥对这个哈希值举行加密,天生一个数字署名
    • 末了,发送者将数据和这个署名一起发送给接收者。

  • 验证署名(接收端)

    • 接收者收到数据和署名后,起首用发送者的公钥解密署名,得到加密前署名的哈希值。
    • 接着,接收者会本身对收到的数据再计算一次哈希值。
    • 如果接收者本身计算出的哈希值与从署名中解密得到的哈希值一致,就阐明数据在传输过程中没有被窜改,且确实是由发送者签署的。

三、Clearing House 应用程序的核心业务逻辑

1. 日记记录(Logging Service)



  • 功能:这是 Clearing House 的核心功能之一,用来记录每个系统交互或数据处理的日记条目。这些日记会被加密存储,且每个日记条目都会通过哈希函数与前一个条目链接在一起,形成一个不可更改的链条。
  • 必要性:确保每一个数据变更都有据可查,防止数据被窜改。如果有人试图窜改历史数据,哈希链条会表现不一致,从而暴露问题。这对于审计和合规要求至关重要。
2. 数据不可窜改性



  • 功能:通过哈希链的方式确保数据在进入系统后,不能被修改或删除。每条记录都依赖于前一条记录的哈希值,窜改一条记录会导致后续全部记录的哈希值出现异常。
  • 必要性:防止恶意用户或内部人员窜改数据。不可窜改的特性对于金融、工业、医疗等对数据安全要求较高的范畴尤为重要。
3. 署名和回执(Receipts and Signatures)



  • 功能:每当一个 IDS 毗连器与 Clearing House 举行数据交互时,系统会天生一个署名回执,确认此次交互的发生时间和状态。回执带有署名和时间戳,记录了交易的哈希值。
  • 必要性:这些署名回执就像收据一样,用于证明某个操作已经发生且未被窜改。它不仅保护发送者和接收者双方的长处,还能用于审计和合规性检查,提供法律上的证据。
4. 数据加密存储



  • 功能:系统会对全部存储的数据举行加密处理,确保数据在数据库中保存时是安全的。即使物理访问数据库的人,也无法直接读取数据内容。
  • 必要性:防止数据泄漏。如果系统被入侵或数据库被偷取,数据的加密保证了即使攻击者得到了数据库内容,他们仍旧无法容易读取或使用这些数据。
5. 安全通讯接口



  • 功能:Clearing House 应用程序通过 REST API 提供数据访问和交互的接口,这些接口通过安全协议(如 HTTPS)来保证数据在传输过程中的安全性。同时,全部通讯都必要经过身份验证和授权机制。
  • 必要性:防止数据在传输过程中被拦截或窜改。通过安全的 API 接口,确保只有经过身份验证的系统或用户能够与 Clearing House 交互,防止未经授权的访问。


Trusted Connector(信托毗连器) 是你在数据空间(例如工业数据空间Eclipse Dataspace Components)中设计的 Connector 的一种特定实现,它专门用于确保数据传输过程中的安全性和可信度。
四、Trusted Connector:


  • 安全传输:它确保数据在不同的参与方(数据提供者和数据消费者)之间安全地传输。它使用强盛的加密技术来保护数据免受未经授权的访问和窜改,同时确保传输数据的真实性。
  • 身份验证与授权:Trusted Connector 包含身份验证和授权机制,确保只有可信的参与方可以访问和处理数据。它通常与**DAPS(动态属性代理服务)**结合使用,以确保数据参与方的身份是经过认证的,并且他们有权访问相关数据。
  • 合规性和审计:Trusted Connector 还能记录和监控全部数据交互的过程,提供审计日记以确保合规性。这对涉及敏感数据的行业(如金融、医疗、工业)特别重要,能够满足法规要求。
  • 与 Clearing House 的集成:在 Clearing House 中,Trusted Connector 是其中的一个重要组件,负责与其他系统安全地交互数据。Clearing House 依赖 Trusted Connector 来保证数据日记的安全传输和署名验证,确保数据不可窜改。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表