Improving OpenSSL to Process Out of Order Data

A CS 490 project by Sam Gensburg

Advised by Bryan Ford

Abstract

The SSL protocol and its successor, TLS, represent the foundation of modern internet security, and are indispensable to those wishing to keep their information secure as they communicate over the internet. However, these protocols were designed under the assumption that they would only be used to read information in the order it was sent. While, in the past, this was not a huge deficiency, it has become increasingly disadvantageous as real time communication over the internet has become more commonplace. Previous work has been done to alter SSL and TCP to allow applications to read data out of order, thereby receiving up to date information as soon as possible, but the existing SSL cryptosuites are not designed to allow data to be read in such a fashion. In my project, I worked to create an improved cryptographic suite to allow data to be successfully read out of order.

Files

Initial Proposal

Final Report

Source Code - This code was built on top of OpenSSL version 1.0.0d, which can be found here, as well as a version update by Fitz Nowlan.