암호공격
암호공격 은 정보를 다른 사람이 알지 못하도록 변환한 부호를 암호화해서 공격 한다. 암호 공격으로 대표적인 기지평문 공격(KPA), 선택암호문 공격(CCA), 선택 평문 공격(CPA), 암호문 단독 공격(COA) 등이 있으며, 능동적 공격 과 수동적 공격으로 분류되어 나누어 진다.
개요
역사
컴퓨터의 발달과 함께 암호화는 아날로그 시대보다 훨씬 더 발전했다. 128비트 수학적 암호화는 고대 또는 중세 암호보다 훨씬 강력하며, 이제 많은 민감한 장치와 컴퓨터 시스템의 표준이 되었고, 보다 최근에는 암호 기술이 암호 화폐를 구현하는데도 사용된다. 암호화폐에는 해시 함수, 공개 키 암호화 및 디지털 서명과 같은 몇 가지 고급 암호화 기술을 활용 한는데 기술은 주로 블록체인에 저장된 데이터의 보안을 보장하고 거래을 인증하는 데 사용 괴며, 타원곡선 DSA(Elliptical Curve Digital Signature Algorithm, ECDSA)로 알려진 전문화된 암호화 형태는 비트코인과 암호화폐가 추가적인 보안을 제공하고 자금이 정당한 소유주만이 사용할 수 있도록 보장하기 위한 수단으로 사용 된다.[1]
- 1586년 : 프랑스의 외교관 블레즈 드 비제네르(Blaise de Vigenère)가 발표한 비제네르 암호
- 1863년 : 프리드리히 카시스키(Friedrich Kasiski)가 발표한 Kasiski examination
- 1920년 : 윌리엄 프리드먼(William F. Friedman)가 발표한 Friedman Test
- 1990년 : 컴퓨터 과학자들에 의해 양자암호학이라고 불리는 완전히 새로운 형태의 암호학이 현대 암호화로 제공되는 보안 수준을 다시 한 번 향상시키기를 희망하며 개발 중이다.
특징
암호공격은 크게 2가지 분류로 나누는데 첫번째로 의도적으로 내용을 조작하는 능동적 공격으로 메시지의 순서를 바꾸거나 메세제이 일부분을 다른 메시지로 대체하는 메세지 변조 를 하거나, 불법적 침입자가 정당한 송신자로 가장해 메세지 를 보내는 삽입 공격을 하기도 하고, 서비스 거부 공격(DOS) 인 삭제 공격을 한다. 또는 송수신자간의 도청 내용을 재생하여 다시 전송하는 재생공격 등이 있다. 두번째로 암호문을 만드는데 사용한 비밀키를 찾아내는 수동적 공격 으로 전송되는 메시지를 도중에 가로 채는 도청, 전송되는 메시지의 길이,전달빈도 등을 관측해서 메시지의 특성을 파악하는 트래픽 분석과 예상할수 있는 모든 키를 적용해 암호를 알아내는 암호문 공격이 있으며, 평문의 일부와 그에 대한 암호문을 알고 있을때 나머지 암호문에 해당하는 공격을 하는 알려진 평문 공격, 암호분석자가 평문의 일부를 선택 하는 선택된 평문 공격, 암호문의 일부를 이용하여 평문을 만들어낸 다음 분석하여 키를 찾아내는 방법인 선택된 암호문 공격이 있다. 암호 공격 방식으로 암호 해독자가 도청한 암호문으로부터 그에 해당하는 평문이나 비밀키를 도출하 는 수동적 공격법 이 있다.
암호 공격 기법
수동적 공격 기법 개념
- 전송되는 파일을 도청(Sniffing) : 불법적인 공격자가 전송되는 메시지를 도중에 가로채어 그 내용을 외부로 노출시키는 공격, 메시지의 내용을 공격 한다.
- 트래픽 분석 : 전송 메시지의 암호화로 도청을 통한 메시지 내용 파악이 불가능하더라도 메시지의 송신측과 수신측 신원의 파악 가능 하며, 메시지 존재에 대한 공격은 익명성 제공으로 방어 한다.
능동적 공격 기법 개념
- 메시지 변조 : 전송되는 메시지들의 순서를 바꾸거나 또는 메시지의 일부분을 다른 메시지 로 대체하여 불법적인 효과를 발생시키는 공격
- 삽입 공격 : 불법적인 공격자가 정당한 송신자로 가장하여 특정 수신자에게 메시지를 보내어 역시 불법적인 효과를 발생시키는 공격
- 삭제 공격 : 정상적인 통신시설의 사용, 관리를 방해하는 서비스 거부 공격, 특정 수신자 에게 전송되는 메시지의 전부 또는 일부가 공격자에 의해 삭제 된다.
- 재생 공격 : 공격자가 이전에 특정 송신자와 수신자간에 행해졌던 통화내용을 도청하여 보관하고 있다가 나중에 재생하여 전송하는 공격 한다.
안정성 개념
- 주어진 암호 시스템의 안전성을 말할 때는 두 가지 관점이 있느데 첫 번째는 암호 시스템을 공격하기 위해 필요한 계산량이 매우 커 현실적으로 공격할 수 없는 경우 를 계산적으로 안전하다고 말한다. 둘째는 무한한 계산능력이 있어도 공격할 수 없는 경우를 무조건적으로 안전하다고 말한다. 암호 알고리즘 사용자가 해야 할 일은 다음 두 기준 중의 하나 또는 전부를 만족하는 알고리즘을 개발하는 것이다.
- 암호 해독 비용이 암호화된 정보의 가치 초과
- 암호 해독 시간이 정보의 유효 기간 초과
암호 공격 방식
- 암호문 단독 공격(Ciphertext only attack) : 암호 해독자는 단지 암호문 C만을 갖고 이로부터 평문 P이나 키 K를 찾아내는 방법으로 평문 P의 통계적 성질, 문장의 특성 등을 추정하여 해독하는 방법 이다.
- 기지 평문 공격 (Known plaintext attack) : 암호 해독자는 일정량의 평문 P에 대응하는 암호문 C를 알고 있는 상태에서 해독하는 방법으로 암호문 C와 평문 P의 관계로부터 키 K나 평문 P를 추정하여 해하는 방법 이다.
- 선택 평문 공격 (Chosen plaintext attack) : 암호 해독자가 사용된 암호기에 접근할 수 있어 평문 P를 선택하여 그 평문 P 에 해당하는 암호문 C를 얻어 키 K나 평문 P를 추정하여 암호를 해독하는 방법 이다.
- 선택 암호문 공격 (Chosen ciphertext attack) : 암호 해독자가 암호 복호기에 접근할 수 있어 암호문 C에 대한 평문 P를 얻어 내 암호를 해독하는 방법 이다.
종류
- 기지평문 공격(Known Plaintext Attack, KPA)
- 기지평문 공격은 공격자가 평문과 평문을 암호화한 암호문을 모두 알고 있을 때 사용할 수 있는 암호해독 기법으로 이미 알고 있는 평문과 암호문을 바탕으로 비밀 키를 알아내기 위해 사용 하며, '기지'(旣知)란 "이미 알고 있다"는 뜻으로서, 기지평문공격은 알려진 평문 공격이라 하고, 암호학에서 기지평문공격은 공격자가 평문과 그를 암호화한 암호문을 모두 알고 있을 때 사용할 수 있는 암호 해독 기법들을 말한다. 이미 알고 있는 평문을 크립(crib)이라고 부르는데, 크립이라는 용어는 제2차 세계 대전 당시 암호 해독실인 블레츨리 파크에서 유래했다.[2]암호해독가가 암호를 해독하기 위해 의미 없어보이는 암호문만 보아서는 많은 정보를 얻기 힘들지만 암호문 안에 이미 알고 있는 평문이 포함되어 있다면, 그 사실이 암호문과 평문 사이의 관계를 추정하기 위한 단서가 될 수 있다. AES 등의 현대 암호체계는 기지평문공격의 영향을 받지 않는 것으로 알려졌지만 예전 버전의 ZIP 파일 포맷에 사용되는 PKZIP 스트림 암호화 알고리즘은 기지평문공격에 취약하다. 이 알고리즘으로 암호화된 압축 파일은 압축 파일 안에 들어있는 파일의 일부라도 알아낼 수 있으면 전체 압축 파일을 해독 할 수 있으며, 특징으론 대칭키를 통해 이루어진 통신 채널을 공격하기 위해 주로 사용 하고, 최종 목표는 복호키를 찾는 것이다.
- 선택암호문 공격(Chosen Ciphertext Attack, CCA)
- 선택암호문 공격은 암호 분석가가 임의로 선택된 암호문과 일치하는 평문으로부터 암호키를 알아내기 위해 시도하는 공격이다. 공개키 암호 방식에서 응용되는 것으로 사설 키가 한번 알려지면 같은 종류의 메시지에서는 모두 복호화 하고, 다른 많은 보안 체계는 선택암호문공격에 의해 무효화될 수 있으며, 다른 공격과 마찬가지로 적응형 또는 미적응형일 수 있다. 적응형 선택암호문공격에서 공격자는 이전 암호해독의 결과를 사용하여 암호문을 선택할 수 있는 정보를 제공할 수 있고, 미적응형 선택암호문공격에서 공격자는 결과를 보지 않고 해독할 암호문을 선택할 수 있다. 공격자는 평문을 본 후, 추가 암호문 해독이 불가능 하다. 특징으로 선택평문공격보다 강력 하고, 모든 공격은 키 값을 알아내는 것이 목적 암호분석가가 복호화 장치에 접근 가능한 상황에 사용이 가능하며, 선택한 암호문에 해당하는 평문을 얻을 수 있고, 다른 관측된 암호문에 해당하는 평문 도출이 가능하다.선택 암호문 공격은 암호 해독 능력을 갖춘 사용자 컴퓨터가 사용자가 점심을 먹으러 나가는 동안 공격자가 사용할 수 있는 런치타임 공격 과 적응형 선택암호문공격은 공격 암호 문자 자체가 질의되지 않을 수 있다는 규정만을 가지고, 공격 암호 문자를 공격자에게 주기 전, 후에 적응형으로 선택할 수 있는 공격 인 적응형 선택암호문공격 이 있다.
- 선택평문 공격(Chosen Plaintext Attack, CPA)
- 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격이다. 공격자가 한꺼번에 선택한 평문들에 대한 암호문이 주어진다는 가정 하에 복호화 키를 찾는 공격으로 공격자가 암호장치에 얼마든지 접근할 수 있어서 선택된 평문을 입력하고 그에 대한 암호문을 얻을 수 있는 상황에서 복호화 키를 찾아내거나 선택된 암호문에 대한 평문을 찾아내고자 한다. 암호 알고리즘이 하드웨어로 구현되어 있고 키는 내부에 내장된 암호장치를 공격자가 가지고 있다고 가정해보면 공격자는 원하는 만큼 선택한 평문을 입력시켜보고 그에 대한 암호문을 얻을 수 있다. 공개키 암호 알고리즘의 경우 공개키가 알려져 있으므로 공격자는 선택한 어떤 평문도 암호화하여 암호문을 얻을 수 있다. 이런 평문/암호문 쌍에 대한 지식을 기반으로 공격자는 좀 더 유리한 환경에서 암호 시스템을 공격할 수 있다. 선택평문 공격은 선택 암호문 공격은 주로 공개키 암호알고리즘의 안전성 분석할 때 사용 되는 적응적 선택 평문 공격 과 선택 평문 공격에서 사용할 수 있는 공격 기법인 차분 공격(Differential Cryptanalysis) 이 있다.
- 암호문 단독공격(Ciphertext Only Attack, COA)
- 암호문 단독 공격이란 도청자가 알고리즘을 알고 있고, 암호문을 가로챌 수 있다는 가정하에 도청자가 어떤 암호문을 얻어서 대응되는 평문과 키를 찾는 공격을 말한다. 도청자는 암호문을 가지고 통계적 성질, 문장의 특성 등을 추정하여 해독하기 때문에, 가장 쉽게 적용될 수 있는 공격으로 예를 들자면, 영어로 된 평문을 암호화시킨 암호문을 암호문 단독 공격으로 얻어냈을 때 영어에서 가장 많이 쓰이는 글자가 e이기 때문에 가장 많이 나오는 글자는 e일 것이라고 예측을 하는 것이다. 공격자가 가장 적은 정보를 가지고 공격하는 것을 암호문 단독 공격이라 한다. 이 공격에서 공격자는 같은 암호키를 사용하여 같은 알고리즘으로 암호화된 유한 암호문 집합만을 가지고 있다. 따라서 공격자의 목표는 대응되는 평문을 찾거나 사용된 암호키를 찾거나 암호 키를 찾지 못하였지만, 암호키 없이 암호문을 복호화할 수 있는 새로운 알고리즘을 발견하는 것이다. 기지 평문 공격에서 공격자는 암호문뿐만 아니라 대응되는 평문도 가지고 있다. 하지만 가지고 있는 암호문/평문 쌍을 공격자가 선택할 수 없다. 이 공격에서 공격자의 목표는 사용된 암호키를 찾거나 암호키를 찾지 못하였지만, 암호키 없이 암호문을 복호화할 수 있는 새로운 알고리즘을 발견하는 것이다. 암호문 단독공격의 특징으로는 통계적 성질을 이용해서 영어 문장에서 출현 빈도가 높은 순서대로 [e, t, a, o, i..]이고, 이러한 부분이 확률이기 때문에 정확하지 않으므로 빈도수가 비슷할 경우 바꿔서도 공격 코드를 작성해 보아야 하며, 이 공격은 암호문이 길수록 유리하다.
예제
각주
참고자료
- 한국정보통신 기술협회 공식 홈페이지 - http://www.tta.or.kr
- Han Lab, 〈정보보호개론 - 암호학 기초〉,《티스토리》, 2017-11-30
- nom2ne, 〈암호 공격 기법〉,《티스토리》, 2007-07-03
같이 보기