Let's make Everything

[디지털 서명(Digital Signature)] 본문

Block chain/Basic of Blockchain

[디지털 서명(Digital Signature)]

rok92 2023. 4. 18. 19:13
728x90

디지털 서명(Digital Signature)이란 일종의 검증 알고리즘입니다. 블록체인에서 디지털 자산의 트랜잭션에서 서명하고 승인하는데 사용되기도 하며 데이터 전송, 계약, 분산신원인증(DID)등에서도 사용됩니다.

 

디지털 서명은 전자 서명(Electronic Signature)과 다릅니다. 전자서명의 정의 범위가 디지털 서명보다 더 넓습니다. 미국 전자 상거래법에서는 전자 서명을 전자적 수단에 의해 생성, 전송, 전달, 수신 또는 저장되는 서명의 역할로 계약을 위해 포함되거나 논리적으로 만들어진 기호, 프로세스라고 정의하고 있습니다.

 

◆ 전자서명 종류 : 비밀번호, PIN번호, 이메일 인증, 디지털화된 손으로 쓴 서명 이미지 등...

 

# 1. 디지털 서명이란 무엇인가?

디지털 서명은 일반적으로 해싱, 서명, 검증 이 세 가지 알고리즘으로 이루어진 전자 서명의 일종이라고 정의할 수 있습니다.

  • 개인키와 공개키 생성
    • 보내야 할 데이터, 문서, 메시지 등을 해시 알고리즘으로 암호화하여 개인키와 공개키를 생성합니다. 데이터는 해시함수를 사용하여 암호화되기 때문에 데이터의 길이에 상관없이 고정된 크기의 해시를 생성합니다. 이렇게 해싱을 통해 개인키와 이에 상응하는 공개키를 생성하는데 이 때 단 1비트라도 변하게 된다면 완전 다른 해시값을 내놓기 때문에 역산해서 암호를 푸는 것은 사실상 불가능합니다.
  • 서명
    • 서명은 데이터나 문서에 발신자의 개인키가 포함됨으로써 서명을 하게 됩니다. 발신자는 수신자에게 개인키에 부합하는 공개키를 함께 보냅니다. 이 때 데이터가 모두 해시화되었기 때문에 메세지 별로 모두 다른 디지털 서명을 갖게 됩니다.
  • 검증
    • 수신자는 발신자가 보낸 공개키를 통해 디지털 서명의 유효성을 확인할 수 있습니다.


# 2. 디지털 서명이 갖는 기술적 의의

무결성

무결성 보장이란 데이터나 문서 등이 전송되는 동안 변경되지 않았음을 의미합니다. 만야 해킹 공격으로 인해 데이터가 변경된다면 서명이 무효화 되기 때문에 데이터가 위변조 된 것을 바로 알 수 있게 됩니다.

 

인증

발신자 인증이란 데이터를 전송하는 주체에 대한 인증입니다. 서명이 유효하다면 개인키를 보유한 사람이 발신했다는 것을 확인할 수 있습니다. 또한 서명한 발신자가 다른 사람이 아니라는 것을 확인시켜주기 때문에 서명을 하지 않았다고 부인하는 것을 방지하기도 합니다.

 

 

참고

디지털 서명이란 무엇인가? - 업비트 투자자보호센터 (upbitcare.com)

'Block chain > Basic of Blockchain' 카테고리의 다른 글

[복구문구]  (0) 2023.04.19
[DID(Decentralized Identity)]  (0) 2023.04.18
[개인키와 공개키]  (0) 2023.04.17
[암호화폐 지갑이란?]  (0) 2023.04.11
[블록체인이란?]  (0) 2023.04.10