2010-07-01 5 views
1

이것이 올바른 장소인지는 잘 모르겠지만 알 수 있습니다.비공개 메시지를 암호화하여 시스템 관리자가 읽을 수 없게하는 방법

한 사용자의 비공개 메시지를 다른 용도로 보내는 시스템을 개발 중입니다. 후드는 PHP 5.2.x를 실행합니다.

이제 개인 메시지를 암호화하는 방법을 찾고 있습니다. 에 액세스 할 수 없습니다. 현재로서는 암호화 키를 모르는 시스템을 어떻게 실현해야하는지 모르겠습니다.

첫 번째 아이디어는 그것을 OAuth와 같은 것으로 결합하는 것이 었습니다.

  • 공공 웹 페이지
  • 좋은 유용성
+7

간단한 솔루션 : ** 너무 ** 그들을 – Gordon

+0

아, 고든, 즉이었다 내 대답을 보지 마십시오. 당신이 말하는 – nont

+0

@nont을 didnt http://stackoverflow.com/questions/3156870/crypt-private-messages-wich-cant-be-read-by-server-owner-developer/3156915# ([그는 키를 저장 야해] 3156915)? 그건 내가 말한 것이 아니지? 서버 *에서 crypting *을 수행하려면 어느 시점에서 키가 필요합니다. 이 시점에서 서버 소유자/개발자는 메시지에 액세스 할 수 있으므로 서버 소유자/개발자가 메시지를 보지 못하게하려는 경우 메시지를 암호화하는 것은 의미가 없습니다. 이 경우 암호화되지 않은 상태로 저장하고 모든 것을 보지 않으려 고 노력하는 것이 훨씬 적습니다. – Gordon

답변

3

서버에서 암호 해독을 수행하는 경우 절대로 작동하지 않습니다. 자바 스크립트를 사용하여 클라이언트 측에서 완벽하게 해독해야합니다.

사용자 모두가 클라이언트 측 데이터베이스 storegae을 지원하는 최신 브라우저를 사용하는 경우, 당신은이를 사용할 수 있습니다 : 자바 스크립트 암호화 엔진에 대한 정보를 찾고에 대한

아이디어 an example


: 키를 저장하기

자바 스크립트가 암호 항목을 수행하는 최상의 언어가 아니기 때문에 de-en-cryption이 빠르길 원한다면 매우 안전하지 않을 것입니다.

+0

좋은 한 가지 감사하지만, 한 사용자가 다른 사용자에게 키를 보내야 만합니까? – opHASnoNAME

+0

RSA를 사용하는 경우 공용 키를 서버에 저장할 수 있습니다. 메시지를 암호화하려면 공개 키 만 있으면됩니다. 그러나 공개 키를 사용하여 개인 키가 필요하고 클라이언트 측 어딘가에 저장할 수 있기 때문에 암호를 해독 할 수 없습니다 – jigfox

0

어떻게 그냥 키를 저장하지 않습니다에 대해?

+0

그리고 사용자가 키없이 "메일"을 어떻게 암호화합니까? 그가 iam보다 게시 요청이있는 키를 전송하면 캡처 할 수 있습니다. – opHASnoNAME

+0

음, 메시지를 암호화 한 다음 키를 버릴 수 있습니다. 해독하기를 원하면 다시 입력해야합니다. 물론, 키를 볼 수있는 가능성을 원하지 않는다면 Andrey의 제안은 좋습니다. 공개 키 암호화가 필요합니다. – nont

1

만 사용자에게 알려진 암호화 키를 생성하는 Diffie-Hellman protocol를 사용할 수 있습니다.

그러나 사용자로

, 당신은 당신의 메시지를 읽으려면 그 키에 액세스 할 수 있습니다. 따라서 서버 대신 클라이언트에 키를 저장하는 방법을 찾아야합니다. 그렇지 않으면 메시지의 암호를 해독 할 수 있습니다. 이것은 PHP 사이트에서 상당히 어려운 일이 될 수 있으므로 성취 될 수 있을지는 의문입니다.

관련 문제