코인 매입
시장
현물
선물
재테크
이벤트
더 알아보기
reward-center초보자 존
아카데미세부 정보
보안

공개키 암호화에 대하여

CoinEx logo
게시일:
5m

블록체인에서 공개키 암호화란?

“공개키 암호화”란, 비대칭키 암호화라고도 불리며 암호화, 복호화 시 사용하는 키가 다른 방식을 뜻합니다. 개인키는 사용자 본인만이 소유할 수 있으며 절대 공개되지 않지만, 공개키는 모두에게 공개되어 정보 전송에 활용됩니다. 공개키 암호화 방식은 1970년대 후반, 스탠퍼드 대학에서 처음 발표된 후 현대 암호체계의 기반이 되었습니다.

블록체인에서 공개키 암호화 기술은 절대 빼놓을 수 없는 기술로써 암호화폐의 전송 및 스마트 컨트랙트의 체결 등 블록체인에서 암호화가 필요한 거의 모든 요소에서 사용되고 있습니다. 

공개키 암호화 방식은 전송 데이터의 기밀성, 무결성, 인증 등을 보장하여 트랜잭션의 신뢰성을 높이고, 블록체인에 대한 악의적인 공격을 방어하며 블록에 기록된 정보의 훼손을 방지하는 등 블록체인의 기반을 지탱하고 있습니다.

공개 키 암호화 작동 원리

앞서 언급했다시피 공개키 암호화 방식은 두가지 키를 이용하는 방식입니다.

먼저 공개키는 정보를 암호화시키는 기능을 가지고 있으며, 누군가에게 정보를 안전하게 전달하고자 할 경우, 그 사람의 공개키를 이용해 해당 정보를 암호화시켜 전송하게 됩니다.

개인키는 정보를 복호화시키는 기능을 가지고 있으며, 사용자의 공개키로 암호화된 정보를 전송받은 후 개인키를 통해 해당 정보를 복호화시켜 그 내용을 확인할 수 있습니다.

공개키 암호화 방식

<공개키 암호화 방식>

블록체인에서 사용자들은 저마다 비공개키를 소유하고 있습니다. 예를 들어 암호화폐의 전송 절차에 따르면, 먼저 B가 A에게 암호화폐를 전송받기 위해 비공개키 B-1를 이용해 공개키 B-2를 생성합니다.

그 다음 A는 B의 공개키 B-2를 이용해 전달하고자 하는 암호화폐 정보를 암호화하여 전송합니다.

그 후, 암호화된 정보를 받은 B는 비공개키 B-1를 이용해 공개키 B-2를 복호화할 수 있으며 안전하게 전송 정보를 받을 수 있습니다.

이 과정에서 다른 누군가가 악의적인 목적을 가지고 정보를 탈취한다 하더라도 B가 소유하고 있는 비공개키를 확보하지 않는 한, 암호화된 정보를 복호화할 수 없기 때문에 정보는 안전하게 보호됩니다. 

공개키 암호화 알고리즘

현재 가장 많이 사용되고 있는 공개키 암호화 알고리즘은 “RSA”알고리즘으로, RSA 알고리즘은 전세계 대부분의 인터넷 뱅킹 암호화 시스템에 적용되고 있습니다.

RSA 알고리즘은 큰 숫자를 소인수분해 하는 연산을 컴퓨터가 하기 어려워한다는 아이디어에 착안하여 만들어졌으며, 키 길이에 따라 RSA-1024, RSA-2048 등으로 구분됩니다.

현재는 RSA-2048이 공개키 암호화에 주로 사용되며, 임의의 두 소수 p,q를 통해 개인키와 공개키를 생성하므로 다른 누군가가 상용화된 양자컴퓨터를 가지고 있지 않는한 키를 해킹할 수 없는 뛰어난 보안성을 자랑합니다.

공개키 암호의 문제점

1. 복잡한 연산 필요

안전한 공개키 암호화를 위해선 충분히 긴 길이의 키가 필요합니다. 키의 길이가 짧다면 보안성이 떨어지게 되므로 사용자는 항상 긴 길이의 키를 이용해야 하며, 이 때문에 공개키 암호화 방식은 대칭키 암호화 방식보다 더 많은 연산을 필요로 합니다. 만약 큰 데이터를 암호화하는 경우, 연산값이 많아져 이용속도에 제약이 생길 수도 있습니다.

2. 개인키에 집중된 권한

공개키 암호화방식에서 개인키는 사실상 소유자의 분신과도 같은 위치에 가지며, 블록체인에서는 소유자의 암호화폐 지갑에 보관된 디지털 자산에 대한 모든 권한을 가지고 있습니다. 만약 개인키를 탈취당했을 시 암호화폐 지갑을 보호할 별다른 수단이 없으며 심각한 보안문제를 야기할 수 있습니다. 

개인키를 분실했을 경우에도 큰 문제가 발생합니다. 사용자가 본인의 개인키를 분실한다면 공개키로 개인키값을 추적할 수 없기 때문에 지갑에 대한 모든 권리 또한 분실됩니다! 특히 개인키는 복잡하고 긴 값으로 구성되어 있어 일반적인 사람의 기억력으로 키 값을 기억하는 것은 불가능하기에 개인키 저장매체를 관리하는 것에는 많은 주의가 요구됩니다.

그러나, 이러한 단점에도 공개키 암호화 방식을 완벽히 대체할 수 있는 암호화 기술은 현재 존재하지 않으며, 아직까지 공개키 암호화 기술은 가장 안정적이고 범용성 높은 암호화 기술로써 블록체인에서 널리 사용되고 있습니다. 

결론

“공개키 암호화”란 암호화, 복호화 시 사용하는 키가 다른 암호화 기술입니다. 공개키 암호화 기술을 통해 데이터 전송 시 정보가 유출될 가능성을 획기적으로 낮추었으며, 블록체인의 중요한 기반으로 작용하고 있습니다. 그러나 사용자의 부주의로 개인키를 노출시키거나, 분실할 경우 소유한 디지털 자산, 정보에 대한 모든 권한을 소실할 수 있으므로 무엇보다도 사용자는 개인키를 철저히 관리해야 합니다.