본문 바로가기

정보보안기사/암호학

암호학 개요



암호학(Cryptology)이란?

: 암호기술과, 암호해독을 연구하는 학문


암호기술(Crtpography) : 평문을 원치않는 타인이 확인 할 수 없도록 암호문으로 만들고 특정한 비밀키(암호 해독의 열쇠)를 알고있는 사람만이 다시 평문으로 복원 시킬 수 있도록 하는 기술

암호해독(Crypanalysis): 암호기술을 제 3자가 해독하는 방법을 분석하는 행위인 에 관한 연구를 하는 학문이다.


사용되는 이름과 역할 

앨리스 & 밥 : 전송과 수신자 - 정보를 보내는 사람이 송신자, 정보를 받는사람이 수신자, 정보의 내용이 메세지라 한다.

이브 : 도청자 - 반드시 사람만이 아닌 도청용 기계일수도 있고 프로그램일 수 도있다.

맬로리 : 공격자 - 메세지를 수정해서 수신자에게 보낼수 있다. (내용을 변조한다는것이 도청자와 차이)

트렌트 : 중재자

빅터 : 검증자



암호화와 복호화


암호화 : 원래의 내용을 원치않는 타인이 확인 할 수 없게 암호기법을 적용한것. 

원래의 내용을 평문(plaintext) 암호화 후의 메세지를 암호문(ciphertext)라고 한다.

→ 기밀성 유지

복호화 : 암호문을 비밀키를 사용하여 평문으로 되돌리는것을 복호화라 한다. 


암호화와 복호화의 표현


평문

M or P 

암호문 

암호 알고리즘 

복호화 알고리즘 

키 


 평문을 키로 암호화하여 암호문을 얻는다. 

암호문을 키로 복호화하여 평문을 얻는다.




암호알고리즘과 키의 분리 


암호알고리즘은 키를 넣어 처리함으로서 암호화와 복호화를 한다.

암호알고리즘은 변화가 없다는것이다. 키만이 각자 다른 값을 가지고 다른 암호문을 생성할 수 있게끔 해준다.

이런 암호알고리즘과 키의 분리는 암호알고리즘을 바꾸지않고 다른 암호문을 만들 수 있도록 하기 위함이다.


암호와 보안상식


1) 비밀 암호 알고리즘을 사용 하지 말것. 

: 키를 사용하지 않고 암호 알고리즘 자체를 비밀로하는것은 위험하다. 


암호 알고리즘을 비밀로하면 그 알고리즘의 구조가 공략이 되버리면 더이상 방법이 없다.

알고리즘이 공개되 있고 공개되어 있음에도 불구하고 키값의 비밀성이 보장되면 안전한 알고리즘을 사용해야 한다.


2) 약한 암호는 암호화 하지 않는것보다 위험하다.

: 암호화 되있기 때문에 기밀성이 높은 정보를 약한암호로 소홀히 취급할 가능성이 있기 때문


3) 어떤 암호라도 언젠가는 해독된다.

: 어떤 알고리즘을 사용해 암호문을 만들더라도 모든 키를 하나도 빠짐없이 시도하면 언젠가는 반드시 해독된다.

암호문이 해독되기 까지 들어가는 시간과 평문의 가치와의 밸런스가 중요함. 

싸구려 가치를 지닌 평문을 오랜시간과 노력을 들여 해독할 필요가없기때문에 비싼 암호화를 하지 않아도된다.


4) 암호는 보안의 아주 작은부분이다.

: 보안으로 보호되는 영역의 밖에서 이루어지는 공격이 더 많다. 

피싱, 트로이목마, 키로거 등 사회공학공격이 많이 이루어지고 있다.

한 시스템의 전체강도는 가장 약한 부분과 같다. 때문에 골고루 견고해야할 필요가 있다.

(가장 약한 링크는 암호가 아니라 사람이다.)


- 피싱 : 불특정 다수에게 메일을 발송해 위장된 홈페이지로 접속하도록 한뒤 인터넷 이용자들의 금융정보등을 빼내는 신종사기 수법

- 트로이목마 : 정상적인 기능을 하는 프로그램으로 가장해 다른 프로그램 안에 숨어 있다가 프로그램이 실행될 때 자신을 활성화 하는 악성 프로그램

- 키로거 공격 : 컴퓨터 사용자의 키보드 움직임을 탐지해 ID나 패스워드 , 계좌정보등을 알아내는 공격


암호기법의 분류 


1) 치환 암호와 전치암호 

1)-1 치환 암호(Subsitution Cipher)

: 비트, 문자, 문자의 블록을 다른 값으로 대체하는방법 , 즉 평문의 문자를 다른 문자로 교환하는 규칙


1)-2 전치 암호(Trasposition Cipher)

: 원문을 재배열하는 방법, 원문 안에서 자리를 바꾸는 규칙이다. 


2017/03/27 - [NCS보안/정보보호개론] - 170327 고전 암호 기법


2) 블록 암호와 스트림 암호 

2)-1 블록암호 (Block Cipher)

: 어느 특정 비트 수의 집합(Block)을 한 번에 처리하는 암호알고리즘, 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘을 적용하여 암호화한다. 일반적으로 블록의 크기는 8bit(ASCII) 또는 16bit(Unicode)에 비례

스트림 암호화는 다르게 Round 사용, 반복적으로 암호화 과정을 수행해서 암호화 강도를 높인다.


2)-2 스트림암호(Stream Cipher)

: 1바이트 혹은 1비트의 데이터흐름을 순차적으로 처리함. 평문과 키를 가지고 XOR 하여 생성한다.

블록암호는 내부처리상태를 알고있어야 할 필요가 없지만 스트림암호는 순차적으로 진행되야 하기 때문에 내부상태를 가지고있다.

이동통신 환경에서 구현 용이, 무선데이터 보호에 적합.


구분 

스트림 암호 

블록 암호 

장점 

 암호화 속도가 빠름, 에러 전파현상 없음

높은 확산, 기밀성, 해시함수 등 다양 

단점 

낮은 확산 

느린 암호화, 에러 전달 

사례 

LFSR, MUX generator 

DES, IDEA, SEED, RC5, AES 

암호화 단위 

비트 

블록 

주요 대상 

음성, 오디오/비디오 스트리밍 

일반 데이터 전송, 스토리지 저장 


3) 위치에 따른 암호화의 구분

3)-1 링크 암호화(Link Encryption)

: 양쪽 끝단에 암호화 장치를 구비해놓는것으로 내부 링크상의 모든 트래픽의 안전성 확보. 높은 수준의 보안 제공 

반복되는 복호화가 문제, 프레임스위치가 헤더에있는 주소를 읽기위해서 복호화를 반복함.

물리계층과 데이터링크 계층에서 암호화


3)-2 종단간 암호화(End to End Encryption)

: 출발지 호스트 , 터미널 에서 암호화 → 목적이 호스트, 터미널에서 복호화

네트워크 링크나 스위치에 대한 공격에 대응하여 전송을 안전하게 하기 위함이나 여전히 약한부분이 있다.

애플리케이션 계층에서 암호화.


구분

링크 암호화

종단간 암호화

특징

 ISP나 통신업자가 암호화

헤터를 포함한 모든 데이터 암호화

유저가 알고리즘 통제 불가


사용자가 암호화

헤더는 암호화 되지 않음

알고리즘에 대한 통제는 사용자가 함


장점

 

운영이 간단

트래픽 분석을 어렵게 함 

온라인으로 암호화


사용자 인증 등 높은 수준의 보안 서비스를 제공 가능

중간 노드에서도 데이터가 암호문으로 존재

단점


중간 노드에서 데이터가 평문으로 노출

다양한 보안서비스를 제공하는데 한계

모든 노드가 암호화 장비를 갖추어야하므로 비용증대 


트래픽 분석이 취약

오프라인으로 암호화 


4) 하드웨어와 소프트웨어 암호 시스템 

4)-1 하드웨어 암호 시스템

: 컴퓨터와 통신기기의 내부 버스와 외부 인터페이스에 '전용 암호처리용 하드웨어'를 설치하여 데이터를 암호화

전용 하드웨어로 암호화 하기때문에 컴퓨터 CPU에 부담을 주지 않고 빠른속도로 암호화가 가능하며 보안성 확보에 바람직 하다.


4)-2 소프트웨어 암호 시스템

: 소프트웨어를 사용한 암호화

비용이 저렴하고 허용범위 내에서 적당한 안정성과 처리속도를 얻는것이 가능하다면 효과적

최근에는 개인 PC의 성능 향상으로 소프트웨어 암호화가 주류


<보안 위협과 특성>


도청 - 기밀성

메세지변경 - 무결성

위장 - 인증

부인 - 부인방지 


<보안 기술과 특성>


대칭키 암호화 - 기밀성, 무결성, 인증

일방향 해시함수 - 무결성

메세지 인증코드 - 무결성, 인증

디지털 서명 - 무결성, 인증, 부인방지 



기타 암호 기술


1) 스테가노그래피(Steganograph)

: 감추어진 기록을 의미 , 다른 무언가로 감추어 메세지를 은폐하는것. 


전달하려는 기밀을 이미지 파일이나 mp3 파일등에 암호화해 숨기는 심층 암호기술.


2) 워터마크(Water Mark)

: 물에 젖은 상태에서 특정 그림을 인쇄하고 말린후 불빛은 비춰서 확인하는 위조지폐를 구분하던 기술에서 유래.

원본의 내용을 왜곡하지 않는 범위 내에서 사용자가 인식하지 못하도록 저작권 정보를 컨텐츠에 삽입하는 기술.


투명 워터마킹 : 투명한거 , 미디어에 내제되어있음

가시 워터마킹 : 가시적인거(보임), 문서에 일급비밀이라고 도장찍은거(이거도 워터마크)

강한 워터마킹 : 강한거 , 공격을 받아도 쉽게 파괴되거나 손상을 입지 않음

약한 워터마킹 : 약한거 , 공격을 받으면 쉽게 파괴되거나 손상을 입음.


3) 핑거 프린팅 (Finger Printing)

: 디지털 컨텐츠 구매시 , 구매자의 정보를 삽입하여 불법 배포 발견시 최초의 배포자를 추적


판매되는 컨텐츠마다 구매자의 정보가 들어가므로 불법적 행위시 추적이가능하고 법적 조치 가능


 항목

스테가노그래피 

워터마크 

핑거프린트 

은닉정보 

메시지 

판매자 정보 

구매자 추적정보 

 관심

은닉메세지 검출 

저작권 표시 

구매자 추적 

트래킹 

불가 

가능 

가능 

불법예방 효과 

 

 

 

저작권증명 효과

 

 

 

공격 강인성 

상대적 약함 

상대적 강함 

공모공격에 강함 


디지털 저작권 관리( DRM , digital right management ) 

 : 디지털 미디어의 불법 또는 비인가된 사용을 제한, 저작권 소유자나 판권 소유자가 이용하는 정보보호 기술의 일종인 접근제어기술


창조적인 미디어에 일반적으로 적용되며 미디어의 생명주기 동안 발생하는 사용 권한관리, 과금, 유통단계를 관리하는 기술.

인터넷을 통해 유통되는 디지털 미디어의 불법 유통과 복제를 방지하고 적법한 사용자의 미디어 사용을 보장하기 위한것.

저작권 보호기술에는 암호기술, 키관리 기술, 워터마킹 등 다양한 정보보호 기술이 활용됨. 



암호분석 (해독)


암호해독의 정의 : 암호방식의 정규 참여자가 아닌 제 3자가 암호문으로부터 평문을 얻으려는시도, '공격' 이라고도 함.

해독자 (침해자, 제3자) : 암호해독에 참여하는 사람


암호분석은 보통 악의적으로 행해지며 이득을 취하기 위한 집단이 할것으로 예상하지만 현재에는 학계에 명망있는 학자들이 해독을 시도하여 과연 이 암호가 정말 안전한가의 분석을 한다.


암호해독은 케르히호프의원리에의해  그 알고리즘이 이미 널리 알려져 있다는 것을 가정하에 시도한다. 

* 케르히 호프의 원리 : 암호 시스템의 안전성은 암호 알고리즘을 숨기는데 있어서는 안되고 키의 비밀을 지키는데 의존되어야 한다. 



암호분석의 분류 

- 암호문 단독 공격 (COA, Ciphertext Only Attack) : 공격자가 암호문만들 필요로 하는 공격, 통계적 성질 및 문장의 특성을 이용한 공격

- 기지 평문 공격 (KPA, Known Plaintext Attack) : 암호문에 대응하는 일부 평문이 사용 가능한 상황에서의 공격

- 선택 평문 공격 (CPA, Chosen Plaintext Attack) : 암호문, 평문을 공격자가 선택할 수있는 공격. 대상의 pc에 직접 전송자의 pc에 침투했을 경우

- 선택 암호문 공격(CCA, Chosen Ciphertext Attack) : 암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황에서의 공격. 수신자의 pc에 침투했을 경우 


* 암호문 단독공격 < 기지 평문공격 < 선택평문공격 의 순으로 강력함 .

* 고무호스 암호분석 (Rubber-hose Cryptanalysis) : 암호의 키를 얻을때 까지 공갈,협박,고문하여 키를 획득하는 방법, 가장 강력한방법.



암호 알고리즘의 안전성 평가 


안전성 개념 

: 안전성은 두가지 관점에서 말한다. 

- 계산적 안전 : 암호시스템을 공격하기위해 필요한 계산량이 너무 커 공격하는게 손해일 경우

- 무조건적 안전 : 무한한 계산능력이 있어도 공격할 수 없는경우.