aboutsummaryrefslogtreecommitdiff
path: root/NOTICE
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2015-09-25 17:47:35 -0400
committerGreg Hudson <ghudson@mit.edu>2018-03-26 20:59:30 -0400
commit7447259401569c92b1fb2e31cb02edbbffd67d35 (patch)
treed29e6008f3ec820f9c9047c715a0fbc5afdbcd27 /NOTICE
parent9172599008f3a6790d4a9a67acff58049742dcb6 (diff)
downloadkrb5-7447259401569c92b1fb2e31cb02edbbffd67d35.zip
krb5-7447259401569c92b1fb2e31cb02edbbffd67d35.tar.gz
krb5-7447259401569c92b1fb2e31cb02edbbffd67d35.tar.bz2
Add SPAKE preauth support
This is an implementation of draft-ietf-kitten-krb-spake-preauth-05. SPAKE preauth authenticates using the client principal long-term key, but protects against offline dictionary attacks. SPAKE preauth negotiates a group for use by the SPAKE2 algorithm. The edwards25519 group is implemented using code adapted from BoringSSL. The P-256, P-384, and P-521 groups are implemented against OpenSSL. edwards25519 is enabled by default on the client; no groups are enabled by default on the KDC. SPAKE preauth can also include a second factor. Second factor support isn't included in this implementation; comments have been left to indicate what should change when it is added in. Integration tests (tests/t_spake.py) are included with good coverage of the negotiation scenarios. Test vectors from the draft are checked against the group's "result" operation. The "keygen" operation is inherently random and is therefore not tested against the vectors, but is effectively exercised by the integration tests. KDC optimistic challenge is implemented. In the future we should implement client optimistic SPAKE as well; this will require changes to the generic client preauth framework. In the future we should add per-realm configuration to deny encrypted timestamp and encrypted challenge on a per-realm basis. This configuration should stick across client realm referrals. In the future we should avoid attempting encrypting timestamp or encrypted challenge if the KDC replies to a single-factor SPAKEResponse message with PREAUTH_FAILED. This will require a change to the generic client preauth framework. In the future we should make SPAKE support apply to the Windows build, either by adding support for building plugin DLLs or by moving the edwards25519 and client code to libkrb5. [npmccallum@redhat.com: split up internal headers; split out group registry contents; implemented P-384 and P-521] ticket: 8647 (new)
Diffstat (limited to 'NOTICE')
-rw-r--r--NOTICE51
1 files changed, 51 insertions, 0 deletions
diff --git a/NOTICE b/NOTICE
index 1f2ce64..cb6ab46 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1316,3 +1316,54 @@ The following notice applies to
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
+
+======================================================================
+
+The following notice applies to portions of
+"src/plugins/preauth/spake/edwards25519.c" and
+"src/plugins/preauth/spake/edwards25519_tables.h":
+
+The MIT License (MIT)
+
+Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS
+file).
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+======================================================================
+
+The following notice applies to portions of
+"src/plugins/preauth/spake/edwards25519.c":
+
+Copyright (c) 2015-2016, Google Inc.
+
+Permission to use, copy, modify, and/or distribute this software for
+any purpose with or without fee is hereby granted, provided that the
+above copyright notice and this permission notice appear in all
+copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.