[앱 브라우저] 스팀 월렛의 비밀번호 문제

in kr-dev •  8 years ago  (edited)

key-2094778_1280.jpg

스팀 전용 앱 브라우저를 준비하고 있는 @hanyeol 입니다. 원래는 스티밋 전용이었으나, 스팀에 대한 이해가 높아지고 나니, 스팀 전용이라고 해야 할 것 같습니다. 이미 스팀 기반의 동영상 서비스도 나왔다고 하더라구요.

각설하고 오늘의 주제는 스팀 전용 앱 브라우저에 탑재될 스팀 월렛의 비밀번호 관리 문제에 대해서 입니다.

암호화폐는 계정의 실제 주인이 누구인지 관리하지 않습니다. 즉, 계좌 비밀번호를 잃어버렸다고 자기 신분증을 들고가서 비밀번호를 변경해달라고 할 수가 없다는 말이죠. 비밀번호를 잃어버리면 그 계좌에 대한 모든 권한이 사라집니다. 반대로 누군가 해당 계좌의 비밀번호를 알면 그 즉시 계좌의 주인 노릇을 할 수 있습니다. 그래서 암호화폐의 비밀번호는 타인이 쉽게 예측하지 못하도록 길고도 길게 만드는 것을 권장하는 거죠. 스팀도 비밀번호의 길이로 유명한 것 같습니다.

하지만 사람이 기억해서 바로 타이핑하지 못할 정도로 긴 비밀번호는 오히려 보안에 독이 될지도 모릅니다. 제 주변에도 모바일에서 스티밋에 로그인하기 위해 비밀번호를 지메일 등에 저장하는 경우를 봤으니까요. 지메일이 위험하다고 말하는 것은 아닙니다만, 아무래도 내 계좌의 비밀번호를 어딘가에 암호화되지 않은 형태로 바로 저장하는 행위가 찜찜하다는 거죠.

메타마스크와 같은 이더리움 기반의 월렛은 비밀번호를 2가지 레벨로 관리합니다. 일단 보통 수준의 비밀번호가 있습니다. 평상 시에 사용하는 비밀번호로서 외울 수 있는 수준의 비밀번호입니다. 공인인증서의 비밀번호 수준이라고 보면 되겠네요. 다른 하나는 영어 한단락 정도 분량의 무지 긴 비밀번호가 있습니다. 이건 종이로 프린팅해서 집안 깊숙한 곳에 보관하라고 가이드합니다. 이 비밀번호의 용도는 평상시 사용하는 비밀번호를 분실했을 경우에 사용합니다. 마스터 비밀번호죠.

스팀의 비밀번호를 이와 비교하면 어중간한 것 같습니다. 이 점이 스팀 월렛의 비밀번호 관리 체계를 만드는 데 고민이 되는 부분입니다. 논란의 여지가 매우 많겠지만 일단 저는 외울 수 있는 수준의 비밀번호가 더 안전하다고 생각하고 있습니다. 그래서 스팀의 비밀번호를 외울 수 있는 수준의 비밀번호로 한번 더 암호화하여 로컬 파일로 저장하는 방식을 사용하는 게 어떨까 싶습니다.

외울 수 있는 비밀번호 => 스팀의 진짜 비밀번호 => 스팀의 개인키

위와같은 변환 과정을 거쳐 스팀 월렛을 언락하는 방식이죠. 외울 수 있는 비밀번호를 스팀의 진짜 비밀번호로 변환하는 과정은 스팀 전용 앱브라우저가 담당합니다. 이 과정에서의 보안을 얼마나 지킬 수 있느냐가 관건이구요. 스팀의 진짜 비밀번호를 외울 수 있는 비밀번호로 암호화하여 로컬 파일로 저장하는 방식의 보안은 다른 암호화폐 지갑들의 방식과 동일하니 실용적으로 사용할 수준이라고 판단해도 될 것 같구요.

문제는 사용자들의 혼란이네요. 이 혼란을 UI로 잘 풀어낼 수도 있겠지만, 2가지 비밀번호라는 컨셉이 오히려 스팀을 이용하는 데 더 어려움을 주는 경우가 발생할 수도 있을 것 같습니다. 다른 분들의 의견도 듣고 싶네요. 음, 항상 결론은 못내리고 의견만 묻는 것 같은데, 개발이 진행되면 단호하게 의사결정을 내릴 생각이니 너무 뭐라고 하지 말아주세요.

저희가 준비 중인 스팀 전용 앱 브라우저가 뭔지 처음 들으셨다면 아래 포스팅을 참고해주세요.

[앱 브라우저] 스팀잇 전용 앱 브라우저, 괜찮을까요?
[앱 브라우저] 앱 개발자들을 위한 스팀 보상 체계

그럼, 다음 글에서 또 뵙겠습니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

저같은 경우는 거래소의 거래 api를 써서 거래중계 시스템이나 자동 매매 프로그램을 생각한적이 있었는데 중요한 건 유저들이 이걸 신뢰하고 비번을 입력해줄까 였습니다. 혹시 이에 대해 적절한 방안이 있으신가요?

비밀번호는 로컬에만 암호화되어 저장될 뿐, 서버로 전송되지 않는 걸 어필해야 할 것 같습니다. 이 부분 때문에 월렛이 웹서비스로 있는 것보다는 사용자 폰에 설치된 앱으로 존재해야 한다는 생각이 강하게 들었거든요.

웹으로도 로컬 스토리지 영역을 사용하면 되긴합니당. 저도 한열님과 비슷하게 생각했었는데 과연 비 it인에게 로컬과 서버를 이야기하는 전략이 통할까? 라는 생각에 좀 회의적으로 되었습니다 ㅜㅜ

마이이더월렛이 로컬 스토리지를 사용하는데, 이게 보통의 웹이 아니라 로컬에서 동작하는 소프트웨어라고 계속 강조를 하더라구요. 그걸 보고, 아, 사람들에게 웹은 내 PC에 있는 게 아니라는 선입견이 강하구나라고 생각했습니다. 그에 비해서 앱은 자기 거라고 인식하는 경우가 많으니 좀 더 어필하기 좋다는 생각이긴 한데, 뭐, 마이이더월렛도 많이 쓰더라구요. ㅎㅎㅎ

앱이 그런 강점이 있을 수 있겠네요 ㅎㅎㅎ

저도 @nhj12311 님과 비슷한 생각인데요. 어떤방법으로 만들든 어떻게 어필하든 결국 사용자가 얼마나 납득 할 수 있는 가 그게 가장큰 문제라고 생각합니다.

한가지 번뜩 떠오른 생각으로는 스팀전용 브라우저라는 것이 거래만을 위해서 만드는 것은 아닐테니 전용 브라우저로 돌아다니다가 뭔가 거래를 해야 하는 경우 비밀번호를 입력하는 단계만 일반브라우져로 돌려서 하도록 편의기능을 제공하면 어떨까 하네요. 믿고 브라우져에 비밀번호를 넣는 사람은 그냥 브라우져 내에서 다 실행되도록 하고 못믿는 사람은 자신이 원하는 외부브라우져를 띄워서 거기서 비밀번호를 넣게 하면 될 것 같네요.

설명이 횡설수설이라.... 이해 못하실 것 같기도.. ㅠㅠ

아뇨. 잘 이해했습니다. :) 잘 못믿는 사람들을 위해 송금은 스티밋 오리지널 사이트에서 진행하도록 하자. 그럼, 좀더 안심할거라는 말씀이시죠? 좋은 생각같습니다.

네 좀 더 구체적으로 말씀 드리자면..
전용 브라우저에서 원터치로 외부브라우져의 송금 창까지 띄워주는 기능을 넣는 것입니다.
마치 한국에서 뭔가 결제할 때 브라우져가 아니라 전용 보안프로그램을 이용하는 것과 같은 느낌이랄까요..

이해되었습니다~!