silverhairb
IS-IT--Management
Private Isolated Root / Mutual Authentication SSL
Follows is a short explanation of its mechanism and an example of its deployment.
SSL is a commonly used technique that uses public key cryptography to exchange cryptographic keys used to secure communication over the internet. To work, information is encrypted using the public key contained in digital certificates issued by trusted authorities and operated in a secure manner.
Much has been written on the topic of public key cryptography and its supporting public key infrastructure (PKI). The assumption is that the reader understands the basics of PKI and the mechanisms SSL and most other applications use to authenticate digital certificates.
SSL Certificate Operation and Relevant Options
In a typical SSL session, the client inspects and validates a digital certificate. The database of certificate signing authorities (Certification Authority or CA) is checked to determine whether the CA is in the “trusted CA cache” of the client. If the CA is not listed in the trusted cache, then a validation failure occurs and the client may be asked whether or not to accept the certificate. It stands to reason that if the trusted CA cache contains no entries, every certificate presented will fail validation.
There are several SSL server options of particular interest in this discussion. The first requires mutual authentication. This means that both the server and client must possess and present their digital certificates to the other for validation and for entity authentication. If a client does not have a digital certificate, if the certificate fail validation, or entity authentication fails, then the serer would consider this a mutual authentication failure.
As an extension of mutual authentication failure, the second SSL option is that the session fails on authentication failure. If the client fails authentication then the server ends the session and no further communication takes place.
An organization can establish and operate their own “Private Root Certification Authority” for purposes of issuing SSL certificates to their own users. Issuance may be severely limited to only those with special server access needs.
Sample implementation
Using the above options and a private CA, we can develop the following implementation:
Clear the trusted CA cache in the server. Add the root CA certificate from the organizations private CA.
Issue an SSL server certificate to the server from the organization’s private CA.
Set the SSL options in the server to require mutual authentication and session fail on authentication fail.
Begin issuing certificates from the private CA to only client/users authorized at access the server. Depending on the sensitivity of the data being accessed on the server, protect the private key of the client in a “secure” key storage/cryptographic device such as a smart card.
Install the private root CA certificate in the client’s trusted CA cache.
Only allow only SSL access to the server.
This provides an environment where the server requires the client to present their digital certificate. If the certificate validation process fails on the server, the session fails and the client cannot gain access to the server.
Of interest to this group:
The principles in this "type" of technique (private CA / thin trusted CA cache) were also successfully tested on Cisco router equipment in the late 90s. IIRC, we used Cisco 3604 hardware clients and 36XX routers. At least that's what I think we used. I was testing the techniques, not working with the routers beyond verifying their use of certificates in this scheme.
Background
Necessity is the mother of invention. I developed this technique to address the need for an economical and secure client authentication / access control tool (operating in the background) to bypass the expense and need for manually entering time-sensitive codes from Security Dynamics SecureID tokens. This secure remote access control tool is documented in an informative annex of ANSI X9.49 (Secure Remote Access to Financial Applications). It is currently in use as a secure remote access control tool in the educational and financial industries. I’m not really at liberty to disclose some of the larger users. I didn’t patent this technique since I wasn’t sure whether the design of SSL itself amounted to prior art.
The use of this technique excludes the use of MD5 for purposes of the hashes used in digital signature generation as discussed earlier in this forum.
Anyway, there is it for your information and analysis. In your review and analysis, I welcome attacks and any discovered vulnerabilities.
OK, I’ve had enough adrenaline for the last couple of days.
Time to get back to chemistry. That is, changing wine to urine.
[the other] Bill
Follows is a short explanation of its mechanism and an example of its deployment.
SSL is a commonly used technique that uses public key cryptography to exchange cryptographic keys used to secure communication over the internet. To work, information is encrypted using the public key contained in digital certificates issued by trusted authorities and operated in a secure manner.
Much has been written on the topic of public key cryptography and its supporting public key infrastructure (PKI). The assumption is that the reader understands the basics of PKI and the mechanisms SSL and most other applications use to authenticate digital certificates.
SSL Certificate Operation and Relevant Options
In a typical SSL session, the client inspects and validates a digital certificate. The database of certificate signing authorities (Certification Authority or CA) is checked to determine whether the CA is in the “trusted CA cache” of the client. If the CA is not listed in the trusted cache, then a validation failure occurs and the client may be asked whether or not to accept the certificate. It stands to reason that if the trusted CA cache contains no entries, every certificate presented will fail validation.
There are several SSL server options of particular interest in this discussion. The first requires mutual authentication. This means that both the server and client must possess and present their digital certificates to the other for validation and for entity authentication. If a client does not have a digital certificate, if the certificate fail validation, or entity authentication fails, then the serer would consider this a mutual authentication failure.
As an extension of mutual authentication failure, the second SSL option is that the session fails on authentication failure. If the client fails authentication then the server ends the session and no further communication takes place.
An organization can establish and operate their own “Private Root Certification Authority” for purposes of issuing SSL certificates to their own users. Issuance may be severely limited to only those with special server access needs.
Sample implementation
Using the above options and a private CA, we can develop the following implementation:
Clear the trusted CA cache in the server. Add the root CA certificate from the organizations private CA.
Issue an SSL server certificate to the server from the organization’s private CA.
Set the SSL options in the server to require mutual authentication and session fail on authentication fail.
Begin issuing certificates from the private CA to only client/users authorized at access the server. Depending on the sensitivity of the data being accessed on the server, protect the private key of the client in a “secure” key storage/cryptographic device such as a smart card.
Install the private root CA certificate in the client’s trusted CA cache.
Only allow only SSL access to the server.
This provides an environment where the server requires the client to present their digital certificate. If the certificate validation process fails on the server, the session fails and the client cannot gain access to the server.
Of interest to this group:
The principles in this "type" of technique (private CA / thin trusted CA cache) were also successfully tested on Cisco router equipment in the late 90s. IIRC, we used Cisco 3604 hardware clients and 36XX routers. At least that's what I think we used. I was testing the techniques, not working with the routers beyond verifying their use of certificates in this scheme.
Background
Necessity is the mother of invention. I developed this technique to address the need for an economical and secure client authentication / access control tool (operating in the background) to bypass the expense and need for manually entering time-sensitive codes from Security Dynamics SecureID tokens. This secure remote access control tool is documented in an informative annex of ANSI X9.49 (Secure Remote Access to Financial Applications). It is currently in use as a secure remote access control tool in the educational and financial industries. I’m not really at liberty to disclose some of the larger users. I didn’t patent this technique since I wasn’t sure whether the design of SSL itself amounted to prior art.
The use of this technique excludes the use of MD5 for purposes of the hashes used in digital signature generation as discussed earlier in this forum.
Anyway, there is it for your information and analysis. In your review and analysis, I welcome attacks and any discovered vulnerabilities.
OK, I’ve had enough adrenaline for the last couple of days.
Time to get back to chemistry. That is, changing wine to urine.
[the other] Bill