2011-08-20 3 views
1

SHA-1 해시가있는 보안 서버에 양식을 게시해야합니다. 일부 양식 필드와 비밀 키입니다.SHA-1 해시에 사용할 비밀 키를 저장할 위치는 어디입니까?

나는 자바 스크립트를 사용하여 (http://crypto-js.googlecode.com/files/2.3.0-crypto-sha1.js의 도움으로) 해쉬를 만들고 양식의 숨겨진 입력 필드에 넣을 것입니다. 받는 사람 서버는 동일한 키에 대해 해시를 검사합니다.

하지만 비밀 키는 어디에 저장해야합니까? 페이지 소스를 볼 수 있기 때문에 자바 스크립트에 넣을 수 없습니다 (난독 화 된 경우에도?).

내 사이트는 ftp 및 텔넷 액세스 권한이있는 UNIX 서버에서 호스팅됩니다. 나는 서버의 별도 .js 파일에 키를 넣으면 똑같이 안전하지 않다고 가정합니다.

그밖에 내가 안전하게 내 서버에 저장할 수 있지만 내 페이지의 자바 스크립트에서만 액세스 할 수 있습니까? 고맙습니다.

+0

HTTPS를 통해 페이지를 제공하고 보안을 제공하기 위해 전송 레이어를 사용하는 것이 아닌가? – sethobrien

+0

내 사이트의 SSL 인증서가 없습니다. – Marto

답변

2

원하는 것은 불가능합니다. 사용자는 자바 스크립트에서 비밀 키에 액세스하거나 저장할 수 없으며 사용자가 볼 수 없어도 액세스 할 수 있습니다. 클라이언트 컴퓨터 대신 서버에서 해시를 만들어야합니다.

소스를 난독 화하는 것은 비밀 키를 찾으려고하는 사람, 자바에 대해 조금 알고있는 사람, 간과 할 수있는 도구에 거의 방해가되지 않을 것입니다.

+0

감사합니다. 내 서버에 cgi 스크립트를 설치할 수 있습니다. 양식을 제출할 때 양식 필드를 키로 해시 할 필요가 있고 게시물의 숨겨진 양식 필드에 입력 할 수있는 응답을받을 수있는 방법이 있습니까? – Marto

+0

이전에 양식 입력으로 보안 서버에 모든 정보를 전달했지만 입력 내용을 확인하는 자바 스크립트가 있지만 비밀 키가있는 해시를 제공해야하는 새로운 요구 사항이 있습니다. – Marto

+0

...하지만 cgi가 자바 스크립트에서만 호출 될 수 있도록해야합니다. 그렇지 않으면 누구나 호출하여 올바른 해시를 얻을 수 있습니다! – Marto

관련 문제