2014-01-30 2 views
2

다음과 같은 scenerio를 가진 AES 암호화/암호 해독을 구현해야합니다.AES 암호화에 사용 된 비밀 키를 암호 해독을 위해 다른 응용 프로그램과 공유하는 방법은 무엇입니까?

두 개의 응용 프로그램 App1과 App2가 서로 다른 서버에서 실행됩니다. App1은 (AES 암호화를 사용하여) 일부 데이터를 암호화하고이를 App2에 제공합니다. App2는 AES 암호 해독을 사용하여 동일한 데이터를 암호 해독합니다. 비밀 키는 암호 해독을 위해 App2와 공유해야합니다. 그러면 App2와 비밀 키를 공유하는 방법은 무엇입니까? 이 경우 java keystore를 사용할 수 있습니까?

+0

확인이 : http://stackoverflow.com/questions/10829218/encryption-decryption-using-shared-key-in-java 확인 .Also http://javadigest.wordpress.com/2012/08/26/rsa-encryption-example/RAS 암호화 해독 용 –

+0

AES 만 사용하려는 경우. 그런 다음 키를 다른 사람에게 구두로 공유해야합니다. 왜냐하면 그 열쇠가 제 3 자에게 알려지기 때문에 그 열쇠를 해독 할 때 그 열쇠를 멈추게 할 것이기 때문입니다. – Reddy

답변

6

이 경우 Java 키 저장소를 사용할 수 있습니까?

Java 키 저장소 파일을 사용하여 키 데이터를 공유 할 수 있지만 다른 사람이 키를 읽을 수 없도록하려면이 파일을 암호로 보호해야합니다. 따라서 암호를 안전하게 공유하는 방법으로 만 문제가 변경되었습니다.

원래 문제를 해결하는 일반적인 방법은 use asymmetric cryptography입니다. 수신자가 보유한 공개 키로 AES 키를 암호화함으로써 다른 사람이 키 데이터를 읽을 수 없도록합니다. 그러나 공개 키가 의도 한 수신자와 일치하는지 확인하는 방법이 필요합니다. 이를 위해 대부분의 사람들은 a PKI의 설명으로 되돌아갑니다.

이것은 광범위한 주제 영역으로, 유스 케이스에 대한 올바른 접근 방식을 결정하기 전에 사용자가 더 읽을만한 가치가 있습니다.

관련 문제