본문 바로가기

기타/공부하기

[정보보안기사] SECTION 02 암호학 개요

무제 문서

SECTION 02 암호학 개요

1. 암호학의 기본 개념

암호학(Cryptology)의 정의

약속된 당사자 또는 집단에서만 내용을 알 수 있도록 하는 것.

-예) A와 B간에 “안녕하세요?”라는 메시지를 전송할 때, “안녕하세요?”를 평문이라 하고, 이 평문을 A와 B외에 다른 사람들은 알 수 없도록 “2df823nlfsdfue” 이라고 암호문으로 변환하는 것

송신자(Sender) : 메시지를 보내는 사람

수신자(Receiver) : 메시지를 수신하는 사람

도청자(Eavesdropper) : 메시지를 변경없이 중간에서 보기만 하는 사람(전화 도청을 생각함)

맬로리(Mallory) : 메시지를 중간에 변경하는 사람. “안녕하세요” 라고 보냈는데 받은 사람은 “꺼져” 라고 받게 되는 경우

암호화와 복호화

암호화 : 평문(암호화 하기 전) “안녕하세요”를 암호문(암호화 후) “2df823nlfsdfue”으로 변경하는 것

복호화 : 암호문(복호화 하기 전) “2df823nlfsdfue”을 다시 평문(복호화 후) “안녕하세요”로 변경하는 것

키 : 암복호화를 할 때 사용되는 비밀의 값

암호와 기본 상식

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

암호 알고리즘은 공개되어 이미 안전성을 검증 받은 것을 상용해야 함

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

어떤 암호라도 언젠가는 해독 된다. (4자리 비밀번호는 0000~9999까지 넣으면 풀림- 시간문제)

암호는 보안의 아주 작은 부분

2. 암호기법의 분류

데이터 변경 방식에 따른 분류 암호화 단위에 따른 분류 위치에 따른 구분
치환암호와 전치 암호 블록암호와 스트림 암호 링크 암호화와 종단간(E2E) 암호화

치환암호(대치암호, Substitution Cipher)

교환하는 규칙 (예: A → H, B → C 로 변경), 일대일 대응이 아니여도 상관 없음.

전치 암호(Transposition Cipher)

자리를 바꾸는 규칙 (예: HELLO à LEHOL로 자리변경), 일대일 대응 규칙을 갖음

블록 암호(Block Cipher)

평문을 일정한 크기의 블록(집합)으로 잘라낸 후 암호 알고리즘을 적용한 것

-예) 평문 “hello my name is hanna”를 [hello my ][ name is][ hanna] 라는 블록으로 잘라내고 각 블록마다 암호화 [acqqc kd ][ imke vz][ amiim] 로 변경

스트림 암호(Stream Cipher)

한번에 1비트 혹은 1바이트씩 순차적으로 처리해가는 암호 알고리즘.

스트림 암호는 데이터의 흐름을 순차적으로 처기 하기 때문에 내부적으로 어다끼자 암호화 해는지 내부상태를 가지고 있어야 함.

동기식(synchronous) 스트림 암호 : 스트림 암호의 난수열을 암호화할 입력값과 독립적으로 생성하는 경우

비동기식(asynchronous), 자기 동기(self-synchronizing) 스트림 암호 : 입력값이 난수열 생성에 영향을 끼치는 경우

스트림 암호 블록 암호
장점 암호화 속도가 빠름,에러 전파 현상 적음 높은 확산, 기밀성, 해시함수 등 다양
단점 낮은 확산 느린 속도, 에러 전달
사례 LFSR, MUX Generator DES, IDEA, SEED, RC5, AES
주요대상 음성, 오디오 비디오 스트리밍 일반 데이터 전송, 스토리지 저장

링크 암호화(Link Encryption)

Hop 간에 암복호화 하는 것으로 링크 또는 물리적 계층에서 이뤄짐

데이터 전송 중간에 라우터가 패킷의 헤더부분을 해독한 후, 진행방향을 파악한 후 재 암호화 하여 전송

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

애플리케이션 계층에서 송신자가 암호화 하여 데이터를 전송하면 중간 노트에서는 이를 해독할 필요 없이 수신자에게 전달

3. 주요 암호기술에 대한 개괄

대칭키 암호화와 비대칭키 암호화 : Section 03과 Section 04에서 다룸

하이브리드 암호화 : Section 06(전자서명) 파트에서 다룰 듯

일방향 해시 함수 : Section 05에서…

메시지 인증 코드 : Section 05.03에서…

전자서명 : Section 06에서

의사난수(Random Number Generator) 생성기

-난수(정의된 범위 내에서 무작위로 추출된 수)를 생성하기 위한 역할

-의사난수, 유사난수(pseudo random number)는 난수를 흉내내기 위해 알고리즘으로 생성되는 값.

-유사난수는 알고리즘 상태에 의해 값이 정해지기 때문에 완벽한 난수성을 가질 수 없고 일정 주기에 패턴이 발생함.

-양자난수(Quantum Random Number Generator) 는 양자의 특성을 이용해 예측이 불가능하고 패턴이 없는 '순수 난수'

암호학자의 도구 상자

보안위협 위협 특성 방지하기 위한 암호 기술
대칭키 암호화 공개키 암호화 일방향 해시 메시지 인증코드 디지털 서명
도청 기밀성 O O
메시지 변경 무결성 O O O O O
위장 인증 O O O
부인 부인방지 O

4. 디지털 저작권 관리

스테가노그래피, 워터마크, 핑거프린팅

스테가노그래피 워터마크 핑거프린팅
개념 사진, 음악, 문서 등에 실제 메시지를 감추는 것 디지털 콘텐츠에 저작권 정보를 삽입 디지털 콘텐츠를 구매할 때 구매자 정보를 삽입
은닉정보 메시지 판매자(저작권) 정보 구매자 추적정보
관심 은닉메시지를 검출 저작권 표시
(내 콘텐츠 임을 증명)
구매자 추척
(불법 배포시 최초 유포자를 추적)
트래킹 불가 가능 가능
불법예방 효과
저작권증명 효과
공격 강인성 상대적 약함 상대적 강함 상대적 강함

디지털 저작권 관리(DRM, Digital Rights, Management)

목적 : 디지털 미디어의 불법 또는 비인가된 사용을 제한하기 위함

개념 : 디지털 미디어의 생명주기(창작, 추가적인 다른사람의 기여, 접근, 배포, 사용) 동안 발생하는 권한 관리, 과금, 유통 단계를 관리하는 기술

적용기술 : 불법 유통과 복제 방지, 허가된 사용자만 사용할 수 있도록 기술적 통제, 데이터 암호화과 키 관리 기술, 워터마킹, 인쇄물 제어 등이 활용

DRM 구성요소

-콘텐츠(Content) : 보호되어야할 정보의 단위

-메타데이터(Metadata) : 콘텐츠 생명주이 범위 내에서 관리되어야할 각종 데이터 구조 및 정보

작권자 정보, 미디어 정보, 유통 정보 등을 포함

-패키저(Packager) : DRM 콘텐츠를 메타데이터와 함께 배포 가능한 단위(Secure Container)로 패키징 하는 모듈로 메타데이터와 콘텐츠를 암호화하고 전자서명하는 모듈로 포함

-보안 컨테이너(Secure Container) : DRM의 보호 범위 안에서 유통되는 컨텐츠의 배포 단위

식별자, 암호화된 콘텐츠, 메타데이터, 전자서명 등의 정보로 구성

허가되지 않은 사용자로부터 콘텐츠를 보호하고, 위/변조 유협을 차단하는 역할

-DRM 제어기(DRM Controllor) : 배포된 콘텐츠를 사용하고자 하는 사용자의 PC나 Mobile 단말 등 플랫폼에서 라이선스에 명시된 범위 내에서 이용할 수 있도록 권한을 통제한다.

라이선스 관리

외부시스템과 메시지 통신관리

메타데이터 추출 및 해석

콘텐츠 복호화 및 랜더링 애플리케이션으로 복호화 데이터 바인딩

사용권한 및 조건에 따른 애플리케이션 기능 통제

-클리어링하우스(Clearing House) : 콘텐츠에 대한 권한을 배포하고 관리하며, 모든 사용자의 콘텐츠 사용 기록을 책임진다. 또한 콘텐츠 제공자와 배급자에게 수수료를 지불하는 거래를 취급하기도 함.

[출처 : http://slidesplayer.org/slide/11329681/]

5. 암호 분석(암호 해독)

암호 해독(Cryptanalysis) 개요

인가된 사용자가 아닌 제3자가 암호문으로부터 평문을 찾으려는 시도

암호 해독은 현재 사용되고 있는 암호 방식(알고리즘)이 무엇인지 알고 있다는 전제하에 암호해독을 시도 한 것으로 간주하며 이를 케르히호프의 원리(Kerckhoff’s principle)이라 한다.

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

암호문 단독 공격(COA, Ciphertext Only Attack)

공격자가 어떤 암호문을 얻어서 평문과 키를 찾는 것

통계적 성질, 문장의 특성 등을 추정하여 햬독하는 방법

예) 영어에서 가장많이 쓰는 스펠링을 “e”라고 할 때, 암호문에서 가장많이 나온 스펠링을을 평문 “e”로 변경하고, 이후 스펠링도 통계적으로 변경해서 대입해 보는 방법

기지(알려진) 평문 공격(KPA, Known Plaintext Attack)

공격자가 암호문가 추가로 일정량의 평문에 대한 암호문을 얻은 상태에서 공격하는 방법

예) 메시지의 처음은 항상 hello로 시작하고, 끝은 항상 Good bye로 끝난다는 사실과 이에 대한 암호문을 알았을 때, 이를 이용하여 빈도 분석, 역공학, 무차별 대입 등을 수행하여 전체를 분석하는 방법

2차 세계대전에서 독일의 암호를 이런식으로 풀었다고 함

선택 평문 공격(CPA, Chosen Plaintext Attack)

공격자가 암호기에 접근할 수 있어서 공격자가 원하는 평문을 선택하여 이에 대한 암호문을 얻는 공격

공격자가 선택해서 평문/암호문을 얻을 수 있다는 차이일 뿐 알려진 평문 공격과 유사함.

공격자가 암호화를 한 송신자의 PC에 접근 할 수 있다면 이 공격을 적용할 수 있다.

선택 암호문 공격(CCA, Chosen Ciphertext Attack)

공격자가 복호기에 접근할 수 있어서 공격자가 원하는 암호문을 선택하여 이제 대한 평문을 얻는 공격

접근하는 곳이 암호기에서 복호기로 변해서 생긴 차이일 뿐 선택 평문 공격과 유사

선택 평문 공격과 반대로 공격자는 암호문을 받은 수신자의 PC에 접근 할 수 있다면 이 공격 적용 가능

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

암호 알로리즘의 안전성 개념

암호시스템을 공격하기 위해 필요한 계산량이 매우 크거나 너무 오래 걸려서 현실적으로 공격할 수 없는 경우

암호의 강도는 알고리즘 구조의 복잡성과 비밀 값에 의해 증명됨

무한한 계산 능력이 있어도 공격할 수 없는 경우

암호기술 평가

암호 알고리즘(FIPS 197) < 암호모듈(FIPS 140-2) < 정보보호제품(Comment Criteria) < 웅용프로그램

암호 모듈 안전성 평가(CMVP)

1995년 7월 NIST와 캐나다 주정부(CSE)가 공동으로 개발한 암호 모듈 안전성 검증을 위한 프로그램

요구사항

-암호기술 구현의 적합성 평가

-암호키 운영 및 관리 평가

-물리적 보안