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

implement signature support for get/put data #3

Open
thomasdelaet opened this issue Jul 10, 2016 · 1 comment
Open

implement signature support for get/put data #3

thomasdelaet opened this issue Jul 10, 2016 · 1 comment

Comments

@thomasdelaet
Copy link
Member

If I put a value, it should be signed with my own public key. If we enable encryption on the transport protocol of KAD, other hosts can reject all values that are being PUT from a connection that doesnt match the signature of the value that is being PUT. In addition: - If the key is the public Key itself, we can also reject any signature that doesnt match the public key (only relevant for publishing connectionInfo, not for lookup of email addresses).

probably makes sense to include nonce

@thomasdelaet
Copy link
Member Author

Assume that a PUT contains key => value mapping where value is a dictionary with the following keys:

  • payload: actual data
  • nonce: expiration time
  • signature: elliptic curve signature
  • signID: public key of signer

When you do a get and have a result returned you verify:

  • that signature is valid
  • that expiration time is not yet reached
  • potentially using access control list you can check boxId by conerting signId to boxID

@thomasdelaet thomasdelaet removed this from the v1 milestone Sep 3, 2016
@thomasdelaet thomasdelaet changed the title implement encryption support implement signature support for get/put data Sep 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant