개인정보를 브라우저에 안전하게 저장하기


개요

공개키 기반 암호화를 브라우저 위에서 구현하고자 할 때, 비밀키를 저장할 안전한 저장소를 찾을 필요가 있다. 이 글에서는 여러가지 저장소 후보를 비교해 본다.

후보

localStorage

이름만 봐도 local에만 저장할 것 같은 localStorage를 먼저 고려해볼 수 있는데, 문제는 모든 client javascript에서 이 localStorage에 접근 가능하다는 점일 것이다.

서버를 못믿겠다는 게 보안의 핵심인데 서버로 전달하는 쿠키에 개인키를 저장한다? 뭔가 말이 안된다.

Browser Extension?

브라우저 확장을 쓸 것 같았으면 기존 비트코인 지갑을 썼지 뭐하러 브라우저 구현을 따로 하고 있었을까

결론

일단 현재로선 localStorage가 제일 가깝지만, 다른 javascript 코드에서도 저장소에 접근 가능하다는 점은 좀 불만이다.