SQRL
Official SQRL Logo | |
Original author(s) | Steve Gibson |
---|---|
Development status | Active |
Operating system | Cross-platform |
Available in | 56 languages |
List of languages Afrikaans, Arabic, Armenian, Belarusian, Bulgarian, Catalan, Chinese Simplified, Chinese Traditional, Croatian, Czech, Danish, Dutch, English, English, Canada, English, United Kingdom, Esperanto, Estonian, Finnish, French, French, Canada, French, Quebec, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Malayalam, Norwegian Bokmal, Norwegian Nynorsk, Persian, Polish, Portuguese, Portuguese, Brazilian, Romanian, Russian, Serbian (Cyrillic), Slovak, Slovenian, Spanish, Swahili, Kenya, Swahili, Tanzania, Swedish, Tagalog, Thai, Turkish, Ukrainian, Vietnamese, Welsh[1] | |
Type | secure website login and authentication |
License | Public domain[2] |
Website | https://www.grc.com/sqrl/sqrl.htm |
SQRL or Secure, Quick, Reliable Login (pronounced "squirrel" /ˈskwɝl/ en ) (formerly Secure QR Login) is a draft open standard for secure website login and authentication. The software solution typically uses a link of the scheme sqrl:// or optionally a QR code, where a user identifies via a pseudonymous zero-knowledge proof rather than providing a user ID and password. This method is thought to be impervious to a brute force password attack or data breach. It shifts the burden of security away from the party requesting the authentication and closer to the operating system implementation of what is possible on the hardware, as well as to the user. SQRL was proposed by Steve Gibson of Gibson Research Corporation in October 2013 as a way to simplify the process of Authentication protocol, without requiring a third party, thus possibly revealing information about the transaction.
Motivation
The protocol is an answer to a problem of identity fragmentation. It improves on protocols such as OAuth and OpenID by not requiring a third party to broker the transaction, and by not giving a server any secrets to protect, such as username and password.
Additionally, it provides a standard that can be freely used to simplify the login processes available to password manager applications such as LastPass. More importantly the standard is open so no one company can benefit from owning the technology. According to Gibson's website,[3] such a robust technology should be in the public domain so the security and cryptography can be verified, and not deliberately restricted for commercial or other reasons.
Example use case
For the protocol to be used on a website, two components are necessary: an implementation, that is part of the Web service to which the implementation authenticates, which displays a QR code or specially crafted URL according to the specifications of the protocol, and a browser plugin or a mobile application, which can read this code in order to provide secure authentication.
The SQRL client uses "one-way" functions and the user's single master password to decrypt a secret master key, from which it generates in combination with the site name (comprising the domain name and optionally an additional sub-site identifier: "example.com", "example.edu/chessclub") a (sub-)site-specific public/private key pair. It signs the transaction tokens with the private key and gives the public key to the site, so it can verify the encrypted data.
There are no "shared secrets" which a compromise of the site could expose to allow attacks on accounts at other sites. The only thing a successful attacker could get, the public key, would be limited to verifying signatures that are only used at the same site. Even though the user unlocks the master key with a single password, it never leaves the SQRL client; the individual sites do not receive any information from the SQRL process that could be used at any other site.
Phishing protections
SQRL has some design-inherent and intentional phishing defenses,[4] but it is mainly intended to be for authentication, not anti-phishing, despite having some anti-phishing properties.[5]
History
The acronym SQRL was coined by Steve Gibson and the protocol drafted, discussed and analyzed in-depth, by himself and a community of Internet security enthusiasts on the news.grc.com newsgroups and during his weekly podcast, Security Now!, on October 2, 2013. Within two days of the airing of this podcast, both the W3C and Google expressed interest in working on the standard.[6]
A thesis on SQRL analyzed and found that "it appears to be an interesting approach, both in terms of the envisioned user experience as well as the underlying cryptography. SQRL is mostly combining well established cryptography in a novel way."[7]
A number of proof-of-concept implementations have been made for various platforms, including for the server (PHP,[8] Drupal,[9] C# .NET[10]) and for the client (Android,[11][12][13] C# .NET,[14] Java,[15] Python[16]). There are also various server-end test and debugging sites available.[17][18][19][20]
Legal aspects
Steve Gibson states that SQRL is "open and free as it should be", and that the solution is "unencumbered by patents".[21] While SQRL brought a lot of attention to QR code based authentication mechanisms, the suggested protocol is said to have been patented earlier and is not generally available for royalty free use.[22] But Gibson says "What those guys are doing as described in that patent[23] is completely different from the way SQRL operates, so there would be no conflict between SQRL and their patent. Superficially, anything that uses a 2D code for authentication seems "similar"... and superficially all such solutions are. But the details matter, and the way SQRL operates is entirely different in the details."[24]
See also
References
- ↑ "SQRL Translations". crowdin.com. Retrieved 16 July 2015.
- ↑ Secure Quick Reliable Login on www.grc.com/sqrl "Open & free, as it should be: The component techniques and technologies employed by this solution are all well known, well tested, well understood, unencumbered by patents, and exist in the public domain. [...] With this publication of every detail, I hereby release and disclaim any and all proprietary rights to any new ideas developed and presented herein. This work is thereby added to the public domain."
- ↑ "GRC's SQRL Secure Quick Reliable Login". www.grc.com. Retrieved 2016-06-02.
- ↑ Gibson, Steve (2014). DigiCert Security Summit, ed. "Revolutionizing Website Login and Authentication with SQRL". Vimeo.
- ↑ "Details about phishing defenses and limitations". grc.com. 2013-12-06. Retrieved 2013-12-06.
- ↑ "Security Now! #425 SQRL Q&A #176 (Transcript)". 2013-10-09. Retrieved 2013-10-16.
- ↑ "Security Analysis and Implementation of the SQRL Authentication Scheme". Retrieved 2015-03-18.
- ↑ https://github.com/trianglman/sqrl
- ↑ https://www.drupal.org/project/sqrl
- ↑ https://github.com/jestin/SqrlNet
- ↑ https://github.com/geir54/android-sqrl
- ↑ https://www.paulstechtalk.com/2014/12/sqrl-implementations-on-android-and-it-works/
- ↑ https://play.google.com/store/apps/details?id=net.vrallev.android.sqrl
- ↑ https://github.com/jestin/SqrlNet
- ↑ https://github.com/TheBigS/SQRL
- ↑ https://github.com/bushxnyc/sqrl
- ↑ https://www.grc.com/sqrl/demo.htm
- ↑ https://www.grc.com/sqrl/diag.htm
- ↑ https://sqrl-test.paragon-es.de
- ↑ http://sw.squaltech.com:8080
- ↑ "SQRL / Gibson Research". grc.com. Retrieved 2014-05-12.
- ↑ "SQRL is not really new". Mike Beiter. October 4, 2013. Retrieved 2014-05-12.
- ↑ Method and system for authenticating a user by means of a mobile device US 20100070759 A1
- ↑ "Secure Quick Reliable Login". grc.com. Retrieved 22 September 2015.
External links
- Grc.com
- Ghacks.net
- SQRL Illustrated Guide
- Techrepublic review: SQRL: A new method of authentication with QR codes
- "Authentication without Passwords Implementing SQRL" - Intel's Daniel Holmlund's presentation at the 2014 HTML5 Developer Conference
- www.sqrl.pl Google Play Store - A test implementation of SQRL