[디지털 서명] 인터넷상에서 서명을 어떻게 증명할수 있을까?

이진중·2022년 5월 1일
0

블록체인

목록 보기
1/3

디지털 서명이란

A라는 사람이 B에게 메시지를 보내려할때 B는 도착한 메시지가 위변조 되지 않고, A가 보낸 메시지임을 어떻게 알 수 있을까?

대칭키와 비대칭키 암호화

디지털 서명을 배우기전에 간단한 암호화에 대해서 알아야 한다.

대칭키 암호화란 데이터를 암호화(encryption)하는 키와, 데이터를 복호화(decryption)하는 키가 같은 암호화 방식을 말한다.

비대칭키 암호화란 데이터를 암호화하는 키와, 복호화하는 키가 다른 방식을 말한다.

해시함수 특징

해시함수는 간단히 단일 방향으로 암호화 시키는것을 말한다.

  1. 해싱된 데이터는 정해진 데이터크기를 가지고
  2. 출력된 결과 값을 토대로 입력값을 유추할 수 없다.

디지털 서명

디지털 서명에 필요한 조건에는 5가지가 필수적이다.

위조 불가(Unforgeable)
서명자 인증(User authentication)
부인 방지(Non-repudiation)
변경 불가(Unalterable)
재사용 불가(Not reusable)

비대칭키를 이용하여 이것들을 충족시키는 서명을 만들수 있다.

  1. Sender는 자신의 메시지를 해시함수로 암호화한다.
  2. 해싱한 데이터를 자신의 PrivateKey로 암호화한다.
  3. 암호화되지 않은 원본 메시지+암호화된 데이터 두개를 Receiver에게 보낸다.
  4. Receiver는 PublicKey로 암호화된 메시지를 복호화한 데이터와
    원본 메시지를 해싱한 값을 비교한다.
  5. 만약 값이 같다면 그 메시지는 Sender가 보낸것을 확신할수 있다.

이러한 알고리즘을 사용하여, 인터넷상에서도 누가 서명을 했는지 알 수 있고 증명할 수 있다.
추후 트랙잭션 등 많은 부분에서 사용이 되는 기본 개념이다.

0개의 댓글