Electing to exchange personally identifiable information via waku. Need to address:
Privacy - PII sent should only be readable by the receiver.
Ephemeral - PII should not be stored on any intermediate platform, even if encrypted. It should only reside at both the sender and receiver.
Solution
Alice books a stay at Bob's guesthouse. After Alice makes the deal, and pays for her stay, she sends her personal details directly to Bob so that they can remain in contact.
Alice fills out a form with her contact information.
Alice's information, along with the stub to which the information belongs to, is placed in a PII protobuf message.
The PII message is encrypted with Bob's public key, and placed in the payload of a PIIESend message.
Alice's signature of the unencrypted PII protobuf is placed in the PIISend message.
Alice encrypts with Bob's public key a random content topic for which Bob can acknowledge receipt of the personal information.
The entire PIIESend message is sent to Bob who is listening on content topic /videre/stays/1/piie/<service provider id>/proto
Bob receive's Alice's PIIESend message, and decrypts the payload with his private key.
Bob verifies the payload is correct against the signature from which he recover's Alice's address.
Bob check's that Alice's address owns the stub that she is accertaining the private information for.
Bob decrypts the ackTopic with his private key, and send a PIIEAck message to Alice, confirming that he received her PII.
Problem
Electing to exchange personally identifiable information via
waku
. Need to address:Solution
Alice books a stay at Bob's guesthouse. After Alice makes the deal, and pays for her stay, she sends her personal details directly to Bob so that they can remain in contact.
stub
to which the information belongs to, is placed in aPII
protobuf message.PII
message is encrypted with Bob's public key, and placed in thepayload
of aPIIESend
message.PII
protobuf is placed in thePIISend
message.PIIESend
message is sent to Bob who is listening on content topic/videre/stays/1/piie/<service provider id>/proto
PIIESend
message, and decrypts the payload with his private key.ackTopic
with his private key, and send aPIIEAck
message to Alice, confirming that he received her PII.