본문 바로가기

Blockchain/Ethereum7

[Ethereum] - metamask 메시지 서명과 검증 메타마스크를 활용하면 특정 메시지에 서명한 값을 가지고 서버에서 메시지를 검증하여 사용자가 맞는지 확인하여 로그인, 사용자 검증 등에 사용할 수 있다. 아래는 메타마스크의 인스톨 여부와 권한을 요청하는 구문이다. 아래와 같이 2단계에 걸쳐 연결을 설정한다. 서명 inject된 metamask web3를 가지고 서명 요청을 보내는 기본적인 스크립트이다. method의 경우 personal_sign 말고도 구조화된 메시지를 보내는 여러 함수들이 있다. (* 참고 docs.metamask.io/guide/signing-data.html) 서명을 하게 되면 아래와 같은 결과 값을 받게 되는데 result에 해당 하는 값이 서명된 메시지이다. sign 함수를 보면 nodejs로 구성된 localhost 서버로 보.. 2021. 1. 7.
[ Geth ] RPC 통신 Nginx 인증 보안 처리 geth rpc 통신을 사용할 경우 외부에 노출되어 해커들의 목표가 된다. 토큰, 이더리움을 빼가기 위해 RPC 통신이 노출된 노드들을 수없이 찾고 찾을 경우 지갑의 계정에 대하여 토큰, 이더리움 전송 트랜잭션을 계속하여 요청한다. 지갑이 잠겨있는 경우와 geth 최신 버전을 사용하여 암호를 파라미터로 트랜잭션 처리를 했다면 문제가 없겠지만 예전 버전의 geth를 사용할 경우 전송 전 지갑을 열고 전송 후 지갑을 닫는 과정에서 해커가 요청한 전송 트랜잭션이 들어올 경우 지갑에 있던 자원이 해커에게 넘어가버리는 상황이 발생하게 된다. 되도록이면 RPC 통신을 사용하지 않는 것이 중요하겠지만 특정 외부 서버와 RPC 통신을 할 경우 해당 서버만 RPC 통신이 가능하도록 하는 대안책을 제시하도록 한다. 사용 .. 2019. 10. 29.
[ Geth ] 파헤치기 4 번 - geth 함수 살펴보기 관련글 2019/04/15 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 1 번 - Geth 실행 및 디버깅 방법 2019/05/06 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 2 번 - 시작 Log 분석하기 2019/06/14 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 3 번 - geth Main 함수 살펴보기 2019/06/24 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 4 번 - geth 함수 살펴보기 저번 게시글에서 Main 함수를 알아보았고 app, cli 객체를 선언하고 geth 함수 진입부까지 살펴보았다. 오늘은 geth 함수가 어떤 역할을 하고 어떤 소스가 호출되는지 알아보자 설명.. 2019. 6. 24.
[ Geth ] 파헤치기 3 번 - geth Main 함수 살펴보기 관련글 2019/04/15 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 1 번 - Geth 실행 및 디버깅 방법 2019/05/06 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 2 번 - 시작 Log 분석하기 2019/06/14 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 3 번 - geth Main 함수 살펴보기 2019/06/24 - [Blockchain/Ethereum] - [ Geth ] 파헤치기 4 번 - geth 함수 살펴보기 geth를 실행시키면 어떤 과정을 처리하는지 소스를 통하여 알아보자 아래 소스는 /cmd/geth/main.go 에 있는 main 함수이다. 우리가 터미널에서 geth를 실행시키면 아래 함수.. 2019. 6. 14.