Leonard Isham wrote:


 Merge the encrypted and unencrypted traffic for each side.  Look for
missing unencrypted packets and then compare encrypted packets that
follow and look for a correlation of one or more missing or out of
order encrypted packets.  Also non-trivial.



        I think you don't understand what encryption is or does.

        1) Yes, packets can be captured entering the server from outside.
2) Yes, packets can be captured being forwarded into the tap device on server.

3) NO, packets being forwarded out in crypted udp form CAN NOT BE CORRELATED to any particular input to the tap device. So there's no way to know if any particular input frame, is actually making it out as a crypted udp packet, nor can we see the results of any fragmentation decisions or anything else OpenVPN decides to do with the data. If the link was completely quiet except for test data, then we could surmise that all packets leaving in crypted form are the packets for the test case (This is called traffic analysis in crypto circles), but since the link is in moderate use, there's no way to do this. So, at the present time, we CAN'T know or independently verify that it's doing anything at all with the frames in questio nor what exactly is happening to them (by looking at the crypted udp output). And if you claim to be able to do this, then congratulations! you have set us up the bomb, you've broken openvpn and the entire ssl security model, and all our base are now belong to you!

4) YES, crypted udp packets can be captured on the input ethernet entering the client. They cannot be further examined to determine any correlation to inputs at the server. And we know that we have 0 packet loss end to end between client and server.

5) NO, packets being decrypted CAN NOT BE examined independently of OpenVPN, nor can we trace the write path of the packets, nor can we examine any packets that the kernel itself decides to hold on to for fragmentation purposes. We can only see the packets once they are decrypted and presented to the network layer were pcap can get to them.

We've proven that the server to client link is good by passing non-tunneled data (my pings to static public ips) while at the same time passing pings to tunneled ips which fail. We can look at steps 1, 2, and 4 and all we learn is that some particular tunneld data is not making it thru. But steps 3 and 5 can't be examined with packet captures, and it is at exactly these two points that silent packet corruption or dropping can take place, and with validity, and we won't know about it or any of the possible causes of it.


Again I am not a developer...


        You keep saying that.

If anyone has any other ideas, I'm all ears. Espically if anyone knows how I might tune in to the linux kernel and get copies of any packets it decides to drop because it can't find the rest of its fragments. Doesn't icmp return a copy when it says reassembly failed? Maybe I could look at these - they should be in decrypted form. Hmmm...



Mike Ireton


Reply via email to