Git Product home page Git Product logo

draft-sullivan-tls-opaque's People

Contributors

chris-wood avatar grittygrease avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

draft-sullivan-tls-opaque's Issues

Pre-hashing note from Hugo

You now have:
K = H(g^y ^ PrivU || PubU ^ x || PubS ^ PrivU || IdU || IdS )
S computes K = H(g^x ^ PrivS || PubS ^ y || PubU ^ PrivS || IdU || IdS )
I suggested removing the H and entering the concatenation of values

g^y ^ PrivU || PubU ^ x || PubS ^ PrivU || IdU || IdS

into the HKDF derivation of Master Secret (instead of the 0).,

Add text around server identity

IdU, IdS represent the identities of user (sent as identity in PAKEShareClient) and server (Certificate message).

What happens when there is no certificate?
Moreover, I think that for the sake of OPAQUE, the server identity needs to be set at the time of password registration and included in Env. A name in a certificate, if sent, maybe something the server sends momentarily and unrelated to the identity of the server the user would recognize (e.g., citibank.com) at time of password registration.
In the case that certificate-based authentication is included in addition to OPAQUE authentication then the name in the certificate will be authenticated via the regular certificate based authentication (essentially by including the certificate name under the Finished msg, following the SIGMA logic).

Idea from Hugo about optimizing computation

if PAKEShareServer is sent unencrypted then instead of inputting the value K (in both 3DH and HMQV) in lieu of the 0 in 0 -> HKDF-Extract = Master Secret, we would input it instead of (EC)DHE thus saving the computation g^xy . This is a performance and security gain (and is more elegant).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.