Ethical Hacking

Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package.
Computer Forensics Training at InfoSec Institute

Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors.




Network Security SecProg
[Top] [All Lists]

Re: secure storage of sensitive data in J2EE [Virus Checked]

Subject: Re: secure storage of sensitive data in J2EE [Virus Checked]
Date: Wed, 9 Feb 2005 17:09:36 +0000





That doesn't necessarily work anyway; the JVM can always disregard it -
note the phrasing in the api for System.gc():

"Calling the gc method suggests that the Java Virtual Machine expend effort
toward recycling unused objects"

runFinalization() similarly only "suggests" it calls the finalize method of
collected objects, the JVM may still decide it's not worth doing at the
time.

However, if the key is held in an array and you've already overwritten it,
why bother - the contents have already been destroyed and collection will
gain you nothing.

If you've used a string for some reason, you should recode it using an
array rather than praying to the garbage collector and hoping it doesn't
ignore you ...




                                                                                
                                                       
                      Kevin Conaway                                             
                                                       
                      <kevin.conaway@gm        To:       apopli@gmail.com       
                                                       
                      ail.com>                 cc:       
webappsec@securityfocus.com, secprog@securityfocus.com                        
                                               Subject:  Re: secure storage of 
sensitive data in J2EE [Virus Checked]                  
                      09/02/2005 14:36                                          
                                                       
                      Please respond to                                         
                                                       
                      Kevin Conaway                                             
                                                       
                                                                                
                                                       




Forcing the garbage collector to run in Java is considered bad practice


On Tue, 08 Feb 2005 22:49:30 -0500, Ashish Popli <apopli@gmail.com> wrote:
Cant we simply force garbage collection when you are done using the
object?
Here is a link.
http://java.sun.com/docs/books/tutorial/essential/system/garbage.html

Kevin Conaway wrote:

A followup question:

Once the data (be it a password or a key) has been read into memory,
what is an effective and secure way of minimizing the window that the
plaintext key or password is in memory?

If the data is read into a char [] and then overwritten with junk
data, would that work?

Kevin

On Tue, 25 Jan 2005 09:18:15 +0000, chaim moshe <xor256@hotmail.com>
wrote:

Hello list,

where can I  store sensitive data like encryption keys, passwords, etc.
in
J2EE?
surely, you can save it in the keystore, but the catch is where do you
store
the keystore password to protect it from external access?
storing the keystore password in code or in config files is not secured
enough.

In the .NET environment you have DPAPI that was designed exactly for
this
kind of problem, the sensitive data is encrypted at the OS level with
the
user/machine password and is decrypted at runtime.
What is the solution in the J2EE environment ?

Thanks!

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's
FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/







<Prev in Thread] Current Thread [Next in Thread>