본문 바로가기

BlockChain Developer/CommonSense

Hash & Hash Power & PKI (Public Key Infrastructure, 공개키 인프라)

안녕하세요 ^^

 

블록체인 공부를 위해서 알아야하는 개념 중 하나인 PKI에 대해 간략히 소개해 보고자 합니다.

 

위 PKI를 이해하기 위해서는,

암호화와 복호화 그리고 HASH 그리고 대칭키 알고리즘, 비대칭키 알고리즘에 대한 이해가 요구됩니다.

따라서 Hash와 암호화 복호화 그리고 대칭/비대칭키에 대해서 또한 간략히 소개드리도록 하겠습니다.

 

1. HASH & Hash Power

HASH가 무엇일까요?

블록체인에서 이 HASH를 통한 암호화를 거친다고 설명하고 있어요.

블록체인에서는 데이터를 SHA - 256이라는 방식을 통해 암호화시켜 256bit의 길이로 저장한다고 합니다.

그래서 HASH는 주로 크래커의 위협을 방지하기위해 데이터를 암호화하며, 데이터를 축약하는 역할을 합니다.

 

저는 블록체인을 공부해서 그런지 주로 SHA 방식에 대해서만 들어보았는데요.

이 외에도 MD방식의 암호화 방식도 존재한다 하네요 ㅎㅎ..

 

그리고 최근에 '아하'에서 블록체인 답변자로 활동하면서 가끔 이런 질문이 들어와요.

"HASH Power는 뭔가요?"

그래서 HASH Power에 대해서도 조금 내용을 추가하자면,

 

대표적으로 비트코인에서 채굴을 하기 위해서는 HASH된 Nonce값을 맞추면, 채굴이 성공하게 되는데요.

예를들어 3이라는 암호가 있다고 가정합시다.

그러면 컴퓨터는 1, 2, 3 이렇게 순차적으로 이에 대입해서 정답에 맞는 것을 찾게 됩니다.

그래서 HASH Power는 이렇게 정답에 숫자를 대입하는 속도가 얼마나 빠른지에 대한 파워입니다.

 

 

 

2. Encryption & Decryption (암호화, 복호화)

Encryption(암호화), Decryption(복호화)입니다.

데이터를 암호화 시켜 변경하는 것을 Enryption이라하며,

암호화 된 데이터를 다시 원상복구 시키는 것을 복호화 Decryption이라고 합니다.

 

 

 

3. Symmetric Key & Asmmetric Key (대칭키 알고리즘, 비대칭키 알고리즘)

 

일단 두개 대칭/비대칭 키 방식의 차이점을 알아볼까요?

 

대칭키 알고리즘(Symmetric Key)은 암호화과정과 복호화과정을 한개의 키로 수행하며,

비대칭키 알고리즘(Asmmetric Key)는 두 개의 키를 이용해서 암호화와 복호화 과정을 거치게 됩니다.

 

따라서, 대칭키 알고리즘은 비대칭키 방식에 비해 "빠른 속도"를 가진다는 장점이 있고,

대표적인 대칭키 알고리즘 방식으로는 3DES, AES 등이 있습니다.

 

비대칭키 방식은 당연히 두개의 키를 이용하므로 대칭키에 비해 속도가 다소 느리고,

대표적인 비대칭키 알고리즘 방식으로는 RSA 등이 있습니다.

 

한번, 그림으로 더 간단히 살펴볼께요.

 

대칭키 방식

여기에서 중요한 점은, 암호화하는 키와, 복호화하는 키가 같다는 의미입니다.

따라서, 키의 중요성이 가장 높습니다.

이럴 경우에는, 암호화시킨 암호문과 열쇠를 한번에 열람자에게 전달해줘야 열람이 가능하겠죠?

 

비대칭키 공개키 암호화방식
비대칭키 비밀키 암호화방식

 

4. PKI (Public Key Infrastructure)

즉, PKI는 위에서 다룬 공개키 암호화와 전자서명 프로세스를 이용할 수 있게 해주는 기반이다. 라 이해할 수 있습니다.

위와 같은 형식으로 동작하는 것이 베이스로, 실제에서는 보다 조금 더 복잡하게 프로세스가 이루어지는데요.

한번 알아보도록 하겠습니다.

 

공개키 암호화방식(실제)

공개키 암호화방식

우선, 공개키 암호화방식을 실제로 하게되면, 속도 문제를 해결하기위해 임시대칭키라는 것이 생성됩니다.

그래서 위 그림과 같은 형식으로 프로세스가 진행됩니다.

 

 

 

전자서명 프로세스(실제)

다음으로 알아볼 내용은 전자서명 프로세스에요.

이는 주로 내가 보낸 내용이라는 것을 증명하는 방식입니다.

전자서명 방식 프로세스 (실제)

위처럼, 남성은 평문을 Hash로 암호화하고, 축약된 메세지를 다시 본인의 비밀키로 암호화합니다.

그리고 남성이 서명을 하고 이 중, 남성의 서명과 평문을 은행에 전달합니다.

그럼 은행은 이를 같은 과정을 거쳐 축약된 메세지 두가지를 만들고 비교 대조함으로써

이것이 정말 남성이 보낸것인지 아닌지를 판별하게 됩니다.

 

CA (Certificate Authority, 공인인증기관)

추가개념으로 공인인증기관 (CA)에 대해서도 항상 언급되더라구요. 그래서 CA에 대해서도 간략히 살펴보겠습니다.

공인 인증기관의 주 업무는 우리가 알고있는 공인인증서를 발급해주는 일이 아닌,

"개인키(Private Key)와, 공개키(Public Key)를 쌍을 만드는 일을 주로 수행합니다."

어떤식으로 흘러갈까요? 그림을 통해 살펴보겠습니다.

CA

 

 

☞ 본 포스팅은 공부 내용을 바탕으로 정리하는 것입니다. 주관적이며 정확하지 않은 내용이 포함 되어있을 수 있습니다.