You are viewing a single comment's thread from:

RE: STIMCITY 셀러 필수! , 새로워진 스팀페이 파헤치기.

in #kr6 years ago

모이또가 뭔지 잘 모르겠지만 스팀커넥트 없이 전송하려면 액티브키를 단말이 암호화 해서 가지고있는 방식일텐데 보안의 책임이 넘어가는 문제라 신중할 필요가 있습니다. 앱이 지갑이 된다는 의미라서요. 그런 이유로 스팀페이도 지갑형태를 일부러 피하고 있습니다.

스팀커넥트는 한번 연결하면 브라우저가 패스워드를 기억해주기때문에 생각보다 안불편합니다. 내 액티브키가 다른어딘가에 저장되는 것의 위험성을 생각하면 클릭 한두번 더하는것은 일도 아니죠 ㅎㅎ

Sort:  

안녕하세요. 스팀시티 온라인 총수 @hanyeol입니다. 모이또는 지갑이 탑재된 스팀(잇) 앱 브라우저인데요, 다음 주 쯤에는 보실 수 있게 될 것 같습니다. 말씀하신대로 사용자의 보안과 편의성을 위해 스팀콘넥트를 대체하는 것을 목표로 하고 있기도 합니다.

그렇기 때문에 스팀콘넥트가 더 안전하다는 인식을 줄 수 있는 내용은 꼭 짚고 넘어가야 할 것 같습니다. 저도 처음에는 개발에 편한 스팀콘넥트를 사용하려고 했으나, 유토피안 해킹 사건 이후로, 마음을 바꿨습니다. 유토피안 해킹은 스팀콘넥트 방식의 보안 위험성을 크게 일깨워준 사건이었으니까요.

자세한 해당 내용은 스팀 서드파티 서비스의 해킹 및 보안 문제에서 다뤘습니다.

정리하면, 모이또의 보안 3대 원칙은 다음과 같습니다.

  1. 포스팅, 액티브, 메모 키는 반드시 사용자 디바이스에서 생성하여 로컬에만 저장해야 하며, 비밀번호나 사용자의 키가 네트워크 상으로 전송되어서는 안된다.

  2. 보팅이나 송금 등의 트랜잭션은 반드시 사용자 디바이스에서 전자서명해서 브로드캐스팅해야 하며, 이 때도 역시 사용자 키가 네트워크 상으로 전송되어서는 안된다.

  3. 비밀번호와 오너 키는 사용자 디바이스에도 저장하지 말아야 한다.

모이또가 위의 3대 원칙을 어떻게 처리하는지 확인해 보시고 싶다면, 모이또 깃헙에서 확인하실 수 있습니다.

그럼, 추가 논쟁은 언제든 환영입니다!

@hanyeol님 안녕하세요! 자세히 설명해주셔서 감사합니다.

열거하신 부분들은 기본적인 것들이니 논쟁할 필요 까지는 없을듯 합니다. 이전 회사에서 시큐리티분야에 있었기때문에 기본적으로 보안에 대한 불신이 있습니다. 아이러니하게도.. 보안쪽에서도 isolation 분야에 있었기때문에, 뭐든 절대적으로 안전할수 없다는 생각입니다. 코드를 잠깐 보다보니 __load_key 구현부가 검색이 안되는데 경로를 좀 알려주실수 있나요? BIP38 을 사용하는것 같지가 않은데 키 암호화를 어떻게 하는지 보려고합니다.

개발과는 별개로, 암호화폐 분야에서 타인이 만든 앱에 메인키를 넣는것은 대단한 모험이라고 생각합니다. 코드 공개는 사실 별 의미가 없습니다. 그 코드가 그대로 deploy 되었다는 보장을 할 수 없기 때문이죠. 리뷰가 제대로 되었는지도 개인이 판단하기 어렵구요. 따라서 그 코드가 법적 책임을 질 수 있는 공신력 있는 단체에 소속되어 있는지가 우선 중요합니다. 그리고 그 단체가 절대적 다수의 신뢰를 얻고 있느냐가 그 다음으로 중요하지요. 증인 Jesta가 만든 vessle 도 보안쪽으로는 잘 알려진 방식을 따르는 뻔한 스팀 지갑이지만, 증인 1위인 jesta이기 때문에 신뢰받고 사용되는거죠. 스팀커넥트도 마찬가지이구요. 스팀재단의 투자를받아서 만든거니까요.

지갑에 대한 인식은 @hanyeol 님도 입장 바꿔놓고 생각하시면 똑같으실겁니다. 어떤 개인이나 작은 회사가 스팀지갑에 다양한 기능을 탑재해서 출시했는데, 로그인시에 스팀 개인키를 넣어야 한다면 넣으시겠습니까? 최소한 망설이시기는 하시겠죠. 물론 저는 절대로/네버/에버 넣지 않을겁니다. 대외적으로 공신력이 있고 신뢰 확실한 사람이거나 단체여야 하고, 해당 오픈소스에 도 수많은 시큐리티 관련 컨트리뷰터가 있다면 모를까요.

스팀커넥트에 묶여있는 수많은 dapp들이, 지갑을 만들지 못해서가 아니라 사용자의 신뢰를 얻기 위해 지갑을 포기하는것입니다. 키들을 소유하고있으면 편하지만 일부러 그 방향을 가지 않는것이죠.

정성스런 답글 감사합니다! 논쟁이 필요없다고 하시지만 논쟁이 꼭 필요한 몇가지 영역이 있습니다. 그걸 회피하지는 않겠습니다.

(1) 사용자의 키를 네트워크로 전송하여 서버에 저장하는 행위에 대해서는 그 어떤 타협의 여지가 없이 잘못된 것입니다. 그건 그 서버를 운영하는 주체가 신뢰할만한 지 여부와는 상관없습니다. 유토피안이 신뢰할 수 없는 주체가 운영을 해서 해킹을 당한건가요? 한번의 해킹으로 수많은 사람들의 키를 탈취할 수 있는 방식으로 시스템을 설계했기 때문에 문제가 되는 것입니다. 처음 스팀콘넥트를 보고 놀란 것은 사실입니다. 탈중앙화 철학과는 매우 배치되는 기술 요소였기 때문입니다.

(2) 모이또는 키를 사용자 디바이스에만 암호화하여 저장합니다. 이렇기 때문에 해킹을 하더라도 해당 디바이스 한 대에만 국한됩니다. 절대 여러 사용자의 키를 한데 모아놓지 않습니다. 휴, 생각만 해도 아찔하네요. 물론 니네가 진짜 그렇게 하는 지 어떻게 믿느냐, 소스 코드를 공개해도 믿을 수 없는 것은 마찬가지라고 하신다면 사실 할 말은 없습니다. 저희의 평판 트랙을 믿으시라고 할 수 밖에요.

(3) 유토피안 해킹 사태는 헤프닝이 아니라, 보안에 대한 위험 전조 현상입니다. 유토피안이 해킹 당한거지 스팀콘넥트가 해킹당한 게 아니라는 식으로 넘어가서는 안됩니다. 이건 여러 사용자의 키를 한데 모아놓고, 네트워크로 언제든지 연결이 되는 상황에서라면 언제든지 발생할 수 있는 문제입니다. 스팀콘넥트가 해킹당하지 않으리라는 보장이 어디에 있습니까? 거래소 해킹 문제에 대해서는 어떻게 보시나요. 거래소들도 비슷한 방식으로 사용자의 키를 모아놓고 있습니다. 저는 적어도 제가 발딛기로 한 스팀 블록체인이 블록체인 자체의 문제가 아닌, 써드파티 보안 설계의 문제로 위험에 직면하는 상황은 그다지 보고 싶지 않습니다.

답변 감사드립니다. 우선 근본적으로 착오하고 계신것이 있습니다.

스팀커넥트2는 키를 서버에 저장하지 않습니다. 당연히 메인키도 요구하지 않습니다. 전송 권한도 획득하지 않습니다. 해당 계정에 대한 포스팅 권한과 보팅 권한 등을 획득하는게 전부입니다. 그 권한조차 app account 소유자에게 있는것이고 스팀커넥트가 가지지 않습니다. 전송이나 프로파일업데이트 딜리게이션 등이 필요할때는 그때그때 액티브키를 받아서 사용합니다. 이런 목적으로 액티브키를 사용할때 는 키는 서버로 가지 않습니다 당연히 사인된 상태로 노드로 바로 브로드캐스팅 됩니다. 즉 이경우는 프라이빗 키가 단말을 떠나지 않는다는 이야기와 같습니다. 모이또가 하는것과 별반 다를게 없다는 이야기입니다. 메인키 요구 없이 말입니다. 스팀커넥트에 대한 정확한 이해 없이 추측만으로 깍아내리는것은 조금 위험한 발언이 아닌가 싶습니다.

유토피안 해킹이 스팀커넥트의 보안과 관련짓는것은 기본적으로Oauth2로 돌아가는 모든 서비스를 신뢰할수 없다는 말과 별반 다르지 않습니다. Google Amazon Facebook 뿐만아니라 수많은 서비스들이 oauth2를 사용합니다. 그 서비스들이 토큰을 아무렇게나 관리해서 문제가 발생하면 그게 어떻게 구글 페북 아마존의 문제인가요? 그게 아니면 스팀커넥트 기반으로 구현된 모든 Dapp에 보안 취약점이 있다는 주장이신지요.

최악의 상황을 가정하여 스팀커넥트가 해킹당해봐야 키는 탈취되지 않습니다. 키가 애초에 아무곳에도 저장이 안됩니다. 최악의상황에 일어날수있는 사건은 보팅과 글 리스팀 되는것 뿐입니다. 반면에 모이또가 Compromized 된 디바이스에 설치되면 어떤 일이 발생할까요? 단말에 저장한다고 안전하다는것은 완전히 잘못된 생각입니다. 단말이야말로 한번 Compromised 되면 아무것도 못막습니다. 그리고 해킹당해봐야 한계정이라고 하신것은 놀라운 발상입니다. 그 한계정이 개인에게는 전부입니다. 취약점이 발견되어 타겟이 되면 한계정이 아니라 설치한 모든 계정으로 쉽사리 번질수 있구요.

@hanyeol 님과 댓글을 주고받으며 상황을 조금 심각하게 받아들이게 되었습니다. 물론 제가 틀린부분이 있을수도 있고, 저또한 잘못된 지식에 기반한 주장을 펼치고 있을수도 있습니다. 이런것들을 바로잡으려면 공론화를 통해 다수의 전문가의 의견을 들어볼 필요가 있어 보입니다. 스팀잇에도 보안 전문가들이 계시는것으로 알고있으니 심도있는 토론이 될것 같습니다.

Loading...

맞아요~! 스팀커넥트가 브라우저가 기억해줘서 편할 때가 많은데 방심하고 있을 때 재로그인을 하게 만들더라구요. 그럴 때 액티브키 찾느라 허둥지둥하게 되던데 저만 그런가?? 🤔

모이또는 저도 아직 보기만하고 써보지 않아서 런칭 되는 거 기다리고 있어요. 스팀페이도 이용이 된다고 해서 어떻게 재밌을지 그리고 어떤 문제나 버그들이 있을지 빨리 써보고 싶습니닷 ㅎㅎㅎ

그리고 스팀페이 로고 정말 멋지네요! 스팀페이도 앞으로 얼마나 더 멋지고 편해질지 기대가 됩니다. 두근두근.

오늘도 전 스팀페이를 쓸 예정. 좋은 서비스 개발해주셔서 감사합니다~!!

Coin Marketplace

STEEM 0.26
TRX 0.12
JST 0.031
BTC 61258.08
ETH 2873.80
USDT 1.00
SBD 3.56