[ 
http://issues.apache.org/jira/browse/DERBY-962?page=comments#action_12369929 ] 

Kathey Marsden commented on DERBY-962:
--------------------------------------

Thanks Sunitha for working on this issue and working toward a secure network 
client and server.
I looked at your table and the code patch diff, but did not apply it because I 
had trouble doing so, so this review is probably pretty rough. 

Your table is very useful and I think it should be incorporated into the test  
or code comments.  Perhaps the following could be clarified. 

-  In your explanation of columns in the table you refer to the columns as a), 
b) etc.  It would be good to put those letters in the column headers.

- In your explanations section also list how the numeric values map to the 
security mechanisms for reference.
  It is further down on the page, but I noticed that after loooking them up.

- The first section of the table is for the case where  no security mechanism 
is specified.  It would be good to call that  out in a header as  you do before 
the other sections of the table.


In the code, I am unsure about the impact of adding this code to the static 
initializer block.    I know you had asked about it earlier and I wish I had 
insight to the implications but just don't.   Hopefully someone else does.

 static
+    {
+        try
+        {
+            // The EncryptionManager class will instantiate objects of the 
required 
+            // security algorithms that are needed for EUSRIDPWD
+            // An exception will be thrown if support is not available
+            // in the JCE implementation in the JVM in which the client
+            // is loaded.
+            new org.apache.derby.client.am.EncryptionManager(null);
+            SUPPORTS_EUSRIDPWD = true;
+        }catch(Exception e)
+        {
+            // if an exception is thrown, ignore exception.
+            // set SUPPORTS_EUSRIDPWD to false indicating that the client 
+            // does not support EUSRIDPWD security mechanism
+            SUPPORTS_EUSRIDPWD = false;
+        }
+    }


Maybe it would be good to change SECMEC_HAS_NOT_EXPLICITLY_SET   to something 
like SECMEC_DEFAULT for clarification.  Something about the negatives in 
variable names always confuses me.

Kathey




> Upgrade default security mechanism in client to use encrypted userid password 
> if client can support it.
> -------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-962
>          URL: http://issues.apache.org/jira/browse/DERBY-962
>      Project: Derby
>         Type: Improvement
>   Components: Network Client
>     Reporter: Sunitha Kambhampati
>     Assignee: Sunitha Kambhampati
>      Fix For: 10.2.0.0
>  Attachments: 962_table.txt, Derby962_forreview.diff.txt, 
> Derby962_forreview.stat.txt
>
> Currently in the client, if userid and password are set in the connection 
> url, the default security mechanism is upgraded to USRIDPWD (which is clear 
> text userid and password).  This seems to be a security hole here. 
> Current client  driver supports encrypted userid/password (EUSRIDPWD) via the 
> use of DH key-agreement protocol - however current Open Group DRDA 
> specifications imposes small prime and base generator values (256 bits) that 
> prevents other JCE's  (apt from ibm jce) to be used as java cryptography 
> providers.  
> Some thoughts:
> -- client can make a check to see if it the jvm it is running in supports the 
> encryption necessary for EUSRIDPWD. If it supports, then the client can 
> upgrade to EUSRIDPWD. 
> -- if the jvm the client is running is , doesnt support encryption 
> requirements for EUSRIDPWD, then the security mechanism will be set to 
> USRIDPWD.
> -- DERBY-528 will add support for strong userid and password which is another 
> option to send encrypted passwords across the wire. When this gets added, 
> maybe this can be considered as one of the upgrade options after EUSRIDPWD. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to