스팀 전용 앱 브라우저를 준비하고 있는 입니다. 원래는 스티밋 전용이었으나, 스팀에 대한 이해가 높아지고 나니, 스팀 전용이라고 해야 할 것 같습니다. 이미 스팀 기반의 동영상 서비스도 나왔다고 하더라구요.
각설하고 오늘의 주제는 스팀 전용 앱 브라우저에 탑재될 스팀 월렛의 비밀번호 관리 문제에 대해서 입니다.
암호화폐는 계정의 실제 주인이 누구인지 관리하지 않습니다. 즉, 계좌 비밀번호를 잃어버렸다고 자기 신분증을 들고가서 비밀번호를 변경해달라고 할 수가 없다는 말이죠. 비밀번호를 잃어버리면 그 계좌에 대한 모든 권한이 사라집니다. 반대로 누군가 해당 계좌의 비밀번호를 알면 그 즉시 계좌의 주인 노릇을 할 수 있습니다. 그래서 암호화폐의 비밀번호는 타인이 쉽게 예측하지 못하도록 길고도 길게 만드는 것을 권장하는 거죠. 스팀도 비밀번호의 길이로 유명한 것 같습니다.
하지만 사람이 기억해서 바로 타이핑하지 못할 정도로 긴 비밀번호는 오히려 보안에 독이 될지도 모릅니다. 제 주변에도 모바일에서 스티밋에 로그인하기 위해 비밀번호를 지메일 등에 저장하는 경우를 봤으니까요. 지메일이 위험하다고 말하는 것은 아닙니다만, 아무래도 내 계좌의 비밀번호를 어딘가에 암호화되지 않은 형태로 바로 저장하는 행위가 찜찜하다는 거죠.
메타마스크와 같은 이더리움 기반의 월렛은 비밀번호를 2가지 레벨로 관리합니다. 일단 보통 수준의 비밀번호가 있습니다. 평상 시에 사용하는 비밀번호로서 외울 수 있는 수준의 비밀번호입니다. 공인인증서의 비밀번호 수준이라고 보면 되겠네요. 다른 하나는 영어 한단락 정도 분량의 무지 긴 비밀번호가 있습니다. 이건 종이로 프린팅해서 집안 깊숙한 곳에 보관하라고 가이드합니다. 이 비밀번호의 용도는 평상시 사용하는 비밀번호를 분실했을 경우에 사용합니다. 마스터 비밀번호죠.
스팀의 비밀번호를 이와 비교하면 어중간한 것 같습니다. 이 점이 스팀 월렛의 비밀번호 관리 체계를 만드는 데 고민이 되는 부분입니다. 논란의 여지가 매우 많겠지만 일단 저는 외울 수 있는 수준의 비밀번호가 더 안전하다고 생각하고 있습니다. 그래서 스팀의 비밀번호를 외울 수 있는 수준의 비밀번호로 한번 더 암호화하여 로컬 파일로 저장하는 방식을 사용하는 게 어떨까 싶습니다.
외울 수 있는 비밀번호 => 스팀의 진짜 비밀번호 => 스팀의 개인키
위와같은 변환 과정을 거쳐 스팀 월렛을 언락하는 방식이죠. 외울 수 있는 비밀번호를 스팀의 진짜 비밀번호로 변환하는 과정은 스팀 전용 앱브라우저가 담당합니다. 이 과정에서의 보안을 얼마나 지킬 수 있느냐가 관건이구요. 스팀의 진짜 비밀번호를 외울 수 있는 비밀번호로 암호화하여 로컬 파일로 저장하는 방식의 보안은 다른 암호화폐 지갑들의 방식과 동일하니 실용적으로 사용할 수준이라고 판단해도 될 것 같구요.
문제는 사용자들의 혼란이네요. 이 혼란을 UI로 잘 풀어낼 수도 있겠지만, 2가지 비밀번호라는 컨셉이 오히려 스팀을 이용하는 데 더 어려움을 주는 경우가 발생할 수도 있을 것 같습니다. 다른 분들의 의견도 듣고 싶네요. 음, 항상 결론은 못내리고 의견만 묻는 것 같은데, 개발이 진행되면 단호하게 의사결정을 내릴 생각이니 너무 뭐라고 하지 말아주세요.
저희가 준비 중인 스팀 전용 앱 브라우저가 뭔지 처음 들으셨다면 아래 포스팅을 참고해주세요.
[앱 브라우저] 스팀잇 전용 앱 브라우저, 괜찮을까요?
[앱 브라우저] 앱 개발자들을 위한 스팀 보상 체계
그럼, 다음 글에서 또 뵙겠습니다.