2010-11-19 3 views
0

내 보안 지식은 제한적이지만 다소 배울 수 있습니다.
javascript AES 라이브러리를 사용하여 입력 된 마스터 비밀번호 을 사용하여 암호를 클라이언트 쪽에서 암호화/암호 해독 한 다음 Google App Engine (사용자 인증)과주고받는/암호화 된 데이터를 보내거나 가져 오는 아약스 응용 프로그램을 만들 계획입니다.
실제로 같은 생각을 가진 프로젝트를 발견했습니다 : http://code.google.com/p/safety-vault/개인 비밀번호 관리자에 대한 보안 고려 사항

내 로컬 컴퓨터를 안전하게 유지할 때 (키로거) 이것은 매우 안전해야합니까, 아니면 뭔가 빠져 있어야합니까?

+0

http://security.stackexchange.com/을 시도해 보셨습니까? –

+0

@Graham 흠, 내가 알지 못했던 또 다른 사이트 ... 질문을 옳은 일로 복제하고 있습니까? – amoeba

+0

은 만족스러운 답변을 얻었는지 여부에 달려 있습니다. –

답변

1

webapp에 SSL을 사용하는 한 괜찮습니다. SSL이 없으면 공격자가 페이지를 수정하여 입력 할 때 암호를 보내는 Javascript를 삽입 할 수 있습니다.

위협 모델을 재검토하고 싶을 수도 있습니다. 서버를 신뢰합니까? 그렇지 않은 경우 마스터 비밀번호를 입력 할 때 마스터 비밀번호를 캡처하는 페이지를 보내지 않도록 신뢰해서는 안됩니다. 그렇게한다면 마스터 비밀번호를 서버에 보내지 않아도됩니다.

+0

사실, 아무도 믿지 않으므로이 [체크섬 접근법]을 시도 할 수 있습니다 (http://www.clipperz.com/security_privacy/security_code_review/checksums). – amoeba

0

브라우저 클라이언트에 마스터 비밀번호를 보내야한다고 생각하기 때문에 여기에 문제가 있습니까? 마스터 비밀번호가 있으면 보낸 스트림의 암호를 해독 할 수 있습니다.

HTTPS를 사용하면 HTTPS를 사용할 수 있습니다.

+0

이것은 HTTPS를 대체하는 것이 아니므로 마스터 암호를 머리에 저장하고 클라이언트의 데이터 암호를 해독합니다. – amoeba

+0

@amoeba - 아, 오케이. 이것은 단지 당신만을위한 것이지, 다른 사람을위한 것이 아닙니다. 내 오해. – Paddy

0

Google App Engine 직원과 그 뒤에있는 전체 트러스트 체인을 전염시키면서 효과적으로 패스워드를 훔치지 않습니다. 서버가 전송하는 JavaScript 코드를 실행하는 경우에는 클라이언트 측 암호화가 아무런 의미가 없으며, 제대로 구현 된 HTTPS가없는 경우 중간 공격에서 사람을 수행하고 암호가 전송 될 때 암호를 도용하는 것은 쉽지 않습니다. 로컬에 암호를 저장하거나 GPG와 같은 잘 알려진 도구로 암호화하여 업로드하십시오.