Re: Where to securely store encryption key?



This is discussed in great detail in :
"Writing Secure Code", 2nd Edn. Howard et. al.
There is no way to securely store a key in software or in the OS used for
encryption.
You need some secret which is not stored in the file-system, registry etc...

Depending on if your software can prompt for the key, a solution is to use a
good strong password-derived symmetric key(again discussed in detail in book
above).

- Mitch Gallant

<harishashim@xxxxxxxxx> wrote in message
news:1158043709.597558.171600@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I am using VC++ on VS .NET 2003 experimenting with various way of using
cryptography.

At the moment I am facing a paradox due to the following.

I have a secrete message. I want to encrypt this message using
symmetric algorithm let say AES. The encrypted message is accessible
to the user while the secrete message must stay secrete.

For this process I will need to specify a key for the encryption
process.Since my software need to do both encryption and decryption I
need to have the key available in my software.

The paradox here is that now I have to protect the key. So how should I
do this? I have consider the following together with the argument
against it.

1. Embed the key in the source code. Argument: Source code can be
reverse engineerd. The key will be known and can be used to decrypt the
encrypted message.

2. Save key in the filesystem, not encrypted. Argument: User can open
it, read the plain text key and use the key to decrypt the encrypted
message.

3. Save key in the filesystem, encrypted. Argument: If I do this, I
will have another key to secure. So this is chicken and egg situation.

4. Save key in registry. Argument: User with administrator access can
open it, read the key and use the key to decrypt the encrypted message.

I am fairly new to cryptography, please show me the way!

Thanks in advance.

*pst : At the moment hardware solution like smart card is out of the
question



.



Relevant Pages

  • Re: Checking a foolproof algorithm.
    ... > rest of the letter encryption? ... decrypt the message, but you need to decrypt the message (or part of it ... > nature of these unique irrationals. ... secure in spite of this fact... ...
    (sci.crypt)
  • Re: Unbreakable Encryption ? Scenarios - What encryption method would be best?
    ... DES is a well-known algorithm so there are good reasons to have a good ... > risk it by storing one of the best possible passwords (or encryption ... > Ok lets say there will be a secure channel but it will happen only ... > because the decrypting method yielded a plain text message and vice ...
    (sci.crypt)
  • Re: [fw-wiz] Re: Firewalls breaking stuff: [Was re: fwtk]
    ... > access to the mail server's private keys and thus the monitor can follow the ... > in a way that's more secure rather than less secure. ... for service level encryption versus VPN access. ... >> reducing bugs reduces the number of sever bugs. ...
    (Firewall-Wizards)
  • Re: Best secure surfing solution
    ... I have set up a service with companies providing secure web ... the product would have to install a keylogger. ... If we caught anyone in> IS or elsewhere in our company sniffing our communications, even if they> were encrypted, they'd get laid off or, at least, suspended. ... If e-mails are sensitive then> the sender should be using encryption. ...
    (sci.crypt)
  • Re: Best secure surfing solution
    ... I have set up a service with companies providing secure web ... the product would have to install a keylogger. ... If we caught anyone in> IS or elsewhere in our company sniffing our communications, even if they> were encrypted, they'd get laid off or, at least, suspended. ... If e-mails are sensitive then> the sender should be using encryption. ...
    (alt.computer.security)