1*00b67f09SDavid van Moolenbroek<!-- 2*00b67f09SDavid van Moolenbroek - Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") 3*00b67f09SDavid van Moolenbroek - Copyright (C) 2000-2003 Internet Software Consortium. 4*00b67f09SDavid van Moolenbroek - 5*00b67f09SDavid van Moolenbroek - Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek - purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek - copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek - 9*00b67f09SDavid van Moolenbroek - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek - PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek--> 17*00b67f09SDavid van Moolenbroek<!-- $Id: man.isc-hmac-fixup.html,v 1.5 2015/09/03 07:33:34 christos Exp $ --> 18*00b67f09SDavid van Moolenbroek<html> 19*00b67f09SDavid van Moolenbroek<head> 20*00b67f09SDavid van Moolenbroek<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 21*00b67f09SDavid van Moolenbroek<title>isc-hmac-fixup</title> 22*00b67f09SDavid van Moolenbroek<meta name="generator" content="DocBook XSL Stylesheets V1.71.1"> 23*00b67f09SDavid van Moolenbroek<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual"> 24*00b67f09SDavid van Moolenbroek<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages"> 25*00b67f09SDavid van Moolenbroek<link rel="prev" href="man.genrandom.html" title="genrandom"> 26*00b67f09SDavid van Moolenbroek<link rel="next" href="man.nsec3hash.html" title="nsec3hash"> 27*00b67f09SDavid van Moolenbroek</head> 28*00b67f09SDavid van Moolenbroek<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 29*00b67f09SDavid van Moolenbroek<div class="navheader"> 30*00b67f09SDavid van Moolenbroek<table width="100%" summary="Navigation header"> 31*00b67f09SDavid van Moolenbroek<tr><th colspan="3" align="center"><span class="application">isc-hmac-fixup</span></th></tr> 32*00b67f09SDavid van Moolenbroek<tr> 33*00b67f09SDavid van Moolenbroek<td width="20%" align="left"> 34*00b67f09SDavid van Moolenbroek<a accesskey="p" href="man.genrandom.html">Prev</a>�</td> 35*00b67f09SDavid van Moolenbroek<th width="60%" align="center">Manual pages</th> 36*00b67f09SDavid van Moolenbroek<td width="20%" align="right">�<a accesskey="n" href="man.nsec3hash.html">Next</a> 37*00b67f09SDavid van Moolenbroek</td> 38*00b67f09SDavid van Moolenbroek</tr> 39*00b67f09SDavid van Moolenbroek</table> 40*00b67f09SDavid van Moolenbroek<hr> 41*00b67f09SDavid van Moolenbroek</div> 42*00b67f09SDavid van Moolenbroek<div class="refentry" lang="en"> 43*00b67f09SDavid van Moolenbroek<a name="man.isc-hmac-fixup"></a><div class="titlepage"></div> 44*00b67f09SDavid van Moolenbroek<div class="refnamediv"> 45*00b67f09SDavid van Moolenbroek<h2>Name</h2> 46*00b67f09SDavid van Moolenbroek<p><span class="application">isc-hmac-fixup</span> — fixes HMAC keys generated by older versions of BIND</p> 47*00b67f09SDavid van Moolenbroek</div> 48*00b67f09SDavid van Moolenbroek<div class="refsynopsisdiv"> 49*00b67f09SDavid van Moolenbroek<h2>Synopsis</h2> 50*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> 51*00b67f09SDavid van Moolenbroek</div> 52*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 53*00b67f09SDavid van Moolenbroek<a name="id2665763"></a><h2>DESCRIPTION</h2> 54*00b67f09SDavid van Moolenbroek<p> 55*00b67f09SDavid van Moolenbroek Versions of BIND 9 up to and including BIND 9.6 had a bug causing 56*00b67f09SDavid van Moolenbroek HMAC-SHA* TSIG keys which were longer than the digest length of the 57*00b67f09SDavid van Moolenbroek hash algorithm (i.e., SHA1 keys longer than 160 bits, SHA256 keys 58*00b67f09SDavid van Moolenbroek longer than 256 bits, etc) to be used incorrectly, generating a 59*00b67f09SDavid van Moolenbroek message authentication code that was incompatible with other DNS 60*00b67f09SDavid van Moolenbroek implementations. 61*00b67f09SDavid van Moolenbroek </p> 62*00b67f09SDavid van Moolenbroek<p> 63*00b67f09SDavid van Moolenbroek This bug has been fixed in BIND 9.7. However, the fix may 64*00b67f09SDavid van Moolenbroek cause incompatibility between older and newer versions of 65*00b67f09SDavid van Moolenbroek BIND, when using long keys. <span><strong class="command">isc-hmac-fixup</strong></span> 66*00b67f09SDavid van Moolenbroek modifies those keys to restore compatibility. 67*00b67f09SDavid van Moolenbroek </p> 68*00b67f09SDavid van Moolenbroek<p> 69*00b67f09SDavid van Moolenbroek To modify a key, run <span><strong class="command">isc-hmac-fixup</strong></span> and 70*00b67f09SDavid van Moolenbroek specify the key's algorithm and secret on the command line. If the 71*00b67f09SDavid van Moolenbroek secret is longer than the digest length of the algorithm (64 bytes 72*00b67f09SDavid van Moolenbroek for SHA1 through SHA256, or 128 bytes for SHA384 and SHA512), then a 73*00b67f09SDavid van Moolenbroek new secret will be generated consisting of a hash digest of the old 74*00b67f09SDavid van Moolenbroek secret. (If the secret did not require conversion, then it will be 75*00b67f09SDavid van Moolenbroek printed without modification.) 76*00b67f09SDavid van Moolenbroek </p> 77*00b67f09SDavid van Moolenbroek</div> 78*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 79*00b67f09SDavid van Moolenbroek<a name="id2665790"></a><h2>SECURITY CONSIDERATIONS</h2> 80*00b67f09SDavid van Moolenbroek<p> 81*00b67f09SDavid van Moolenbroek Secrets that have been converted by <span><strong class="command">isc-hmac-fixup</strong></span> 82*00b67f09SDavid van Moolenbroek are shortened, but as this is how the HMAC protocol works in 83*00b67f09SDavid van Moolenbroek operation anyway, it does not affect security. RFC 2104 notes, 84*00b67f09SDavid van Moolenbroek "Keys longer than [the digest length] are acceptable but the 85*00b67f09SDavid van Moolenbroek extra length would not significantly increase the function 86*00b67f09SDavid van Moolenbroek strength." 87*00b67f09SDavid van Moolenbroek </p> 88*00b67f09SDavid van Moolenbroek</div> 89*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 90*00b67f09SDavid van Moolenbroek<a name="id2665806"></a><h2>SEE ALSO</h2> 91*00b67f09SDavid van Moolenbroek<p> 92*00b67f09SDavid van Moolenbroek <em class="citetitle">BIND 9 Administrator Reference Manual</em>, 93*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2104</em>. 94*00b67f09SDavid van Moolenbroek </p> 95*00b67f09SDavid van Moolenbroek</div> 96*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 97*00b67f09SDavid van Moolenbroek<a name="id2665892"></a><h2>AUTHOR</h2> 98*00b67f09SDavid van Moolenbroek<p><span class="corpauthor">Internet Systems Consortium</span> 99*00b67f09SDavid van Moolenbroek </p> 100*00b67f09SDavid van Moolenbroek</div> 101*00b67f09SDavid van Moolenbroek</div> 102*00b67f09SDavid van Moolenbroek<div class="navfooter"> 103*00b67f09SDavid van Moolenbroek<hr> 104*00b67f09SDavid van Moolenbroek<table width="100%" summary="Navigation footer"> 105*00b67f09SDavid van Moolenbroek<tr> 106*00b67f09SDavid van Moolenbroek<td width="40%" align="left"> 107*00b67f09SDavid van Moolenbroek<a accesskey="p" href="man.genrandom.html">Prev</a>�</td> 108*00b67f09SDavid van Moolenbroek<td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch13.html">Up</a></td> 109*00b67f09SDavid van Moolenbroek<td width="40%" align="right">�<a accesskey="n" href="man.nsec3hash.html">Next</a> 110*00b67f09SDavid van Moolenbroek</td> 111*00b67f09SDavid van Moolenbroek</tr> 112*00b67f09SDavid van Moolenbroek<tr> 113*00b67f09SDavid van Moolenbroek<td width="40%" align="left" valign="top"> 114*00b67f09SDavid van Moolenbroek<span class="application">genrandom</span>�</td> 115*00b67f09SDavid van Moolenbroek<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td> 116*00b67f09SDavid van Moolenbroek<td width="40%" align="right" valign="top">�<span class="application">nsec3hash</span> 117*00b67f09SDavid van Moolenbroek</td> 118*00b67f09SDavid van Moolenbroek</tr> 119*00b67f09SDavid van Moolenbroek</table> 120*00b67f09SDavid van Moolenbroek</div> 121*00b67f09SDavid van Moolenbroek<p style="text-align: center;">BIND 9.10.2-P4</p> 122*00b67f09SDavid van Moolenbroek</body> 123*00b67f09SDavid van Moolenbroek</html> 124