컴퓨터 보안의 역사
Intro
컴퓨터 보안이란?
정보 시스템 리소스의 기밀성, 무결성 및 가용성을 보존 하기 위해 자동화된 정보 시스템에 제공되는 보호
보안의 3요소 + 인증
Confidentiality(기밀성) 허가된 사용자, 장비만이 데이터 내용을 알 수 있도록 하는 것으로 암호화, 복호화를 통해 기밀성을 유지할 수 있다.
Ingetrity(무결성) 변조 없이 원본 그대로임을 보장하는 성질, hash를 통해 MAC(Message Authentication Code)를 만들어 이를 증명할 수 있다.
Avalability(가용성) 허가된 사용자가 허가된 시간에 데이터에 접근가능하도록 하는 것
Authentication(인증) 신원을 확인하는 것으로 송신자가 private key로 암호화한 전자서명을 통해 증명할 수 있다.
Cryptology
Cryptography(암호학) 정보를 안전하게 전송하기 위해 메시지를 암호화하고 복호화하는 기술. ex) 대칭키 암호화 (DES, AES), 비대칭키 암호화 (RSA, ECC), 해시 함수 등
Cryptoanalysis (암호해독학) 알려진 정보만을 사용하여 암호를 해독하는 기술. 이는 불완전한 정보, 즉 일부만 알려진 키나 평문, 또는 아무런 추가 정보 없이도 가능합니다. 이 과정에서 패턴 분석, 통계적 방법, 브루트 포스 공격 등 다양한 방법이 사용됩니다.
Cryptology (암호정보학) Cryptography와 Cryptoanalysis를 모두 포함하는 학문 분야입니다.
+ Steganography: 메세지의 존재 자체를 숨기는 것
암호는 왜 사용할까?
처음에는 주로 군사용으로 비밀정보의 교환을 위해 생겨났고 현재는 전자상거래, 전자우편, 무선통신 등의 보안을 위해 사용한다.
암호화 시스템이 가져야할 특성
- 불가해성 - 공격자가 암호문을 보더라도 내용을 이해할 수 없어야함
- 적절한 비용 - 구현 및 유지보수 비용이 너무 높지 않아야함
- 사용편리성 - 사용자가 암호화/복호화를 쉽게 할 수 있어야함
- 낮은 오류율 - 암호화와 복호화 과저에서 데이터의 손실이 없어야함
암호 용어
평문 (plaintext) : 일반 문장
암호문 (ciphertext) : 암호화된 문장
암호화 (encryption) : 평문을 암호문으로 바꾸는 과정
복호화 (decryption) : 암호문을 평문으로 바꾸는 과정
암호 알고리즘: 암호화 알고리즘과 복호화 알고리즘
키 (key) : 암호 알고리즘에 사용되는 정보
암호의 역사
제 1세대 암호
1. Spartan Scytale
기원전 5세기 그리스에서 쓰던 암호, 글자가 적힌 끈을 위 막대에 두르면 전달할 메세지가 나타난다. 막대가 곧 (symmetric) key역할을 했다고 볼 수 있다.
2. Shift(Caesar) cipher
기원전 58년 카이사르의 갈리아 원정때 쓰였던 암호기법으로, a~z까지 글자들을 3칸씩 이동시킴, shift한 횟수가 곧 key가 된다.
3. Affine cipher
알파벳을 선형함수에 넣어 암호화한 방법으로 두 정수 a,b를 선택한 후, 평문 m을 c≡am+b (mod 26)로 암호 (단 a는 26과 서로소) a,b가 곧 key가 된다. 경우의 수는 a의 경우의 수 * b의 경우의 수 = (ϕ(26) ) * 26 = 12 * 26 = 312이다
4. Substitution Cipher
각 글자를 다른 글자로 대치시킨다. 경우의 수는 26! = (약 4x 10^26), 하지만 브루트 포스가 아닌 언어학적 이해를 동반하면 쉽게 깨진다.
5. Vigenere Cipher
앞의 Shift cipher를 각 글자별로 적용시킨 기법이다. key를 평문과 같은 길이까지 반복시키며 늘려 각 문자별로 shift시킨다.
제 2세대 암호
1차 세계대전의 영향으로 암호가 발전하며 이 시기에 기계를 사용하여 긴 블록을 암호화시켜 해독에 엄청난 계산이 필요하도록 한 기계암호가 발전하였다. 하지만 컴퓨터 기술의 발달로 인해 이러한 기계적인 암호 시스템은 점점 중요성을 잃어갔다.
제 3세대 암호 ~ 현대암호
2차 세계대전 종전 이후 컴퓨터 및 인터넷이 발달하여 디지털 암호화 방식이 사용됨
출처
명지대학교 컴퓨터공학과 Dr.Seung C. Han - 컴퓨터 보안 강의 자료
언어의 통계 이미지
현대 암호의 분류