61. AES - 보안의 기본 |
-
AES(Advanced Encryption System)는 현재 각 나라의 암호 규격에 의해 이용이 권장되고 있는 공통키 암호 방식이다.
1990년대는 DES(Data Encryption Standard)라는 공통키 암호 방식이 주류였지만, 컴퓨터의 성능 향상과 함께 DES 의 보안 강도(깨지기 어려운 정도)가 불안해지기 시작해서 1999년에 DES 해독에 필요한 시간이 24시간이 안 걸렸다는 점에서 새로운 암호화 방식이 강하게 요구되었고, 그래서 태어난 것이 AES 이다.
-
DES 키의 경우의 수는 2^56이다.
즉, 공격자는 올바른 키를 발견하기 위해 2^56가지의 키를 시험해 볼 필요가 있다. (보통은 평균하여 그 반 정도)
* AES 의 탄생
-
공통키 암호 방식에서는 키의 길이(복잡함)가 보안 강도의 바로미터가 된다.
AES 키의 복잡함은 2^128 이상이다.
DES 를 하루에 해독하는 시스템을 이용한 경우 AES(128)의 해독에는 1000경년(1경=10000조) 걸린다는 계산이 나온다.
-
AES 에서는 기본 128비트 외에도 192비트, 256 비트도 선택할 수 있다.
-
공통키 암호 방식에서는 키가 길면 길수록 안전성은 올라가지만 그만큼 퍼포먼스가 떨어지므로 주의해야 한다.
평소에는 AES(128)만으로도 충분하다.
* 폭넓게 사용되는 AES
-
Wi-Fi 의 암호화 규격인 WPA2 에 사용되고 있다.
또한 ZIP 이나 RAR 와 같은 파일 압축 소프트웨어의 암호화 기능이나 하드디스크 암호화 제품에도 사용되고 있다.
TLS 의 암호화 프로토콜로 AES 가 사용된다.
* 브루트 포스 공격에 의한 키의 해독
-
공격자는 공통키 암호화 방식의 키를 해독하려고 하는 경우 무차별 대입 공격을 가해 키에 사용하는 문자 조합을 하나하나 시험한다.
해독에 필요한 시행 횟수는 평균적으로 전체 조합의 약 반이다.
-
DES(56bit)의 경우 1999년 전용 해독기 + 100만원대의 컴퓨터를 병렬로 연결하여 계산한 결과 22시간 만에 해독되었다.
'프로그래밍 놀이터 > 보안' 카테고리의 다른 글
[도서 정리] 63. 코드 서명 - 보안의 기본 (0) | 2019.12.12 |
---|---|
[도서 정리] 62. TLS - 보안의 기본 (0) | 2019.12.11 |
[도서 정리] 60. 공개키 암호 방식 - 보안의 기본 (0) | 2019.12.09 |
[도서 정리] 59. 공통키 암호 방식 - 보안의 기본 (0) | 2019.12.08 |
[도서 정리] 58. 페네트레이션 테스트 - 보안의 기본 (0) | 2019.12.07 |
댓글