본문 바로가기

SIS

02. [정보보안기사/산업기사] 암호학 요약

암호화와 복호화


암호화 : 평문을 가지고 암호 알고리즘, 키 등을 통해 암호문을 만들어냄

복호화 : 암호문을 가지고 복호 알고리즘, 키 등을 통해 평문을 만들어냄


블록 암호


장점 : 높은 확산, 기밀성, 해시함수

단점 : 느린 암호화, 에러 전달

종류 : DES, IDEA, SEED, RC5, AES

단위 : 블록

대상 : 일반 데이터 전송, 스토리지


스트림 암호


장점 : 암호화 속도 빠름, 에러 전파 없음

단점 : 낮은 확산

종류 : LFSR, MUX generator

단위 : 비트

대상 : 음성, 오디오/비디오 스트리밍


링크 암호화


특징 : ISP나 통신업자가 암호화, 헤더를 포함한 모든 데이터 암호화, 유저가 알고리즘 통제 불가

장점 : User-transparent(투명)하게 암호화되므로 운영 간단, 트래픽분석 어려움, 온라인 암호화

단점 : 중간 노드에서 데이터 평문 노출, 다양한 보안서비스 제공 한계, 모든 노드가 암호화 장비 갖춰야함(비용 과다)


종단간 암호화


특징 : 사용자가 암호화, 헤더는 암호화하지 않음, 알고리즘에 대한 통제는 사용자가 함

장점 : 사용자 인증 등 높은 수준의 보안 서비스, 중간노드에서도 데이터가 암호문

단점 : 트래픽분석 취약, 오프라인 암호화


스테가노, 워터마크, 핑거프린트


스테가노 : 메시지 은닉, 불법 예방 X, 저작권 증명 X

워터마크 : 판매자 정보, 저작권 표시, 불법 예방 O, 저작권 증명 O

핑거프린트 : 구매자 정보 추적, 불법 예방 O, 저작권 증명 O


암호분석 종류


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

기지 평문 공격(KPA, Known Plaintext Attack) : 암호문 C와 평문 P의 관계로부터 키 K나 평문 P를 추정하여 해독(암호문에 대응하는 일부 평문이 사용가능한 상태에서 공격)

선택 평문 공격(CPA, Chosen Plaintext Attack) : 암호기에 접근할 수 있어 평문 P를 선택하여 그 평문 P에 해당하는 암호문 C를 얻어 키 K나 평문 P를 추정하여 암호를 해독(평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서 공격)

선택 암호문 공격(CCA, Chosen Ciphertext Attack) : 암호 복호기에 접근할 수 있어 암호문 C에 대한 평문 P를 얻어내 암호를 해독(암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황에서 공격)


암호기술 평가


응용 시스템(Application System) > 정보보호 제품(Security Product) > 암호 모듈(Crypto Module) >  암호 알고리즘(Crypto Algorithm)


현대 스트림 암호


동기식 : 키 스트림은 평문 혹은 암호문 스트림과 독립(예시 : OTP, FSR, LFSR, NLFSR)

비동기식 : 키 스트림의 각 비트는 이전의 평문이나 암호문에 종속적(예시 : CFB)


대칭키 암호 알고리즘 비교


구분 

DES 

Triple DES 

AES 

평문 블록 크기 

64 

64 

128 

암호문 블록 크기 

64 

64 

128 

키 크기 

56 

112,168 

128,192,256 


DES 와 AES


DES의 암호화 프리미티브 : 치환, 순열

AES의 암호화 프리미티브 : 치환, 시프트, 비트 혼합


DES의 설계 원칙 : 비공개

AES의 설계 원칙 : 공개


DES의 출처 : IBM, NSA

AES의 출처 : 벨기에 암호학자


블록 암호모드


ECB(전자 부호표 모드, Electirc CodeBook)

장점 : 간단, 고속, 병렬 처리 기능

단점 : 평문 속 반복이 암호문에 반영, 암호문 블록의 삭제나 교체에 의한 평문 조작, 비트 단위 에러 암호문을 복호화하면 대응하는블록 에러 발생, 재전송 공격 가능


CBC(암호 블록 연쇄 모드, Cipher Block Chaining)

장점 : 평문의 반복 암호문에 반영 X, 병렬 처리 기능(복호화), 임의의 암호문 블록 복호화

단점 : 암호화 블록 C에서 전송 도중 한 비트 오류가 발생하면 평문 블록의 대부분에 비트에서 오류 발생, 평문 블록에서는 C의 오류비트와 같은 위치에서 한 비트 오류 발생, 암호화에서 병렬 처리 불가


CFB(암호 피드백 모드, Cipher FeedBack)

장점 : 패딩 X, 병렬 처리 기능(복호화), 임의의 암호문 블록 복호화

단점 : 암호화에서 병렬 처리 불가, 암호문 블록 C에서 전송 도중 한 비트오류가 발생하면 평문 블록에는 C의 오류 비트와 같은 위치에서 한 비트 오류 발생, C의 비트는 시프트 레지스터에 오류가 존재하는 한 다음 평문 블록 대부분의 비트에 오류가 발생, 재전송 공격 가능


OFB(출력 피드백 모드, Output FeedBack)

장점 : 패딩 X, 암/복호화 사전 준비 기능, 암/복호화 같은 구조, 비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러

단점 : 병렬 처리 불가, 적극적 공격자가 암호문 블록 비트 반전시키면 대응하는 평문 블록 비트 반전


CTR(카운터 모드, CounTeR)

장점 : 패딩 X, 암/복호화 사전 준비 기능, 암/복호화 같은 구조, 비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러, 병렬 처리 기능(암/복호화 양쪽)

단점 : 적극적 공격자가 암호문 블록의 비트를 반전시키면 대응하는 평문 블록 비트 반전


ECC, RSA 방식 비교


ECC

기반구조 : WPKI(무선)

속도 : 우수

키 크기 : 상대적 작음

적용 : 소형 Mobile


RSA

기반구조 : PKI(유선)

속도 : 느림

키 크기 : ECC에 비해 큼

적용 : 인프라가 다소 구현된 환경


대칭키 방식


키의 상호관계 : 암호화키와 복호화키 동일

안전한 키길이 : 128비트 이상

암호화키 : 비밀

복호화키 : 비밀

비밀키 전송 : 필요

키 개수 : N(N-1)/2

암호화 속도 : 고속

경제성 : 높다

제공 서비스 : 기밀성

목적 : 데이터 암호화

전자서명 : 복잡

단점 : 키교환 원리가 없다

해당 알고리즘 : DES, 3DES, AES, IDEA


비대칭키(공개키) 방식


키의 상호관계 : 암호화키와 복호화키 동일하지 않음

안전한 키길이 : 2048비트 이상

암호화키 : 공개

복호화키 : 비밀

비밀키 전송 : 불필요

키 개수 : 2N

암호화 속도 : 저속

경제성 : 낮다

제공 서비스 : 기밀성, 부인방지, 인증

목적 : 대칭키 교환

전자서명 : 간단

단점 : 중간자 공격에 취약

해당 알고리즘 : RSA, ECC, DSA


하이브리드 암호시스템


대칭키를 기반으로, 공개키를 통해 키 배송 문제를 해결한 암호시스템


해시 함수


기본 성질


프리이미지 저항성(역상 저항성) : 주어진 임의의 출력값 y에 대해, y=h(x)를 만족하는 입력값 x를 찾는 것이 계산적으로 불가능

제2프리이미지 저항성(두 번째 역상 저항성) : 주어진 입력값 x에 대해 h(x)=h(x'), x != x'을 만족하는 다른 입력값 x'을 찾는 것이 계산적으로 불가능

충돌 저항성 : h(x)=h(x')을 만족하는 임의의 두 입력값 x,x'을 찾는 것이 계산적으로 불가능


SHA 해시 알고리즘 비교


SHA-1

MD 길이 : 160

최대 메시지 길이 : 2^64 -1

블록 길이 : 512

워드 길이 : 32

단계 수 : 80


SHA-224

MD 길이 : 224

최대 메시지 길이 : 2^64-1

블록 길이 : 512

워드 길이 : 32

단계 수 : 64


SHA-256

MD 길이 : 256

최대 메시지 길이 : 2^64-1

블록 길이 : 512

워드 길이 : 32

단계 수 : 80


SHA-384

MD 길이 : 384

최대 메시지 길이 : 2^128-1

블록 길이 : 1024

워드 길이 : 64

단계 수 : 80


SHA-512

MD 길이 : 512

최대 메시지 길이 : 2^128-1

블록 길이 : 1024

워드 길이 : 64

단계 수 : 80


MD5, SHA-1, RIPEMD-160 비교


MD5

다이제스트 길이 : 128

처리 단위 : 512

단계수 : 64(16번 4라운드)

최대 메시지 크기 : 무한

엔디언 : 리틀 엔디언


SHA-1

다이제스트 길이 : 160

처리 단위 : 512

단계수 : 80(20번 4라운드)

최대 메시지 크기 : 2^64-1

엔디언 : 빅 엔디언


RIPEMD-160

다이제스트 길이 : 160

처리 단위 : 512

단계수 : 160(16번 5병행 라운드)

최대 메시지 크기 : 2^64-1

엔디언 : 리틀 엔디언


공개키 암호와 디지털서명 키 사용방법


 구분

개인키

공개키

공개키 암호

수신자가 복호화에 사용

송신자들이 암호화에 사용

전자서명

서명자가 서명 작성에 사용

검증자들이 서명 검증에 사용

키는 누가 갖는가?

개인이 갖는다.

필요한 사람은 아무나 가지고 있는다.


전자서명 주요 기능


위조 불가(Unforgeable) : 합법적인 서명자만이 전자서명을 생성 가능

서명자 인증(User authentication) : 전자서명의 서명자를 불특정 다수가 검증

부인 방지(Non-repudiation) : 서명자는 서명행위 이후에 서명한 사실 부인 불가

변경 불가(Unalterable) : 서명한 문서의 내용 변경할 수 없음

재사용 불가(Not reusable) :  전자문서의 서명을 다른 전자문서의 서명으로 사용 불가


전자투표 방식별 주요 특징


PSEV 방식

투표소와 개표소를 공공망 연결, 네트워크 외부침입 간으성 있지만 공공망 특성상 통제 수월

키오스크 방식

많은 사람이 모이는 공공장소에 투표기 설치. 투표소에 선거 관리자 없고 기기에 전자 인증 장치 설치해 관리 부분 해결

REV 방식

기술적 위험 높고 관리인 없이 자유롭게 투표 비밀투표 침해가능성 있음.