TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Let’s talk about PAKE

138 pointsby stargraveover 6 years ago

13 comments

lvhover 6 years ago
I&#x27;m really excited about PAKEs! But for a totally different reason.<p>PAKEs are great for low-entropy secrets, but they don&#x27;t have to be static: you can generate them on the fly too. Every time you have a human-mediated channel that eventually needs to agree on a strong secret, PAKEs are good. So, if you have a device that you want to pair with an existing device with an untrusted third party PAKEs are super great. You can use this to safely send a file across the ether by just sharing a short string like &quot;2-bonobo-magic; see magic-wormhole.<p>I therefore disagree with the notion that a PAKE being symmetric is a downside: I just think that they&#x27;re different tools for different tasks, and we should talk about sPAKEs and aPAKEs specifically. Symmetric PAKEs are worse for password auth: I just think PAKEs are not a high priority for password auth. There are two problems with passwords: cred stuffing and phishing (fundamentally the same attack: an attacker gets a password &quot;out of band&quot; and then replays it) and PAKEs solve neither.<p>[magic-wormhole]: <a href="https:&#x2F;&#x2F;github.com&#x2F;warner&#x2F;magic-wormhole" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;warner&#x2F;magic-wormhole</a>
parliament32over 6 years ago
Unfortunately this won&#x27;t help while we continue to trust JS sent to us by the server.<p>Their threat model is &quot;server is compromised by an attacker, who then vacuums up all the cleartext passwords&quot;. Assuming that under normal operations there&#x27;s some fancy UI that takes the password and handles the PAKE stuff (which it will have to be, until browsers support it), there&#x27;s nothing stopping that attacker from simply adding malicious code that fire off your cleartext password.<p>If you want user authentication security, use client side TLS certs. 1) the UI is built into all major browsers, and can&#x27;t be faked, and 2) the server doesn&#x27;t require the CA&#x27;s private key, only the server generating new certs needs it. In the above threat model, the worst that can happen if an attacker compromises the server is he can MITM the traffic at the time... but the attacker will never capture user credentials that can be used in the future, or be used to decrypt past communications.
评论 #18260235 未加载
评论 #18259625 未加载
评论 #18260161 未加载
评论 #18259789 未加载
评论 #18262676 未加载
lucb1eover 6 years ago
Usually this blog is very practical and easy to understand. This post, though, just talks about how great PAKE is and what this new proposal achieves, but not the how of it. It sounds better than client side hashing, but it doesn&#x27;t explain how (or whether) that&#x27;s achieved. Actually looking into PAKE is left as an exercise for the reader (other than one screenshot full of math at the bottom).<p>Wikipedia is actually more clear in this case:<p>&gt; an eavesdropper or man in the middle cannot obtain enough information to be able to brute force guess a password without further interactions with the parties for each (few) guesses. This means that strong security can be obtained using weak passwords.<p>Looking into SRP, it seems that a server can still brute force a stored login. While cool, TLS achieves the same goal in popular login systems: eavesdroppers cannot learn anything (in fact, they cannot even make a single attempt at the password, unlike with PAKE). The other advantage of PAKE, the server never receiving the password, can be done with client side hashing (for which I&#x27;ve been advocating for years, as it would have prevented many issues).
评论 #18261339 未加载
评论 #18260916 未加载
评论 #18261337 未加载
评论 #18259957 未加载
dev_dullover 6 years ago
The reason it&#x27;s not used more often is only because it&#x27;s <i>incrementally</i> better than salted and memory-hard hashed passwords. It has obvious and important benefits, but still only incrementally better.<p>It&#x27;s more important that bad implementations are removed immediately. Personally I&#x27;d rather get rid of all of my passwords and use FIDO2 or perhaps even something through touch-id on my iOS&#x2F;Mac. At this point every password I have is unique thanks to great password managers.
评论 #18263354 未加载
评论 #18260720 未加载
cipherboyover 6 years ago
I&#x27;ll shamelessly plug this for Kerberos since SPAKE is a variant of PAKE...<p>Kerberos has a draft for adding SPAKE to Kerberos: <a href="https:&#x2F;&#x2F;tools.ietf.org&#x2F;html&#x2F;draft-ietf-kitten-krb-spake-preauth-06" rel="nofollow">https:&#x2F;&#x2F;tools.ietf.org&#x2F;html&#x2F;draft-ietf-kitten-krb-spake-prea...</a><p>This was implemented sometime around March in MIT Kerberos: <a href="https:&#x2F;&#x2F;github.com&#x2F;krb5&#x2F;krb5&#x2F;pull&#x2F;741" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;krb5&#x2F;krb5&#x2F;pull&#x2F;741</a><p>One of the interesting use cases would be to add 2FA support to the Kerberos protocol, but that support is still pending last I checked.<p>A second draft that is useful for SPAKE would be improved Channel Binding (CBs) support: <a href="https:&#x2F;&#x2F;tools.ietf.org&#x2F;html&#x2F;draft-ietf-kitten-channel-bound-flag-01" rel="nofollow">https:&#x2F;&#x2F;tools.ietf.org&#x2F;html&#x2F;draft-ietf-kitten-channel-bound-...</a><p>CBs are still WIP upstream: <a href="https:&#x2F;&#x2F;github.com&#x2F;krb5&#x2F;krb5&#x2F;pull&#x2F;685" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;krb5&#x2F;krb5&#x2F;pull&#x2F;685</a><p>Channel bindings allow Kerberos to piggy back on top of an existing encrypted channel (e.g., TLS). When doing 2FA with SPAKE in a browser, this means that we can take advantage of the security guarantees of the TLS protocol by ensuring the value of the final handshake is the same. This is most helpful for SSO-type scenarios.<p>If anyone wants to comment on either RFC, I&#x27;m sure the Kitten WG would be happy to take feedback: <a href="https:&#x2F;&#x2F;tools.ietf.org&#x2F;wg&#x2F;kitten&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tools.ietf.org&#x2F;wg&#x2F;kitten&#x2F;</a><p>Disclosure: I work closely with several of these folks and worked on the CBs PR.
评论 #18261152 未加载
zokierover 6 years ago
I wonder if &quot;Don&#x27;t do password-authenticated key exchange.&quot; is still &quot;Cryptographic right answer&quot;; does OPAQUE address the reservations that tptacek had back in the day<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9593916#9594731" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9593916#9594731</a>
评论 #18260486 未加载
forapurposeover 6 years ago
Without digging into this post too much ... is the problem that we don&#x27;t know the solution, that servers aren&#x27;t implementing it, that clients (browsers) are limited, or more than one of the above?<p>To the degree that it&#x27;s the browsers&#x27; limitations, couldn&#x27;t the browser makers make a standard authentication client (or at least an API) with whatever tech and features are needed? A sandboxed mini-application, hardened, that passes a &#x27;yes&#x27;, &#x27;no&#x27;, or &#x27;timeout&#x27; to the browser? Not every website would utilize it, but certainly the well-resourced ones could at first (FAANG, banks, etc.) and web server engines, frameworks, content management systems, etc. could incorporate the server side over time. It doesn&#x27;t seem expensive, and the ROI would seem to enormous - safe authentication over the Internet. But maybe I&#x27;m solving the wrong problem?
评论 #18260884 未加载
qrv3wover 6 years ago
For a more technical references check out Dan Boneh and Victor Shoup&#x27;s cryptography book (pg 789). [0]<p>For the Gophers out there, I wrote a Go library for doing PAKE [1], which I use for a data transfer utility [2].<p>[0]: <a href="https:&#x2F;&#x2F;crypto.stanford.edu&#x2F;~dabo&#x2F;cryptobook&#x2F;BonehShoup_0_4.pdf" rel="nofollow">https:&#x2F;&#x2F;crypto.stanford.edu&#x2F;~dabo&#x2F;cryptobook&#x2F;BonehShoup_0_4....</a><p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;schollz&#x2F;pake" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;schollz&#x2F;pake</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;schollz&#x2F;croc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;schollz&#x2F;croc</a>
helperover 6 years ago
One place where PAKEs are widely deployed is in enterprise wifi networks that use PEAP&#x2F;MSChapV2 password auth. MSChapV2 is really terrible and basically requires you to store passwords with weak hashes (or in cleartext).<p>Its nice to hear that there are PAKEs that are not tied to specific password hashing functions.
评论 #18260785 未加载
gpmover 6 years ago
Something I&#x27;ve never understood is why we don&#x27;t hash the password on the client before sending it to the server, and again on the server. This prevents the server from knowing your password (assuming it&#x27;s a good one) with no real drawbacks that I can see.
评论 #18260995 未加载
评论 #18260978 未加载
评论 #18260976 未加载
jedisct1over 6 years ago
Related and maybe more accessible: <a href="https:&#x2F;&#x2F;00f.net&#x2F;2018&#x2F;10&#x2F;18&#x2F;on-user-authentication&#x2F;" rel="nofollow">https:&#x2F;&#x2F;00f.net&#x2F;2018&#x2F;10&#x2F;18&#x2F;on-user-authentication&#x2F;</a>
评论 #18262415 未加载
lordnachoover 6 years ago
This bit I didn&#x27;t get:<p>&gt; The earliest key exchange protocols — like classical Diffie-Hellman — were unauthenticated, which made them vulnerable to man-in-the-middle attacks.<p>From Wikipedia (<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Diffie%E2%80%93Hellman_key_exchange" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Diffie%E2%80%93Hellman_key_exc...</a>):<p>&gt; The Diffie–Hellman key exchange method allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure channel.<p>Maybe there&#x27;s something I&#x27;m not understanding, but I thought the point of DH was you could exchange something even when other people are listening. You can see in the example in the article that it does&#x27;t matter what Eve can see.
评论 #18260223 未加载
评论 #18260479 未加载
评论 #18260264 未加载
评论 #18260506 未加载
评论 #18260234 未加载
评论 #18260384 未加载
Zashover 6 years ago
Shout out to SCRAM (RFC 5802) which enables hashed password storage on both the client and the server.
评论 #18260412 未加载