Security requirement triad

  • Confidentiality : 기밀성
  • Integrity : 무결성
  • Availability : 가용성

image

Security Problem

아무리 기술적으로 완벽해서 완벽한 시스템은 없다. 어쨌든 사람이 운용하는 것이기 때문에 훔침/뇌물/협박/폭력 등등으로 보안에 문제가 발생할 여지가 있다.

Terminology

  • Vulnerability - 취약점
  • Threat - 협박
  • Attack - 공격
  • Adversary - Attacker
  • Countermeasure - 취약점을 방어하는 것

Security Services

Auth, Access control , Nonrepudiation(송금했을 때 은행에서 너가 이때 송금하지 않았느냐 증명할 수 있어야하는 것)

File system security

Setuid / setgid Search paths : 많이 쓰는 것을 환경변수로..

Network Security

허가되지 않은 사용자가 remote에서 접근을 제어한다. 프로토콜을 제대로 사용하도록 유도한다. https 등. Firewall .. IDS..(Host/Network).. IPS(특정지역에 들어가면 인터넷이 끊어지도록 설정)

Cryptography

  1. Shared key cryptography

암호화와 복구화의 키가 같다. 양쪽이 공유하고 있는 shared key로 암호화와 복구화를 진행한다. 이때 누구에게나 내용이 전달되더라도 키를 가진 사람만 복구화 할 수 있다.

이슈는 둘 사이에 어떻게 키를 주고 받나! DES(Data Encryption Stadndard) / AES(Advanced Encryption Standard)

image

  1. Public key cryptography

암호화와 복구화의 키가 서로 다르다. 개인별로 키를 가지고 있으며 모두 퍼블릭키를 가지고 있다. B의 퍼블릭 키로 암호화했으면 B의 프라이빗 키를 알고 있어야한다. 그리고 그 키는 B만 가지고 있으므로 B만 읽을 수 있다. 두 번째는 자기 자신의 프라이빗 키로 암호화한다. 그러면 A의 퍼블릭 키로 열 수 있는데, 퍼블릭 키는 모두 가지고 있으므로 모두 열 수 있다. 이 텍스트는 A가 만들었다고 하는 것이 증명이 된다.

RSA는 오버헤드가 크기 떄문에 작은 데이터에만 사용한다.

image

조합하면 보내는사람(웹)과 받는 사람(서버)가 같은 쉐어드키를 공유하면서 암호화 복구화한다. 이슈는 쉐어드키를 어떻게 공유하느냐??

A에서 키를 하나 생성하고 웹 서버의 퍼블릭 키(모두아는것)으로 암호화한다. 그리고 인터넷으로 전달하고 서버에서 웹 서버만 알고 있는 프라이빗 키로 복구화를 해서 서로 같은 쉐어드키를 공유할 수 있다.

image

Digital Signature

100만원을 누구에게 보낸다라는 데이터가 존재한다고 할 때 모든 데이터를 암호화하기에는 양이 많아 Hash해서 데이터양을 줄인다. 원문을 보내고, Hashed data를 A의 프라이빗 키로 암호화해서 보낸다. 서버는 원문을 hash 하고, A의 퍼블릭 키로 복구한 값(A에게서 온것이 확실한 값)을 비교한다.

image

VPN (Virtual Private Network)

원래 전용선을 깔아야하는데 비용 때문에 소프트웨어로 만드는 것이다. Auth, 암호화 복구화를 통해 프라이빗한 네트워크로 쓸 수 있다.

image

업데이트:

댓글남기기