Autherm 정보

개막사


이더리움의 구조기인 월렛 메타마스크는 유명하지만, 이 글에서 주목받는 새로운 월렛,Authermu의 정보를 기술적으로 정리했다.
이더리움, 월렛, 스마트 구성, 키 비밀번호 공개에 대해 모두가 알고 있는 것으로 화제를 모을 예정이다.

Metamask와의 차이점


가장 큰 차이점은 메타마스크는 크롬 등 확장 기능을 적용한 반면, 아우더무는 웹 애플리케이션과 다르다는 점이다.
이는 메타마스크와 달리 아우템 월렛에서 브라우저가 사용할 수 있는 모든 터미널을 이용할 수 있어 스마트폰에서도 프레임 거래가 가능하다.
또 메타마스크는 내부에서 비밀 키를 암호화해 저장하고 암호로 복합적으로 활용하는 방법을 취하고, 아우더머의 경우 암호화해 암호화된 비밀 키를 구조기에 보관하고 방법을 취한다.
따라서 Metamask는 새 터미널에서 사용할 때 기밀 키를 가져와야 하지만 Authermu의 경우 새 터미널이라도 사용자 이름과 비밀번호만 알면 자신의 계정에 접근할 수 있다.
그러나Authermu라면 계정을 생성하는 것 외에 암호화된 개인 키를 등록할 방법이 없기 때문에 기존의 개인 키를 Authermeum에 가져올 수 없기 때문에 새로운 계정을 만들어야 합니다.

Admin Keys


Autherme 계정을 관리하는 열쇠입니다.일반적인 이더넷 계정의 개인 키에 해당하지만, 여러 개를 만들 수 있다.
이 열쇠는 제3자가 알게 되면 계좌의 자산에 자유롭게 접근할 수 있기 때문에 Admin Key는 절대 비밀로 해야 한다.
Admin Key는 다른 Admin Key를 만들거나 제거할 수 있습니다.또한 일반적인 개인 키와 마찬가지로 Ledger Nano와 같은 냉동 저장 장치에도 저장할 수 있다.

Admin Key 만들기


Autherme 계정을 만들 때 반드시 하나를 만듭니다.작성 시 사용자 브라우저의 위조 임의 수를 사용하여 APICrypto.getRandomValues()를 생성합니다.Crypto.getRandomValues()Math.random()는 달리 암호의 강도가 강한 무작위 수치를 얻는 데 사용되는 API다.
생성된 Admin Key는 accounts.authereum.org 아래의 locallstorage에 저장됩니다.여기에 개인 키가 하나 있지만,locallstorage는 같은 영역에서만 접근할 수 있기 때문에 다른 악성 영역의 스크립트는 원시 개인 키에 접근할 수 없습니다.
또한, Admin Key는 암호를 기반으로 암호화된 키로 암호화되어 Autherme의 서버에 저장된다.또 사용자의 비밀번호도 소금량을 넣어 산열해 아더메 서버에 저장한다.

로그인


로그인해야 하는 것은 방금 설명한 accounts.authereum.org 아래의 locallstorage에 Admin Key가 저장되어 있지 않은 경우입니다.
로그인 에서 사용자가 등록한 사용자 이름과 암호를 입력합니다.
Autherme 응용 프로그램은 비밀번호를 기반으로 인증을 진행합니다. (클라이언트에서 요약을 만들고 아까 요약과 일치하는지 확인하십시오. 조사가 필요합니다.) 인증이 통과되면 비밀번호를 암호화된 기밀 키로 되돌려줍니다.사용자가 이를 복합하여 기밀 키를 가져옵니다.
로그인 후 Auther eum 구성은 Charlene 문자열을 생성하고 사용자 Admin Key 서명, Session Token을 사용합니다.앞으로 이용자가 계좌 잔액 등 정보를 요청하고자 할 때는 세션톡을 JWT와 유사한 형태로 제출하고, 세션톡이 정확하면 메시지가 응답으로 돌아온다.

Dapp Keys


Dapp Key는 타사 Dapp가 거래를 발행할 때 서명하는 임시 키입니다.

Dapp Key가 나올 때까지.


Dapp Key가 발행될 때까지의 절차는 OAuth2의 실현 방식과 매우 비슷하다.
사용자가 Dapp에서 Autherme의 지갑을 사용하여 어떤 조작을 할 때, OAuth2 형식의 인증과 마찬가지로 authreum.org (이 필드는 adminkey에 접근할 수 있음) 또는 팝업입니다.
따라서 사용자는 Dapp의 Authermeum 접근 승인(OAuth 2에서 협력 허용 해당)을 통해 Dapp Key(Logiin Key)와 Dapp Key의 Hash에서 Admin Key 서명이 있는attestation(OAuth2에서 부르는 접근 영패에 접근이 승인되었다는 뜻)을 만들고 원래 페이지로 돌아간다.
생성된attestation은 OAuth2의 방문 영패와 마찬가지로 유효기간과 거래에 효과적인 역할을 하기 때문에 DappKey는 AdminKey에 비해 권한이 적은 인증 정보이다.

Dapp Key를 사용한 Dapp 거래


Autherm은 contract-based account(contract-based account)가 일반적인 EOA와 다른 계정 형태이기 때문에 사무 발행 절차가 조금 다르다.
계좌의 실태는 아우더미 구조기가 관리하기 때문에 앱의 거래를 일으키기 위해서는 아우더미 구조기를 위탁해 앱의 거래를 진행해야 한다.(Meta transaction)
따라서 Dapp의 거래를 수행하기 위해서는 수행할 사무용 Dapp Key 서명 외에 방금 Dapp Key가 발행했을 때 생성된attestation을 첨부하여 Autherm 구조기에 보내야 한다.
이때 가스에게 디앱 거래를 수여할 필요가 없다.
Autherseum 구조기는 이 서명과 권한을 위임받은attestation을 발행하고 검증을 통과한 경우 Dapp거래소에 필요한gas를 준다.
이렇게 디앱 거래도 하고
공식 문서의 워크플로우는 다음과 같습니다.

총결산


Autherme에 관해서 나는 기술적인 측면에서 인증에 중점을 둔 해설 문장을 썼다.
이외에도 애더 eum이 특별히 써야 할 기능이 더 있기 때문에 앞으로도 이 기사에 주석을 달겠다.
나도 Authermu 공식 문서를 찾아보면서 글을 썼는데 잘못된 점이 있을 수 있다.들키면 부드럽게 지적해주세요.

참고 자료


Authereum: Improving Authentication on Ethereum
Authereum Key Architecture Explained

좋은 웹페이지 즐겨찾기