Skip to main content

Hammurabi: A Framework for Pluggable, Logic-Based X.509 Certificate Validation Policies

Publication ,  Conference
Larisch, J; Aqeel, W; Lum, M; Goldschlag, Y; Kannan, L; Torshizi, K; Wang, Y; Chung, T; Levin, D; Maggs, BM; Mislove, A; Parno, B; Wilson, C
Published in: Proceedings of the ACM Conference on Computer and Communications Security
November 7, 2022

This paper proposes using a logic programming language to disentangle X.509 certificate validation policy from mechanism. Expressing validation policies in a logic programming language provides multiple benefits. First, policy and mechanism can be more independently written, augmented, and analyzed compared to the current practice of interweaving them within a C or C++ implementation. Once written, these policies can be easily shared and modified for use in different TLS clients. Further, logic programming allows us to determine when clients differ in their policies and use the power of imputation to automatically generate interesting certificates, e.g., a certificate that will be accepted by one browser but not by another. We present a new framework called Hammurabi for expressing validation policies, and we demonstrate that we can express the complex policies of the Google Chrome and Mozilla Firefox web browsers in this framework. We confirm the fidelity of the Hammurabi policies by comparing the validation decisions they make with those made by the browsers themselves on over ten million certificate chains derived from Certificate Transparency logs, as well as 100K synthetic chains. We also use imputation to discover nine validation differences between the two browsers' policies. Finally, we demonstrate the feasibility of integrating Hammurabi into Firefox and the Go language in less than 100 lines of code each.

Duke Scholars

Published In

Proceedings of the ACM Conference on Computer and Communications Security

DOI

ISSN

1543-7221

Publication Date

November 7, 2022

Start / End Page

1857 / 1870
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Larisch, J., Aqeel, W., Lum, M., Goldschlag, Y., Kannan, L., Torshizi, K., … Wilson, C. (2022). Hammurabi: A Framework for Pluggable, Logic-Based X.509 Certificate Validation Policies. In Proceedings of the ACM Conference on Computer and Communications Security (pp. 1857–1870). https://doi.org/10.1145/3548606.3560594
Larisch, J., W. Aqeel, M. Lum, Y. Goldschlag, L. Kannan, K. Torshizi, Y. Wang, et al. “Hammurabi: A Framework for Pluggable, Logic-Based X.509 Certificate Validation Policies.” In Proceedings of the ACM Conference on Computer and Communications Security, 1857–70, 2022. https://doi.org/10.1145/3548606.3560594.
Larisch J, Aqeel W, Lum M, Goldschlag Y, Kannan L, Torshizi K, et al. Hammurabi: A Framework for Pluggable, Logic-Based X.509 Certificate Validation Policies. In: Proceedings of the ACM Conference on Computer and Communications Security. 2022. p. 1857–70.
Larisch, J., et al. “Hammurabi: A Framework for Pluggable, Logic-Based X.509 Certificate Validation Policies.” Proceedings of the ACM Conference on Computer and Communications Security, 2022, pp. 1857–70. Scopus, doi:10.1145/3548606.3560594.
Larisch J, Aqeel W, Lum M, Goldschlag Y, Kannan L, Torshizi K, Wang Y, Chung T, Levin D, Maggs BM, Mislove A, Parno B, Wilson C. Hammurabi: A Framework for Pluggable, Logic-Based X.509 Certificate Validation Policies. Proceedings of the ACM Conference on Computer and Communications Security. 2022. p. 1857–1870.

Published In

Proceedings of the ACM Conference on Computer and Communications Security

DOI

ISSN

1543-7221

Publication Date

November 7, 2022

Start / End Page

1857 / 1870