isc-hmac-fixup.html revision 7911e6f9de303bca5a3d8b34f4330c8f7cecffae
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont<!--
6825f304c5f0cc2d4ba22fa2b6f7a431f9c1de59Tinderbox User - Copyright (C) 2010, 2013-2016 Internet Systems Consortium, Inc. ("ISC")
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont -
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - This Source Code Form is subject to the terms of the Mozilla Public
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - License, v. 2.0. If a copy of the MPL was not distributed with this
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User - file, You can obtain one at http://mozilla.org/MPL/2.0/.
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont-->
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews<html lang="en">
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont<head>
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont<title>isc-hmac-fixup</title>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont</head>
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont<a name="man.isc-hmac-fixup"></a><div class="titlepage"></div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <div class="refnamediv">
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User<h2>Name</h2>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User<p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <span class="application">isc-hmac-fixup</span>
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont &#8212; fixes HMAC keys generated by older versions of BIND
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User</div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <div class="refsynopsisdiv">
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User<h2>Synopsis</h2>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <div class="cmdsynopsis"><p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <code class="command">isc-hmac-fixup</code>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User {<em class="replaceable"><code>algorithm</code></em>}
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User {<em class="replaceable"><code>secret</code></em>}
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </p></div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <div class="refsection">
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User<a name="id-1.7"></a><h2>DESCRIPTION</h2>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User Versions of BIND 9 up to and including BIND 9.6 had a bug causing
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User HMAC-SHA* TSIG keys which were longer than the digest length of the
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User hash algorithm (i.e., SHA1 keys longer than 160 bits, SHA256 keys
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User longer than 256 bits, etc) to be used incorrectly, generating a
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User message authentication code that was incompatible with other DNS
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User implementations.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User This bug has been fixed in BIND 9.7. However, the fix may
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User cause incompatibility between older and newer versions of
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User BIND, when using long keys. <span class="command"><strong>isc-hmac-fixup</strong></span>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User modifies those keys to restore compatibility.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont To modify a key, run <span class="command"><strong>isc-hmac-fixup</strong></span> and
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont specify the key's algorithm and secret on the command line. If the
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User secret is longer than the digest length of the algorithm (64 bytes
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User for SHA1 through SHA256, or 128 bytes for SHA384 and SHA512), then a
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User new secret will be generated consisting of a hash digest of the old
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User secret. (If the secret did not require conversion, then it will be
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User printed without modification.)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User </p>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User </div>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User <div class="refsection">
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User<a name="id-1.8"></a><h2>SECURITY CONSIDERATIONS</h2>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User <p>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User Secrets that have been converted by <span class="command"><strong>isc-hmac-fixup</strong></span>
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont are shortened, but as this is how the HMAC protocol works in
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User operation anyway, it does not affect security. RFC 2104 notes,
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User "Keys longer than [the digest length] are acceptable but the
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User extra length would not significantly increase the function
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User strength."
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User </p>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User </div>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User <div class="refsection">
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont<a name="id-1.9"></a><h2>SEE ALSO</h2>
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User <p>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User <em class="citetitle">RFC 2104</em>.
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User </p>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User </div>
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User
de283bda6a902c2102a795192eeab3a769001c7dTinderbox User</div></body>
7768b049c0b39662baca604ec32b32c6480f8dc6Francis Dupont</html>
2eeb74d1cf5355dd98f6d507a10086e16bb08c4bTinderbox User