Hello All,<div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>We've a problem here with a couple of errant security-gateways when trying to connect our strongswan-using software to them.</div>
<div><br></div><div>Originally, we specified a connection to use the following params:</div><div><br></div></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>ike=aes-sha-modp1024!</div><div>esp=aes-sha1</div><div><br></div></blockquote>The first segw was <i>unhappy</i> with this, because the CHILD_SA creation included a LIST of proposals (of all of the possible combinations PREPENDED by the one we specified, above). The first segw did not like the fact that we were sending a list instead of just the combination we had agreed.<br>
<br>So, we changed the esp= line:<br><br></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
esp=aes-sha1!<br></blockquote><br>This forced the local end to only propose the specified combination.<br><br>The first segw became happy.<br><br>Next, the second segw was unhappy. Eventually, they managed to tell us it was because we were not specifying the diffie-hellman group in the CHILD_SA creation proposal. So, we changed the esp= line again:<br>
<font class="Apple-style-span" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 11px;"><font class="Apple-style-span" face="arial"><span class="Apple-style-span" style="font-size: small;"><br></span></font></span></font></blockquote>
<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">esp=<span class="Apple-style-span" style="font-family: sans-serif; font-size: 11px; ">aes-sha1-modp1024!<br>
</span></blockquote></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
</blockquote><br>The second segw became happy. We could set up a tunnel and rekeying proceeded smoothly.<br><br>Unfortunately, the first segw became unhappy again :-(<br><br>Initial tunnel setup went okay, rekeying of the IKE_SA went okay, but rekeying of the CHILD_SA failed. Looking at the strongswan trace, it seemed that we were proposing to use "<font face="Arial" size="1"><span style="font-size: 9pt; font-family: Arial;">AES_CBC_128/HMAC_SHA1_96/MODP_1024" (as expected) and the segw was responding with a smaller proposal of "</span></font><font face="Arial" size="1"><span style="font-size: 9pt; font-family: Arial;">AES_CBC_128/HMAC_SHA1_96". The local end's strongswan code received this proposal, looked for it in the list of configured proposals, could not find it and failed the rekey operation.<br>
</span></font><br>I've tried:<br><br></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
esp=aes-sha1-modp1024</blockquote></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><br>but this then failed because we ended up proposing a list of choices, again. I've also tried:<br>
<br></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">esp=aes-sha1-modp1024,aes-sha1!</blockquote>
</blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 11px;"><br>
but this seems to confuse the SECOND segw (after successful initial tunnel setup, the second segw goes into an infinite immediate rekeying loop). I haven't even tried this configuration on the first segw.<br><br>The operator of the first segw does not think there is a problem with their segw and insists that the previous version of our software (using a different IPsec stack not strongswan) worked fine and that we should make our latest version of our software compatible with the old version.<br>
<br>Looking at the old version, it made the same proposal as the new one ("AES_CBC_128/HMAC_SHA1_96/MODP_1024") and when it received the same responding proposal ("AES_CBC_128/HMAC_SHA1_96") warned that the remote end had not specified the diffie-hellman group BUT it would carry on anyway and set up the new CHILD_SA.<br>
<br>Any ideas, anyone ?<br><br>I'm tempted to try and argue that the problem is with their segw, because it specifies the diffie-hellman group during the initial setup of the CHILD_SA and it is only during the rekeying of the CHILD_SA that they do not specify the diffie-hellman group.<br>
<br>However, I'm sure they will:<br><br>(a) state that they are not breaking any standards by doing so<br>(b) it is more efficient to NOT specify a new diffie-hellman exchange during a rekey of the CHILD_SA (or something)<br>
(c) play the old "your new software breaks compatibility with your old software" card<br><br>Is this a problem with strongswan ?<br><br>Or, have I configured it wrong ?<br><br>Or, will I have to give in with trying to stick to the same connection configuration for both security-gateways ?<br>
<br>Or, will I have to hack the strongswan code to work around this ?<br><br>Any suggestions gratefully received !<br><br>Regards,<br><br></span></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 11px;">Graham.</span></font></blockquote>
</blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="sans-serif" size="3"><span class="Apple-style-span" style="font-size: 11px;"><br>
<br></span></font><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><span class="Apple-style-span" style="font-family: sans-serif; font-size: 11px; "></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 11px; "></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 11px; "></span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 11px; "><br>
</span><span class="Apple-style-span" style="font-family: sans-serif; font-size: 11px; "></span></blockquote></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">
<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><br></div></blockquote></blockquote>