On 25/03/13 13:31, Arne Schwabe wrote:
> Am 25.03.13 13:20, schrieb David Sommerseth:
>> On 20/03/13 16:49, Siren 1117 wrote:
>>> Hi all,
>>>
>>> I modified the obfuscation patch to work with git-master. And I also put
>>> it on Github: https://github.com/siren1117/openvpn-obfuscation-release .
>>>
>>> Hope it could help someone.
>> Your patch still have not changed *anything* commented in this e-mail:
>> <http://thread.gmane.org/gmane.network.openvpn.devel/7285/focus=7293>
>>
>> I am in particular worried that you have not put any concern into the
>> RC4 comments.  To seed you more on this topic, please read this one
>> (especially the "So what's wrong with RC4" paragraph):
>> <http://blog.cryptographyengineering.com/2013/03/attack-of-week-rc4-is-kind-of-broken-in.html>
>>
>> In addition, you have more in-depth info here:
>> <http://blog.cryptographyengineering.com/2011/12/whats-deal-with-rc4.html>
>>
>> Why am I concerned about this weakness when RC4 is only used for
>> obfuscation?  Because if the encryption key is easily recovered, the
>> obfuscation doesn't really work.  Any blocking firewalls of certain
>> sizes can easily add checks on for extracting this RC4 data and try to
>> retrieve the keys.  This way they can detect the obfuscated OpenVPN
>> traffic, and decide to block it.  You can of course change the key
>> again, but it's just a matter of time until the new key is retrieved and
>> your back at start needing to change the key even once more.  And when
>> this is needed to be done in 10-15 minutes intervals, people will start
>> complaining about OpenVPN's non-functional obfuscation.  This is a no-go!
>>
>> So please!  Before submitting any more patches of this "RC4 obfuscation"
>> approach, come up with a better and improved solution - at least don't
>> ignore the weaknesses in RC4.
>>
>> And as I already said: The TOR project already have written good
>> obfuscation methods (obfsproxy) - learn from them! Then doing something
>> similar will make far more sense to include into OpenVPN.  Reusing the
>> obfsproxy source code will even reduce the risk of errors and lessen the
>> maintenance of the OpenVPN code as well.
>
> I think the correct approach is to create a plugin mechanism that allows
> arbitrary connection methods like:
> 
> <connection>
> remote my.remote.bla xxxx
> connect-plugin obfuscate.so
> </connection>
> 
> The plugin would then try to open the connection and return a fd to
> openvpn so that all the other is transparent for openvpn. This allows a
> good integration for stuff like obfuscation that can change quickly
> while providing a nice and clean interface for openvpn.

Thank you, Arne!  This makes very much sense!

However, I would probably suggest using --plugin and extend that
infrastructure to support connection blocks for a new plug-in type,
OPENVPN_PLUGIN_CONNPROXY ... or something like that.

Adding more/new options to the massive amount of already available
options probably isn't the best thing (we have way too many options
already).  Especially when thinking along the lines of a plug-in.


-- 
kind regards,

David Sommerseth

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to