Many site use time-based one time password (totp) as second factor auth method, such as aws.

So we can split the totp secret and distribute each part to different party to achieve threshold login ( need at least k parties to login ).

We can split secret using shamir secret share scheme, but the problem is when we need to get current pin, we need to reconstruct the secret. Is there any method to do something similar without revealing each one's secret part?

General multiparty computation seems to be a method. But I can't find any practical implementation to do hmac-sha1 algorithm.

  • 1
    $\begingroup$ You don't need something that fancy. Threshold signatures works too (still fancy, but far less so than full MPC), as well as something so basic as just appending a bunch of individual TOTP codes together (unless you find that solution too annoying). $\endgroup$ – Natanael May 15 '19 at 10:20
  • $\begingroup$ @Natanael could you explain your solution in detail. the situation is that the secret in totp is given by the sever which can’t be controlled $\endgroup$ – Sisyphus May 15 '19 at 15:10
  • $\begingroup$ ouch, not controlling the server makes it harder. Take a look at Scale-Mamba for a recent generell purpose MPC implementation $\endgroup$ – Natanael May 16 '19 at 12:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.