주장하시는 바를 잘 모르겠습니다. Dapp들이 키를 소유하는 것이 더 안전하다는 것으로 해석하면 될까요? 처음에 스팀커넥트가 키를 네트워크로 전송해서 서버에 전송하기때문에 위험하다고 하시기에, 이해 부족으로 하시는 말씀이라 생각하고 아키텍쳐를 설명 드렸는데 다시 다른 이야기를 하시니 혼란스럽네요. 그리고 여전히 스팀커넥트에 대해 명확하시지 않은 듯 합니다.
스팀커넥트는 어디에도 키를 저장하지 않습니다. 심지어 스팀커넥트를 사용하는 디앱들은 키를 전혀 억세스하지못합니다. 이게 이용자들이 거부감없이 디앱을 사용할 수 있도록 하는 핵심이죠.
아시겠지만 스팀커넥트는 지갑과는 전혀 관계가 없고 지갑 없이도 블록체인의 인증이 필요한 서비스를 제공 할 수 있도록 해주는 서비스이죠. 스팀커넥트의 Oauth 과정은 키를 인증하는것이 아니라 위임을 인증하는것이며, 이 oauth 없이 서비스를 만들 방법 자체가 없습니다. 최악의상황에 유출될 수 있는 권한은 포스팅키 권한이며, 포스팅키는 steemit.com 사이트가 localstorage에 암호화 없이 저장하므로 최악의상황치고는 매우 안전하다고 할수 있습니다. 이걸 해서는 안되는거라고 말씀하시는 것은 제 관점에서는 잘못된 정보를 퍼뜨리시는것과 다름 없습니다. 스팀커넥트가 없으면 모든 디앱들이 지갑이 되어야 하고 직접 키를 관리해야 하며 이는 더 큰 위험을 초래합니다. 절대로 권장해서는 안되는 방식입니다. 개발하는 입장에서는 키를 가지고있는게 쉽습니다. 하지만 더 안전하다는것은 동의할수가 없습니다.
Compromized 단말은 모든 권한이든 일부 권한이든 말웨어에게 노출된 상태의 os를 말합니다. 이 상태는 어느 단말에서나 발생할 수 있습니다. 이부분은 부정할 수 없는 사실입니다. 그럼 답은 단순합니다. 당연히 앱 내부적으로 방어할 수 있어야 하죠. 방어 할 수 없다면 사용해서는 안됩니다. 모히또에서는 어떤 방식으로 방어하는지 알고싶습니다. 키 암호화는 얼마나 안전하며 로컬 스토리지 보안과 사용자 핀코드입력 후킹 관한 보안은 구현 되어 있는지를 설명하실 필요가 있습니다. 깃헙을 잠깐 봐서는 못찾겠더라구요.
단말이 Compromized 되면 웹은 뭐가 다르냐 하실텐데, 일단 메이저급 브라우저의 보안수준과 샌드박싱수준은 상상을 초월합니다. 크로미움의 보안수준은 거의 완벽에 가까운데도 불구하고 계속 생겨나는 시큐리티 홀때문에 최고수준의 엔지니어들이 추가적인 보안패치를 끊임없이 합니다. 이러한 수준의 앱 자체 보안을 일반 소규모 앱들이 자체적으로 구현 한다는것은 현실적으로 불가능 하다고 봅니다. 모이또는 실제로 키를 로컬에 저장하는 지갑 앱이므로 상당한 부분의 자체 보안이 요구 됩니다. 은행 앱처럼 말이지요. 혹시 구현되어 있다면 그부분의 깃헙 링크를 주시면 제가 한번 보도록 하겠습니다. 그리고 처음에 여쭤본 키암호화 로직 관련코드도 부탁드리구요.
지갑이 필요하면 지갑을 만들면 되는 것이며 그에 상응하는 수준의 보안 수준을 갖추면 됩니다. 이를 스팀커넥트의 보안이 좋지 않으니 키를 저장하는 지갑 방식이 더 안전하다고 하시는것은 문제의 소지가 있습니다. 액티브키를 넣는것이 불편한것때문에 오너키를 넣는다는것도 논란의 여지가 있습니다.
스팀잇에 계시는 수많은 다른 개발자분들과 아키텍트 분들의견도 들어보면 모두에게 도움이될듯 합니다. 모이또 프로젝트에도 장기적으로 자양분이 될것입니다. 관련 글을 곧 올리도록 하겠습니다. 감사합니다.
RE: STIMCITY 셀러 필수! , 새로워진 스팀페이 파헤치기.