Hosted by
Tim Callan
Chief Compliance Officer
Jason Soroko
Fellow
Original broadcast date
August 18, 2020
Certificate pinning is the practice of coding software to demand the presence of a specific certificate brand or root in order to function correctly. Though once considered a legitimate security option, certificate pinning is widely discredited because it carries unacceptable certificate agility costs. Join our hosts as they explain what certificate pinning is, how it came about, and why nearly all developers should avoid certificate pinning today.
Podcast Transcript
Lightly edited for flow and brevity.
You are a company that builds mobile applications, native applications. That native application is talking to some sort of API backend. As you and I always say Tim, it’s best to have some sort of TLS-based authentication to that backend; that’s a certificate-based authentication. What happens if a certificate that is not fully trusted, is the one that’s being used to do that authentication? In other words, how could that happen? That could happen if somehow you were socially engineered to install a self-signed certificate that was in possession of the bad guy. Then, all the sudden your communication to that backend can essentially be man-in-the-middled. In other words, even though that traffic is encrypted back and forth, it’s being decrypted and read by somebody in the middle, because of the fact that there is a self-signed certificate that is being trusted at the client side.
The conclusion, Tim, for certificate pinning is that the costs to agility are just too high now.

