Vardy 2020. 10. 28. 08:24

1. 암호시스템 관련 용어

- 암호해독 : 해독이란 복호화키를 모르는 적 또는 암호분석가가 복호화키를 찾아내거나 평문 내용을 알아내는 비정상적인 과정

 

2. 대칭암호화 매커니즘

 암호화 알고리즘은 평문에 transformationsubstitution을 적용하여 암호문을 만들어 낸다.

- transformation = transposition = 전치암호 = permutation

  : 원문을 다른 문서로 대체하지 않지만 원문을 여기저기 움직이게 한다. 즉 비트, 문자, 블록이 원래 의미를 감추도록 재배열 한다.

- substitution = 치환암호 = 대치암호

  : 비트, 문자, 블록을 다른 비트, 문자, 블록으로 대체한다.

 

3. 스트림 암호의 특징

 - 원타임 패스워드를 실용적으로 구현할 목적으로 개발

 - 평문과 키 스트림을 XOR 하여 생성

 - 긴 주기높은 선형복잡도가 요구된다.

 - 블록단위 암호화 대비 비트단위로 암호화하여 암호화 시간이 더 빠르다. ( 시간성을 중요시하는 음성, 영상, 스트리밍, 무선암호화 방식에 사용. ex. 일회용 패드, LFSR, MUX generator)

 - 블록단위 암호화 대비 암호화 강도는 약하다. 

 - 블록 암호의 CFB, OFB 모드는 스트림 암호와 비슷한 역할을 한다.

 - 하드웨어적인 shift register 방식을 많이 사용하며 수학적 암호분석에 용이하다

 - 암호문에서 1비트 왜곡 -> 평문도 1비트 왜곡

 - 데이터 흐름을 순차적으로 처리해 가기 때문에 내부 상태를 가지고 있다.

 

4. 선형귀환시프트 레지스터(LFSR)

 - 레지스터에 입력되는 값이 이전 상태값들의 선형함수(XOR)로 계산되는 구조

 - 특정한 주기에 의해 반복 -> 최대주기의 수열을 얻을 수 있으며 수학적 분석이 용이

 - LFSR의 길이가 작으면 쉽게 해독 가능

 - LFSR의 길이 중 최소의 길이를 선형복잡도라고 정의한다.(최소다항식의 차수)

 - 선형복잡도를 사용하면 다음에 출력될 값을 예측하기 위해 필요한 수열의 양을 계산할 수 있는 장점

 

5. 스트림 암호의 분류

 * 동기식 스트림 암호

   - 특정 비트 변조 시 같은 위치에만 영향

   - 변조되어도 후속 암호문에 영향 X

   - 비트가 사라지거나 추가되면 에러 발생(에러 시점 이후 복호화 실패)

   - 암/복호화 상호 동기화 필수

 * 자기동기식 스트림 암호

   - 난수열을 생성하여 암호화키와 이전의 암호화된 문자열 사용

   - 내부상태는 이전 내부상태에 의존하지 않음

   - 비트가 변조되거나 제거/추가 되는 에러가 발생하여도 일부분만 복호화에 실패하고 이후에는 정상적인 복호화 값을 얻을 수 있음 = 자기 동기성 = 변조된 암호문이 후속 암호문 복호화에 사용되지 않아 오류 파급이 제한적

 

6. 검증 제도

- KCMVP = 암호 모듈의 안전성과 구현 적합성 검증

- V&V = SW품질 조정

- CAVP = 암호 알고리즘 검증

 

7. DRM

* 구성요소

 - 콘텐츠, 사용자, 접근권한, 상태(접근권한이 수행되기 위한 요구조건 및 제한요소)

* DRM 기술의 예시

 - PKI

   - 개념 : 콘텐츠를 소비자의 암호화 키를 이용하여 패키징함으로써 다른 사람들이 이용할 수 없도록 하는 방식

   - 단점 : 소비자 종속적 암호화를 수행해야함에 따라 콘텐츠 배포 서버의 프로세스 부담이 가중되고 슈퍼배포자와 같은 기능이 없어 디지털 콘텐츠 유통에는 적합하지 않다.

 - DOI

   - 개념 : 저작권 관리 정보를 바탕으로 저작권 인증을 부여하는 기술

   - 단점 : 불법복제 및 불법사용 방지 기능이 제공되지 않아서 적극적인 저작권 보호를 하지 못하고 있다.

* DRM 컨트롤러 : 사용자의 플랫폼에서 배포된 콘텐츠의 이용권한을 통제하는 것

* DRM 패키저 : 보호대상인 콘텐츠를 메타데이터와 함께 배포가능한 단위로 패키징

 

8. 단일 치환 암호는 빈도분석을 통해 해석 할 수 있다.

 - ex. 영어문장에서 e가 가장 많이 등장

 

9. 대칭키 암호의 구분

 * Feistel 

   - 개념 : 그물을 짜는 것..? 교환되는 형태. 평문블록길이(128bit) 키 최소길이(128bit) 라운드수(16) 필요. 3라운드 이상 짝수 라운드.

   - 특징 : 암호/복호가 동일한 구성요소 (역순으로 가능)

   - 종류 : DES, SEED, RC5, 등등..

 * SPN

   - 개념 : 여러개의 함수를 중첩하면 안전하다는 Shannon의 이론에 근거. Substitution과 Permutation을 중첩

   - 특징 :  병렬 연산 가능. 별도의 복호화 모듈 필요

   - 종류 : AES, ARIA, Rjindal, 그 외 S로 시작하는 것들..

 

10. 블록 알고리즘 종류와 특징

구분 특징 블록 크기 키의 길이 라운드 수
DES NIST 표준 1977년 64 56 16
IDEA PGP채택 유럽 1990년 64 128 8
Rijndael 2000년 AES알고리즘 선정 128 128.192.256 10.12.14
SEED 한국 블록 알고리즘 표준 128 128 16
CRYPTON AES 후보 중 하나 128 128,192,256 12
RC5 알고리즘 간단. 빠름 32,64,128 0-2040 0-255
FEAL S/W 구현 적합 64,128 128 8
MISTY 차분/선형 공격에 안전 64 128 8
SKIPJACK Fortezza 카드 64 80 32

11. 블록 암호 공격법

 - 차분공격 : 두 개의 평문 블록의 비트의 차이와 암호문의 비트의 차이를 이용

 - 선형공격 : 비선형 구조를 적당히 선형화 시켜서 공격

 - 전수공격 : BruteForce

 - 통계적분석 : 평문의 각 단어의 빈도에 관한 자료를 포함하여 알려진 모든 통계적 자료를 이용

 - 수학적분석 : 통계적분석을 포함하며, 수학적 이론 활용 

 

12. 생일 공격 : 해시값과 무관하게 같은 해시값을 생성하는 2개의 메시지를 구하는 것 - 강한 충돌 내성 깨기 위함

 

13. 블록 암호 모드 비교

모드 성질 방식 특이점
ECB 블록 평문 잘라서 암호화 후 다시 붙임 독립성, 매우 많은 DB를 병렬적 처리 가능
CBC 블록 IV사용. 평문과 전 블록의 암호문을 XOR하여 암호화 제대로 복호화 하기 위해서는 블록의 나열 순서가 중요
CFB 스트림가능한블록 IV사용. 이전블록을 암호화 한 값과 현재 블록 평문을 XOR한 후 값이 다음 블록의 암호블록이다. 암호화에서는 특정 입력이 이후에 계속 영향 끼치는 반면, 복호화에서는 특정 암호문의 오류가 계속적으로 영향을 끼치지 않음
OFB 스트림가능한블록 IV사용. 이전 암호문과 평문블록을 XOR 하긴하는데, XOR하기 전 평문을 암호화 해놓은 블록이 다음 암호블록이다. 전송중의 비트 오류 전파 X, 암호문 비트 손실 시 이후 모두 에러가 필요하므로 동기를 새로맞추어야함. 에러가 확산되서는 안되는 경우 사용
CTR 스트림가능한블록 평문 블록과 CTR 1..2..3.. 을 암호화한값을 XOR 카운터 초기 값은 비표(nonce 사용)

14. Diffie-Hellman 키 교환

 - 이산대수 풀기 어려움에 기반 (인수분해 X, RSA는 소인수분해의 어려움)

 - 중간자 공격, 재전송에 취약

 

15. 해시 함수 성질

 * 충돌 회피성(저항성) : 해시처리한 값이 같은, 다른 두 평문의 쌍을 찾는 것이 계산상 불가능해야한다. (내부부정 방지)

 * 약 일방향성 : 역연산 불가능

 * 강 일방향성 : 평문과 해쉬값이 주어졌을때 동일한 해쉬값을 얻는 또다른 평문을 계산하는것이 불가능해야한다.

 

16. 해시함수 종류

항목 다이제스트길이 처리 단위 단계 수 최대메시지 크기 앤디언
MD5 128bit 512bit 16*4 무한 Little
RIPEMD-160 160bit 512bit 16*5*2 2**64-1 Little
SHA-1 160bit 512bit 20*4 2**64-1 Big
SHA-256 256bit 512bit 64    
SHA-512 512bit 1024bit 80    

그 외에도 SHA-2의 일환으로 224 256 384 512 등이 있다.

 

17. 메시지 인증 코드 MAC Message Authentication Code

 - 목적 : 원문의 메시지가 변하지 않았다는 것을 증명

 - 특징 : 원문을 사용해서 만듦. 원문에 해당하는 값은 하나뿐이다

 

18. 전자서명의 주요 기능

 - 위조 불가 : 합법적인 서명자만이 전자서명 생성 가능

 - 서명자 인증 : 전자서명의 서명자를 불특정 다수가 검증 가능

 - 부인 방지 : 서명자 부인 방지

 - 변경 불가 : 서명한 문서의 내용을 변경 할 수 없어야 한다

 - 재사용 불가 : 전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없어야 한다.

 

19. 전자서명 기법

 EIGamal(안전성은 이산대수 기반) --> 개선 : 계산량 줄임, 속도 향상(Schnorr 구조) --> DSS(전자서명 표준)

 

20. X.509 인증서 (인증서 표준 규격)

 * 요소

  - 버전, 일련번호, 서명 알고리즘 식별자, 발행자 이름, 유효기간, 주체(사용자) 이름, 주체(사용자)의 공개키 정보, 발행자 유일 식별자, 주체 유일 식별자, 확장, 서명(다른 전체 필드를 해시화 하고 CA의 개인키로 암호화)

  - v3 ++ 키관키 식별자, 사용자키 식별자, 키사용, 인증서 정책

 * 고유 식별자는 사용하지 않을 것 권장

 * CRL 구현을 위한 표준도 포함

 * 인증서 폐지 관련 = RFC3280

 

21. CRL

 * 폐지된 인증서들에 대한 목록

 * 기본 영역

   - 버전(인코딩된 CRL 버전), 서명(CRL을 서명하기 위해 사용된 알고리즘 식별자), 발행자 이름, 현재 갱신, 다음 갱신, 폐지된 인증서, 서명

   - 기본 확장자 ++ CA 키 고유 번호, 발급자 대체이름, CRL 발급번호, 발급 분배점, 델타 CRL지시자

   - 개체 확장자 ++ 취소 이유 부호(인증서가 취소된 이유), 명령 부호, 무효화 날짜

 

22. OCSP Online Certificate Status Protocol 온라인 인증서 상태 프로토콜

 - 실시간으로 폐지 유무 확인 가능

 - RFC 2560

 * 순서

   - OCSP 응답 서명 인증서의 인증서 템플릿 및 발급 속성을 구성한다

--> 온라인 응답자를 호스팅할 컴퓨터에 대한 등록 권한을 구성한다

--> Windows Server 2003 기반 CA인 경우 발급된 인증서에서 OCSP 확장 사용하도록 설정한다.

--> CA의 기관 정보 엑세스 확장에 온라인 응답자 또는 OCSP 응답자의 위치를 추가한다.

--> CA에 대한 OCSP 응답 서명 인증서 템플릿을 사용하도록 설정한다.

 - ORS(온라인 취소상태 확인 서비스), DPD(대리 인증 경로 발견 서비스), DPV(대리인증 경로 검증 서비스)

 

23. 공개키 기반 구조(PKI) 응용 분야

 - SET, S/MIME, PGP

 * Kerberos는 대칭 암호기법에 바탕

반응형