Central to the architecture is the use of a secondary computer called a validator that is responsible for managing account information on behalf of a user and executing the system's secure cryptographic protocols. Beyond its application to user authentication, a validator can act as a general purpose personal security assistant.
Functioning prototype components have been implemented and can be demonstrated.
This document provides a higher-level description of the system, omitting many technical details. Although specifics of the mutual authentication protocol are not presented, the system is largely composed of documented, standardized, and well-analyzed algorithms and protocols. Some related technologies are described and critiqued, but not exhaustively. Basic knowledge of client/server architectures, computer security, and cryptography is assumed.
We propose a replacement for password-based authentication that addresses many of its weaknesses and offers additional features. It might be approximately described as a combination of password-management software and multi-factor authentication. Its novelty rests on:
While the architecture has wide application, it is presently felt that the best avenues center around improving security or accessibility to software, products, or devices that would ordinarily be password protected and where security breaches may have significant financial, legal, or safety consequences.
The primary goal of this work is to develop a more secure and versatile alternative to username/password authentication for niche and/or general-purpose applications.
A secondary goal is to develop a cryptographic assistant for managing user authentication and for integration with any software that requires secure client/server and/or peer-to-peer communication, as a better alternative to username/password authentication and SSL/TLS communication.
ClaimsIt is intended for the architecture to be open, using standardized (or de facto standard) cryptographic methods, and a reference implementation made available.
By moving certain data, functionality, and protocol from the application software that needs to perform authentication to the validator, many avenues of attack based on compromising the client disappear. In effect, the user authenticates a transaction rather than himself. We will generally frame the typical transaction as signing on through a system interface, such as a login screen, but that is not the only possibility.
Personal mobile devices have become small, commonplace, relatively inexpensive, and powerful. As they are increasingly used for a wide variety of everyday tasks (financial, informational, entertainment, administrative, and more), they have become indispensable. Mobile devices are typically equipped with at least one data transmission method, non-volatile memory, one or more access control mechanisms,[2] and a camera. This makes them particularly well-suited to this application. As the cost of hardware components decreases, affordable special-purpose devices become more attractive, but there will always be a desire to combine frequently-accessed functions into a single device (e.g., the tricorder).
The architecture provides important security benefits both to users and service providers compared to password-based authentication ("username/password"). In brief, for users:
An important design goal is to minimize inconvenience for authenticating users and system administrators compared to password-based authentication. Though not a drop-in replacement, adoption of the new system on the server side should be straightforward for system administrators.
The system architecture lends itself to several powerful features. Sign-on approval lets a user or a third-party track sign-on requests in real time. Rules can be evaluated to decide whether an authenticated user should be allowed to sign-on.
For authentication purposes, the TGMA protocol does not need to run on top of SSL/TLS, although it can, perhaps to provide secure communication after mutual authentication or for practical reasons. In some cases, light-weight, very secure end-to-end communication is possible without the many weaknesses related to SSL/TLS (RFC 7568: SSLv3 Is Comprehensively Broken, sslstrip), and without the need of SSL/TLS certificates and certificate validation.[3] The authentication protocol is entirely peer-to-peer, without the participation of a third-party server.
Here are a few applications of the architecture:
TGMA can be deployed as a two-factor authentication method. Successful authentication can require a particular device (something the user possesses) and information associated with the user's account (secrets the user knows). On the device, a password can optionally augment an account (another secret the user knows).
More detail is presented in Benefits and Advantages.
Computer systems must make trade-offs between security and practicality. If security is maximized, a system will be far too inconvenient for everyday use, and will therefore have limited applicability. If usability characteristics, such as cost and functionality, are of prime importance, a system must relax security constraints. Additionally, it should be recognized that not all systems demand the same level of security. A user's home desk top system probably does not need as strong an authentication method as that user's banking web site. It is necessary to find a suitable balance between security and usability. Unfortunately, users have demonstrated a strong preference for ease of use.[6]
For many use cases, the authentication system described here is intended to be a better alternative to password-based authentication methods, many two-factor authentication methods, and password managers, in most contexts, over public and shared computer networks. Security is greatly improved without sacrificing overall ease of use.
Continued in Part 2.