diff options
| author | Simeon Simeonov | 2020-03-27 10:51:18 +0100 |
|---|---|---|
| committer | Simeon Simeonov | 2020-03-27 10:51:18 +0100 |
| commit | a4c050e34ce462f477bc3671e272e244e2792e00 (patch) | |
| tree | 753d6d49f2b102fede910baad025d0b899c0575a | |
| parent | da8fde8579bf90a01c7fec6fd011585fa245b71b (diff) | |
Update the General and Overview sections of README.md
| -rw-r--r-- | README.md | 57 |
1 files changed, 51 insertions, 6 deletions
| @@ -8,7 +8,54 @@ It requires no additional libraries. | |||
| 8 | 8 | ||
| 9 | ## General | 9 | ## General |
| 10 | 10 | ||
| 11 | TODO | 11 | The main reason for writing this library was the need to login into my |
| 12 | FreeBSD servers using the [opiepasswd] | ||
| 13 | (https://www.freebsd.org/cgi/man.cgi?query=opiepasswd&sektion=1&manpath=freebsd-release-ports) | ||
| 14 | as described in [FreeBSD Handbook] | ||
| 15 | (https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/one-time-passwords.html). | ||
| 16 | |||
| 17 | I decided to license the library under the | ||
| 18 | [Simplified BSD License / 2-clause BSD license](LICENSE) and not under the | ||
| 19 | (L)GPL-3 as I usually do. | ||
| 20 | |||
| 21 | I hope that somebody will find it useful. | ||
| 22 | |||
| 23 | |||
| 24 | ## Overview of RFC-2289 | ||
| 25 | |||
| 26 | RFC-2289 describes a one-time password authentication system (OTP): | ||
| 27 | |||
| 28 | "The system provides authentication for system access (login) and other | ||
| 29 | applications requiring authentication that is secure against passive attacks | ||
| 30 | based on replaying captured reusable passwords. OTP evolved from the S/KEY | ||
| 31 | (S/KEY is a trademark of Bellcore) One-Time Password System that was released | ||
| 32 | by Bellcore." | ||
| 33 | |||
| 34 | "One form of attack on networked computing systems is eavesdropping on | ||
| 35 | network connections to obtain authentication information such as the | ||
| 36 | login IDs and passwords of legitimate users. Once this information is | ||
| 37 | captured, it can be used at a later time to gain access to the | ||
| 38 | system. One-time password systems are designed to counter this type | ||
| 39 | of attack, called a 'replay attack'." | ||
| 40 | |||
| 41 | The authentication system described in RFC-2289 "uses a secret | ||
| 42 | pass-phrase to generate a sequence of one-time (single use) | ||
| 43 | passwords. With this system, the user's secret pass-phrase never | ||
| 44 | needs to cross the network at any time such as during authentication | ||
| 45 | or during pass-phrase changes. Thus, it is not vulnerable to replay | ||
| 46 | attacks. Added security is provided by the property that no secret | ||
| 47 | information need be stored on any system, including the server being | ||
| 48 | protected." | ||
| 49 | |||
| 50 | "There are two entities in the operation of the OTP one-time password | ||
| 51 | system. The **generator** must produce the appropriate one-time password | ||
| 52 | from the user's secret pass-phrase and from information provided in | ||
| 53 | the **challenge** from the **server**. The server must send a challenge that | ||
| 54 | includes the appropriate generation parameters to the generator, must | ||
| 55 | verify the one-time password received, must store the last valid | ||
| 56 | one-time password it received, and must store the corresponding one- | ||
| 57 | time password sequence number. The server must also facilitate the | ||
| 58 | changing of the user's secret pass-phrase in a secure manner." | ||
| 12 | 59 | ||
| 13 | 60 | ||
| 14 | ## Examples | 61 | ## Examples |
| @@ -18,15 +65,13 @@ TODO | |||
| 18 | 65 | ||
| 19 | ## Author | 66 | ## Author |
| 20 | 67 | ||
| 21 | Simeon Simeonov - sgs AT pichove D0T org - sgs @ Freenode | 68 | Simeon Simeonov - sgs @ Freenode |
| 22 | 69 | ||
| 23 | 70 | ||
| 24 | ## [License][license] | 71 | ## [License](LICENSE) |
| 25 | 72 | ||
| 26 | Copyright (c) 2020, Simeon Simeonov | 73 | Copyright (c) 2020, Simeon Simeonov |
| 27 | All rights reserved. | 74 | All rights reserved. |
| 28 | 75 | ||
| 29 | [licensed][license] under the BSD 2-clause. | 76 | [licensed](LICENSE) under the BSD 2-clause. |
| 30 | SPDX-License-Identifier: BSD-2-Clause-FreeBSD | 77 | SPDX-License-Identifier: BSD-2-Clause-FreeBSD |
| 31 | |||
| 32 | [license]: LICENSE | ||
