프로그래밍 농장

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

TCP-IP 프로토콜

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

Tennessee201 2021. 10. 9.
728x90

Symmetric -> Single key (하나의 키)  = sender와 reciever가 동일한 키를 가져야한다는 의미 

-> 그렇기에 sender가 암호화하여 보낸것을 decryption 가능 

-> Encryption할떄와 Decryption 시 key가 둘다 필요하지만 동일하기에 하나의 키만 사용하는 것이다. 

 

 

 Security Objectives ( 보안의 기본 목적 )

- Confidentiality : Hiding message/file content(메시지나 정보를 숨김)  [ Secret key, public key encryption ] 기밀성

   -> 나와 통신을 하도록 의도되어져있는 사람만 통신가능 

- Integrity : Detecting modification(변경,수정된 것을 감지) [ Hash function ] 무결성

- Availability : Not much - hiding existence of data [ Secret key, public key encryption ] 가용성   ex) DDOS . .

- Authenticity : Verify origin [ Public key encryption ] 인증

- Non - repudiation : Verify activity [ Public key encryption ] 부인방지


- Cryptanalysis 

Cryptanalysis의 목표  : Break message 

                             : Break Key

                             : Break algorithm

-> 일반적으로 사용되는 크립토 알고리즘은 open(오픈소스) 이다. 

-> 정보를 안전하게 보호하는것은 크립토알고리즘에서 이루어지는것이 아니라, 사용하는 Key의 기밀성, 안전성에서 이루어지는것이다. 


- Taxonomy of Attacks [ 일반적인 공격의 방법들 ]

1. Ciphertext-only attack  : Key를 유추하고 역으로 Plaintext를 유추  [초기]

2. Known plaintext attack : 익히 알려져있는 일반 plaintext를 가지고 key나 알고리즘을 유추  [초기] 

3. Chosen plaintext attack : 선택된 plaintext에서 Ciphertext수집 ->  key나 알고리즘을 유추

4. Chosen ciphertext attack : 선택된 Ciphertext 수집 -> decryption /reverse engine 을 돌림->key나 알고리즘 유추


- Breakable vs Practically breakable 

- Computationally secure ? -> 연산(com) : 100일 | key change : 30일  ->  안전한 시스템 

- 모든 알고리즘은 breakable 함.


 

-> What makes a good cyptosystem ?

-> 그렇다면 좋은 암호화시스템이란 ? 

: key 의 안전성, 기밀성에 의해 정해짐 not about 알고리즘 

728x90