본문 바로가기
Blockchain

[Security] 암호학(Cryptography), 정보 보안 3요소

by 개발자 염상진 2022. 6. 20.

 

블록체인에서 암호학은 굉장히 중요한 위치를 가지고 있습니다. 블록을 체인에 연결하고, 송금, 서명 등 전방위적으로 암호학의 아이디어를 차용하고 있습니다. 암호학이란 보다 안전한 암호화 과정과 복호화 과정의 합입니다. 영어로 Cryptography라고 합니다. 사람들이 일반적으로 이해할 수 있는 평문을 다른 사람이 이해하기 힘든 암호문으로 변경해서 전송하고, 다시 평문으로 전환하는 작업입니다. 

 

 

암호학은 이렇게 발전했다

 

현대에서 암호학은 정보통신 기술에서 중요한 지위를 가지고 있습니다. 우리가 하루에도 특정 웹 사이트에 접속해서 본인임을 인증하고, 쇼핑을 하거나, 친구들에게 메시지를 전송하고 있습니다. 만약 정보가 암호화되지 않는다면 누구나 개인정보를 탈취하고 은행에서 예금을 갈취해갈 것입니다. 암호학은 현대 뿐만 아니라 먼 옛날 부터 서서히 발전해온 학문입니다.

 

 

고대 암호학

대부분의 초기 문명들은 암호학의 기초를 가지고 있었습니다. 무려 3900만년 전 이집트의 귀족 크놈호테프 2세의 무덤에서 암호학이 사용된 예시가 발견되었습니다. 또한 민감한 정보를 보호하기 위해 약 3500년 전 메소포타미아 문명의 서기들이 진흙판에 사용된 도자기 유약을 감추기 위해 암호학이 사용되었습니다. 

고대 스파르타에서는 스키테일(Scytale)이라는 암호방식을 사용했습니다. 전쟁에 나가는 군인들은 동일한 굵기의 원통을 가지고 메시지가 적힌 양피지를 돌돌 감아 암호화된 메시지를 전달했습니다. 같은 크기의 원통을 가지고 있어야만 암호문을 해석할 수 있습니다. 

 

scytail 암호화 방식

 

기원전 100년 경에 사용된 카이사르 암호는 알파벳을 일정 횟수만큼 다른 문자로 치환하는 방식을 사용했습니다. 원본 문자를 알고 있다면 해독이 쉽지만, 치환된 원리를 모르면 해독이 어려운 특징을 가지고 있습니다. 고대 사회에서 가장 발전한 암호기술로 알려져 있습니다.

카이사르 암호방식

 

고대의 암호는 전치, 치환, 대치의 원리를 사용해서 직접적으로 정보를 암호화하는 방식을 사용했습니다. 

 

중세시대 암호학

중세시대에 들어오면서 암호학은 점점 더 발전합니다. 800년 경 아랍의 수학자 알 킨디(Al-Kindi)는 빈도 해석 기술을 암호학에 적용합니다. 체계적인 방법으로 암호화된 메시지에 접근하기 시작하면서 암호학은 발전해갑니다. 

1465년 경 레오네 알베르티(Leone Alberti)는 다중문자 암호(Polyalphabetic cipher)을 개발합니다. 두개의 디스크 판을 사용해서 특정 문자를 완전히 다른 문자열로 치환해 암호화를 진행합니다. 다중문자 암호기술을 사용하면서 빈도해석 기술로는 해결할 수 없는 암호문이 탄생합니다.

 

알베르티 다중문자 암호 디스크

 

근대 암호학

1790년 경 토마스 제퍼슨은 제퍼슨 디스크를 개발합니다. 26개의 바퀴를 사용하였고, 특정 알파벳을 다른 알파벳으로 치환해버립니다. 이 기계는 실제로 100년 뒤인 2차 세계대전에서도 사용될 만큼 실용적인 발명품이었습니다. 세계 2차 세계대전에서는 제퍼슨 디스크를 진보시켜 애니그마 장치를 사용하게 됩니다.

 

 

컴퓨터 기술의 초창기 시절 애니그마 암호를 해독하기 위해 컴퓨터 기술이 발전하기 시작했습니다. 흥미로운 점은 애니그마 장치 해독 기술이 연합국 승리의 결정적인 역할을 했다는 점입니다. 근대에 들어와 본격적으로 암호에 기계 장치가 도입되기 시작합니다.

 

제퍼슨 디스크

 

현대 암호학

컴퓨터 기술은 점점 더 발전하면서 수학적인 암호학이 발달하기 시작합니다. 1990년대에는 양자 암호학이 등장했고, 지금은 단순히 정보를 암호화하는 것 뿐만 아니라 암호학을 활요해 화폐를 구현하고 있습니다. 비트코인, 이더(ETH)가 그 주인공입니다. 물론 모바일 뱅킹, 공인인증서에도 암호학이 빠지는 곳은 없습니다.

블록체인 기술에서는 해시함수, 공개키 암호화, 디지털 서명 방식, 타원 곡선 전자서명 알고리즘(ECDSA) 등의 암호학이 사용됩니다. 덕분에 블록체인에 올라간 데이터들이 일관성을 가질 수 있게 되고 정당한 소유권을 주장할 수 있게 됩니다. 

 

최초의 현대식 컴퓨터, 애니악(ENIAC), 무게가 30T에 육박한다

 

 

정보의 기본적인 기능?

 

암호학을 사용하는 이유는 데이터를 안전하게 전달하기 위함입니다. 따라서 암호학이 적용된 정보 보안에서는 기밀성, 무결성, 가용성, 부인봉쇄 등 4가지 요건을 가지고 있어야 합니다.

 

기밀성(Confidentiality)

정당하게 정보에 접근 할 수 있는 권한이 있는 사람만 접근이 가능해야 합니다. 암호화된 정보에 임의로 접근에 타인의 정보를 탈취하는 행위는 근본적으로 금지될 수 있어야 합니다.

 

무결성(Integrity)

정보가 전달되는 과정에서 변경되어서는 안됩니다. 평문-암호화-복호화-평문 과정에서 평문은 동일한 정보를 유지해야 합니다.

 

 

가용성(Availability)

정당한 권한을 가진 사용자가 특정 기간 동안 정보에 접근 할 수 있는 기간을 명시하는 것입니다. 정보에 접근할 수 있는 시간이 무한하다면 공격을 당할 여지가 있습니다. 특정 기간 안에서는 정당한 권리 행사가 가능해야 합니다.

 

부인봉쇄(Non-Repudiation)

정보를 받는 사람이 받지 않았다고 주장할 수 없어야 합니다. 수신자가 발송 자체를 부정하거나 반대로 발송되지도 않은 정보를 받았다고 주장할 수 없어야 합니다. 예를 들어 A가 1BTC를 받은 이후 1BTC를 받은 적이 없다고 주장하면 거짓임을 밝힐 수 있어야 합니다. 

 

 

 

 

[Blockchain] NFT 투자 제대로 알고 하자 (암호화폐, 블록체인)

디지털 세계에서는 모든 데이터들이 손쉽게 복제될 수 있습니다. 음악, 사진, 웹툰 등의 무단 복제가 문제가 되는 것도 디지털의 손쉬운 복제 특성 때문일 것입니다. 디지털에서 합리적인 경제

about-tech.tistory.com

 

 

[Blockchain] 블록체인 코인 토큰 차이

블록체인을 처음 공부할 때 코인과 토큰이란 단어가 자주 등장하게 됩니다. 코인과 토큰이 같은 용어로 사용되기도 하면서 혼란을 가중시키고 있습니다. 물론 코인과 토큰 둘다 가치를 가지고

about-tech.tistory.com

 

 

[Blockchain] 블록체인 머클트리(Merkle Tree)란?

블록체인에서 데이터 보안은 가장 중요한 이슈입니다. 다수의 블록들이 체인으로 연결되면서 데이터 무결성을 보장한다는게 블록체인의 강점인데요, 과연 블록체인은 어떻게 해서 데이터들이

about-tech.tistory.com

 

댓글