TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Thoughts on a website-embeddable, credential validating service?

28 点作者 estroz超过 7 年前
Reading Troy Hunt&#x27;s password release V2 blog post [0], I came across the NIST recommendation to prevent users from creating accounts with passwords discovered in data breaches. This got me thinking: would a website admin (ex. small business owner with a custom website) benefit from a service that validates user passwords? The idea is to create a registration iframe with forms for email, password, etc., which would check hashed credentials against a database of data from breaches. Additionally, client-side validation would enforce rules recommended by the NIST&#x27;s Digital Identity Guidelines [1], which would relieve admins from implementing their own rules. I&#x27;m sure there are additional security features that can be added.<p>1. Have you seen a need for this type of service, and could you see this being adopted at all?<p>2. Do you know of a service like this? I&#x27;ve looked, no hits so far.<p>3. Does the architecture seem sound?<p>[0]: https:&#x2F;&#x2F;www.troyhunt.com&#x2F;ive-just-launched-pwned-passwords-version-2&#x2F;<p>[1]: https:&#x2F;&#x2F;www.nist.gov&#x2F;itl&#x2F;tig&#x2F;projects&#x2F;special-publication-800-63

7 条评论

jimrandomh超过 7 年前
It sounds like this architecture (particularly the iframe bit) involves submitting the users&#x27; passwords to a third-party service to be validated. Developers and admins are likely to be hesitant about that, because the service host will end up being a significant target and a potential point of failure. This is partially avoidable; you can hash the password on the client and send the hash, and compare against the hashes of passwords from data breaches. Unfortunately, this doesn&#x27;t work if you use a properly salted hash, which means that, with a reasonable amount of computational power, you&#x27;ll be able to break all the password hashes submitted this way in bulk with a rainbow table. This would make your service a target, and make potential users of your service hesitate to adopt it.<p>A better architecture might be to distribute a library which downloads the publicly-leaked-password database so that new passwords can be checked without sending them to a third party. I can see this being a successful open source project or a side project of a large company, but I can&#x27;t see site operators paying enough for that to build a business around it.
评论 #16442041 未加载
bgdkbtv超过 7 年前
Why do you think this would need a service?<p>It’s really easy to make as a dev using Have I Been Pwned Password API: <a href="https:&#x2F;&#x2F;twitter.com&#x2F;noncototient&#x2F;status&#x2F;966628069048950784" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;noncototient&#x2F;status&#x2F;966628069048950784</a><p>Unless you’re talking about users whose dev skills only go as far as posting Wordpress articles. Then it might work, but integration would have to be super simple, I frame might not be the easiest solution for them.
评论 #16442082 未加载
colonelxc超过 7 年前
Why not a javascript library instead of a service?<p>This allows clients to self-host the javascript (so it can&#x27;t be modified to log the plain text password somewhere), and probably can plug into existing form validation with little hassle.<p>I guess the question is why should I trust your service more than using Troy Hunt&#x27;s API directly. If you&#x27;re sending hashed credentials anyways, all the verification of NIST recommendations needs to be done client side anyways.
评论 #16441963 未加载
ecesena超过 7 年前
My personal feeling is that signup of a new user is too critical of a function to depend upon an external service. I would very much prefer a client-side library as others have stated.<p>This said, I can see a ton of potential for a plug &amp; play solution, for example (but not limited to) a signup form for wordpress, a react input password component with a strength bar, etc.<p>If you create &quot;a product that people love&quot;, I don&#x27;t think it does really matter whether you verify on the client side, or securely via a remote service. You may explain pros and cons, and let the admin decide.<p>But I&#x27;d focus on the final solution, rather than just the service itself.
jessaustin超过 7 年前
Why are you calling this a &quot;credential validating service&quot; rather than a &quot;password validating service&quot;? Credentials don&#x27;t have to be passwords, instead they could be tokens or signed data. Passwords are the worst credentials, and they should only be considered when nothing else would work. The form of validation you propose is not exhaustive either. &quot;a&quot; repeated 57 times might not be on any of the lists, but it&#x27;s still a bad passphrase.
albertgoeswoof超过 7 年前
If you’re going to need a service like this to validate your passwords, it’s probably easier for you to use an oAuth provider (eg Facebook) or mangaged auth provider like auth0, firebase etc. And let them handle it.
评论 #16442296 未加载
westurner超过 7 年前
blockchain-certificates&#x2F;cert-verifier-js: <a href="https:&#x2F;&#x2F;github.com&#x2F;blockchain-certificates&#x2F;cert-verifier-js" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;blockchain-certificates&#x2F;cert-verifier-js</a><p>&gt; A library to enable parsing and verifying a Blockcert. This can be used as a node package or in a browser. The browserified script is available as verifier.js.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;blockchain-certificates&#x2F;cert-issuer" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;blockchain-certificates&#x2F;cert-issuer</a><p>&gt; The cert-issuer project issues blockchain certificates by creating a transaction from the issuing institution to the recipient on the Bitcoin blockchain that includes the hash of the certificate itself.<p>... We could&#x2F;should also store X.509 cert hashes in a blockchain.
评论 #16442309 未加载