Thomas Taranowski wrote:
*[safeTgram (safetgram-in) receive status: NOT encrypted, NOT signed.]*

I think this question may be more general than OpenSSL, and will expose my SSL n00biness, but I'm not sure where to turn. I'm working on integrating the use of openssl on an embedded target which I have widely distributed in the field. The issue I have is that each target is nestled within someone elses private network, and I have no control over the IP address, nor domain name assignment, yet I still want to be able to setup secure web communications between the target and client. What I want is to use a single certificate request file, and have a single private key for each of my deployed servers, each of which will have a different domain name and IP address. From what I understand, using the same certificate and server private key is not possible, so I have to generate and get signed a certificate for each and every one of the thousand units I have deployed. To compound the difficulty, since these are small embedded targets, the certificate and key needs to be compiled into the target code at build time, so I have to make 1000 different builds, one for each target. This just seems wrong.
Can someone help me get my learn on?


Thomas Taranowski
Certified netburner consultant
baringforge.com <http://baringforge.com>

Hi Thomas,

You do not have to compile anything unique if you have some reliable persistence storage and a unique id for each device, that is unique to the device and not derived from its location. If these requirements are satisfied then a solution to this problem, as stated, is to have a certificate authority ready to sign certificate requests. Each device could have a canned library to pick up the unique identifier, add any other relevant information which may be derived from its location, and use this to create a certificate request to submit to the certificate authority to sign. The certificate authority can be one specified location that is independent from the location of the devices. The signed certificate can then stored locally and used for later SSL communications for the lifetime of the certificate.

Some issues to be aware of:
1. Secure storage, I assume that you want authentication of the device to prove it is that device. 2. Certificate revocation lists. Ask yourself if you want to be able to mark some certificates as invalid in the future?
3. Uptime of and access to the certificate authority.
4. Are you concerned about some devices impersonating others? How important is authentication in your scheme? From your comments about reusing a certificate and private key, it seems like this is not important to you.

Lastly, is it SSL you want, or something like Kerberos or IPsec? What are your requirements? SSL or the others I mentioned may be too heavy duty or too high level for your application.

Regards,

Jeremy
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to