Skip to content
This repository has been archived by the owner on Dec 26, 2022. It is now read-only.

Implement key exchange mechanism to exchange seed of MAM #560

Open
howjmay opened this issue Apr 13, 2020 · 8 comments
Open

Implement key exchange mechanism to exchange seed of MAM #560

howjmay opened this issue Apr 13, 2020 · 8 comments
Labels
A-mam Area - MAM A-utils Area - Utils C-feature Category - feature P-high Priority - High, important issues or features

Comments

@howjmay
Copy link
Contributor

howjmay commented Apr 13, 2020

DH agreement allows TA and its clients to share the same seed without unveiling the seed or transmitting it.
We need to implement DH agreement for MAM.

@howjmay howjmay added P-high Priority - High, important issues or features C-feature Category - feature A-mam Area - MAM A-utils Area - Utils labels Apr 13, 2020
@howjmay
Copy link
Contributor Author

howjmay commented Apr 14, 2020

The spec of DH agreement standard is here:
https://tools.ietf.org/html/rfc2631

@howjmay
Copy link
Contributor Author

howjmay commented Apr 14, 2020

The shared secrect number can be used as the cryptographic seed which can generate IOTA seed.

  1. We could use some usual cryptographic algorithm to hash the initial shared secrect
  2. Then we can use Curl (IOTA hash function) to hash the result from the first stage into the IOTA seed in assigning length.

@howjmay
Copy link
Contributor Author

howjmay commented Apr 14, 2020

There is implementaiton in mbedtls. Here is the source code that genrates keys for DH agreement
https://github.com/ARMmbed/mbedtls/blob/master/programs/pkey/dh_genprime.c

@howjmay
Copy link
Contributor Author

howjmay commented Apr 14, 2020

To support this implementation, the thirt-party gitmodule mbedtls will be moved to root thirt-party

@howjmay howjmay changed the title Implement DH agreement for generating seed of MAM Implement key exchange mechanism to exchange seed of MAM Jun 21, 2020
@howjmay
Copy link
Contributor Author

howjmay commented Jun 21, 2020

We will use asymmetric encryption to exchange seed instead of DH agreement.

howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 29, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
@howjmay
Copy link
Contributor Author

howjmay commented Jul 29, 2020

ECDH and ECDSA will be used to construct station to station protocol

@howjmay
Copy link
Contributor Author

howjmay commented Jul 29, 2020

The shared secret of ECDH would be used to generate AES key. In this way, even we found out we shared the secret with malicious attacker, the user can change to the other share secret to generate the other AES key.

howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Jul 31, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 10, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 17, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 17, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 17, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 19, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 19, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 20, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 20, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 20, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 20, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 20, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 20, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 24, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Aug 24, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Sep 18, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Sep 21, 2020
Register user identity with MAM channel seed. The return user ID is
an UUID.

Asymmetric encryption for key exchange will be implemented in the
coming PR.

For DLTcollab#560
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Sep 21, 2020
howjmay added a commit to howjmay/tangle-accelerator that referenced this issue Oct 5, 2020
splasky pushed a commit to howjmay/tangle-accelerator that referenced this issue Dec 28, 2020
splasky pushed a commit to howjmay/tangle-accelerator that referenced this issue Dec 30, 2020
splasky pushed a commit to howjmay/tangle-accelerator that referenced this issue Dec 30, 2020
splasky pushed a commit to howjmay/tangle-accelerator that referenced this issue Dec 30, 2020
splasky pushed a commit to howjmay/tangle-accelerator that referenced this issue Dec 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-mam Area - MAM A-utils Area - Utils C-feature Category - feature P-high Priority - High, important issues or features
Projects
None yet
Development

No branches or pull requests

1 participant