검수요청.png검수요청.png

암호공격

위키원
ghdrn221 (토론 | 기여)님의 2019년 8월 1일 (목) 15:40 판
이동: 둘러보기, 검색
암호공격(cryptogram attack)

암호공격(cryptogram attack) 은 정보를 다른 사람이 알지 못하도록 변환한 부호를 암호화 해서 공격한다. 암호 공격으로 대표적인 기지 평문 공격(KPA), 선택암호문 공격(CCA), 선택 평문 공격(CPA), 암호문 단독 공격(COA) 등이 있으며, 능동적 공격과 수동적 공격으로 분류되어 나누어서 진다.

개요

암호공격은 크게 2가지 분류로 나누는데 첫 번째로 의도적으로 내용을 조작하는 능동적 공격으로 메시지의 순서를 바꾸거나 메시지에 일부분을 다른 메시지로 대체하는 메시지 변조를 하거나, 불법적 침입자가 정당한 송신자로 가장해 메시지를 보내는 삽입 공격을 하기도 하고, 서비스 거부 공격(DOS)인 삭제 공격이 있으며, 정보를 다른 사람이 알지 못하도록 변환한 부호를 암호화해서 공격한다. 암호공격으로 대표적인 기지 평문 공격(KPA), 선택암호문 공격(CCA), 선택 평문 공격(CPA), 암호문 단독 공격(COA) 등이 있다.

역사

컴퓨터의 발달과 함께 암호화는 아날로그 시대보다 훨씬 더 발전했다. 128bit 수학적 암호화는 고대 또는 중세 암호보다 훨씬 강력하며, 이제 많은 민감한 장치와 컴퓨터 시스템의 표준이 되었고, 보다 최근에는 암호 기술이 암호 화폐를 구현하는 데도 사용된다. 암호화폐 에는 해시 함수, 공개키 암호화 및 디지털 서명과 같은 몇 가지 고급 암호화 기술을 활용 하는데 기술은 주로블록체인에 저장된 데이터의 보안을 보장하고 거래를 인증하는 데 사용되며, 타원곡선 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)인 삭제 공격을 한다. 또는 송수신자간의 도청 내용을 재생하여 다시 전송하는 재생 공격 등이 있다. 두 번째로 암호문을 만드는 데 사용한 비밀키를 찾아내는 수동적 공격으로 전송되는 메시지를 도중에 가로채는 도청, 전송되는 메시지의 길이, 전달빈도 등을 관측해서 메시지의 특성을 파악하는 트래픽 분석과 예상할 수 있는 모든 키를 적용해 암호를 알아내는 암호문 공격이 있으며, 평문의 일부와 그에 대한 암호문을 알고 있을때 나머지 암호문에 해당하는 공격을 하는 알려진 평문 공격, 암호분석자가 평문의 일부를 선택하는 선택된 평문 공격, 암호문의 일부를 이용하여 평문을 만들어낸 다음 분석하여 키를 찾아내는 방법인 선택된 암호문 공격이 있다. 암호 공격 방식으로 암호 해독 자가 도청한 암호문으로부터 그에 해당하는 평문이나 비밀키를 도출하는 수동적 공격법이 있다.[2]

암호공격 기법

수동적 공격 기법 개념

  • 전송되는 파일을 도청(Sniffing) : 불법적인 공격자가 전송되는 메시지를 도중에 가로채어 그 내용을 외부로 노출시키는 공격, 메시지의 내용을 공격한다.
  • 트래픽 분석 : 전송 메시지의 암호화로 도청을 통한 메시지 내용 파악이 불가능하더라도 메시지의 송신 측과 수신 측 신원의 파악 가능하며, 메시지 존재에 대한 공격은 익명성 제공으로 방어한다.

능동적 공격 기법 개념

  • 메시지 변조 : 전송되는 메시지들의 순서를 바꾸거나 또는 메시지의 일부분을 다른 메시지로 대체하여 불법적인 효과를 발생시키는 공격
  • 삽입 공격 : 불법적인 공격자가 정당한 송신자로 가장하여 특정 수신자에게 메시지를 보내어 역시 불법적인 효과를 발생시키는 공격
  • 삭제 공격 : 정상적인 통신 시설의 사용, 관리를 방해하는 서비스 거부 공격, 특정 수신자에게 전송되는 메시지의 전부 또는 일부가 공격자에 의해 삭제된다.
  • 재생 공격 : 공격자가 이전에 특정 송신자와 수신 자간에 행해졌던 통화내용을 도청하여 보관하고 있다가 나중에 재생하여 전송하는 공격 한다.

안정성 개념

주어진 암호 시스템의 안전성을 말할 때는 두 가지 관점이 있는데 첫 번째는 암호 시스템을 공격하기 위해 필요한 계산량이 매우 커 현실적으로 공격할 수 없는 경우를 계산적으로 안전하다고 말한다. 둘째는 무한한 계산능력이 있어도 공격할 수 없는 경우를 무조건 안전하다고 말한다. 암호 알고리즘 사용자가 해야 할 일은 다음 두 기준 중의 하나 또는 전부를 만족하는 알고리즘 을 개발하는 것이다.
  1. 암호 해독 비용이 암호화된 정보의 가치 초과
  2. 암호 해독 시간이 정보의 유효 기간 초과

암호 공격 방식

  • 암호문 단독 공격(Cipher text only attack) : 암호 해독자는 단지 암호문 C만을 갖고 이로부터 평문 P나 키 K를 찾아내는 방법으로 평문 P의 통계적 성질, 문장의 특성 등을 추정하여 해독하는 방법이다.
  • 기지 평문 공격 (Known plain text attack) : 암호 해독자는 일정량의 평문 P에 대응하는 암호문 C를 알고 있는 상태에서 해독하는 방법으로 암호문 C와 평문 P의 관계로부터 키 K나 평문 P를 추정하여 해하는 방법이다.
  • 선택 평문 공격 (Chosen plain text attack) : 암호 해독 자가 사용된 암호기에 접근할 수 있어 평문 P를 선택하여 그 평문 P에 해당하는 암호문 C를 얻어 키 K나 평문 P를 추정하여 암호를 해독하는 방법이다.
  • 선택 암호문 공격 (Chosen cipher text attack) : 암호 해독 자가 암호 복호기에 접근할 수 있어 암호문 C에 대한 평문 P를 얻어 내 암호를 해독하는 방법이다.

고전 암호공격

단일치환 암호

단일치환 암호의 공격

단일치환 암호란 주어진 평문의 각 알파벳을 미리 정해진 알파벳에 일대일 대응 시켜 치환한다. 단일치환 암호로 일반적인 영어 문장을 암호화했을 경우 빈도 분석을 통해 복호화를 할 수 있고, 영어 문장에서는 각 알파벳의 빈도가 균등하지 않다. 주어진 암호문에 대해 각 알파벳의 빈도를 확인하면 각 알파벳이 어느 알파벳에 대응되는지를 짐작할 순 있으나 일반적인 영어 문장에서 E, A, T, O 순으로 가장 많이 등장한다고 해서 실제 평문에서도 반드시 E, A, T, O 순으로 가장 많이 등장하지 않기 때문에 키의 후보군을 줄여주는 역할을 수행할 수는 있지만, 빈도 분석으로 키를 정확하게 찾아내는 것은 불가능하다. 빈도 분석은 영어뿐만 아니라 프랑스어, 독일어, 스페인어 등의 다른 언어에서도 유용하게 사용하고 있다.[3]
베제네르 암호화,복호화

비제네르암호공격

비제네르암호는 1586년 프랑스의 외교관 블레즈 드 비제네르(Blaise de Vigen re)가 발표한 암호로서 비제네르암호는 길이가 정해져 있지 않은 영어 단어 혹은 문장을 키로 사용해 평문을 암호화하는 방법이다. 비제네르 암호의 공격들은 모두 키의 길이를 알아내기 위한 공격들이다. 옆에 사진은 평문 HACK THIS PLANET를 키 ENCRYPT로 암호화, 복호화하는 과정이다.[3]

Friedman Test

Friedman Test는 키의 길이를 올바르게 유추했을 경우 P[a], P[a+k], P[a+2k], … , P[a+nk]에서의 빈도가 일반적인 영어 문장에서의 빈도를 따르고, 그렇지 않을 경우 각 알파벳이 균등하게 \frac{1}{26} 의 확률로 등장한다는 점을 이용한 방식으로 일반적인 영어 문장에서 각 글자의 등장 비율을 pa, pb, … ,pz 라고 한다. 이는 일반적인 영어 문장에서 임의의 두 글자를 택했을 때 그 두 글자가 같을 확률은 p^{2}_{a}+p^{2}_{b}+\cdots+p^{2}_{z}=0.067 로이 값을 Index of Coincidence라고 부른다. 암호화되어 의미 없는 문장에서는 각 글자의 등장 비율이 \frac{1}{26} 으로 동일하기 때문에 임의의 두 글자를 택했을 때 그 두 글자가 같을 확률은
\frac{1^2}{26}*26=\frac{1}{26}=0.0385
이므로, Index of Coincidence가 0.067에 가까울수록 올바른 키 값이라고 유추할 수 있다.[3]

Hill Climbing Method

Hill Climbing Method는 마치 언덕의 정상을 향해 올라가는 형태와 같이 현재의 상태에서 조금 더 평문에 가깝게 되도록 키를 조금씩 수정해 암호문을 복원하는 방법으로, 대부분의 고전 암호를 해결하는 데 쓰일 수 있는 게 간단하면서도 매우 강력한 공격 기법이며, 여러 군데 존재할 경우 Hill Climbing Method가 항상 global maximum을 찾는다는 보장을 할 수 없다는 단점이 있지만, 이는 초기 키의 상태를 랜덤하게 둔 채로 여러 차례 Hill Climbing을 시도함으로써 해결할 수 있는 문제이다.인용 오류: <ref> 태그를 닫는 </ref> 태그가 없습니다
  • 한 커피숍 고객이 자신의 노트북을 커피숍 와이파이망에 연결해' 카카오톡 계정으로 접속하기'를 시도하면, 카카오톡 계정의 개인정보는 와이파이망을 타고 프록시 서버를 거쳐 카카오 본사의 서버로 전송된다. 카카오는 로그인 고객이 입력한 개인정보 데이터를 수신해 타사에 전송해 로그인을 승인하고, 와이파이망은 인터넷을 연결해줄 뿐만 아니라 데이터를 보내는 중계기 역할을 한다. 와이파이(무선인터넷)를 사용해 카카오톡 계정으로 소셜네트워크 로그인할 경우 사용자의 ID과 비밀번호가 와이파이망의 프록시 서버에 노출되고 와이파이 서버 관리자라면 사람들이 와이파이망을 사용해 카카오톡으로 소셜네트워크 로그인을 할 때 손쉽게 개인 정보를 가로챈다. 문제는 고객이 입력한 ID과 비밀번호 등의 개인정보를 와이파이 관리자가 쉽게 가로챌 수 있다는 점 손쉽게 통신정보를 확인할 수 있어 보안상 취약하다는 점에서 대부분 인터넷 포털·앱은 개인정보 유출을 막기 위해서 사용자의 로그인 데이터를 암호화해 전송한다. 사용자가 보내는 ID과 비밀번호를 식별이 불가능한 문자로 전환해 자기 서버로 받으면, ID ‘ABC@korea.go.kr’, 비밀번호 ‘1234’인 사용자가 로그인한 정보를 데이터로 송신할 때는 ID ‘%3hik_23’ 비밀번호 ‘$jh&ad’라는 식으로 식별할 수 없도록 바꾼다.[4]


각주

  1. Binance Academy, 〈암호학의 역사〉,《BINANCE》, 2019-01-14
  2. nom2ne, 〈암호 공격 기법〉,《티스토리》, 2007-07-03
  3. 3.0 3.1 3.2 blisstoner, 〈고전 암호의 공격 기법〉,《삼성소프트웨어》, 2019-07-07
  4. 김유경 기자, 〈[카카오톡 보안에도 구멍이? 와이파이 환경에서 소셜 로그인 때 개인정보 줄줄]〉,《중앙일보》, 2018-04-05

참고자료

같이 보기


  검수요청.png검수요청.png 이 암호공격 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.