[ 
https://issues.apache.org/jira/browse/HBASE-16414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15528741#comment-15528741
 ] 

Colin Ma commented on HBASE-16414:
----------------------------------

Hi [~devaraj], the following table shows the current action to deal with 
different configuration in client/server, and the test cases are also added in 
TestSecureIPC.java,
||    ||Server   ||    Client    ||       Action||
|Case1  | disable AES | disable AES  | no negotiation happen|
|Case2  | disable AES | enable AES   | Client will send the request to 
negotiatie AES with Server, but Server won't response, Client will throw the 
exception for timeout|
|Case3  | enable AES  | disable AES  | Client won't send the request to 
negotiatie AES, no negotiation happen|
|Case4  | enable AES  | enable AES   | Client will send the request to 
negotiatie AES with Server, Server response as Client expected, start rpc with 
AES|
For the different versions of hbase, I need do more tests.
I'll update the patch later to fix the problems from HADOOP QA, thanks for your 
review and feel free for any comments.

> Improve performance for RPC encryption with Apache Common Crypto
> ----------------------------------------------------------------
>
>                 Key: HBASE-16414
>                 URL: https://issues.apache.org/jira/browse/HBASE-16414
>             Project: HBase
>          Issue Type: Improvement
>          Components: IPC/RPC
>    Affects Versions: 2.0.0
>            Reporter: Colin Ma
>            Assignee: Colin Ma
>         Attachments: HBASE-16414.001.patch, HBASE-16414.002.patch, 
> HBASE-16414.003.patch, HBASE-16414.004.patch, HBASE-16414.005.patch, 
> HbaseRpcEncryptionWithCrypoto.docx
>
>
> Hbase RPC encryption is enabled by setting “hbase.rpc.protection” to 
> "privacy". With the token authentication, it utilized DIGEST-MD5 mechanisms 
> for secure authentication and data protection. For DIGEST-MD5, it uses DES, 
> 3DES or RC4 to do encryption and it is very slow, especially for Scan. This 
> will become the bottleneck of the RPC throughput.
> Apache Commons Crypto is a cryptographic library optimized with AES-NI. It 
> provides Java API for both cipher level and Java stream level. Developers can 
> use it to implement high performance AES encryption/decryption with the 
> minimum code and effort. Compare with the current implementation of 
> org.apache.hadoop.hbase.io.crypto.aes.AES, Crypto supports both JCE Cipher 
> and OpenSSL Cipher which is better performance than JCE Cipher. User can 
> configure the cipher type and the default is JCE Cipher.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to