1*00b67f09SDavid van Moolenbroek<!-- 2*00b67f09SDavid van Moolenbroek - Copyright (C) 2010, 2013, 2014 Internet Systems Consortium, Inc. ("ISC") 3*00b67f09SDavid van Moolenbroek - 4*00b67f09SDavid van Moolenbroek - Permission to use, copy, modify, and/or distribute this software for any 5*00b67f09SDavid van Moolenbroek - purpose with or without fee is hereby granted, provided that the above 6*00b67f09SDavid van Moolenbroek - copyright notice and this permission notice appear in all copies. 7*00b67f09SDavid van Moolenbroek - 8*00b67f09SDavid van Moolenbroek - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 9*00b67f09SDavid van Moolenbroek - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 10*00b67f09SDavid van Moolenbroek - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 11*00b67f09SDavid van Moolenbroek - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 12*00b67f09SDavid van Moolenbroek - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 13*00b67f09SDavid van Moolenbroek - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 14*00b67f09SDavid van Moolenbroek - PERFORMANCE OF THIS SOFTWARE. 15*00b67f09SDavid van Moolenbroek--> 16*00b67f09SDavid van Moolenbroek<!-- Id --> 17*00b67f09SDavid van Moolenbroek<html> 18*00b67f09SDavid van Moolenbroek<head> 19*00b67f09SDavid van Moolenbroek<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 20*00b67f09SDavid van Moolenbroek<title>isc-hmac-fixup</title> 21*00b67f09SDavid van Moolenbroek<meta name="generator" content="DocBook XSL Stylesheets V1.71.1"> 22*00b67f09SDavid van Moolenbroek</head> 23*00b67f09SDavid van Moolenbroek<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"> 24*00b67f09SDavid van Moolenbroek<a name="man.isc-hmac-fixup"></a><div class="titlepage"></div> 25*00b67f09SDavid van Moolenbroek<div class="refnamediv"> 26*00b67f09SDavid van Moolenbroek<h2>Name</h2> 27*00b67f09SDavid van Moolenbroek<p><span class="application">isc-hmac-fixup</span> — fixes HMAC keys generated by older versions of BIND</p> 28*00b67f09SDavid van Moolenbroek</div> 29*00b67f09SDavid van Moolenbroek<div class="refsynopsisdiv"> 30*00b67f09SDavid van Moolenbroek<h2>Synopsis</h2> 31*00b67f09SDavid van Moolenbroek<div class="cmdsynopsis"><p><code class="command">isc-hmac-fixup</code> {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>secret</code></em>}</p></div> 32*00b67f09SDavid van Moolenbroek</div> 33*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 34*00b67f09SDavid van Moolenbroek<a name="id2543366"></a><h2>DESCRIPTION</h2> 35*00b67f09SDavid van Moolenbroek<p> 36*00b67f09SDavid van Moolenbroek Versions of BIND 9 up to and including BIND 9.6 had a bug causing 37*00b67f09SDavid van Moolenbroek HMAC-SHA* TSIG keys which were longer than the digest length of the 38*00b67f09SDavid van Moolenbroek hash algorithm (i.e., SHA1 keys longer than 160 bits, SHA256 keys 39*00b67f09SDavid van Moolenbroek longer than 256 bits, etc) to be used incorrectly, generating a 40*00b67f09SDavid van Moolenbroek message authentication code that was incompatible with other DNS 41*00b67f09SDavid van Moolenbroek implementations. 42*00b67f09SDavid van Moolenbroek </p> 43*00b67f09SDavid van Moolenbroek<p> 44*00b67f09SDavid van Moolenbroek This bug has been fixed in BIND 9.7. However, the fix may 45*00b67f09SDavid van Moolenbroek cause incompatibility between older and newer versions of 46*00b67f09SDavid van Moolenbroek BIND, when using long keys. <span><strong class="command">isc-hmac-fixup</strong></span> 47*00b67f09SDavid van Moolenbroek modifies those keys to restore compatibility. 48*00b67f09SDavid van Moolenbroek </p> 49*00b67f09SDavid van Moolenbroek<p> 50*00b67f09SDavid van Moolenbroek To modify a key, run <span><strong class="command">isc-hmac-fixup</strong></span> and 51*00b67f09SDavid van Moolenbroek specify the key's algorithm and secret on the command line. If the 52*00b67f09SDavid van Moolenbroek secret is longer than the digest length of the algorithm (64 bytes 53*00b67f09SDavid van Moolenbroek for SHA1 through SHA256, or 128 bytes for SHA384 and SHA512), then a 54*00b67f09SDavid van Moolenbroek new secret will be generated consisting of a hash digest of the old 55*00b67f09SDavid van Moolenbroek secret. (If the secret did not require conversion, then it will be 56*00b67f09SDavid van Moolenbroek printed without modification.) 57*00b67f09SDavid van Moolenbroek </p> 58*00b67f09SDavid van Moolenbroek</div> 59*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 60*00b67f09SDavid van Moolenbroek<a name="id2543389"></a><h2>SECURITY CONSIDERATIONS</h2> 61*00b67f09SDavid van Moolenbroek<p> 62*00b67f09SDavid van Moolenbroek Secrets that have been converted by <span><strong class="command">isc-hmac-fixup</strong></span> 63*00b67f09SDavid van Moolenbroek are shortened, but as this is how the HMAC protocol works in 64*00b67f09SDavid van Moolenbroek operation anyway, it does not affect security. RFC 2104 notes, 65*00b67f09SDavid van Moolenbroek "Keys longer than [the digest length] are acceptable but the 66*00b67f09SDavid van Moolenbroek extra length would not significantly increase the function 67*00b67f09SDavid van Moolenbroek strength." 68*00b67f09SDavid van Moolenbroek </p> 69*00b67f09SDavid van Moolenbroek</div> 70*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 71*00b67f09SDavid van Moolenbroek<a name="id2543403"></a><h2>SEE ALSO</h2> 72*00b67f09SDavid van Moolenbroek<p> 73*00b67f09SDavid van Moolenbroek <em class="citetitle">BIND 9 Administrator Reference Manual</em>, 74*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2104</em>. 75*00b67f09SDavid van Moolenbroek </p> 76*00b67f09SDavid van Moolenbroek</div> 77*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 78*00b67f09SDavid van Moolenbroek<a name="id2543489"></a><h2>AUTHOR</h2> 79*00b67f09SDavid van Moolenbroek<p><span class="corpauthor">Internet Systems Consortium</span> 80*00b67f09SDavid van Moolenbroek </p> 81*00b67f09SDavid van Moolenbroek</div> 82*00b67f09SDavid van Moolenbroek</div></body> 83*00b67f09SDavid van Moolenbroek</html> 84