PKI Challenges and Gaps for Federation

I recently interviewed XMPP co-chair Joe Hildebrand for UCfederate.info regarding XMPP Domain Name Assertions (DNA) used to enable certain instant messaging federation use cases where an XMPP server might host multiple domains. Without DNA, it’s effectively impossible to use TLS for these multiple-domain scenarios, but that’s not the main point of this post. During the course of our conversation, we touched on the general problem of how you leverage PKI and digital certificates to establish trust between two domains for a given application protocol (itself a well-understood concept in theory) and the practical challenges that still remain on a protocol-by-protocol basis for ensuring integrity when binding a certificate to a domain for a given protocol.

Take SIP-TLS for example. We’ve run into more than a few implementations that check for a valid certificate but do absolutely no validation of the domain itself, such that if I send a message purporting to be from xyz.com after presenting a valid certificate from abc.com, not even so much as an error message is logged. Moreover, SIP doesn’t actually specify how such validation should take place, leading to vendor-proprietary implementations that utilize different certificate subject mechanisms and complicate SIP federation.

I noticed a few comments on my prior post claim that UC federation is effectively a solved problem. That’s only true if you narrow the meaning of UC federation to an absurdly small subset of the communications and collaboration space. Yes, XMPP federation for simple domain pairs for instant messaging is well defined with many interoperable vendor implementations today. Frankly, XMPP federation is the best story we’ve got for federation in the UC space, as the story degrades quickly from there. The next-best stories are effectively vendor-specific with Microsoft OCS Federation and Cisco’s Intercompany Media Engine (currently the only product using ViPR – (Verification involving PSTN Reachability – an IETF draft standard proposed by Cisco). There’s a lot of work left to do before all communications and collaboration services are federateable between enterprises, and it turns out that these certificate binding problems are one of the big gaps. To date, XMPP is the closest to solving them and the IETF is considering adopting general standards for protocol certificate binding based on related work – see: draft-saintandre-tls-server-id-check-02 for example]

There’s more to come on this topic in the near future, but for now I just want to leave you with this: it doesn’t matter how secure an established TLS connection is for a given protocol if you can’t bind application-layer domain claims with the certificate used for TLS session establishment. It’s a common fallacy that TLS “makes you secure” all by itself – that’s akin to saying that seat belts and airbags will prevent you from crashing. Federation can only succeed when all associated protocols have well-understood certificate and domain bindings that are properly validated by vendor products used by the federation participants. Anyone who tells you that’s a solved problem today for UC is delusional.

This entry was posted in Best Practices, Certificates and PKI, Cryptography, Federation, Standards, VoIP Security on by .

About Andy Zmolek

Andy has been involved with product development and network security for over a decade, and is a co-author and technical editor for the book, "Practical VoIP Security," published in April 2006 by Syngress. Andy was most recently a senior manager in Avaya's Unified Communications Division, driving security and identity planning and strategy for across the Avaya product line, focusing primarily on on applications and next-generation platforms. Previously at Avaya, he led teams within Information Technology, Services, and Strategy & Technology Business Units. Andy was an early advocate for Avaya initiatives in Security, SIP, Presence, and VoiceXML; he has two patents granted and at least nine others pending from his work in Unified Communications. Prior to joining Avaya, Andy directed network architecture and operations at New Era of Networks (now Sybase), a pioneer of enterprise application integration (EAI) technology. Andy got his start in the industry building real-time simulation networks for missile and satellite programs at Raytheon, most notably Sidewinder and Tomahawk. Andy holds a degree in Mathematics from Brigham Young University and lives in Highlands Ranch, Colorado.