Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

암호화

1,593 views

Published on

보안 도메인중에서 암호화를 정리한 부분이다.

Published in: Engineering
  • Be the first to comment

암호화

  1. 1. 암호화 황인균 내용 1. 암호화 .....................................................................................................................................................................................5 1.1 암호화의 역사..............................................................................................................................................................5 1.2 암호화 정의와 개념...................................................................................................................................................5 1.2.1 암호화 시스템 cryptosystem...................................................................................................................6 1.2.2 Kerckhoff(케르크호프)의 원칙 .................................................................................................................6 1.2.3 Shannon(섀넌)의 법칙.................................................................................................................................6 1.2.3.1 Confusion & Diffusion ......................................................................................................................7 1.2.3.2 Avalanche Effect(눈사태 효과) .......................................................................................................7 1.2.4 암호시스템의 강도 ........................................................................................................................................8 1.2.5 암호 시스템의 서비스..................................................................................................................................8 1.2.6 일회용 패드(One-time pad) .....................................................................................................................9 1.2.7 실행 키 암호와 은폐 암호.......................................................................................................................10 1.2.8 Null cipher .....................................................................................................................................................10 1.2.9 스테가노그라피 .............................................................................................................................................11 1.2.1 워크마크 ..........................................................................................................................................................11 1.2.2 DRM( Digital Right Management )....................................................................................................11 1.2.3 핑거 프린팅....................................................................................................................................................12 1.2.4 코드 ...................................................................................................................................................................12 1.3 암호의 종류 ................................................................................................................................................................12 1.3.1 대치 암호 ........................................................................................................................................................12 1.3.2 치환 암호 ........................................................................................................................................................12 1.3.3 빈도 분석 ........................................................................................................................................................13
  2. 2. 1.4 암호화 방식 ................................................................................................................................................................13 1.4.1 대칭 알고리즘과 비대칭 알고리즘 .......................................................................................................13 1.4.2 대칭 암호화....................................................................................................................................................13 1.4.2.1 Split knowledge................................................................................................................................ 14 1.4.3 비대칭 암호화 ...............................................................................................................................................14 1.4.3.1 영지식 증명 ....................................................................................................................................... 14 1.4.4 블록 및 스트림 암호..................................................................................................................................14 1.4.4.1 블록 기반 암호화 ............................................................................................................................ 15 1.4.4.2 스트림 기반 암호화 ....................................................................................................................... 15 1.4.4.3 초기화 벡터 ....................................................................................................................................... 16 1.4.4.4 암호적 변형 기법 ............................................................................................................................ 16 1.4.5 혼성 암호화 방식 ........................................................................................................................................17 1.4.5.1 비대칭과 대칭 알고리즘을 함께 사용 .................................................................................... 17 1.4.5.2 세션키 .................................................................................................................................................. 17 1.5 대칭 시스템의 유형.................................................................................................................................................17 1.5.1 DES-데이터 암호 표준 ...............................................................................................................................18 1.5.1.1 DES, 어떻게 동작하는가? ............................................................................................................. 18 1.5.1.2 SP-Network ........................................................................................................................................ 18 1.5.1.3 알고리즘이 깨졌다broken는 것은? .......................................................................................... 19 1.5.2 DES모드, 블록 기반 암호화 운영 모드 ..............................................................................................19 1.5.2.1 전자부호표 모드(ECB).................................................................................................................... 20 1.5.2.2 암호블록연쇄모드(CBC) ................................................................................................................. 20 1.5.2.3 암호 피드백 모드(CFB).................................................................................................................. 20 1.5.2.4 출력 피드백 모드(OFB) ................................................................................................................. 20 1.5.2.5 카운터 모드(CTR) ............................................................................................................................ 21 1.5.2.6 동기 vs 비동기 암호화 ................................................................................................................. 21 1.5.3 Tripple-DES....................................................................................................................................................21 1.5.4 AES-새로운 암호화 표준...........................................................................................................................21 1.5.4.1 Rijndael ................................................................................................................................................ 21 1.5.4.2 Twofish ................................................................................................................................................. 22 1.5.4.3 RC6 ........................................................................................................................................................ 22 1.5.5 IDEA(국제 데이터 암호 알고리즘)........................................................................................................22 1.5.6 Blowfish...........................................................................................................................................................22 1.5.7 Bcriypt ..............................................................................................................................................................23 1.5.8 RC4 ....................................................................................................................................................................23 1.5.9 RC5 ....................................................................................................................................................................23 1.5.10 Skipjack.........................................................................................................................................................23 1.6 비대칭 시스템 유형.................................................................................................................................................23
  3. 3. 1.6.1 Diffie-Hellman 알고리즘..........................................................................................................................24 1.6.2 RSA....................................................................................................................................................................24 1.6.3 EL Gamal .........................................................................................................................................................24 1.6.4 ECC(타원 곡선 암호시스템) .....................................................................................................................25 1.6.5 Knapsack.........................................................................................................................................................25 ※ 양자 암호화...................................................................................................................................................................25 1.7 메시지 무결성............................................................................................................................................................26 1.7.1 한 방향 함수 .................................................................................................................................................26 1.7.2 MAC ..................................................................................................................................................................27 1.7.2.1 HMAC ................................................................................................................................................... 27 1.7.2.2 CBC-MAC ............................................................................................................................................ 28 1.7.2.3 CMAC.................................................................................................................................................... 28 1.7.3 다양한 해싱 알고리즘................................................................................................................................28 1.7.3.1 cryptographic salts .......................................................................................................................... 29 1.7.4 MD2...................................................................................................................................................................29 1.7.5 MD4...................................................................................................................................................................29 1.7.6 MD5...................................................................................................................................................................29 1.7.7 SHA....................................................................................................................................................................29 1.7.8 HAVAL..............................................................................................................................................................29 1.7.9 타이거...............................................................................................................................................................29 1.7.10 SHA-1.............................................................................................................................................................30 1.7.11 SHA-2.............................................................................................................................................................30 1.7.12 SHA-3.............................................................................................................................................................30 1.7.13 디지털 서명 .................................................................................................................................................30 1.7.14 DSS(디지털 서명 표준) ...........................................................................................................................31 1.8 PKI-공개키 기반 구조 .............................................................................................................................................31 1.8.1 인증 기관 ........................................................................................................................................................32 1.8.2 인증서...............................................................................................................................................................32 1.8.3 등록 기관 ........................................................................................................................................................32 1.8.4 PKI단계 .............................................................................................................................................................32 1.9 공개 키 암호화와 공개키 인프라스트럭처 ....................................................................................................32 1.10 키 관리.......................................................................................................................................................................33 1.10.1 키 관리 원칙...............................................................................................................................................33 1.10.2 키와 키 관리를 위한 규칙 ....................................................................................................................34 1.11 TPM-신뢰 플랫폼 모듈........................................................................................................................................34 1.11.1 TPM사용........................................................................................................................................................34 1.12 링크 암호화와 단대단 암호화 ..........................................................................................................................34 1.13 공격 .............................................................................................................................................................................35
  4. 4. 1.13.1 암호 해독(암호 분석) ..............................................................................................................................35 1.13.2 암호문 단독 공격(COA) .........................................................................................................................36 1.13.3 알려진 평문 공격 ......................................................................................................................................36 1.13.4 선택된 평문 공격 ......................................................................................................................................36 1.13.5 선택된 암호문 공격 .................................................................................................................................37 1.13.6 Adaptive-* 공격 ........................................................................................................................................37 1.13.7 미분 암호 분석 ..........................................................................................................................................37 1.13.8 선형 암호 분석 ..........................................................................................................................................37 1.13.9 사이드 채널 공격 ......................................................................................................................................37 1.13.10 재생 공격(Replay attack) ...................................................................................................................38 1.13.11 대수 공격...................................................................................................................................................38 1.13.12 분석 공격...................................................................................................................................................38 1.13.13 통계 공격...................................................................................................................................................38 1.13.14 사회 공학 공격........................................................................................................................................38 1.13.15 Meet-in-the-Middle 공격...................................................................................................................38 1.13.16 중간자 공격 Man in the Middle.....................................................................................................39 1.13.17 역공학..........................................................................................................................................................39 1.13.18 난수 발생기 공격 ...................................................................................................................................39 1.13.19 임시 파일...................................................................................................................................................39 1.13.20 Factoring attack .....................................................................................................................................40 1.13.21 DPA(Differential Power Analysis)..................................................................................................40 1.13.22 생일 공격...................................................................................................................................................40
  5. 5. 1. 암호화 주요 목표 - 기밀성, 무결성, 부인방지 1.1 암호화의 역사 1970, IBM의 Feistel 이 암호화 알고리즘 개발 시작 1977, DES 탄생( 비밀키 암호법) 1976, Diffie-Hellman, 공개키 암호법 제안 1978, Rivest, Sharmir, Adleman, 최초의 공개키 암호화 알고리즘 RSA 개발 1.2 암호화 정의와 개념 ☞ 알고리즘 : 암복화에 대한 규칙을 지시하는 복잡한 수학공식 : 정적으로 머물러 있다. 키에 의해서 임의성이 부여된다. ☞ 암호 cipher : 알고리즘의 다른 이름 ☞ 암호화 cryptography : 의도한 개인에게만 사용 가능한 형태로 데이터를 저장하고 전송할 수 있는 하는 비밀 쓰기의 과학 ☞ 암호 분석 Cryptanalysis : 키 없이 암호문에서 평문을 얻어내거나 암호화를 깨뜨리는 것 ☞ 암호학 cryptology : 암호화와 암호 해독에 대한 연구 ☞ 암호 시스템 Cryptosystem : 메시지를 암호문으로 그리고 다시 평문으로 변형하는 암호화를 구현한 하드웨어, 소프트웨어 ☞ 암호화 encipher : 데이터를 읽을 수 없는 형태로 변형하는 행위 ☞ 해독(복호화) decipher : 데이터를 읽을 수 있는 형태로 변형하는 행위
  6. 6. ☞ 키 key : 알고리즘이 암호화 과정에 임의성을 부여하기 위해서 사용하는 임의적인 비트 열 ☞ 대체 암호화 substitution cipher : 한 값을 다른 값으로 변경(대체)하는 알고리즘을 사용하는 암호화 방식 1.2.1 암호화 시스템 cryptosystem ☞암호화와 해독에 필요한 모든 구성 요소를 포함한다. √PGP(Pretty Good Privacy)는 암호화 시스템의 예이다. ☞데이터에 대한 암호화와 복호화의 전 과정을 총칭하는 용어 ☞알고리즘, 키, 키 관리 기능을 모두 포함하는 시스템 ▣ 최소 구성 요소 소프트웨어, 프로토콜, 알고리즘, 키 ▣예 Private key cryptosystem Public key cryptosystem Symmetric cryptosystem, asymmetric cryptosystem ▣하드웨어 기반 암호화 방식이 소프트웨어 기반 암호화 방식에 비해 빠르고 비싸다 ※ 암호화 모듈(cryptographic module)의 구성요소 √ 암호 알고리즘, control parameter, 임시 키 저장소 1.2.2 Kerckhoff(케르크호프)의 원칙 ☞ 암호화 시스템과 관련된 유일한 비밀성은 “키”여야 한다. ☞ 공격자는 암호, 복호 알고리즘은 알고 있다고 가정하고, 암호의 안정성은 키의 안정성에만 바탕을 둔다는 원칙 저의 1.2.3 Shannon(섀넌)의 법칙
  7. 7. ☞ 안정성이 강한 암호 알고리즘은 약한(단순한) 암호 알고리즘을 반복함으로써 얻어질 수 있다는 것 을 증명함 ☞ 확산(Diffusion)과 혼동(Confusion)을 반복하여 안전한 암호를 구현할 수 있는 방안 제시 1.2.3.1 Confusion & Diffusion ※ 키혼동, 평문 확산, Key confusion, plain diffusion  KC, PD ▣ Confusion ☞키와 암호문의 상관 관계를 숨겨라. ☞키와 결과로 나오는 암호문간의 관계는 가능한 한 복잡해야 한다. ☞Round - 키 값 변경  confusion 제공 ☞키 값 조금 변경  암호 결과가 크게 변경 ☞ is provided by mixing (changing) the key values used during the repeated rounds of encryption. ☞ When the key is modified for each round, it provides added complexity that the attacker would encounter. ▣ Diffusion ☞평문의 단일 문자 위치 변경  암호 결과가 크게 변경 ☞암호화 프로세스 동안에 문자의 위치가 계속 변경되면, 암호 해석을 더 어렵게 만든다. ☞ is provided by mixing up the location of the plaintext throughout the ciphertext. ☞ Through transposition, the location of the first character of the plaintext may change several times during the encryption process, and this makes the cryptanalysis process much more difficult. 1.2.3.2 Avalanche Effect(눈사태 효과) 섀넌의 확산 Diffusion과 유사한 개념, 표현한 사람이 다를 뿐 - Horst Feistel 어떤 알고리즘에 대한 입력이 약간만 수정되더라도 알고리즘의 출력은 크게 변경된되어야 한다는 것 을 의미 ☞ a minor change in either the key or the plaintext will have a significant change in the resulting ciphertext. ☞ This is also a feature of a strong-hashing
  8. 8. 1.2.4 암호시스템의 강도 ▣ Work Factor( Work Function) ☞the time and effort required to break a protective measure. ☞공격자가 암호시스템을 침투하기 위해 소모하는 노력과 자원에 대한 추정치 ☞a way to measure the strength of a cryptography system by measuring the effort in terms of cost and/ or time to decrypt messages. ▣ 암호화 강도의 중요 구성요소 ☞ 결점이 없는 알고리즘 ☞ 커다란 키 사이즈 ☞ 키 스페이스 내의 모든 가용한 값을 사용하는 것 ☞ 실제 키를 보호하는 것 ▣ 키 스페이스( key space ) ☞ Every algorithm has a specific key space. 암호화 알고리즘에서 사용하는 키 값의 크기 ☞ 키를 만드는데 사용 가능한 값의 범위 ☞A key space is defined by its bit size. Bit size is nothing more than the number of binary bits (0s and 1s) in the key. ☞The key space is the range between the key that has all 0s and the key that has all 1s. 즉, 0부터 2n 승까지의 범위이다 ▣ 키 클러스터링 key clustering ☞ 두 가지 다른 키가 동일한 평문에서 동일한 암호문을 생성하는 경우 1.2.5 암호 시스템의 서비스 암호화 시스템은 다음과 같은 서비스를 제공한다. 기밀성, 무결성, 진위(authenticity) - 정보를 생성한 사용자나 시스템의 신원을 확인한다. 허가(Authorization) - 신원이 증명되면 자원 접근을 허용하는 키 또는 패스워드가 제공된다. 부인 방지(nonrepudiation) - 발신자가 메시지 전송을 부인할 수 없도록 한다.
  9. 9. 1.2.6 일회용 패드(One-time pad) 버넘(vernam) 암호화 가장 완벽한 암호화 체계 ☞ 일회용 패드에서 생성되는 패드의 각 비트는 XOR 함수를 통해 메시지의 각 비트를 암호화하기 위해 사용된다. ☞ One-time pad의 성공 조건 √ 키 값은 한 번만 사용되어야 한다. √ 키 값은 메시지 길이만큼 길어야 한다. at least as long as the message to be encrypted √ 키 값은 목적지로 안전하게 배포되고 보호되어야 한다. √ 생성되는 키는 완전히 임의적인 값으로 만들어져야 한다. the key must be generated randomly without any known pattern. . 컴퓨터 시스템은 난수값 생성기 대신에 의사 난수 생성기를 가지고 있다. ☞ 랜덤 키 생성 어려움의 예 VENONA 프로젝트 top-secret Soviet cryptosystem that relied on the use of one-time pads US, 암호 분석 공격에서 성공함 - 키 생성 패턴이 발견됨. ■One-time pad의 일반화의 가장 큰 장애 The major obstacle to their widespread use is the difficulty of generating, distributing, and safeguarding the lengthy keys required. One-time pads can realistically be used only for short messages, because of key lengths. ■ 의사 난수 pseudorandom 수 생성기는 임의의 값의 스트림을 생성하기 위해 사용되며, 초기값이 제공되어야 한다(seed). 이러한 소프트웨어는 컴퓨터 시스템 내의 어떤 구성요소(시간, CPU 사이클 등)에서 초기값seeding value을 취 한다. 컴퓨터 시스템이 복잡하더라도 그것은 예측할 수 있는 환경이며, 따라서 어떤 식으로든 초기값 을 예측할 수 있다면 생성되는 결과값을 진정한 난수가 아니라 의사 난수가 된다. ☞ 발신자와 수신자는 동일한 패드를 사용하기 위해 완벽하게 동기화되어야 한다. ■ 키 생성 함수(KDF, Key Derivation Function) ☞ 초기값에서(마스터키 master key) 비밀키(서브키, subkey)를 생성한다. ☞ 임의적인 키 자료의 역할을 하기 위해서 다른 값들이 독립적으로 사용되거나 또는 함께 사용될
  10. 10. 수 있다. 임의적인 키 자료 : 특정한 해시값, 패스워드 또는 솔트salt값들 ☞ 알고리즘은 ‘임의적인 키 자료’를 받아서 지정한 수학적 함수를 일정 주기round 이상 수행할 것이 다. 이 주기를 보다 많이 거칠수록 암호시스템 전체에 대한 보다 나은 보증과 보안이 제공된다. ☞알고리즘은 정적으로 머물러있다. 그리고 암호화에 의해 제공되는 임의성은 주로 “키 자료”에 의한 것이다. 1.2.7 실행 키 암호와 은폐 암호 ▣ 실행키 암호 running key cipher == Book Cipher ☞ 전자 알고리즘, 비트 변경을 요구하지 않음. ☞ 주변 일상의 것들 예로 책을 키로 사용할 수 있다. 예) 책, 쪽, 행, 그 행 안의 단어 ☞암호화 키 길이의 문제에 대한 해결방법 중의 하나 one-time pads avoid these vulnerabilities by using a key that is at least as long as the message. However, one-time pads are awkward to implement because they require the physical exchange of pads. One common solution to this dilemma is the use of a running key cipher (also known as a book cipher). In this cipher, the encryption key is as long as the message itself and is often chosen from a common book. ▣ 은폐암호 concealment cipher ☞ 메시지 안에 숨은 메시지 ☞ 예) √ 평문 메시지:<The saying, ‘The time is right’is not cow language, so is now a dead subject> √ 키 역할 : 매 세번째 단어 √ 암호 메시지 : ‘The right cow is dead’ ☞ 널 암호 null cipher라고도 함 ☞ 스테가노그라피의 한 유형 1.2.8 Null cipher ☞ 첫번째, concealment cipher의미 ☞ 두번째, 디버깅/테스트에서 인증용 목적으로만 사용하는 암호
  11. 11. ☞ 예) IPSec, SSL스킴을 디버깅하기 위해서 실제 암호를 위한 목적이 아니라 인증용으로 null cipher를 제공할 수 있다. 1.2.9 스테가노그라피 다른 매체 유형에 데이터를 숨겨 그 데이터의 존재가 은폐되도록 하는 방법 ▣ 구성요소 전달자 carrier 정보를 숨겨 전달하는 신호, 데이터 또는 파일( 전 ) 스티고 매체 stego-medium 정보가 숨겨진 매체( 후 ) 페이로드 payload 숨기거나 전송될 정보 ※ 스테가노그라피는 보안 설계 원칙 중 어느 방식을 취하는가? 모호성을 통한 보안 1.2.1 워크마크 ☞ 은닉정보 : 판매자 정보 ☞ 관심 : 저작권 표시 ☞ 트레킹 : 가능 ☞ 공격 강인성 : 상대적 강함 가시성 - 눈으로 볼 수 있다. 1.2.2 DRM( Digital Right Management ) 다른 사람이나 회사가 소유한 자료에 대한 사용을 제한하기 위한 것 Digital rights management (DRM) solutions allow content owners to enforce restrictions on the use of their content by others. DRM solutions commonly protect entertainment content, such as music, movies, and e-books but are occasionally found in the enterprise, protecting sensitive information stored in documents.
  12. 12. 1.2.3 핑거 프린팅 ☞ 은닉정보 : 구매자 추적 정보 ☞ 관심 : 구매자 추적 ☞ 트래킹 : 가능 ☞ 공격 강인성 : 공모공격에 강함 1.2.4 코드 : 특정 의미를 내포한 신호, 깃발 이용. 1.3 암호의 종류 1.3.1 대치 암호 대치(substitute) : 하나의 기호를 다른 기호로 바꾸는 방식(교체)  confusion 이용 the encryption algorithm to replace each character or bit of the plaintext message with a different character. Caesar cipher - 단일 문자 대치 - 빈도 분석 취약 다중 문자 대치 비즈네르 암호화 플레이페어(playfair) 암호화 애니그마 기계 Caesar cipher ROT3( rotate 3) C = (P+3) mod 26 1.3.2 치환 암호 Transposition , permutation cipher
  13. 13. 전치(Transposition) : 기호의 위치를 바꾸는 방식  diffusion 이용 encryption algorithm to rearrange the letters of a plaintext message 예) The Rail Fence 1.3.3 빈도 분석 결과 암호문 내에서 패턴을 찾음으로써 암호 시스템 내의 약점을 식별하기 위해 사용되는 암호 분석 프로세스 단순 대체와 치환 암호는 빈도 분석 frequency analysis공격에 약하다. 1.4 암호화 방식 1.4.1 대칭 알고리즘과 비대칭 알고리즘 1.4.2 대칭 암호화 ▣보안 서비스 - 기밀성 ▣Symmetric key cryptography does not implement nonrepudiation. Because any communicating party can encrypt and decrypt messages with the shared secret key, there is no way to prove where a given message originated. ▣Keys must be regenerated often. Each time a participant leaves the group, all keys known by that participant must be discarded. ▣대칭키의 저장, 관리, 파괴 ☞암호화 키는 암호화된 데이터가 저장된 시스템에 있어서는 안 된다. ☞암호화 키는 다른 사람들에게 분리되어 관리되어야 한다  split knowledge ☞대칭키 암호화 키를 알고 있는 사람이 그룹에서 떠날 때는 키는 재 생성되어야 하고, 모든 데이터 는 재 암호화되어야 한다. 6. Which one of the following cannot be achieved by a secret key cryptosystem?
  14. 14. A. Nonrepudiation B. Confidentiality C. Availability D. Key distribution 나머지는 어떻게든 할 수 있겠지. 근데, 부인 방지는 어떻게도 할 수 없다. 전자 서명이 안되니까. 1.4.2.1 Split knowledge ▣ Key Escrow  M of N Control ▣ M of N Control M of N Control requires that a minimum number of agents (M) out of the total number of agents (N) work together to perform high-security tasks. 1.4.3 비대칭 암호화 ▣ 보안 서비스 - 인증, 기밀성, 부인 방지 공개 키 암호화 방식 - 사전에 비밀 키를 나눠가지지 않은 사용자들이 안전하게 통신할 수 있도록 한다 1.4.3.1 영지식 증명 Zero knowledge proof “누군가에게 진실을 말하지 않고, 단지 그들이 이에 관해 알아야 하는 관련 정보만을 제공하는 것” 어떤 것을 내 개인키로 암호화하고, 당신은 나의 공개키를 이용해서 데이터를 복호화함으로써 나는 나의 개인 키를 가지고 있다고 증명하게 된다. 하지만 난 개인키를 보여주지 않았다. 1.4.4 블록 및 스트림 암호 암호 알고리즘에 입력되는 데이터의 형식과 처리 방법에 따라서, 블록 암호, 스트림 암호로 나뉜다. 블록 암호
  15. 15. 1.4.4.1 블록 기반 암호화 ☞ 비트의 블록 단위로 작업 ☞ 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘을 적용하여 암호화 ☞ 스트림 암호화와 달리 Round를 사용하여 반복적으로 암호화 과정을 수행해서 암호화 강도를 높 일 수 있다. All-in-one. P. 850 1.4.4.2 스트림 기반 암호화 메시지를 비트의 스트림으로 취급하며 각각의 비트에 개별적으로 수학적 함수를 적용한다. ☞ 한번에 한비트 단위로 작업 ☞ 키 스트림을 사용. ☞ 평문과 키 스트림을 XOR하여 생성 ☞ 블록 암호화 방식보다 빠르지만 암호화 강도는 약하다. ☞ 실시간성이 중요한 음성, 영상 스트리밍 전송에 사용된다. ▣ 키 스트림 생성기 평문 비트와 XOR되는 비트의 스트림을 생성한다. 일반적으로 스트림 암호는 블록 암호보다 안전하지 않아 사용 빈도가 낮다.
  16. 16. 스트림 안호는 암호화 및 해독이 보다 빠르며 증가되는 대역폭 요구사항에서 보다 잘 확장될 수 있 다. 암호화 요구 사항을 가지는 VoIP 혹은 멀티미디어와 같은 실시간 어플리케이션에서 이러한 작업 을 성취하기 위해 스트림 암호가 구현되는 것은 일반적이다. 강력하고 효과적인 스트림 암호는? : 키스트림 값 내부에서 장기간 동안 반복되는 패턴이 없음 : 통계적으로 예측 가능하지 않은 키 스트림 : 키 스트림은 키와 선형적인 관계에 있지 않다 - 키 스트림을 알아냈다는 것이 키 값을 안다는 것을 의미하지는 않는다. : 통계적으로 치우치지 않은 키스트림(1과 0의 비슷한 비율) - 키스트림에서 1 또는 0의 수가 지배적 이면 안된다. 1.4.4.3 초기화 벡터 Initialization Vector, IV ☞ 초기화 벡터가 사용되지 않으면 동일한 키를 가지고 암호화된 두 개의 동일한 평문은 같은 암호 문을 만들 것이다. IV는 비록 평문내에서는 반복되는 패턴이 존재하더라도 암호문 내에서는 패턴이 생성되지 않도록 한다. ☞ 초기화 벡터와 키는 모두 암호화 프로세스에서 보다 많은 임의성을 제공하기 위해서 알고리즘에 의해서 사용된다. 1.4.4.4 암호적 변형 기법 암호화 강도를 증가시키기 위해 사용되는 다른 기법들 Confusion, diffusion, avalanche, IV및 임의 수 생성 ■ 압축 compression 평문이 암호화되기전에 중복을 감소시킨다. 압축 기능이 텍스트에 실행된 후에 암호화 알고리즘이 이 루어진다. ■ 확장 expansion
  17. 17. 평문의 값들을 중복시킴으로써 확장시킨다. 평문 사이즈를 키 사이즈에 대응시키기 위해 일반적으로 사용된다. ■ 패딩padding 평문 데이터를 암호화하기 전에 자료를 추가한다. ■ 키 혼합 key mixing 키의 노출을 제한하기 위해 키의 부분(서브키)을 사용한다. 마스터 키로부터 서브 키를 생성하기 위 해 키 스케쥴 key schedules이 사용된다. 1.4.5 혼성 암호화 방식 1.4.5.1 비대칭과 대칭 알고리즘을 함께 사용 ☞ 대칭 암호와 공개키 암호의 장점을 조합하여 암호화 통신을 하는 모델 √ 대칭 암호 : 빠른 속도 √ 비대칭 암호 : 키 배송 문제 편리 ☞ 평문: 대칭 암호로 암호화 ☞ 세션키 : 공개키로 암호화 ※ 사용한 세션키(비밀키) : 의사 난수 생성기로 생성 1.4.5.2 세션키 세션키는 두 사용자가 통신중에 메시지를 암호화하기 위해 사용되는 일회용 대칭 키이다. 세션키는 대칭키이지만 차이점은 오직 사용자들 사이의 해당 통신 세션에서만 유효하다. 1.5 대칭 시스템의 유형
  18. 18. 키 크기 / 블록크기 /라운드 수” DES - Data Encryption Standard Triple-DES Blowfish IDEA RC4,RC5, RC6 AES - Advanced Encryption Standard 단점 보안 서비스 제한 - 기밀성만 제공, 인증과 부인방지는 제공하지 않는다. 확장성 제한 - 통신 대상이 증가함에 따라서 요구되는 대칭키의 수가 증가 키 분배 제한 - 안전한 대칭키의 운송 수단에 대한 이슈 1.5.1 DES-데이터 암호 표준 ☞ 블록 64비트 /키 56 /라운드 16 키길이 : 64비트(8비트 패러티용, 실제적인 키 길이 : 56비트) DES(DEA) AES(Rijndael) 표준명 : DES, AES 알고리즘 : DEA (Data Encryption Algorithm  Lucifer, DEA의 수정 전 이름 ), Rijndael 1.5.1.1 DES, 어떻게 동작하는가? 메시지를 64비트 블록으로 나누고  블록은 치환과 대체 함수를 16번 통과(16 라운드)  결과는 64 비트 블록의 암호문 1.5.1.2 SP-Network
  19. 19. SPN : Substitution-Permutation Network. Substitution레이어와 Permutation 레이어를 이용해서 Confusion과 Diffusion을 만족시키는 방법 ☞ the process described by Claude Shannon used in most block ciphers to increase their strength. ☞ most block ciphers do a series of repeated substitutions and permutations to add confusion and diffusion to the encryption process. ☞ An SP-network uses a series of S-boxes to handle the substitutions of the blocks of data. ☞ Breaking a plaintext block into a subset of smaller S-boxes makes it easier to handle the computations. s-box : 치환 방법을 포함하고 있다. All-in-one. p.850 1.5.1.3 알고리즘이 깨졌다broken는 것은? “해당” 암호문에 사용된 세션키를 식별해내면 이 알고리즘은 깨진 것으로 간주된다. 무차별 대입 공격으로 “해당” 알고리즘이 깨졌다고 해도 다른 암호문의 키도 알려지는 것은 아니다. 다시 무차별 대입 공격이 필요하다. 데이터가 중요한 거라면 ( 금융 정보, 군대 정보), 한번 깨어진 적 이 있는 알고리즘을 사용하고 싶지는 않을 것이다. 1.5.2 DES모드, 블록 기반 암호화 운영 모드 블록 암호의 동작 모드는 어떻게 블록 암호가 동작할지를 규정한다. 하나의 모드는 특정 기능을 위한 한가지 형태의 환경에서 보다 잘 작동할 수 있지만 다른 모드는 전혀 다른 요구사항을 가진 다른 환 경에서 더 잘 작동할 수도 있다. DES(또는 다른 블록 암호)를 채택한 공급업체가 서로 다른 모드와 각 모드의 목적을 이해하는 것은 중요하다. 특정 기능(결과), 상황(환경)별로 사용될 수 있는 모드를 이해하면 된다.
  20. 20. 1.5.2.1 전자부호표 모드(ECB) ▣ Electronic Code Book ☞ 코드북처럼 동작한다. ☞ 평문 블록과 키는 항상 동일한 크기의 암호문을 만들어낸다. ☞ 키나 PIN과 같은 적은 양의 데이터를 암호화하는데 사용한다. ※ 데이터베이스 암호화( 컬럼 암호화)에 사용 1.5.2.2 암호블록연쇄모드(CBC) ▣ Cipher Block Chaining ☞ 이전 단계 암화문과 다음 단계 평문 블록을 XOR  암호화 시 발생한 에러가 뒤로 전파됨 ☞ 최초 동작에 초기화 벡터(IV)가 필요 ☞ 한번에 많은 양의 데이터를 보낼 필요가 있을 때 사용하기에 훌륭하다(64비트 블록으로 나눠서 보낸다)  문서 암호화 1.5.2.3 암호 피드백 모드(CFB) ▣ Cipher-FeedBack mode ☞ 이전 단계의 암호문 블록을 다음 단계의 암호 알고리즘의 입력으로 사용  암호화 시의 에러가 전파 됨. ☞스트림 기반의 블록 모드 ☞ 백엔드 서버  터미널 통신에 주로 사용 ☞ 실시간 비트 블록을 암호화(블록의 개별 비트를 암호화)하기 위해서 주로 사용된다. ☞ 인코딩은 하나의 문자에 대해서 8비트로 표시하기 때문에 주로 8비트 블록 암호화에 사용된다. ☞예) 각각의 키 입력과 마우스 동작이 8비트 단위로 백엔드 서버로 전달된다. 1.5.2.4 출력 피드백 모드(OFB) ▣ output-feedback mode ☞이전 단계 키스트림(초기화 벡터)이 다음 단계 암호 알고리즘 입력으로 사용됨  암호화 시의 에러 전파 안됨 ☞ 스트림 기반의 블록모드 ☞ 한번에 적은 양의 데이터(1-8비트)를 암호화
  21. 21. 1.5.2.5 카운터 모드(CTR) ☞ OFB 모드에서의 키스트림을 생성하기 위해서 IV값을 사용하는 대신에 증가하는 카운터를 사용해 서 키스트림을 만들어낸다. ☞ 연쇄가 없다(에러 전달이 없다)  각 블록의 암호는 병렬로 일어날 수 있다. ☞ 병렬 처리는 전체적인 수행 속도를 증가시킨다.  속도가 가장 큰 장점. ☞ IPSec에서 가상 회선을 위해 ATM셀을 암호화하는데 사용, ☞ 셀이나 패킷이 순서대로 목적지에 도착하지 않을 수 있기 때문에 이 모드를 사용하게 된다. ☞ 무선 보안 표준인 802.11i에도 포함됨 1.5.2.6 동기 vs 비동기 암호화 동기 - 스트림 알고리즘을 이용하는 암호화. 키스트림값은 평문과 함께 단계별로 암호화한다. 비동기 - 블록 알고리즘을 이용하는 암호화. 사전에 준비된 평문을 잘라서 사용한다. 1.5.3 Tripple-DES ☞ 블록 64비트 /키 56, 112, 168 / 라운드 48 키 : 56배수 1.5.4 AES-새로운 암호화 표준 Advanced Encryption Standard 1.5.4.1 Rijndael 최종 NIST에서 공모한 AES로 선정 블록 128 / 키 128 / 라운드10 블록 128 / 키 192 / 라운드12 블록 128 / 키 256 / 라운드14 키 : 64배수
  22. 22. SPN 구조(Non-Feistel 구조) 1.5.4.2 Twofish AES finalist중의 하나 prewhitening and postwhitening. Prewhitening involves XORing the plain text with a separate subkey before the first round of encryption. Postwhitening uses a similar operation after the 16th round of encryption. 1.5.4.3 RC6 Rijndael에 패배한 AES의 최종 후보 1.5.5 IDEA(국제 데이터 암호 알고리즘) International Data Encryption Algorithm(IDEA) 블록 64비트 / 키 128 / 라운드 8 ☞ DES보다 빠르다. ☞ PGP와 다른 암호화 소프트웨어에서 구현 ☞ 마지막 특허가 2012에 만료되었다. 지금은 누구나 자유롭게 사용할 수 있다. 1.5.6 Blowfish ☞ 블록 64 / 키 32~448 / 라운드 16 ☞ Bruce Schneier ☞ 구형 DES, IDEA를 대체하기 위해서 만들어짐 ☞ 공개, 특허가 없음
  23. 23. 1.5.7 Bcriypt Linux systems use bcrypt to encrypt passwords, and bcrypt is based on Blowfish. Bcrypt adds 128 additional bits as a salt to protect against rainbow table attacks. 1.5.8 RC4 ☞ 스트림 암호. 소스코드가 불법 유포됨 ☞ SSL 프로토콜에서 사용 ☞ 802.11 WEP 프로토콜 표준 ☞ 낮은 확산율diffusion rate때문에 수정 공격에 취약무선보안표준(802.11i)이 AES로 변경한 이유 1.5.9 RC5 1.5.10 Skipjack 블록 64 비트 / 키 80비트 / DES의 4가지 운영 모드 지원 US정부가 받아들임 암호화 키의 에스크로 지원 Skipjack was quickly embraced by the US government it supports the escrow of encryption keys. 1.6 비대칭 시스템 유형 RSA( Rivest-Shamir-Adleman) ECC - Elliptic Curve Cryptosystem
  24. 24. Diffie-Hellman El Gamal DSA - Digital Signature Algorithm Merkle-Hellman Knapsack ☞ 대칭키 암호화 이슈 - 보안 서비스 제한, 확장성 제한, 안전한 키 분배 제한 1.6.1 Diffie-Hellman 알고리즘 첫 번째 공개키 알고리즘 ☞ 공개 키 관리를 하지 않고 송신자와 수신자가 직접 대칭 키를 교환(정확히는 동의)할 수 있는 대 표적인 키 교환 알고리즘. ☞ 사용할 대칭키를 실제로 ‘교환’하는 것이 아니라 각자가 가진 정보로 ‘계산’해 낸다 (동의 agreement) ☞ 암호화나 디지털 서명 기능을 제공하지는 않는다. ☞ 공개키 교환 전에 인증을 수행하지 않는다  중간자 공격 man-in-the-middle에 취약하다. ▣ Diffie-Hellman 알고리즘이 유용한 상황 √ 키 재료(key material)을 교환할 수 있는 물리적인 수단이 없는 경우 √ 비밀키를 교환할 수 있는 공개키 구조가 없는 경우 √ Secure RPC (S-RPC) employs Diffie-Hellman for key exchange. 1.6.2 RSA ☞ 가장 유명한 공개키 알고리즘, 사실상의 표준 de facto ☞ 암호화, 디지털 서명  키 암호화, 인증 제공 : 대칭키를 안전하게 목적지까지 전달할 수 있는 키 교환 프로토콜로 사용될 수 있다. ☞ 커다란 숫자들은 인수분해(factoring)가 곤란하다는 것을 이용 1.6.3 EL Gamal ☞ Diffie-Hellman key exchange algorithm 확장판 ☞ 공개키 암호 방식
  25. 25. ☞ 디지털 서명, 암호화, 키 교환에 사용 ☞ PGP에서 공개키 생성에 사용 ☞ 알고리즘 보안 : 유한 필드finite field에서 이산 로그 discrete logarithms를 계산하기 어렵다는 것에 기반을 둠 ▣ 중요한 결점 ☞ 암호를 하면 평문의 2배 길이가 된다. a 2,048-bit plain-text message would yield a 4,096-bit ciphertext message when El Gamal is used for the encryption process. ☞ 성능이 가장 느리다. 1.6.4 ECC(타원 곡선 암호시스템) Elliptic Curve Cryptosystem ☞ 기능- RSA와 동일(디지털 서명, 안전한 키 분배, 암호화등 ) ☞ RSA와 비교 ☞ 더 짧은 키  160bit ECC키  1024 bit RSA 키 효과 ☞ 동일한 강도의 암호화 ☞ 더 좋은 보안 성능( 속도) ☞ 가장 적은 리소스(파워, 대역폭)를 사용하는 효율적 알고리즘  휴대 장비, smart cards, wireless, and other similar application areas. 1.6.5 Knapsack Merkle-Hellman Knapsack 더 이상 사용되지 않음 Another early asymmetric algorithm, the Merkle-Hellman Knapsack algorithm, was developed the year after RSA was publicized. Like RSA, it’s based on the difficulty of performing factoring operations, but it relies on a component of set theory known as super-increasing sets rather than on large prime numbers. Merkle-Hellman was proven ineffective when it was broken in 1984. ※ 양자 암호화 매우 강력하고 도청 시도도 탐지할 수 있다.
  26. 26. 1.7 메시지 무결성 암호학적 해시의 가장 중요한 특성? 무결성과 충돌 저항성 s ■ 패리티 비트 parity bits, CRC( cyclic redundancy check)  프로토콜에서 사용되지만, 프로토콜은 일반적으로 의도되지 않은 수정만 탐지할 수 있다. ☞ 체크섬 √ 간단한 에러 검출 코드 √ 대칭키 암호화 방식에서 메시지 무결성 제공 √ 송신자는 체크섬 생성 -> 메시지에 첨부 -> 전체 메시지 암호화 -> 수신자에게 전송 -> 복호화 - > 메시지 및 체크섬 확보 -> 무결성 확인 ☞ 네트워크 계층별 CRC √ 데이터링크 CRC : 통상 데이터링크 계층에서 주로 사용 √ IP계층 : IPv6에서는 체크섬 필드 없앰 √ 전송계층 : UDP 체크섬, TCP 체크섬 ※ 체크섬의 원리를 이용하는 무결성 검사기의 가장 큰 단점은? False(+)가 높다. 파일 고유값 생성 후 주기적으로 트래킹하여 변경. DRM 등도 문제. ■ 해시 알고리즘  데이터에 대한 고의적인 또는 우연한 수정 감지 상당한 양의 리소스를 요구한다. 1.7.1 한 방향 함수 ☞ one-way function √ 한 방향으로는 계산이 쉬운데, 반대 방향으로는 계산이 어려운 특성을 가짐 예) 큰 두 소수의 곱을 다시 factoring하는 것이 쉽지 않음
  27. 27. √ Public key cryptosystems are all based on some sort of one-way function. ☞ 해시 알고리즘은 비밀이 아니다. ☞ 해시값  메시지 다이제스트 1.7.2 MAC Message Authentication Code 데이터 무결성과 데이터 근원지 인증(비밀키 역할)을 위해 사용되는 키 암호화 해시 함수 MAC함수는 비밀키를 메시지에 적용하는 인증 방법을 사용한다, MAC( 메시지, 비밀키). 그러나 이것이 메시지를 암호화하기 위해 대칭키가 사용되었다는 것을 의미하지는 않는다. MAC 코드는 메시지에 덧붙여져서 전송 MAC 코드를 생성하는 방법에 따라서 HMAC, CBC-MAC, CMAC 등이 있다. ※ MAC값과 전자서명값 비교 MAC값 : MAC( 메시지, 비밀키)  부인 가능 전자서명값 : 메시지의 다이제스트를 개인키로 암호화한 값  무결성, 부인 불가 1.7.2.1 HMAC 활용 1) HMAC = 해시함수(메시지, 비밀키). 2) 메시지 + HMAC 전송 3) 수신자, 해시함수(메시지, 비밀키) 계산값 <->전송받은 HMAC값 비교  메시지 변경 여부 확인 √ 메시지 무결성 체크 : 해시값 √ 인증 : 송,수신측만 알고 있는 공유키. √ 시스템 인증 system authentication, 데이터 근원지 인증 data origin authentication ※ 개인키 인증(사용자 인증) - 개인 키의 사용을 요구. ※ 대칭키 인증 - 한 사용자가 아니라 한 컴퓨터나 해당 장치에 국한되기 때문에 인증의 가장 약한 형태를 제공한다. ☞ HMAC 함수는 대칭 키(비밀키)를 목적지에 전송하는 것에 관계하지 않는다.
  28. 28. ☞ IP보안을 위한 MAC 의무 구현 사항으로 선정 ☞ SSL 에서 사용 ☞ IPSec에서 무결성 체크를 위해서 AH, ESP에서 구현됨 1.7.2.2 CBC-MAC MAC 생성을 위해서 블록을 사용 1) CBC-MAC 계산 = CBC-MAC함수(메시지, 개인키) == CBC의 맨 마지막 블록 2) 메시지, CBC-MAC 전송 3) 수신자, CBC-MAC함수(메시지, 개인키) 계산<->전송받은 CBC-MAC과 비교 √ HMAC과 달리 해싱 알고리즘을 사용하지 않는다. √ 비밀키를 갖지 않은 사람은 누구도 동일한 MAC값을 계산해낼 수 없다. 단점 CBC-MAC is secure only for fixed-length messages HMAC보다 느리다는 단점이 있다. 1.7.2.3 CMAC CBC-MAC의 수정된 버전. https://en.wikipedia.org/wiki/One-key_MAC CBC-MAC --> XCBC-> OMAC -> OMAC1(CMAC) 1.7.3 다양한 해싱 알고리즘 해시 함수 - 메시지의 지문 fingerprint 제공
  29. 29. 1.7.3.1 cryptographic salts ☞ improve the security of password hashing. ☞ 패스워드를 해싱하기 전에 솔트를 추가함 ☞ rainbow table 공격에 효과적인 방어 1.7.4 MD2 1.7.5 MD4 1.7.6 MD5 128비트 메시지 다이제스트 1.7.7 SHA 해시값: 160비트, DSA와 사용됨 1.7.8 HAVAL MD5의 수정본 Hashing Algorithm with Variable Length of output 1.7.9 타이거 64비트용 해싱 함수 해시값 : 192비트 대부분의 해시 알고리즘(Md5, RPIEMD, SHA-0, SHA-1)은 기존의 알고리즘에서 파생되거나 MD4를 기 반으로 설계됨. 타이거는 다른 해시 알고리즘에서 발생한 취약점을 극복하기 위해서 개발됨
  30. 30. 1.7.10 SHA-1 produces a 160-bit message digest 1.7.11 SHA-2 supports variable lengths, ranging up to 512 bits. 1.7.12 SHA-3 remains in development and NIST may release it in final form soon. 1.7.13 디지털 서명 발신자의 개인키로 암호화한 메시지 다이제스트 제공 서비스 - 인증(누가 보냈는지), 무결성(해시함수 참여), 부인방지 ☞ 특징 √ 위조불가, 부인방지, 재사용불가, 변경불가, 서명자인증 √ 재사용불가 : 한번 서명한 서명문은 다른 문서에 사용할 수 없다. ☞ 절차 √ 디지털 서명값 = 메시지 ->해시 함수 -> 메시지 다이제스트 ->송신자의 개인키로 암호화 √ 메시지, 디지털 서명 전송 ☞ 서명 검증 절차 √ 수신자, 메시지->해싱-> 다이제스트 계산, √ 디지털 서명값을 송신자 공유키로 복호화해서 전송된 다이제스트 확보 √ 두 다이제스트 값 비교 ※ MAC값과 전자서명값 비교 MAC값 : MAC(메시지, 비밀키) , 메시지+MAC 전송 전자서명값 : 메시지의 다이제스트(메시지의 해싱값)를 개인키로 암호화한 값, 메시지 + 서명값 전송
  31. 31. 1.7.14 DSS(디지털 서명 표준) ▣DSS, Digital Signature Standards ▣ 정부 인증 활동을 위한 디지털 서명을 위해 사용되는 승인된 알고리즘을 정의하는 미국 표준 ▣ 사용 알고리즘 ☞ 메시지 다이제스트 함수 : SHA-1, SHA-2 ☞ 암호화(전자서명) 알고리즘 : DSA, RSA, ECDSA(Elliptic Curve DSA ) ※ DSA 디지털 서명 알고리즘 Digital Signature Algorithm, 미국 NSA에서 개발 디지털 서명만을 위해서 개발. RSA 보다 느림. 1.8 PKI-공개키 기반 구조 ▣ 제공되는 보안 서비스 ☞ 키 전달 ☞ 기밀성(비밀키), 무결성(해시) ☞ 전자서명 - 인증, 부인방지, 무결성 ■ 공개키 암호화 구조 구현 ■ 구성요소 ☞ CA(Certificate Authority, 인증기관) ☞ RA(Registration Authority, 등록 대행 기관) ☞ VA( Validation Authority, 검증 기관) √ 사용자 인증서의 유효성 확인 대행 √ 유효성 결과에 대한 통보 실시 ☞ 디렉토리 √ 주로 LDAP을 이용한 디렉토리 서비스 제공 ☞ 사용자 ■ 인증서 규격 ☞ ITU-T 제안의 X.509 v4 ■ PKI 인증서 검증 방식 ☞ CRL( Certificate Revocation List ) √ CA에서 생성하는 인증서에 대한 폐지 목록
  32. 32. ☞ OCSP( Online Certificate Status Protocol ) √ 실시간으로 인증서의 유효성을 검증할 수 있는 프로토콜 √ CRL을 대신하거나 보조 √ 은행의 고액거래, 이동단말기의 전자 거래 등에서 활용 ☞ 인증서가 폐기되는 이유 √ 공개 키를 신뢰해서는 안 된다는 것을 경고하기 위해서 √ 직원이 회사를 그만두거나, √ 이름을 변경하고 새로운 인증서를 필요로 하기 때문이거나, √ 대부분은 개인키가 손상되었기 때문에 1.8.1 인증 기관 CA는 인증서를 생성할때마다 모든 인증서에 자신의 이름을 삽입 CA 자신의 개인키를 이용하여 인증서에 전자서명 1.8.2 인증서 1.8.3 등록 기관 1.8.4 PKI단계 1.9 공개 키 암호화와 공개키 인프라스트럭처 ☞ 공개 키 암호화 public key cryptograph는 비대칭 알고리즘을 사용한다. 비대칭 알고리즘과 공개키 암호화는 같은 의미로 상호 교환해서 사용될 수 있다. ☞ 비대칭 알고리즘 예) RSA, ECC, Diffie-Hellman, El Gamal, LUC, Knapsack ☞ 공개키/개인키 쌍을 생성, 키 교환(key exchange)이나 키 동의(key agreement)를 수행. 디지털 서 명을 검증하는데 사용
  33. 33. ☞ Diffie-Hellman은 키 동의만 수행. 디지털 서명을 생성하거나 검증할 수 없다. ☞ 공개키 인프라스트럭처 PKI는 알고리즘, 프로토콜, 어플리케이션이 아니다. 공개 키 암호화에 기반 을 둔 인프라스트럭처이다. 1.10 키 관리 ☞ 키 생성, 분배, 저장공간 보호, 복구, 파괴를 포함한 전반적인 키 관리 프로세스 ☞ 키에 대한 감사 증적 관리 감사 로그( Audit Log)는 다음과 같은 암호화 작업이 일어날 때 감사 증적(Audit trail)을 남긴다. When any Key Policy settings are changed When Key Officers are added, changed or removed When Master Encryption Keys (MEKs) are loaded or set When Key Stores are created or translated When Data Encryption Keys (DEKs) are created, changed or deleted When Field Encryption Registry entries are added, changed, removed, activated or deactivated When any functions are denied due to improper authority When data is encrypted or decrypted with a key that requires logging of those events ☞ 대칭키 방식의 키 관리 √ 필요 키 갯 수 : N(N-1)/2 ☞ 비대칭키 방식의 키 관리 √ 필요 키 갯수 : 2N ※ 키 관리에 포함되는 것은? 키의 생성 및 파괴 키 에스크로는 아니당~ 1.10.1 키 관리 원칙
  34. 34. 1.10.2 키와 키 관리를 위한 규칙 암호화 용도 1.11 TPM-신뢰 플랫폼 모듈 ▣ Trusted Platform Module ☞ TCG그룹에서 고안(Trusted Computing Group) ☞ 현대식 컴퓨터의 마더보드에 설치되어 있는 마이크로칩. ☞ 키, 패스워드 및 디지털 인증서와 같은 보안 집약적인 데이터의 저장 및 처리를 위한 피난처를 제 공 ☞ 암호화 기능을 수행하는 부가적 모듈들을 가진 안전하게 고안된 마이크로 컨트롤러. 1.11.1 TPM사용 ■ 하드디스크 드라이브 ‘바인딩’ ☞ 디스크 컨텐트는 암호화되고 해독키는 TPM칩에 저장된다. 하드 디스크 드라이브에 첨부되어 있 는 콘텐트를 다른 시스템으로 회수하려는 시도를 어렵게 만든다. ☞ TPM칩의 고장 시에는 키의 백업이 에스크로되어 있지 않은 한 하드 드라이브의 콘텐트가 사용 불가능으로 된다. ■ 시스템 상태의 밀봉sealing TPM은 시스템의 설정 파일들의 해시값을 생성하여 시스템의 메모리에 보관( 밀봉 ) 밀봉된 시스템은 오직 TPM이 시스템 설정의 무결성을 ‘밀봉’값과 비교한 후에 활성화된다. 1.12 링크 암호화와 단대단 암호화 ■ 링크 암호화 ☞ 주로 물리 계층에서 암호화. ☞ 전체 패킷이 암호화, 라우팅 정보까지 암호화하여 트래픽 분석을 어렵게 한다. ☞ 각 홉에서 암, 복호화.
  35. 35. ☞ 각 링크당 한 셋트의 키만 필요함 ☞ “온라인 암호화” 라고도 불림. ☞ 일반적으로 서비스 공급자에 의해서 제공되고, 네트워크 프로토콜에 통합됨. ■ 종단간 암호화 ☞ 주로 어플리케이션 계층에서 암호화. ☞ 헤더와 트레일러를 암호화하지 않음. 트래픽 분석에 취약함 ☞ 각 종단에서 암, 복호화 ☞ 사용자 인증 등 높은 수준의 보안 서비스 제공 ☞ 오프라인으로 암호화된다. 서로 다른 계층에서의 암호화 암호화는 운영 시스템과 네트워크 스택의 서로 다른 계층에서 발생할 수 있다. 종단간 암호화 - 어플리케이션 계층 SSL 암호화 - 트랜스포트 계층 PPTP 암호화 - 데이터링크 계층 링크 암호화 - 데이터링크와 물리적 계층에서 발생 1.13 공격 1.13.1 암호 해독(암호 분석) ☞ 목적 . 암호화에 사용된 키를 알아내기 . 사용된 알고리즘의 강도를 시험하기 ☞ 알고리즘과 평문, 암호문에 대해 알고 있는 지식에 따라서 공격의 강도와 암호문 해독에 걸리는 시간이 달라진다. ☞ 알고 있는 정보에 따라서 암호문 해독 공격 유형을 구분할 수 있다. ☞ “Known 정보” - “어쩌다 알려진 정보”을 이용할 수 있는 환경 ☞ “Chosen 정보” - “원한다면 선택한 정보”를 이용할 수 있는 환경
  36. 36. 1.13.2 암호문 단독 공격(COA) ☞ Ciphertext-Only Attack ☞ 공격자는 오직 암호문들의 집합에 지속적으로 접근할 수 있는 환경을 가정 ☞ 계속해서 암호문의 흐름에 접촉할 수 있는 상황 ☞ 무의미한 내용에서 실제 메시지를 구별하는데 유용. ☞ 공격자의 Traffic Analysis에도 도움이 된다. ☞ 암호문만 갖고 있어 WF 높음. ☞ 무차별 공격 대응책 - OTPad 1.13.3 알려진 평문 공격 ☞ Known-Plaintext Attack ☞ 공격자가 알려진 평문과 그것의 암호문을 가질 수 있는 환경 ☞ 메시지는 동일한 유형으로 시작하고 동일한 유형으로 끝난다. ☞ 일부의 (평문, 암호문) 쌍 예 ) 어떤 장군은 특정한 서두 인사말로 시작하고 특정한 맺음말, 이름, 연락처로 끝나다.  그 장군 이 보내는 암호화된 서신을 입수해서 서두말, 맺음말 등에 대한 암호문을 얻을 수 있다. 이것을 이용해서 키를 밝혀 내는데 사용할 수 있다. 예) 이메일 인사말 1.13.4 선택된 평문 공격 ☞ Chosen-Plaintext Attack ☞ 공격자가 임의의 평문을 선택할 수 있고, 그것의 암호문을 얻을 수 있는 환경에 있다고 가정 ☞ 임의의 (평문, 암호문) 쌍 이용 예) “공격자가 보낸 평문의 이메일을 당신은 당신의 친구에게 암호문으로 보내고, 공격자는 암호문을 스니핑할 수 있다”
  37. 37. 1.13.5 선택된 암호문 공격 ☞ Chosen-Ciphertext Attack ☞ 키는 알려지지 않은 상태에서 선택된 암호문을 복호화할 수 있는 환경 가정. . Decryption Oracle - 복호화 기계. 무인 ☞ 선택된 암호문과 복호화 결과를 분석해서 비밀키를 알아낼 수도 있다. 1.13.6 Adaptive-* 공격 예)Adaptive Chosen Plaintext, Adaptive Chosen ciphertext Adaptive라는 접두어가 붙어있는 공격은 파생된 공격 형태를 말한다. 원래의 공격을 수행하고 그래서 수집된 정보에 의거해서 다음 공격을 수정할 수 있다는 것이다. 첫번째 공격의 결과를 이용해서 역공 학을 수행하거나 암호 분석 공격을 하는 과정이다. 1.13.7 미분 암호 분석 DES에 대한 공격으로 발명 일종의 선택된 평문 공격 평문으로 된 두개의 메시지를 취해서 서로 다른 S-boxes( 동일한 키로 암호화된다)를 통과한 후의 결 과들을 관찰한다. 계속적인 관찰로 공통적인 키에 대한 확률을 높여가서 결국 키를 찾아내는 공격법. 1.13.8 선형 암호 분석 알려진 평문 공격을 수행 공격자는 각 S-box의 입력과 출력값을 분석 1.13.9 사이드 채널 공격 ☞ 암호화 키를 알아내기 위해서 수학적으로 내부에서 작업하는 대신에 외적인 속성, 특징 같은 정 보를 수집하여 이용하는 공격기법 ☞ 암호화에 해독에 사용되는 전력 소비, 방사 방출, 데이터 처리에 소용되는 시간 등을 측정해서 역공학을 수행 ☞ 스마트카드에서 중요 정보를 알아낼 수 있다. ☞ 암호화 과정에 걸린 상대적인 시간을 측정해서 RSA 개인 키가 발견되었다.
  38. 38. 1.13.10 재생 공격(Replay attack) 타임 스탬프와 일련 번호가 재생공격에 대한 2가지 대안 스트림 복사  (변경)  재전송 두 당사자 간에 오가는 메시지 스트림을 복사해서( 변경할 수도 있음), 하나 이상의 당사자에게 스트 림을 재생하여 전송 1.13.11 대수 공격 알고리즘에 사용된 수학의 취약성을 분석하고 내재하는 대수 구조가 착취된다. 예를 들어 RSA 암호 시스템의 ‘textbook’에 대한 공격은 원문 ‘0’에 대한 암호가 ‘0’이라는 것과 같은 알고리즘의 특성들을 이용한다. 1.13.12 분석 공격 반복 입력 공격과 달리 알고리즘의 구조적인 취약성이나 결함을 찾아낸다. Double DES공격, RSA factoring공격 1.13.13 통계 공격 알고리즘의 통계적 취약성 이용 난수 발생기(RNG)의 결과가 일부 영역(0 또는 1)에만 치우친다고 생 각해보다. 통계적 치우침에 대한 지식이 있다면 키를 알아내는 시간을 줄일 수 있을 것이다. 1.13.14 사회 공학 공격 1.13.15 Meet-in-the-Middle 공격 수학 문제를 양단에서 시도하여 깨려는 수학적 분석을 말한다. ☞ attack to defeat encryption algorithms that use two rounds of encryption. ☞ attack demonstrated that it took relatively the same amount of computation power to defeat 2DES as it does to defeat standard DES.
  39. 39. ☞ This attack is the reason that Double DES (2DES) was quickly discarded as a viable enhancement to the DES encryption (it was replaced by Triple DES, or 3DES). The meet-in-the-middle 1.13.16 중간자 공격 Man in the Middle In the man-in-the-middle attack, a malicious individual sits between two communicating parties and intercepts all communications (including the setup of the cryptographic session). The attacker responds to the originator’s initialization requests and sets up a secure session with the originator. The attacker then establishes a second secure session with the intended recipient using a different key and posing as the originator. The attacker can then “sit in the middle” of the communication and read all traffic as it passes between the two parties. 1.13.17 역공학 역공학을 통해서 암호화 제품의 약점과 알고리즘의 동작방식을 알아채는 방법 1.13.18 난수 발생기 공격 난수 발생기의 난수 생성 로직의 쉬운 예측성이용 수년전, 넷츠케이프에 설치된 SSL에 대한 공격이 성공 1.13.19 임시 파일 대부분 암호화 시스템은 계산과정에서 임시파일을 사용한다. 임시 파일이 제거되지 않았다면 그 정보 로 암호화가 깨질 수 있다.
  40. 40. 1.13.20 Factoring attack 이 공격의 목표는 RSA 알고리즘 1.13.21 DPA(Differential Power Analysis) 1.13.22 생일 공격 ☞ 해시 함수에서 “충돌(collision)을 찾아내려는 공격 ☞ 해싱 함수 내에 충돌을 발생시키는 확률 이론의 생일 문제에 존재하는 수학을 착취하는 암호화 공격 ※ Collision - 두 가지 서로 다른 메시지가 동일한 해싱 알고리즘에 의해 동일한 해시값을 산출하는 경우

×