2008-10-15 4 views
2

안녕하세요. 저는 클라이언트에서 암호화 된 값을 블랙 박스 시스템까지 계속 유지해야하는 프로젝트를 연구 중입니다. 사이의 어느 지점에서든 해독 할 수 있습니다. 우리는 브라우저와 웹 서버간에 SSL을 사용하고 있지만 값은 웹 서버에서 자동으로 해독됩니다. 웹 서버 (암호화 된 상태)와 다른 백엔드 시스템을 통해 암호를 해독 할 최종 목적지에 도달 할 때까지 전달할 수 있어야합니다.클라이언트에서 값을 암호화하고 해독하지 않고 웹 서버를 통과시키는 방법

제 질문은 브라우저의 값에 대한 암호화 된 상태를 유지하면서 어디에서나 해독하지 않고 사용할 수있는 옵션은 무엇입니까?

감사 마크

답변

2

당신이 public key encryption에서 살펴 봐야 할 것입니다. SSL은 세션 (브라우저 < -> server)을 보호하지만 전체 전송은 보호하지 않습니다. 나는이 다음에 암호화 된 데이터를 완전히 전송, 클라이언트로부터 접수 된 후 데이터를 암호화 건의 할 것입니다.

여기

 client browser web server  random server  blackbox 
route ---- SSL -------------><------------- not encrypted -------> 
data       *-------- PGP/GPG encrypted ---------> 

기본적으로 데이터를 통해 암호화 된 데이터의 흐름을 요약 끔찍한 다이어그램입니다 SSL을 웹 서버에 보내면 PGP/GPG가 암호화되어 다운 스트림으로 전송됩니다. SSL은이 시점에서 중요하지 않으며 적어도 암호화의 기본 형식이 아닙니다.

환경에서 자바 스크립트를 보장 할 수없는 경우 사용자가 자바 스크립트를 사용하지 않는 경우 웹 서버에서 데이터를 암호화하는 것이 더 안전 할 수 있습니다.

4

간단한 RSA 암호화를 값에 적용하고 시스템을 통해 보내는 것에 대해 생각해 보셨습니까? 클라이언트가 데이터를 암호화 할 수있는 공개 키를 가지고 있는지 확인해야하지만 그렇게하면 쉽고 안전합니다.

내 지식에 따르면 대부분의 라이브러리는 RSA를 지원합니다. 순전히 자바에서 그것을하는 방법에 대한 좋은 데모는 here 찾을 수 있습니다.

+0

다른 RSA 구현은 http://www.ohdave.com/rsa/ 및 PGP here : http://www.hanewin.net/encrypt/ –

1

데이터베이스에 이진 유형을 사용하는 경우 웹 서버는 그대로 보내야합니다. 그런 다음 클라이언트는 데이터를 삽입하기 전에 데이터를 암호화 한 다음 데이터를 가져온 후 데이터의 암호 해독을 수행해야합니다. 웹 서버 나 데이터베이스 서버 자체는 데이터를 볼 수 없습니다.

0

블랙 박스 시스템은 기본적으로 데이터를 생성하지 않는 한 데이터를 해독 할 수 없습니다. 블랙 박스 시스템의 개발자와 문제를 논의 해 보도록 권유합니다.