CS/정보보안

01. Introduction

nolzaheo 2021. 9. 11. 19:01
728x90

<강의 개요>

-네트워크 보안

-네트워크와 시스템에 가해지는 공격

-시큐어 커뮤니케이션 이론

-전통적인 암호화 시스템 (Symmetric Key)

-암호화를 위한 기초수학

-공개키 암호화 (Asymmetric Key)

-분산 시스템 보안

-보안 프로토콜

-개선된 암호화 기술

 

<기존 네트워크 보안 이슈>

-틱톡 어플의 보안 허점이 발견된 바 있음

 

-중국의 해커가 미국의 더타임즈를 백도어를 통해 공격함

-Stuxnet이라는 웜바이러스의 등장 : 제로데이 공격을 통해 산업시설을 감시 및 파괴함

  *제로데이 : 특정 소프트웨어의 아직까지 공표되지 않은, 혹은 공표되었지만 아직까지 패치되지 않은 보안 취약점을 이용한 해킹

 

-Shamoon 바이러스 등장 : 샤문은 시스템의 MBR 및 파일 변조를 통해 시스템을 파괴하며, 공격자에게 감염 시스템의  악성행위 결과정보를 전송하는 등의 악성 기능을 수행함

  *MBR : 시스템 부팅에 필요한 정보를 저장하고 있는 시스템 부트 영역

 

Security Requirements, 보안 요구사항

Security(보안)이란, 정보의 contidentiality(기밀성), integrity(무결성), availabilty(가용성), 즉, CIA를 보존하는 것이다. 권한이 없는 접근으로부터 정보를 보호하는 것이다. 

 

정보 전송의 경우

-Sender : 적절한 수신인인가?(Authentication), 유출되지 않는가?(Confidentiality)

-Receiver : 적절한 발신인인가?(Authentication), 변형되지 않았는가?(Integrity)

 

투표의 경우

-Voter : 나에 대한 정보가 공개되는가?(Anonymization), 내 선택이 공개되는가?(Privacy)

-Vote Counter: 투표할 권한이 있는 투표인인가?(Authorization), 유권자가 투표장소에 접근할 수 있는가?(Availability)

 

문제 및 해결

1)데이터

노출 → 기밀성(Confidentiality)

변환 → 무결성(Integrity)

 

2)개인

인간 흉내 → 인증(Authentication)

정보노출 → 사생활 보호(Privacy)

개인정보 → 익명성 (Anonymity)

 

3)시스템

DoS → 용이성(Availability)

제한된 접근 → 권한 통제(Authrization, Access Control)

 

  위처럼 보안을 위한 요구사항으로는 Confidentiality, Integrity, Authentication, Non-Repudiation, Privacy, Anonymity, Authorization, Availability 등이 있으며 각 용어의 뜻은 다음과 같다.

 

1) Confidentiality, 기밀성

정보를 타인으로부터 접근 불가능하게 하는 것

Tool: cryptography(ex.encryption)

 

2) Integrity, 무결성

정보가 전달되는 동안 변질되지 않는 것. 정보가 변질되었음에도 불구하고 그것을 눈치채지 못하게 하는 공격수법이 있다. 따라서 정보에 추가, 삭제, 수정, 지연 등의 변화가 생기지 않도록 해야한다.

Tool: cryptography(ex.SHA, MAC)

 

3) Authentication, 인증

접근자의 신원을 확인하는 것. 본인임을 증명할 수 있어야한다. 인증 방식으로는 양방향 확인, 단방향 확인, 양방향 미확인이 있다.

Tool: cryptography(ex. digital signature)

 

4) Non-Repudiation, 부인 방지

데이터를 송신한 자가 송신 사실을 허위로 부인하는 것으로부터 수신자를 보호하기 위하여 증거를 제공하는 것.

데이터를 송신하는 등 통신 과정에서 발생한 이슈를 누가 발생시켰는지 알 수 밖에 없도록 설계해야한다.

Tool: cryptography(ex. digital signature(who)/+notarization(what,where))

 

5) Privacy, 사생활 보호

사용자 혹은 장치의 정보를 어느정도 노출할 것인지에 대해 결정하는 것. 사용자는 자신의 정보를 얼마나 공유할 것인지 선택할 권리가 있다.

Tool: cryptography(ex. encryption)

 

6) Anonymity, 익명성

다수의 개체 안에서 한 개체의 신원을 파악할 수 없는 것. 즉, 신분을 알 수 없는 상태.

개체의 수가 많아질수록 익명성이 더욱 더 강해진다.

Tool: randomization, k-anonymity, l-diversity,...

 

7) Authorization(Access Control), 권한부여(접근 통제)

자원에 접근할 수 있는 권한을 확인하는 것

권한 부여 전 Aceess Control 과정을 통해 사용자를 확인한다.

 

8) Availability, 용이성

권한이 없는 사용자가 자원을 소모하는 것을 방지하는 것

권한이 없는 사용자가 서비스에 접근하지 못하게 하여 DoS와 같은 공격을 시도하지 못하게 한다.

Tool: Cryptography+Other Techniques(Back up, Redundancy, Traffic Monitoring and Analysis, Redirection, etc.)

 

Cryptography and Cryptanalysis, 암호화 및 암호해독

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

암호학의 영역

<Cryptography>

Plain text의 의미를 숨기는 다양한 방법론

* cipher:평문을 암호문으로 변환하는 함수

Tools : Encryption/Decryption, Message Authentication Code(Hashing), Digital Signature

 

1) Encryption/Decryption

- Encryption : Plain text → Cipher text

  C=E(M,K)

  C: cipher, E:encryption, M:message, K:key

 

- Decryption : Cipher text → Plain text

  M=D(C,K)

  C: cipher, D:decryption, M:message, K:key

 

-Kerckhopffs의 원리

  ① cipher의 security는 cipher의 알고리즘의 비밀을 지키는데 의존하는 것이 아니라 오직 키의 비밀을 지키는데 의존해야한다.

  ② adversary가 key를 제외한 우리의 cipher algorithm이나 소프트웨어, 하드웨어 동작방식을 알고있다고 가정해야한다.

  

-두 가지 방식

① Symmetric Encryption(대칭키 암호방식, 비공개키)

암호화와 복호화에 같은 암호키를 쓰는 알고리즘

 

② Asymmetric Encryption(비대칭키 암호방식, 공개키)

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

공개 키를 이용해 암호화하고 공개 키에 해당하는 개인 키를 이용해 복호화하는 암호 방식

 

2) Message Authentication Code(Hashing)

요구사항

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

2. Preimage Resistance

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

주어진 y에 대하여 h(x) = y가 되는 x를 찾는 것이 어려워야한다.

또는 주어진 x에 대하여 h(x) = h(x')가 되는 x'≠x 를 찾는 것이 어려워야한다.

3. Collision Resistance

h(x) = h(x')이 되는 x≠x'의 쌍을 찾는 것이 어려워야한다.

4. Avalanche Effect

값이 조금만 바뀌어도 많은 변화가 있어야한다. 연관성을 알지 못하도록 해야한다.

 

3) Digital Signature

메시지 인증방식은 송수신자의 메시지 교환을 제3자로부터 보호할 수 있지만, 송수신자간의 서로를 보호할 수는 없다는 한계가 존재한다. 송수신자간의 신뢰가 깨진 상태에서는 암호화가 무의미하다.

Digital Signature은 이러한 한계를 극복해준다.

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

 

+) Randomness

  난수성(Randomness)은 각종 정보보안을 위한 암호 알고리즘을 설계하는 데에 있어서 가장 기본적이면서 중요한 항목이며, 난수 생성 기술은 모든 암호 시스템에서 불가결한 기초단위이다.
  좋은 암호 시스템은 좋은 난수발생기를 요구한다. 대부분의 암호 프로토콜은 공격자에게 알려지지 않아야만하는 비밀값을 사용하기 때문에 난수 발생기를 통한 난수 생성을 요구한다.

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

 

<Cryptanalysis>

cipher 함수를 무력화하는 기술

 

Cryptographic Tools, 도구

 

🔗 참고 링크

http://www.ktword.co.kr/test/view/view.php?m_temp1=1681 

728x90

'CS > 정보보안' 카테고리의 다른 글

04. Theory of Secure Communication  (0) 2021.09.24
03. Network and Systems  (0) 2021.09.23
02. History of Cryptography  (0) 2021.09.23