To most people, the term ‘encryption‘ goes hand-in-hand with PKI, and rightfully so. PKI, or more commonly, SSL/TLS certificates and keys, have been in use for over two decades, securing channels of communication by providing end-to-end encryption of data-in-transit. Enterprises have typically employed x.509 certificates across their entire IT infrastructure to protect information belonging to them, and more importantly, their customers. The fact remains that the value of a robust, leak-proof PKI system cannot be understated. After all, history has demonstrated that a single certificate going offline can snowball into literally costing a firm millions of dollars.
Back to the present – the phenomenon of digital transformation is in full bloom, and manual processes are continuously being automated across the board. This means more devices and virtual services are being added to networks – these are endpoints that have to be protected by installing certificates on them. More importantly, x.509 certificates are not a fit-and-forget solution. Once a certificate is installed on, say, a server, it has to be continuously monitored for issues, renewed when its validity expires, and replaced with a new one. Here’s a quick rundown of the activities a PKI expert might have to perform while managing the life cycle of a certificate:
As is apparent, managing certificates using manual processes is not a simple task. Several teams follow a manual, ticket-based approach to certificate management, which works on an ad-hoc basis. While the obvious problem with manual management is the fact that handling thousands of certificates can be awfully error-prone, unreliable, and time-consuming, there are also some hidden downsides:
Inefficient Policy and Audit Mechanisms: A lack of granular control over who modifies or generates certificates/keys does not allow for reliable audit tracking or homogenous policy enforcement across the network.
Clouded visibility: Building on the former pain-point, siloed processes severely limit visibility into trust structures, which could lead to far too many certificates going undocumented. This makes it painful to locate and maintain a certificate in order to prevent its unexpected expiry.
Insecure private key storage: Holding private keys in unsecured locations (plain text documents, as opposed to HSMs, for instance) opens up an enterprise to possibilities of data theft or breaches by means of man-in-the-middle attacks. The human element involved in manual management is also a constant risk factor.
These downsides are usually circumvented by implementing structured certificate management processes from day 1, and ensuring that all ops teams are equipped with ample visibility and control over their PKI. Automate the manual processes to remove the margin of error, and you’ve got yourself a foolproof security infrastructure to handle your encryption needs.
And in order to do that, you’d do well in following some industry-standard best practices. The official ones are detailed in the NCCoE-published guide on the NIST recommendations for TLS certificate management. However, if you’d like a quick, distilled summary of the de-facto mandated principles to be followed while managing TLS certificates, here are our top 5 best practices for certificate management, in no particular order:
- Obtain Visibility
Ensure that you always have a handle on every certificate in your inventory. This entails periodically scanning the network to identify CA-issued certificates and mapping them to the endpoints they’re installed on. While this also greatly simplifies future certificate ops, it also helps administrators weed out orphaned, expired, or otherwise insecure certificates.
Ideally, subnet scans must be performed to located certificates and host names. Care must be taken to perform well-controlled scans by batching the subnet list and implementing cooling periods between scans, so as to avoid network load. Hint: Schedule scans overnight or during periods of low network traffic for the best results!
- Maintain Inventory
It doesn’t stop with scanning! Care must be taken to ensure that the results of the scan are stored, or updated in your existing inventory. Categorization of discovered certificates plays a major role in simplifying operations. For instance, you may choose to group certificates based on whether they’re used in test, or production environments.
You may also want to group them based on owner hierarchy to simplify tracking and alert escalation. Finally, ensuring that policy is implemented uniformly across groups is imperative, but we’ll get to that.
- Enforce Policy
While organizational policies might already be in place, as mandated by NIST, what you require is a means by which policy can be enforced via automation. For example, you may choose to define renewal mechanisms for certificates to be automatically renewed when they are past 80% of their validity periods. Such rule-definition capabilities for policy enforcement enable you to quickly recover from potential disasters.
For ex: If you have contracts in place with backup CAs, and mechanisms to automatically implement a bulk replacement, you hedge yourself against the risk factor of a CA compromise.
- Protect Private Keys
Regardless of the method used to store private keys (HSMs, software vaults, keystores, or even files), your #1 priority should lie in removing the human element from the key management exercise. When you prevent individuals from having direct access to private keys, you eliminate the possibility of theft, and make it simpler to track down potential compromise. This state of automated key orchestration is achieved by leveraging automation workflows to push certificates and their keys to network endpoints. And when key access is absolutely necessary, a role-based, privileged approach must be followed.
That said, additional layers of security never hurt anyone. Instruct your teams to make conscious efforts to encrypt keys at rest, and protect critical data by means of instruments adhering to the FIPS 140-2 standard.
- Enable End-to-end Monitoring
Despite having a fully automated certificate management process, PKI infrastructures have to be constantly monitored for weak links. What you need is a system that ties into every aspect of your certificates across multiple CAs and network security/automation software. Dashboards that track expiry and redundancy are incredibly handy, as are notifications sent to certificate owners prior to expiry.
Another way to drill down on the monitoring/maintenance cycle is to schedule reports on the status of certificate groups that reach only their owner(s). This serves the purpose of keeping teams informed on statuses, as well as eliminating noise.
As a security stakeholder or a member of a Sec/Net/DevOps team that deals with TLS certificates and keys, it would be in your best interest to ensure that your organization adheres to these guidelines, if you haven’t done so already. As they say, better safe than sorry – every single certificate may be that one weak link in an otherwise solid security setup. Preventing certificate outages is a lot simpler than dealing with them afterward. Good luck!
If you need assistance with setting up and managing your PKI, feel free to reach out to us at www.encryptionconsulting.com, and to learn more about implementing full-fledged, scalable certificate lifecycle automation systems within your organization, visit appviewx.com.