관리 메뉴

평행우주 : world 1

[블록체인이론] 오프라인 서명( 서명 및 전송 분리 ) 본문

텃밭 1 : BlockChain/이론

[블록체인이론] 오프라인 서명( 서명 및 전송 분리 )

parallelworlds 2022. 3. 27. 05:38

서명 및 전송 분리 

트랜잭션이 서명되면 트랜잭션은 이더리움 네트워크로 전송할 준비가 된다

트랜잭션 생성, 서명, 브로드캐스트의 세 단계는 일반적으로 단일 작업(ex: web3.eth.sendTransaction)에 의해 처리된다

그러나 두 단계로 나누어 트랜잭션을 생성하고 서명할 수도 있다

서명된 트랜잭션이 있으면 web3.eth.sendSignedTrnasaction을 사용하여 트랜잭션은 16진수로 인코딩하고,

서명해서 이더리움 네트워크에 전송할 수 있다

 

트랜잭션 서명과 전송을 분리하려는 이유

가장 보편적인 이유는 보안이다

트랜잭션에 서명하는 컴퓨터에는 잠금 해제된 개인키가 메모리에 로드되어 있어야 한다

전송을 수행하는 컴퓨터는 인터넷에 연결되어 있어야 하며,

이더리움 클라이언트를 실행해야 한다

이 두 기능이 하나의 컴퓨터에 있으면 온라인 시스템에 개인키가 있게 되며, 위험한 상황이 된다

 

서명 및 전송 기능을 분리하여 각기 다른 시스템에서 수행하는 것을 오프라인 서명이라고 하며,

이는 일반적인 보안 방법이다

 

 

오프라인 서명 프로세스(이더리움)

1.현재의 논스 및 사용가능한 자금을 검색할 수 있는 계정에서 서명되지 않은 트랜잭션을 온라인 컴퓨터에 만든다

2.서명되지 않은 트랜잭션을 QR 코드 또는 USB 플래시 드라이브를 통해 트랜잭션 서명을 위한 '에어 갭' 오프라인 장치로 전송한다

3.이더리움 블록체인에 브로드캐스트하기 위해, 서명된 트랜잭션을 QR 코드 또는 USB 플래시 드라이브를 통해 온라인 장치로 전송한다

 

필요한 보안 수준에 따라 오프라인 서명 컴퓨터는 격리되고 

방화벽이 있는 서브넷(온라인이지만 분리됨)에서 에어 갭 시스템으로 알려진 완전히 오프라인인 시스템에 이르기까지 온라인 컴퓨터와 분리 정도를 다르게 할 수 있다

에어 갭 시스템에서는 네트워크 연결이 전혀 없다

즉, 컴퓨터는 에어 갭으로 온라인 환경과 분리되어 있다

트랜잭션에 서명하려면 데이터 저장 매체 또는 웹캠과 QR 코드를 사용하여 에어 갭 컴퓨터와 주고받는 트랜잭션을 생성한다

물론 이것은 서명하고자 하는 모든 트랜잭션을 수동으로 전송해야 한다는 뜻이며, 스케일링을 할 수도 없다

 

많은 경우에 완전 에어 갭 시스템을 활용할 수는 없지만,

약간의 격리로도 상당한 보안 이점을 얻을 수 있다

 

>>서명을 위해 트랜잭션이 시리얼라이즈 되고 대기한다

>>대기열 전송 프로토콜은 TCP소켓과 비슷한 방식으로 시리얼라이즈된 메세지를 서명 컴퓨터로 전송한다

>>서명 컴퓨터는 대기열에서 시리얼라이즈된 트랜잭션을 신중하게 읽고,
>>적절한 키와 함꼐 서명을 적용한 후에 보내는 대기열에 배치한다

>>보내는 대기열은 서명된 트랜잭션을 대기열을 해소하고 전송하는 역활을 하는 이더리움 클라이언트가 있는 컴퓨터로 전송한다

 

 

 

 

 

Comments