Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add documentation for ATL-4299 #36

Merged
merged 4 commits into from
Jul 10, 2023
Merged

Conversation

FabioPinheiro
Copy link
Contributor

@FabioPinheiro FabioPinheiro commented Jul 5, 2023

doc: add documentation for ATL-4299

Add documentation for ATL-4299

@github-actions
Copy link

github-actions bot commented Jul 5, 2023

Integration Test Results

8 tests  +8   8 ✔️ +8   18s ⏱️ +18s
4 suites +4   0 💤 ±0 
4 files   +4   0 ±0 

Results for commit 8c8cea6. ± Comparison against base commit bf19538.

♻️ This comment has been updated with latest results.

@FabioPinheiro FabioPinheiro changed the title [WIP] doc: add documentation for ATL-4299 doc: add documentation for ATL-4299 Jul 7, 2023
README.md Outdated
Comment on lines 38 to 49

- Message routing: The sender sends the encrypted message to the Mediator. The Mediator acts as a routing agent, receiving messages from one entity, decrypted one layer and forwarding them to the intended recipient based on their DID.
- Mediation process: The Mediator verifies the authenticity and integrity of the incoming message by checking the digital signature attached to it. This signature ensures that the message was indeed sent by the claimed sender and that it hasn't been tampered with during transmission.

- Message decryption: After verifying the message's authenticity, the Mediator decrypted one layer of the message using the mediator's private key, which is securely held by the mediator. Once decrypted, the next message becomes readable (the final planetext intended for the final user it's still encrypted).
- Optional processing: The Mediator may perform additional processing on the message based on predefined rules or business logic. This could include applying filters, applying policies, or invoking external services.
- Message forwarding: If necessary, the Mediator can further forward the decrypted message to additional entities in the communication flow. This enables multi-party communication scenarios.

By acting as an intermediary, the DID Comm v2 Mediator helps facilitate secure and private communication between entities while leveraging the decentralized nature of DIDs and cryptographic techniques to ensure authenticity, integrity, and confidentiality of the messages exchanged.

The mediator is especially useful when the edge entities are not always online, like mobile devices. Usually, we can assume that the mediator is always online.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below i got revised from chat GPT

Message routing: The sender transmits an encrypted message to the Mediator, which serves as a routing agent. In this role, the Mediator receives messages from the sender, decrypts one layer, and forwards them to the appropriate recipient based on the recipient’s DID.

Mediation process: The Mediator validates the authenticity and integrity of the incoming message by examining the attached digital signature. This verification process ensures that the message was genuinely sent by the sender it purports to come from and that it has not been altered during transmission.

Message decryption: Upon confirming the authenticity of the message, the Mediator decrypts one layer of encryption using its private key, which is securely stored. This decryption makes the next layer of the message readable, although the final plaintext intended for the end user remains encrypted.

Optional processing: The Mediator has the capability to conduct additional processing on the message according to predefined criteria or business logic. This may include applying filters, enforcing policies, or utilizing external services.

Message forwarding: When required, the Mediator can also relay the decrypted message to further participants in the communication process. This is particularly useful in scenarios involving communication among multiple parties.

As an intermediary, the DID Comm v2 Mediator is instrumental in ensuring secure and private communication between entities. By capitalizing on the decentralized nature of DIDs coupled with cryptographic techniques, it guarantees the authenticity, integrity, and confidentiality of the messages being exchanged.

Additionally, the Mediator proves to be invaluable in instances where edge entities may not maintain a consistent online presence, such as mobile devices. In contrast, the Mediator is typically expected to be online at all times.

README.md Outdated

- Establishing logical connections: The Mediator enables entities (such as individuals or organizations) to establish secure connections with each other. Each entity has a unique DID that serves as its identifier on the decentralized network.
- DID resolution: When an entity wants to communicate with another entity, it resolves the recipient's DID to obtain the necessary information to establish a connection. The resolution process involves retrieving the recipient's public key and associated metadata from a decentralized identity infrastructure, such as a blockchain or a distributed ledger.
- Message encryption: The sender encrypts the message two times (one for the final receiver and then warp the encrypted message and encrypt again to Mediator) using the mediator's and recipient's public key obtained during the DID resolution process. This ensures that only the intended recipient can decrypt and read the message.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warp -> wrap

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DID Comm v2 (Decentralized Identifiers Communication Version 2) is a protocol engineered for secure, private, and decentralized communications between various entities utilizing decentralized identifiers (DIDs). A DID Comm v2 Mediator functions as an intermediary in the communication process, streamlining the exchange of messages among the involved parties.

Chat GPT

Establishing Logical Connections: The Mediator empowers entities, which could be individuals or organizations, to forge secure connections amongst themselves. Each entity possesses a unique DID that acts as its identifier within the decentralized network.

DID Resolution: When an entity seeks to communicate with another, it resolves the recipient's DID to procure the information necessary to establish a connection. This resolution procedure entails retrieving the recipient's public key and correlated metadata from decentralized identity infrastructure, which could be a blockchain or distributed ledger.

Message Encryption: The sender employs a double encryption technique for the message: initially for the ultimate receiver, and subsequently encapsulates the encrypted message within another encryption layer for the Mediator. This is achieved using the public keys of both the Mediator and the recipient obtained through the DID resolution process. The dual encryption ensures that only the intended recipient has the capacity to decrypt and access the message.

@FabioPinheiro FabioPinheiro merged commit 4189d73 into main Jul 10, 2023
@FabioPinheiro FabioPinheiro deleted the documentation-ATL-4299 branch July 10, 2023 09:51
mineme0110 pushed a commit that referenced this pull request Apr 30, 2024
Add documentation for ATL-4299
mineme0110 pushed a commit that referenced this pull request Apr 30, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio <Pinheiro>
mineme0110 pushed a commit that referenced this pull request May 1, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio <Pinheiro>
mineme0110 pushed a commit that referenced this pull request May 1, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio Pinheiro <fabiomgpinheiro@gmail.com>
mineme0110 pushed a commit that referenced this pull request May 1, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio Pinheiro <fabiomgpinheiro@gmail.com>
Signed-off-by: mineme0110 <shailesh.patil@iohk.io>
mineme0110 pushed a commit that referenced this pull request May 1, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio Pinheiro <fabiomgpinheiro@gmail.com>

Signed-off-by: Shailesh Patil <shailesh.patil@iohk.io>
mineme0110 pushed a commit that referenced this pull request May 1, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio Pinheiro <fabiomgpinheiro@gmail.com>

Signed-off-by: Shailesh Patil <shailesh.patil@iohk.io>
mineme0110 pushed a commit that referenced this pull request May 1, 2024
Add documentation for ATL-4299

Signed-off-by: Fabio Pinheiro <fabiomgpinheiro@gmail.com>

Signed-off-by: Shailesh Patil <shailesh.patil@iohk.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants