VeriKey: A Dynamic Certificate Verification System for Public Key Exchanges

  • Authors:
  • Brett Stone-Gross;David Sigal;Rob Cohn;John Morse;Kevin Almeroth;Christopher Kruegel

  • Affiliations:
  • Department of Computer Science, University of California, Santa Barbara,;Department of Computer Science, University of California, Santa Barbara,;Department of Computer Science, University of California, Santa Barbara,;Department of Computer Science, University of California, Santa Barbara,;Department of Computer Science, University of California, Santa Barbara,;Department of Computer Science, University of California, Santa Barbara,

  • Venue:
  • DIMVA '08 Proceedings of the 5th international conference on Detection of Intrusions and Malware, and Vulnerability Assessment
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a novel framework to substantiate self-signed certificates in the absence of a trusted certificate authority. In particular, we aim to address the problem of web-based SSL man-in-the-middle attacks. This problem originates from the fact that public keys are distributed through insecure channels prior to encryption. Therefore, a man-in-the-middle attacker may substitute an arbitrary public key during the exchange process and compromise communication between a client and server. Typically, web clients (browsers) recognize this potential security breach and display warning prompts, but often to no avail as users simply accept the certificate since they lack the understanding of Public Key Infrastructures (PKIs) and the meaning of these warnings. In order to enhance the security of public key exchanges, we have devised an automated system to leverage one or more vantage points of a certificate from hosts that have distinct pathways to a remote server. That is, we have a set of distributed servers simultaneously retrieve the server's public key. By comparing the keys received by peers, we can identify any deviations and verify that an attacker has not compromised the link between a client and server. This is attributable to the fact that an attacker would have to compromise all paths between these vantage points and the server. Therefore, our technique greatly reduces the likelihood of a successful attack, and removes the necessity for human interaction.