프로그래밍 농장

Cryptography - Symmetric key Encryption 2 [ 네트워크 보안 ] 본문

TCP-IP 프로토콜

Cryptography - Symmetric key Encryption 2 [ 네트워크 보안 ]

Tennessee201 2021. 10. 14.
728x90

- Secret Key Cryptosystem

한쪽에서 대칭키(동일한키)로 암호화(Encryption)가 이루어지면,

reciever쪽에서는 동일한 key로 복구화(Decryption)가 이루어짐

 

대칭키 암호화에서는 K(키) 가 가장 중요 -> 어떻게 배포할것인지가 포인트 : 이게 안될시 -> 무용지물

(Reliable channel(신뢰할수있는 채널)이 아니라, Secure channel(안전한 채널)이 필요함 


- Secret Key Cryptosystem Vulnerabilities 

- 대칭키 암호화 시스템의 취약성 

 

Passive Attacker (traffic monitoring 트래픽 모니터링) : key값을 얻기위한 정보수집단계 ->이후 reverse enginerring . .

- Shoulder attack ? : 말그대로 어꺠너머로(눈으로 직접 수집,기록) 정보를습득하는것 : 결국 정보를 수집하는것 : 강력

 

 Active Attack  :말그대로 직접적인 공격 "Break communication channel" (트래픽 과다전송, Key를 몰라도 공격가능)


- 대칭키 암호화 알고리즘의 가장 큰 약점 : Ingerent Weaknesses of Symmetric Cryptography 

 -> ' Key distribution(키 배포) '

 

대칭키 :  N명의 유저가 있으면, -> (n-1)/2 의 key가 필요하다. 

비대칭키 : N명의 유저가 있으면 -> (nC2) * 4 의 key가 필요하다.


- Basic Encryption Techniques : 일반적인 암호화 기술

-> Substitution (대체) : codebook(암호책)을 가지고 이를 대체하여 실질적인 값 확인 : 26 space of key ( 이점) 

-> Permutation (치환) 

-> Combinations and iterations of these 


Q. Does multiple substitutions increase security ?

   -> 대체를 여러번 하는경우 보안성이 증가될까요? 

1. 맞다 . 공격 하는 사람이 두번이상 복호화를 해야하기에

2. 틀리다. 한번의 대체하는 방식과 거의 동일하기에

3. 각 대체에 따라서 그럴수도, 아닐수도있다. 

 


Q. 현존하는 가장 안전한 키를 생성하는 방법 : 

위와 같은 암호화 기술들 중 현재까지 가장 강력한 방법 : OTP (One-Time Pad)

= 일회성 랜덤 넘버 generate 

: 반복성 x

: Perfect Secrecy 

: 60초마다 Key가 생성됌 

: 물리적으로 동기를 맞추는 시스템 구조 


- 대체, 치환 방법들의 장단점

장점 : 간단 , 쉽게 암호화가능

단점 : 깨기 쉽다 . 


- Transposition : 전치 

단어들의 위치를 섞는것.

장점 : 쉽게 사용가능

단점 : 깨기 쉽다 


secure(보안) ? -> is how many resource are required 

                   -> is how much time is required to get in the target 


-  대칭키 암호화 알고리즘에서 사용하는 대표적인 Method(메소드)들

- DES (초창기사용 -> 취약점 발견 . . ) : Data Encryption Standard

- AES (현재사용) : Advanced Encyption Standard

- RSA (현재사용) : River-Shamir-Adelman 


- 대칭키 암호화 알고리즘에서 사용되는 방식

 

Steam Ciphers : 스팀 사이퍼 ( AES, RSA 에서 사용 )

Plaintext를 하나의 symbol로 변환하여 처리하는 방식 

장점 : 변환속도가 빠르다 , 에러전파확률이 낮다 

단점 : 어떤 암호화 알고리즘을 썼는지 파악하기 쉬움 ( Low diffusion ) 

 

Block Ciphers : 블록 사이퍼 ( 주로 쓰임 )

Plaintext 그룹을 하나의 Block으로 만드는 방식

장점 : 어떤 암호화 알고리즘을 썼는지 파악 어려움 ( High Diffusion )

단점 : 암호화속도가 느리다. 에러 전파확률이 높음 


- DES ( Data Encryption Standard )

 -미국정부에 의해 개발

 - 일반대중들의 사용목적

 - DES key가 22시간 15분 정도만에 뚫리는 취약점 발견 -> 이후 여러 대학들과 공모하여 -> AES 개발 (2001)

 - 56-bit(비트)의 key size(키)를 가짐 /  64bit(비트)의 블럭을 가짐 

 - Encryption과 decryption 알고리즘은 오픈되어있다.

Double DES  

E -> D -> E 의 과정을 거침 

- Triple DES 

Triple DES 

여러개의 서로다른 key를 사용해서 세번 ( 3개의 key가 필요 ) 이루어짐

Order : EDE 

Key size : 64, 128, 192, 256 

 

- DES 에서 사용하는 암호화방식

ECB - Electronic Code Book : 작은메세지에서 유용 but, 동일하게 암호화되기에, 반복적인 plaintext가 들어오면 추론이 쉬운 단점 / long-time 전달방식에서는 유용하지않음

CBC - Cipher Block Chaining : 체인구조 : (IV) Initiation vector가 필요  : ( 이전단계의 값이 필요 ) 

CFB - Cipher FeedBack : 사이퍼텍스트가 다음 BLOCK의 입력으로 들어감 :  (IV) Initiation vector가 필요 : ( 이전단계의 값이 필요 ) 

OFB - Output FeedBack : Encryption된 값이 입력으로 들어감 :  (IV) Initiation vector가 필요 : ( 이전단계의 값이 필요 ) 

Counter mode

 

 -> IV(Initial Vector)값이 요구되는 3가지 : CBC, CFB, OFB

728x90