암호기술이란?
-> 통신 당사자 간 메세지 전달 과정을 보호하고 컴퓨터에 저장된 메세지를 보호하기 위한 수학적 기술이다.
Cryptology(암호학) -> 암호를 만들거나 해독하는 '학문'
Cryptography(암호기술) -> 암호를 만드는 기술
Cryptananlysis(암호분석) -> 암호를 해독하는 행위
Crypto(암호) -> 포괄적인 용어
실용적인 암호 설계의 6가지 원칙 - 케르크호프스의 원리(Kerckhoffs' Principle)
1. 시스템은 수학적으로는 아니더라도 실질적으로 해독할 수 없어야한다.
2. 비밀을 요구하지 않아야 하며, 적의 손에 넘어가도 문제가 되지 않아야한다.
-> 암호 매커니즘에 크리티컬한 비밀이 요구되어서는 안된다는 말인듯.
3. 키를 전달하고 기억할 수 있어야 하며, 통신원이 마음대로 키를 변경하거나 수정할 수 있어야 한다.
4. 전신 통신에 적용 가능해야 한다.
5. 휴대할 수 있어야 하며, 여러 사람이 취급하거나 조작할 필요가 없어야 한다.
6. 시스템은 사용하기 쉬워야 하며, 사용자가 긴 규칙 목록을 알고 준수하도록 요구해서는 안 된다.
암호 알고리즘에서 사용되는 용어
1. 안정성 수준
- 시스템이 어느 정도의 보안강도를 만족해야 하는지를 의미
2. 완전한 탐색(exhaustive search)
- 모든 가능한 키를 찾아내는 것
3. N비트 키: 2^n개
- 암호 알고리즘의 비트 중에서 키를 찾기 위해서는 평균적으로 2^n-1번의 시도가 필요함
4. 보안강도
- 암호 알고리즘이나 시스템의 암호키 또는 해시함수의 취약성을 찾아내는 데 소요되는 작업량을 수치화한 것.
보안강도 | 대칭키 암호 알고리즘 (보안강도) |
해시함수 (보안강도) |
공개키 암호 알고리즘 | 암호알고리즘 안정성 유지기간 (년도) | |||
인수분해 (비트) |
이산대수 | 타원곡선 암호(비트) |
|||||
공개키 (비트) | 개인키 (비트) | ||||||
112 | 112 | 112 | 2048 | 2048 | 224 | 224 | 2011년에서 2030년까지 |
128 | 128 | 128 | 3072 | 3072 | 256 | 256 | 2030년 이후 |
192 | 192 | 192 | 7680 | 7680 | 384 | 384 | |
256 | 256 | 256 | 15360 | 15360 | 512 | 512 |
-> 암호 알고리즘과 키 길이 선택 기준
: 암호 알고리즘과 키 길이는, 암호 알고리즘의 안전성 유지기간과 보안강도 별 암호 알고리즘 키 길이 비교표, 암호키의 사용 유효기간을 기반으로 선택한다.
암호기술의 분류
1. 해시함수
- Modification Detection Code(MDC) -> 무결성. MD5/SHA-2/SHA-3 등
- Message Authentication Code(MAC) -> 무결성+인증. HMAC(key-Hashed MAC)
2. 대칭키 암호기술
- 스트림 암호기술 > 기밀성(RC4)
- 블록 암호기술 > 기밀성+인증(AES, SEED, HEIGHT)
3. 비대칭키 암호기술
- 공개키 암호기술 -> 기밀성+인증+부인방지(DH,RSA,EIGamal, ECC)
여기서, 해시함수는 일방향 암호기술, 대칭키/비대칭키는 양방향 암호기술이다.
'Information Security > 암호학' 카테고리의 다른 글
Integrity and Authenticity, Cryptographic Hash Functions (0) | 2024.04.30 |
---|---|
Securing Communication, CIA Traid, Security Mcchanisms (0) | 2024.04.30 |