안녕하세요 여러분. 참새입니다.
지금 저희가 살고 있는 현대 시대에서는 똑똑한 범죄자들은 종이와 펜을 써서 나쁜 짓을 구상하는 것이 아니라 컴퓨터를 써서 똑똑하게 나쁜 짓을 하는데요, 이런 범죄자들로부터 저희는 어떻게 저희의 정보들을 보호할 수 있을까요?
간단합니다! 암호를 ‘어렵게’ 만들면 범죄자들로부터 저희의 정보들을 안전하게 지킬 수 있겠죠. 그런데 ‘어렵다’라는 기준은 무엇일까요?
‘암호가 어렵다’ = 암호의 경우의 수가 너무 많아서 암호를 풀려면 너무나 오랜 시간이 걸린다.
‘암호가 어렵다’를 이렇게 정의하면 조금 더 명확하겠죠? ㅎㅎ
오늘날 저희가 인터넷 상에서 쓰는 ‘키’는256 비트의 암호 키입니다. (256자리 숫자의 암호 키라고 생각하시면 될 것 같습니다!)
256 비트의 키를 사용하게 되면 암호의 가능한 경우의 수가 ‘115,792,089,237,316,…..(위의 이미지에 나와있는 숫자 ^^;;)’만큼이 되기 때문에…
256 비트의 키를 사용하는 암호를 해독하려면 몇 십만 대의 슈퍼컴퓨터들이 매 초당 몇 백만, 몇 억의 키를 대입해본다고 하더라도
말도 안되게 긴~~~~~~ 시간이 걸립니다 (몇 조의 몇 조의 몇 조 년). 거의 미션 임파서블 수준이네요… ^^;;
시저의 암호처럼 정보를 보내는 사람과 정보를 받는 사람이 ‘똑같은 키’를 가지고 암호화하거나 해독할 때, 이 ‘똑같은 키’를 ‘대칭 키 암호(symmetric encryption)’라고 부릅니다.
대칭키 암호의 문제점은…인터넷처럼 개방적이고 대중적인 네트워크에서 두 대의 컴퓨터가 비밀리에 만나서 “대칭키 암호는 이걸로 합의합시다!” 라고 대화를 나누기가 불가능하겠죠 ^^;; 사람들이 눈 뜨고 지켜보고 있는데 중요한 암호 키를 둘이서만 공유한다는게 불가능 하겠죠? ㅎㅎ;;
이러한 문제점 때문에 오늘날 컴퓨터는 ‘비대칭 키 암호(asymmetric encryption)’를 사용합니다. 비대칭 키 암호는 두 가지 암호 키를 사용하는데요, (1). 공개 키(public key) 그리고 (2). 개인 키(private key)를 사용합니다.
공개 키는 모두와 공유되며, 정보를 암.호.화.할 때 사용합니다. 개인 키는 절대로 남들과 공유하면 안되며, 정보를 해.독.할 때 사용합니다.
예시를 보도록 할게요!
우편함이 있는데, 편지를 우편함에 넣는 것은 공개 키를 가지고 있는 사람들이라면 아무나 할 수 있습니다.
여러 개를 복사해서 우편함을 사용하는 사람들에게 나눠줘도 괜찮습니다! 공개 키를 사용하면 우편함에 편지를 넣는 것만 할 수 있으니까요 ^^
자, 이렇게 공개 키를 사용해서 우편함의 윗부분을 열고 편지를 넣겠습니다!
하지만, 우편함에 들어있는 편지를 볼 수 있는 건 우편함 주인뿐입니다. 우편함 주인만 단 하나의 개인 키를 가지고 있기때문에, 편지를 넣는 것은 모두 할 수 있지만, 편지를 읽는 것은 개인 키를 가지고 있는 우편함 주인만 할 수 있죠.
이러한 방법으로 공개 키와 개인 키를 이용하여서 안.전.하.게. 인터넷 상에서 정보를 주고 받을 수 있습니다. (스팀잇을 하시는 여러분들께서도 ‘지갑’ – ‘권한’ – ‘개인 키 보이기’라는 기능이 있다는 것을 아실텐데요, 이러한 보안상의 이유때문에 이 기능이 있습니다.)
인터넷 상에서 쓰이는 보안 프로토콜은 ‘SSL’과 ‘TLS’라는 프로토콜들이 있는데요, 이 프로토콜들은 저희가 웹 브라우징을 할 때 개인 정보들을 지켜줍니다.
웹 사이트 왼쪽 상단에 ‘잠겨있는 자물쇠 모양’ 또는 ‘https://’라고 적혀있는게 보이시나요? ㅎㅎ 만약 보이신다면 여러분의 컴퓨터는 공개 키 암호를 사용하여서 여러분이 정보를 안전하게 주고 받을 수 있도록 보호 해주고 있다는 표시입니다. (안보이신다면 문제가 있으니 전문가와 상담하세요 ^^;;)
암호화는 가상 화폐에서도 정말 정말 중요한 컨셉이라서 디테일하게 설명해드리고 싶었는데 도움이 되셨는지 모르겠네요. 여러분이 인터넷의 원리 뿐만 아니라 가상 화폐의 원리를 이해하실 때에도 도움이 되었으면 좋겠습니다 ^^
다음 포스팅에서 뵈요~
인터넷의 원리 PART.1: 인터넷이란 무엇인가?
@kim066/part-1
인터넷의 원리 PART 2: 와이어, 케이블, 그리고 와이파이 (Wifi) - 1
@kim066/part-2-wifi-1
인터넷의 원리 PART 3: 와이어, 케이블, 그리고 와이파이 (Wifi) - 2
@kim066/part-3-wifi-3
인터넷의 원리 PART 4: IP 주소 & DNS – (1)
@kim066/part-4-ip-and-dns-1
인터넷의 원리 PART 5: IP 주소 & DNS – (2)
@kim066/part-5-ip-and-dns-2
인터넷의 원리 PART 6: IP 주소 & DNS – (3)
@kim066/part-6-ip-and-dns-3
인터넷의 원리 PART 7: 패킷, 라우팅, 그리고 신뢰성 – (1)
@kim066/part-7-1
인터넷의 원리 PART 8: 패킷, 라우팅, 그리고 신뢰성 – (2)
@kim066/part-8-2
인터넷의 원리 PART 9: TCP/IP와 UDP/IP (번외편)
@kim066/part-9-tcp-ip-udp-ip
인터넷의 원리 PART 10: 암호화와 공개 키– (1)
@kim066/part-9-1