xref: /minix3/external/bsd/bind/dist/doc/arm/man.isc-hmac-fixup.html (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
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> &#8212; 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