2010-01-27 4 views
2

로그인 할 서버에 안전하게 연결하는 J2ME 앱을 개발 중입니다. 나는 두 가지 사이에 SSL을 설정하는 데 많은 어려움을 겪고 있으므로 더 간단한 솔루션을 생각해 보았습니다. 당신이 그것에 대한 의견을 제시 할 수 있기를 희망합니다.인증 기관 대 저장된 공개 키

J2ME 미들 릿은 서버의 공개 키와 함께 제공되며 메시지 (사용자 이름, 암호 해시 및 무작위)는 해당 공개 키를 사용하여 암호화되어 서버로 전송됩니다. 그런 다음 서버는이를 암호 해독하고이를 사용하여 클라이언트를 인증합니다.

인증 기관의 주된 아이디어는 누가 양측이 이미 알고 있고 (이미 인증 된 연결을 통하지 않는 한) 변경되지 않을 것이라는 점에 동의한다면 누가 누구인지, 그리고 내가 필요를 우회하지 않는지 하나?

덕분에, 블라디미르

답변

1

두 당사자가 이미 알고 있고 그것을 변경하지 않을 것에 동의한다면 ... 그때는 하나의 필요성을 무시하지 마?

네,하지만 요점은 빠져 있다고 생각합니다. 이 프로그램은 키와 함께 제공되지만 사용자가 실제로 다운로드하는 프로그램이 당신에게서 왔으며 일부 악의적 인 해커가 통신을 가로 채거나 다시 작성하지 않는다는 것을 알 수있는 방법이 없습니다. 모든 사용자는 벽에있는 전선에서 오는 비트를 보게됩니다.

일반적으로 수행 할 작업은 키로 jar에 서명하고 프로그램과 함께 키를 전달하는 것입니다. 이제 우리는 닭고기와 달걀에 문제가 있습니다 : 열쇠가 당신에게서 나왔다는 것을 어떻게 알 수 있습니까?

인증 기관이 오는 곳입니다. CA의 키는 컴퓨터에 이 이미이므로 CA에 남겨 두어 자신의 신원을 확인하고 공개 키에 서명하십시오. 그런 다음 사용자가 공개 키를 가져 와서 CA가 서명했는지 확인하고 항아리가 키로 서명되었는지 확인한 후 키를 알고 있기 때문에 키가 사용자의 것이므로 병이 나왔을 것입니다. 그것을 개인 키로 서명 할 수 있었던 유일한 사람.

예를 들어, 키가 컴퓨터에 미리 설치되어있는 경우 (예 : 키가 실제로 컴퓨터에 놓여있는 회사의 내부)에는 그렇습니다. 열쇠를 서명해야합니다.

관련 문제