현대 블록 암호

:(이동, 교환, 분할, 조합), 전치 장치(Permutation, P-box), 치환 장치(Substitution, S-box), XOR연산의 조합으로 만들어진다.


S-box(혼돈,비선형 함수)

:입력비트와 출력비트의 개수가 같지 않아도 된다.

:역함수가 존재할 수 있고, 존재하지 않을 수도 있다.

:역함수가 존재하는 S-box는 입력 비트 == 출력 비트 개수가 동일


P-box(확산)

단순(Straight) P-box : 입력 비트와 출력비트는 일대일 대응, 역함수가 존재한다.

축소(Compression) P-box : 입력 비트 중 특정 비트는 소실되어 출력되지 않는다, 역함수 X

확장(Expansion) P-box : 입력 비트 중 특정 비트는 한 개 이상의 출력비트와 연결된다, 역함수 X , 비트 증가


혼돈과 확산

혼돈 : 암호문과  사이의 관계를 숨긴다.

확산 : 암호문과 평문 사이의 관계를 숨긴다. 평문의 통계적 성질을 암호문 전체에 퍼뜨려 숨긴다.


혼합 암호(Product Cipher)

:치환(Substitution) 암호와 전치(Permutation) 암호의 2가지 방법을 모두 사용하는 암호화 방법이다.


라운드(Round)

:반복적으로 사용되는 혼합 암호를 라운드라고 한다.


양자 암호

:하이젠베르크의 불확정성 원리를 응용한 암호화 방식이다.


파이스텔 암호(Feistel Cipher)

:블록 암호의 일종으로, 암호화 방식이 라운드 함수의 반복으로 이루어 진다.

:키 순서를 제외한 암호화 방식과 복호화 방식이 동일하다.

:파이스텔 구조(파이스텔 네트워크)는 3라운드 이상이며, 짝수 라운드로 구성된다.

:파이스텔 구조는 많은 블록 암호 알고리즘 (MARS, RC6, Twofish)에서 사용되고 있다.

방식

암호화하려는 정보를 길이가 같은 두 개의 정보로 쪼갠다. 이를 이라고 하고, 라운드 에서 사용되는 키를 , 그리고 라운드 함수를 로 놓는다.

암호화 과정에서는 각 라운드에서는 다음과 같은 연산이 이루어진다.

모든 라운드가 끝난 후, 최종적으로 가 암호화된 값이 된다.

복호화 과정에서는 반대의 연산이 이루어진다. 가 주어졌을 때, 각 복호화 라운드에서는 다음과 같은 연산이 이루어진다.

최종적으로 원래 값 를 얻는다.

출처:https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8A%A4%ED%85%94_%EC%95%94%ED%98%B8


SPN 구조(Substitution-Permutation Network)

:평문을 여러 개의 작은 블록으로 나누고 각 블록을 S-box로 입력하여 치환하고 나온 출력값을 P-box로 전치하는 과정을 반복하는 방식이다.

:라운드 함수가 역변환이 된어야 한다.

:많은 병렬성을 제공하기 때문에 암·복호화 알고리즘의 고속화를 요구한다.


현대 스트림 암호

:동기식과 비동기식 두 가지 종류로 분류된다.


동기식 스트림 암호

:키 스트림은 평문 or 암호문 스트림독립적이다.

-One-Time Pad(가장간단하고 안전한 암호, 키의 전달과 보관이 문제) 

-FSR(귀환 함수, 시프트 레지스터로 구성) 

-LFSR(하드웨어로 쉽게 구현, 선형성 때문에 공격에 취약)

-NLFSR(LFSR보다 안전한 스트림 암호)

-OFB(Output FeedBack)모드


비동기식 스트림 암호

:키 스트림은 평문 or 암호문 스트림종속적이다.

-CFB(Cipher FeedBack)모드는 스트림 암호 생성


DES(Data Encryption Standard)

:64bit 블록 암호 알고리즘

:Feistel 구조

키의 크기 : 64bit(56bit 비밀키 + 8bit parity bit), 56bit 비밀키를 사용 라운드 키 생성기48bit 라운드 키 16개 생성

암호화 과정 : P-box 2개, 16 라운드의 파이스텔 구조

DES 함수 구조 : 확장 P-box, 키 XOR, S-box 8개, 단순 P-box 4개

취약점 : 키의 크키가 작음


3DES(Triple-DES)

:하드웨어에서 매우 효율 적, 소프트웨어에서는 비효율적이다.


키의 개수

암호화-복호화-암호화 

키의 크기 

라운드 

 2개

 DES-EDE2

 112

48

 3개

 DES-EDE3

 168

48


AES(Advanced Encrypiton Standard)

:128bit 블록 암호 알고리즘

:SPN 구조

:AES 알고리즘으로 선택된 것은 라인달(Rijndael)이다.

버전 : AES-128, AES-192, AES-256 

키의 크기 : 128bit, 192bit, 256bit, 키 확장 알고리즘으로 부터 생성되는 라운드 키의 크기는 128bit 이다.

암호화 과정 : SubBytes(바이트 치환), ShiftRows(행의 이동), MixColumns(열의 혼합), AddRoundkey(라운드 키와 XOR)

라운드 : 10라운드-128bit, 12라운드-192bit, 14라운드-256bit


기타 대칭키 암호 알고리즘

IDEA : 64bit 블록, 128bit 키, 파이스텔 구조 변형, 8라운드, S-box 사용X, DES에 비해 안전, PGP 채택

Skipjack : 64bit, 80bit 키, 32라운드, Fortezza Card에 사용

RC5 : 입출력,키,라운드 수가 가변인 블록 알고리즘, 빠른 암·복호화

SEED : 128bit 블록, 128bit 키, 16라운드, 파이스텔 구조 변형, 한국표준 블록암호 알고리즘

AIRA : 입출력 크기와 키 크기는 AES와 동일

HIGHT : 64bit 블록, 저전력·경량화를 요구하는 컴퓨팅 환경

LEA : 128bit 블록, 경량 고속 블록 암호 알고리즘, AES보다 1.5~2배 빠름, 스마트폰 보안, 사물인터넷 등 저전력 암호화에 쓸 수 있음


Feistel , SPN 알고리즘

Feistel구조 알고리즘 종류

:DES, LOKI, CAST, CAST256, Twofish, Blowfish, MISTY, RC5, RC6, E2, MARS

SPN구조 알고리즘 종류

:SAFER, SAFER+, SHARK, Square, CRYPTON, PRESENT, Serpent, Rijndael


블록 알고리즘 종류

구분 

개발국가 

개발년도 

특징 

블록크기 

키의 크기 

라운드 

DES

미국

1972

NIST에서 표준으로 공표(1977년) 

64

56

16

FEAL

일본

1987

S/W구현에 적합 

64

64

4

IDEA

미국

1990

PGP 채택 

64

128

8

SKIPJACK

미국

1990

Fortezza카드에 사용 

64

80

32

RC5

미국

1994

알고리즘 간단, 빠른 암·복호화 

64

0-256

16

MISTY

일본

1996

차분/선형공격에 안정성증명구조 

64

128

8

CRYPTON

한국

1998


128

0-256

12

SEED

한국

1999

한국표준 블록암호 알고리즘

128

128

16

 Rijndael

 벨기에

 

2000년 AES알고리즘으로 선정 

128

128,192,256

10,12,14


블록 암호 모드

모드 이름

장점 

단점 

비고 

ECB 모드

간단/고속/패딩O

병렬 처리 가능(암/복호화 양쪽)

동일한 평문은 동일한 암호문 블록을 갖음

암호문의 한 블록에서 에러가 발생하면 대응되는 평문 블록에서 에러 발생

암호문 블록의 삭제나 교체에 의한 평문의 조작 가능

재전송 공격이 가능

비권장

CBC 모드

동일한 평문은 동일한 암호문 블록을 갖지 않음

병렬 처리 가능(복호화만)

암호화에서 병렬 처리 불가능

암호문 에서 오류가 발생하면 평문 와 에서 에러가 발생

평문 블록의 한 비트 오류는 출력되는 모든 암호문에 영향을 미침

권장 

CFB 모드

패딩X

병렬 처리 가능(복호화만)

암호화에서 병렬 처리 불가능

재전송 공격이 가능

CTR모드사용이 나음 

OFB 모드

패딩X

암/복호화의 사전 준비 가능

암/복호화가 같은 구조

비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러가 난다

병렬 처리 불가능

암호문 에서 에러가 발생하면 그 다음에 오는 평문은 모두 에러가 발생

CTR모드 사용이 나음

CTR 모드

패딩X

암/복호화 사전 준비 가능

암/복호화가 같은 구조

비트 단위의 에러가 있는 암호문을 복호화하면 평문에 대응하는 비트만 에러가 난다

병렬 처리 가능(암/복호화 양쪽)

공격자가 암호문 블록의 비트를 반전시키면 대응하는 평문 블록의 비트가 반전된다.

권장 


블록 모드 : ECB, CBC

스트림 모드 가능한 블록 모드 : CFB, OFB, CTR


블록 암호 공격

-차분공격 : 선택 평문 공격법, 두 개의 평문 블록들의 비트의 차이에 대응되는 암호문 블록들의 비트의 차이를 이용하여 사용된 키를 찾는 방법

-선형공격 : 평문 공격법, 알고리즘 내부의 비선형 구조를 적당히 선형화시켜 키를 찾는 방법

-전수공격법 : 암호화할 때 일어날 수 있는 가능한 모든 경우에 대하여 조사하는 방법, 경우의 수가 많은 경우에 실현 불가능한 방법

-통계적 분석 : 암호문에 대한 평문의 각 단어별 빈도에 관한 자료와 지금까지 알려진 모든 통계적인 자료를 이용하여 해독하는 방법

-수학적 분석 : 통계적인 방법을 포함하며 수학적 이론을 이용하여 해독하는 방법


치환 암호와 전치 암호

치환 암호 : 평문의 문자를 다른 문자로 교환하는 규칙이다.

전치 암호 : 문자 집합 내부에서 자리를 바꾸는 규칙이다.


블록 암호와 스트림 암호

블록 암호 : 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘을 적용하여 암호화한다.

스트림 암호 : 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘이며, 평문과 키 스트림을 XOR하여 암호화한다.


구분

블록 암호

스트림 암호

장점

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

 빠른 암호화, 에러 전달X 

단점

 느린 암호화, 에러 전달O

 낮은 확산 

사례

 DES,AES, IDEA, SEED, RC5

 LFSR, MUX generator

암호화 단위

 블록

 비트 

주요 대상

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

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


링크 암호화와 종단간 암호화

링크 암호화

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

종단간 암호화

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

구분

링크 암호화

종단간 암호화

특징

 (ISP나 통신업자)가 암호화

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

 사용자가 알고리즘 통제 X

 (사용자)가 암호화

 헤더는 암호화하지 않음

 사용자가 알고리즘 통제 O 

장점

 운영이 간단

 트래픽분석을 어렵게 함

 (온라인)으로 암호화

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

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

단점

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

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

 모든 노드가 암호화 장비를 갖추어야하므로 네트워크가 커지면 비용 과다

 트래픽분석에 취약

 (오프라인)으로 암호화


주요 암호기술

 대칭키 암호 

 암·복호화할 때 사용하는 키가 동일한 암호 알고리즘 방식

 비대칭키(공개키) 암호

 암·복호화할 때 사용하는 키가 서로 다른 암호 알고리즘 방식

 하이브리드 암호 시스템

 대칭키 암호와 공개키 암호의 장점을 조합한 것

 일방향 해시함수

 무결성을 제공하는 기술

 메시지 인증코드

 무결성과 인증을 제공하는 암호 기술 

 전자서명

 무결성을 확인하고, 인증과 부인방지를 하기 위한 암호 기술

 의사난수 생성기

 난수열을 생성하는 알고리즘

 암호학자의 도구 상자

 하이브리드 암호 시스템을 제외한 6가지를 합한 것이 암호학자의 도구 상자


기타 암호기술

스테가노그래피

:암호화는 메지시 내용을 은폐하는 것을 의미하며, 스테가노그래피는 다른 무언가로 감추어 메시지 자체를 은폐하는 것을 의미한다.

:전달하려는 기밀 정보를 이미지 파일이나 MP3 파일 등에 암호화해서 숨기는 심층암호 기술이다.


워터마크

:원본의 내용을 왜곡하지 않는 범위 내에서 혹은 사용자가 인식하지 못하도록 저작권 정보를 디지털 콘텐츠에 삽입하는 기술을 말한다.

:(투명,가시,강한,약한)워터마킹


핑거프린팅

:디지털 콘텐츠를 구매할 때 구매자의 정보를 삽입하여 불법 배포 발견 시 최초의 배포자를 추적할 수 있게 하는 기술이다.


디지털 저작권 관리(DRM)

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


케르크호스프의 원리(Kerckhoff's principle)

:키를 제외한 시스템의 다른 모든 내용이 알려지더라도 암호시스템은 안전해야 한다는 원리이다.


암호분석의 종류

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

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

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

 암호문에 대응하는 일부 평문이 사용가능한 상황에서의 공격

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

 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격

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

 암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황에서의 공격


암호기술 평가

-암호 알고리즘 평가

-암호모듈 평가

-정보보호시스템에 대한 공통 평가 기준(CC, Common Criteria), CC 기반의 정보보호제품 평가

-응용시스템 평가


암호모듈의 안정성 평가(CMVP, Cryptographic Module Validation Program)

:CMVP는 암호모듈 안전성 검증을 위한 프로그램이다.

정보보호

:정보의 (수집,가공,저장,검색,송신,수신) 중에 발생하는 정보의 (훼손,변조,유출) 등을 방지하기 위한 (관리적,기술적) 수단 또는 그러한 수단으로 이뤄지는 행위


정보보호의 목표

 기밀성

 인가된 (사람,프로세스,시스템) 만이 알필요성에 근거하여 시스템에 접근해야 한다. 

 무결성

 송수신되는 데이터의 내용이 불법적으로 (생성,변경,삭제) 되지 않도록 보호되어야 한다.

 가용성

 권한이 있는 사용자가 (데이터,서비스)를 이용할 수 있어야 한다.


정보보호 관리

 기술적 보호대책

 접근통제, 암호기술, 백업 체제

 물리적 보호대책

 (화재, 수해, 지진, 태풍) 자연재해 대책, 출입통제, 잠금 장치

 관리적 보호대책

 법, 제도, 규정, 교육


OSI 보안 구조 *OSI(Open System Interconnection) : 개방형 시스템간 상호접속

 보안 공격

 기관이 소유한 정보의 안전성을 침해하는 제반(모든) 행위

 보안 메커니즘

 보안 공격을 탐지, 예방하거나 공격으로 인한 침해를 복구하는 절차

 보안 서비스

 시스템 보안이나 데이터 전송의 보안을 보장하는 서비스


소극적 공격과 적극적 공격

:보안 공격을 X.800과 RFC 2828에 따라 분류하면 소극적 공격과 적극적 공격으로 나눌 수 있다.

 소극적 공격 

 데이터 획득 및 시스템 자원에 손상을 주지 않는 공격

 적극적 공격

 시스템 자원을 변경하거나 시스템 작동에 손상을 주는 공격


기밀성을 위협하는 공격(Passive, 소극적 공격)

 스누핑(Snooping)

 데이터에 대한 비인가 접근 또는 탈취를 의미 , 정보를 염탐하여 불법으로 가로채는 행위

 트래픽분석(Traffic analysis)

 트래픽 흐름을 관찰함으로써 정보를 추측하는 것


무결성을 위협하는 공격(Active, 적극적 공격)

 변경(Modification)

 메시지 일부를 불법으로 수정하거나 메시지 전송을 지연시키거나 순서를 뒤바꾸어 인가되지 않은 효과를 노리는 행위

 가장(Masquerading)

 한 개체가 다른 개체의 행세를 하는 것, 이 공격은 다른 형태의 적극적 공격과 병행해서 수행

 재연(Replaying)

 획득한 데이터 단위를 보관하고 있다가 시간이 경과한 후에 재전송함으로써 인가되지 않은 효과를 노리는 행위

 부인(Repudiation)

 메시지 송수신자가 송수신 사실을 부인하는 것


가용성을 위협하는 공격(Active, 적극적 공격)

 서비스 거부(DoS, Denial of Service)

 시스템의 서비스를 느리게 하거나 완전히 차단하는 공격


보안 서비스

:시스템 보안이나 데이터 전송의 보안을 보장하는 서비스

:보안 정책과 보안 메커니즘에 의해서 구현된다.

 기밀성

 소극적인 공격으로부터 데이터를 보호

 무결성

 메시지 스트림, 단일 메시지, 메시지 안의 선별된 필드에 적용

 가용성

 시스템 자원에 접근할 필요가 있거나 사용하고자 할 때 허용

 인증

 연결지향통신 : 대등 개체 인증(송수신자에 대한 인증을 제공) / 비연결지향통신: 데이터 출처 인증

 부인방지

 메시지의 송수신자가 송수신 사실을 부인하지 못하게 하는 것

 접근제어

 통신 링크를 통한 호스트 시스템과 응용 간의 접근을 제한하고 통제할 수 있는 능력


시점별 통제

:취약점을 감소시키거나 억제하기 위해 사용되는 메커니즘을 말한다.

 예방통제(Preventive Control)

 사전에 위협과 취약점을 대처하는 통제

 탐지통제(Detective Control)

 위협을 탐지하는 통제

 교정통제(Corrective Control)

 위협이나 취약점을 감소시키는 통제


+ Recent posts