GitHub - International-Data-Spaces-Association/ids-clearing-house-service 项目入门中英双语说明

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:

    1. 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.
    2. 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:

  1. Clearing House App: A REST API written in Rust that manages the business logic.
  2. 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:
  1. Data Immutability: Once data is entered, it cannot be altered, ensuring trust in the system.
  2. 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 通过创建一个防篡改的日志系统,确保一旦数据被记录,就无法被更改或删除。就像在银行的交易记录中,一旦某笔交易被记录下来,后续不能修改,这样才能保证交易的安全和可信。

  • 工作原理:

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

这个系统有两个主要组成部分:

  1. Clearing House 应用程序: 用 Rust 语言编写的一个 REST API,负责处理系统的核心业务逻辑。
  2. Clearing House 处理器: 一个用 Java 编写的库,它将这个应用程序与 Trusted Connector(信任连接器) 结合起来。这个“信任连接器”相当于系统内的守门员,帮助不同的系统之间安全地交换数据。
系统需求:
  • 需要用到的技术:
    • OpenSSL:用来加密数据,保证传输过程中数据不被窃取或修改。
    • MongoDB:作为数据库,用于存储日志记录。
    • Trusted Connector(信任连接器):可以使用 Docker 来简化部署。
    • Rust 和 Java:分别用于开发应用程序和处理器。
基本理念:
  1. 数据不可更改性: 数据一旦进入系统,任何人都无法修改。这是为了确保系统的信任度,就像账本里的每一笔记录都是不可篡改的,确保数据的完整性。

    举例: 假设你把一条重要的交易记录存入系统,然后有人试图修改这条记录。因为每一条数据都是相互关联的,篡改后的数据会让整个链条断裂,就像在账本中撕掉一页,马上会被发现。

  2. 信任与安全性: 系统通过与 Trusted Connector 集成,保证数据的传输安全,就像银行系统中的防火墙,确保数据只有在验证通过后才能传递。

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

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

说明:

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

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

每一条记录都会生成一个哈希值(独特的“密码”)。每条记录的哈希值是根据当前的内容 和前一条记录的哈希值 共同计算出来的。这就像一个链条一样,把所有的记录连在一起,确保每条记录都与前面的记录紧密关联。

2. 检查哈希值是否正确:

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

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

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

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

 

二、数字签名的原理:

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

  1. 私钥:由数据的发送者持有,用于生成签名。私钥是保密的,只有签名者自己知道。

  2. 公钥:公开给所有人,用于验证签名的真实性。公钥可以用来解密签名,验证是否是由发送者用对应的私钥签名的。

签名的生成与验证过程:
  1. 生成签名(发送端)

    • 当发送者要发送一份数据时,首先通过哈希算法对这份数据计算出一个哈希值(也就是数据的“指纹”)。
    • 然后,发送者使用自己的私钥对这个哈希值进行加密,生成一个数字签名
    • 最后,发送者将数据和这个签名一起发送给接收者。
  2. 验证签名(接收端)

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

三、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:

  1. 安全传输:它确保数据在不同的参与方(数据提供者和数据消费者)之间安全地传输。它使用强大的加密技术来保护数据免受未经授权的访问和篡改,同时确保传输数据的真实性。

  2. 身份验证与授权:Trusted Connector 包含身份验证和授权机制,确保只有可信的参与方可以访问和处理数据。它通常与**DAPS(动态属性代理服务)**结合使用,以确保数据参与方的身份是经过认证的,并且他们有权访问相关数据。

  3. 合规性和审计:Trusted Connector 还能记录和监控所有数据交互的过程,提供审计日志以确保合规性。这对涉及敏感数据的行业(如金融、医疗、工业)特别重要,能够满足法规要求。

  4. 与 Clearing House 的集成:在 Clearing House 中,Trusted Connector 是其中的一个重要组件,负责与其他系统安全地交互数据。Clearing House 依赖 Trusted Connector 来保证数据日志的安全传输和签名验证,确保数据不可篡改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值