CS_Developer
[Network Sec] #2 네트워크 보안: 개요 본문
해당 포스팅에서는 정보 보안과 네트워크 보안의 개요에 대해 설명하도록 하겠다.
정보보안의 3요소와 추가 요소
- 기밀성 (Confidentiality)
- 무결성 (Integrity)
- 가용성 (Availability)
- 서버 인증 (Server Authentication)
- 클라이언트 인증 (Client Authentication)
주로 기밀성, 무결성, 가용성을 묶어서 'CIA'라고 칭한다.
기밀성
허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것이다. (핵심)
프라이버시 보호와도 밀접한 관계가 있다. 비밀보장.
네트워크 보안의 측면에서 기밀성은 '시스템 간 안전한 데이터 전송'과 관련이 있다.
스니핑(Sniffing)은 기밀성을 해치는 가장 일반적인 공격 행태이다.
통신의 암호화가 가장 일반적인 보안 대책으로 강구되고 있다.
다시 말하자면 기밀성은 비밀이다. 타인이 알지 못하도록 하는 것!
무결성
허락되지 않은 사용자 또는 객체가 정보를 함부로 수정할 수 없도록 하는 것이다.
네트워크에서의 무결성은 '클라이언트와 서버 간의 데이터가 변조되지 않고 전송되는가'와 관련이 있다.
중간에 유효한 다른 연결을 빼앗는 세션 하이재킹, 두 시스템 간의 데이터를 중간에 변조하는 MITM 공격은 무결성을 해치는 대표적인 공격이다. 통신의 암호화가 가장 일반적인 보안 대책이다. (PKI와 밀접한 관련이 존재한다.)
즉, 타인이 나의 정보 등을 함부로 수정 못하도록 막는 것!
가용성
허락된 사용자 또는 객체가 정보에 접근하려고 할 때 방해받지 않도록 하는 것이다. DOS가 가용성을 해치는 대표적인 공격이다.
덧붙이자면, DOS공격을 하여, 정상적인 사용자들이 은행업무를 볼 수 없게 하는 것을 막아야 한다!
서버 인증
'클라이언트가 올바른 서버로 접속하는가'를 의미한다. 서버 인증으로 생기는 문제는 무척 다양하고, 일반적으로 DNS 스푸핑이나 서버 파밍 등이 존재한다. SSL(HTTP에 SSL을 추가하여 HTTPS)를 통해 서버 인증을 하지만, 경고를 보여주고 사용자에게 선택을 하게 하는 것이 일반적이기 때문에 강제적으로 서버를 인증하는 것은 흔치 않다. 즉, 서버를 인증하는 것은 사용자의 몫이라는 것!
클라이언트 인증
'올바른 클라이언트가 접속을 시도하는가'를 의미한다. 웹 사이트에 접근할 때 우리가 주로 사용하는 아이디, 패스워드가 대표적인 클라이언트 인증의 예이다. 클라이언트 인증과 관련된 해킹은 스푸핑, 세션 하이재킹, 피싱 등이 존재한다.
이 포스팅에서 간단하게 보안의 요소에 대해 알아보았다. 보안의 요소는 우리가 보안에 대해 이야기를 하고, 개발을 할 때 자주 등장하게 되는 것들이다. 그렇기 때문에 위의 5가지의 개념을 알아두는 것이 나중을 위해 좋을 것이다.
다음 포스팅에서는 프로토콜에 대해 알아보도록 하겠다.
'Computer Science > Network Security' 카테고리의 다른 글
[Network Sec] #1 네트워크란? (0) | 2020.09.10 |
---|