둘이서만 공유하는 비밀키 암호 기법

심채운·2022년 8월 22일
0

cs

목록 보기
6/15

둘이서만 공유하는 비밀키 암호 기법

암호기법(cryptography), 남이 모르게 쓰는 기술은 프라이버시 침해 공격에 대한 최선의 방어책
카이사르 암호화 방식: A는 D가 되고 B는 E가 되는 방식 -> 이 알고리즘은 각 글자를 13자리만큼 옮기는 rot13이라는 프로그램으로 남아져있다.

암호기법의 기본 아이디어로는 엘리스와 밥이 통신을 하려고 한다. 교환되는 메시지를 다른 상대방이 읽게 되더라도 비공개로 유지하면서 메시지를 주고 받기를 원한다. 그러기 위해서 엘리스와 밥은 다른 사람은 모르지만 둘만 이해할 수 있게 메시지를 변형했다가 복원할 수 있도록 일정하게 공유된 비밀을 가지고 있어야 한다. 이 비밀을 키(key) 라고 한다. 카이사르 암호화 방식을 예로 들면 A를 D로 바꾸기 위한 3같은 값이 된다.

암호 기법 알고리즘은 다양한 공격을 받을 수 있는데,
공격방법 중
1. 기지 평문 공격 : 이미 아는 평문 공격은 이전에 사용된 평문과 암호 메시지 쌍을 입수하여 키를 추측하는 방식
2. 선택 평문 공격 : 임의의 평문을 선택해 그 평문을 암호화한 메시지를 입수하여 키를 추측하는 방식

<암호문 공격방식> (암호문 C, 평문 P, 키 K)

① 암호문 단독 공격(Ciphertext Only Attack) : 암호 해독자는 단지 암호문 C만을 갖고, 이로부터 평문 P나 키 K를 찾아내는 방법이다. 평문 P의 통계적 성질, 문장의 특성 등을 추정하여 해독한다.

② 기지 평문 공격(Known Plaintext Attack) : 암호 해독자는 일정량의 평문 P에 대응하는 암호문 C를 알고 있는 상태에서 해독하는 방법이다. 암호문 C와 평문 P의 관계로부터 키 K나 평문 P를 추정하여 해독한다.

③ 선택 평문 공격(Choosen Plaintext Attack) : 암호 해독자가 사용된 암호기에 접근할 수 있다. 평문 P를 선택하여 그 평문 P에 해당하는 암호문 C를 얻어 키 K나 평문 P를 추정하여 암호를 해독하는 방법이다.

④ 선택 암호문 공격(Choosen Ciphertext Attack) : 암호 해독자가 암호 복호기에 접근할 수 있어 암호문 C에 대한 평문 P를 얻어내 암호를 해독하는 방법이다.
(출처: https://www.uname.in/135)

비밀 키 암호 기법

오늘날에는 근본적으로 서로 다른 두 암호 체계가 사용되는데,

비밀 키 암호 기법 또는 대칭 키 암호 기법 : '대칭 키'라는 이름이 암호화와 복호화에 같은 키를 사용한다는 특징, '비밀 키'라는 이름은 다른 암호 체계의 이름인 공개 키 암호 기법과 더 잘 대비된다. (공개키는 Chapter.97)

비밀 키 암호기법은 같은 비밀 키를 사용하여 메시지를 암호화하고 복호화한다. 비밀 키는 메시지를 교환하고자 하는 모든 당사자에게 공유된다. 모두 알고리즘을 이해하고 있고 알고리즘에 결함이나 약점이 없다고 가정하면, 메시지 암호를 해독하는 유일한 방법은 무차별 대입 공격이다(brute force attack, 가능한 모든 비밀 키를 시도해서 암호화에 사용된 키를 찾는 방법)이다.

모든 비밀 키를 시도해서 찾기 때문에 시간이 오래걸리고, 키가 N비트라면 키를 찾는데 드는 노력은 2의 N제곱에 비례한다. 하지만 이는 어리석은 방법이 아니고, 공격자는 긴 키보다 짧은 키를 먼저 시도하고 가능성이 높은 순으로 시도한다. (ex. 공격자는 'password'와 '12345'같은 흔한 단어와 숫자 패턴을 기반으로 사전공격을 시도한다.)

2000년대 초반까지 가장 널리 사용된 비밀 키 암호 알고리즘은 1970년대 초에 IBM과 NSA(현재 NIST)가 개발한

  • DES(Data Encryption Standard, 데이터 암호화 표준) : 56비트 키를 이용하는데 컴퓨터 처리속도가 빨라짐에 따라 56비트는 너무 짧은 길이가 되었다. 1999년에는 저렴한 특수 목적 컴퓨터를 사용하여 하루 동안 무차별 대입 연산을 수행하면 DES 키를 찾아냈다. 이 때문에 더 긴 키를 이용하여 새로운 알고리즘이 만들어지게 된다.

  • AES(Advanced Encryption Standard, 향상된 암호화 표준) : 미국국립표준기술연구소(NIST)이 후원한 세계적인 공개 대회를 통해 개발, 벨기에 암호학자 조엔 데멘, 빈센트 레이먼이 만든 레인달이 우승하여 2002년에 미국 정부의 공식 표준이 됐다. 또한 공개되어 있어 누구나 라이센스나 수수료 없이 사용할 수 있다. AES는 128, 192, 256비트의 세가지 키 길이를 지원하므로 쓸 수 있는 키가 많이 있고, 어떤 약점이 발견되지 않는 한 한동안은 무차별대입 공격이 통하지 않을 것이다.

  • AES를 비롯한 비밀 키 체계에서 어려운 문제는 키 분배(Key distrtibution)이다. 통신 중인 각 당사자가 키를 알아야 하므로 키를 각자에게 전달할 안전한 방법이 있어야만 한다. 또 다른 문제는 키 확산(Key proliferation)이다. 서로 관련 없는 여러 당사자들과 은밀한 대화를 하려면 각 그룹에 별도의 키가 필요하므로 키 분배가 더 어려워진다. 이 같은 까다로움 때문에 새로운 암호 체계인 공개 키(비대칭키) 암호 기법이 개발됐다.

[요약]
대칭키 암호화 방식: 암복호화키가 동일한 암호화 방식
대표 알고리즘 : DES, 3DES, AES, SEED, ARIA 등
장점 : 수행 시간이 짧음(공개키 암호화 방식에 비해 속도가 빠르다)
단점 : 안전한 키교환 방식이 요구됨, 사람이 증가할수록 키관리가 어려워짐

profile
불가능, 그것은 사실이 아니라 하나의 의견일 뿐이다. - 무하마드 알리

0개의 댓글