정보보안

1. Introduction

아뵹젼 2021. 10. 30. 14:38

What is Security?

Security 는 Confidentiality, Integrity, Availability 3가지로 균형잡혀 있다. 

 

Cryptographic Objectives

암호학의 목적은 무엇일까?

Threats
Exposure of data ->
Tampering with data ->
Impersonation ->
Exposure of personal information ->
Identification of individual ->
Denial of service ->
Forbidden access ->

Goal
Confidentiality
Integrity
Authentication
Privacy
Anonymity
Availability
Authorization

 

- Confidentiality

기밀성이란 정보를 다른 사람이 접근할 수 없도록 감싸거나 보호하는 방식이다.

encryption 을 사용하여 기밀성을 유지할 수 있다.

 

- Integrity

송수신되는 정보의 내용이 추가, 삭제, 변경, 지연 되지 않도록 보호되어야 하는 성질이다.Cryptographic Hash, SHA, Message Authentication Code 를 사용해서 무결성을 유지할 수 있다.

 

- Authentication

사용자임을 식별할 수 있다는 것을 의미한다.digital signature 을 통해 인증성을 확인할 수 있다.

 

- Non-Repudiation

 

Sender가 Receiver에게 어떤 정보를 보냈는데, 나중에 그런 정보를 보낸 적 없다며 자신이 한 일을 부인하는 것을 말합니다. 

따라서 digital signature(who) + notarization(what, where) 로 이를 증명할 수 있다.

 

- Privacy

자신에 대한 정보를 다른 사람들에게 선택적으로 공개할 수 있는 권리를 뜻한다.

 

- Anonymity

익명성이란 개인이 다른 사람들과 구별되지 않는 것으로, 식별할 수 없는 상태를 뜻한다. 

 

- Authorization 

이용자가 자원에 접근할 수 있는 올바른 권리를 확인 및 부여하는 것이다.access control 이란 label, date/time, IP address, domain 등을 통해 인증된 장치를 제한할 수 있는 것이다.

 

- Availability

허가받지 않는 대상들이 정보에 접근하는 것을 방지하고, 허가된 대상들만 접근할 수 있도록 하는 것이다.Cryptography 만으로는 Dos 공격을 막을 수 없다. 따라서 Cryptography 와 다른 기술들(Backup, Redundancy, Traffic Monitoring and Analysis, Redirectrion) 들이 필요하다.

 

 

Cryptology

cryptology 란 단어는 암호학이란 뜻으로, 그리스어로 hidden word 라는 뜻을 가진다.즉, 암호학은 특정 단어의 기밀성과 보안성을 위해 뜻을 숨기는 것이다.암호학은 암호화 기법인 Cryptography 와 암호해독 기법인 Cryptanalysis 로 나뉜다.

 

 

- Cryptography

Plaintext 의 의미를 숨기는 다양한 방법론이다.cipher 란 plaintext 를 ciphertext 로 변환하는 함수이다.

 

- Cryptanalysis

ciphertext 로부터 plaintext 를 결정하는 과정 -> 암호해독 을 뜻한다.

 

Encyprtion/Decryption

- Encryption : Plaintext -> Cipher text C = E(M, K) // 메세지와 key 가 input, Ciphertext 가 output

C : Ciphertext, E : Encryption, M : message, K : Key

 

- Decryption : Cipher text -> PlaintextM = D(C,K) // Ciphertext 와 key 가 input, 메세지가 output

 

 

-  Kerckhoffs Principle

  • cipher 의 security 는 cipher 의 알고리즘의 기밀성을 지키는데 의존하는 것이 아니라 오직 key 의 기밀성을 지키는데 의존해야 한다.
  • Attacker 는 key 를 제외한 E, D 알고리즘을 추측할 수도 있다.

 

- Symmetric Encryption

암호화와 복호화에 같은 key 를 사용하는 알고리즘이다.

 

- Assymetric Encryption

암호화와 복호화에 서로 다른 key 를 이용하는 알고리즘이다.

공개키를 이요해서 암호화하고, 공개키에 해당하는 개인키를 이용해 복호화한다.

 

 

Message Authentication/Hashing

요구사항

1. H(M) 은 계산하기 쉬워야 한다.

2. Preimage Resistance

H(x) 가 주어졌을 때 M을 찾아내기 어려워야한다. 즉, 역추적이 어려워야 한다.

3. Collision Resistance

H(M1) = H(M2) 인 M1 이 주어졌을 때 다른 M2 를 찾는 것이 어려워야한다. (Weak)

H(x) = H(x') 가 되는 x'≠x 를 찾는 것이 어려워야한다. (Strong)

4. Avalanche Effect

값이 조금만 바뀌어도 많은 변화가 있어야 한다. 즉, 연관성을 알지 못하도록 해야한다.1-bit 의 변화가 50% 에 가까운 bit 변화를 도출해낸다.

 

 

Digital Signature

송신자가 자신의 비밀키로 암호화한 메시지를 수신자가 송신자의 공용키로 해독하는 방식이다.

 

 

Randomness

대부분의 암호 시스템에선 random 생성이 요구된다.

따라서 CSPRNG 는 next-bit Test 를 통과해야 한다.

next-bit Test : k개의 bit 가 주어졌을 때, (k+1) 번째 bit 를 50% 보다 좋은 확률로 예측할 수 있으면 안된다.