네트워크 보안의 특성
- 기밀성(confidentiality): 오로지 정해진 sender와 receiver만 서로 주고받는 메세지를 이해할 수 있어야 함
- 인증(authentication): sender와 reciever는 서로를 식별할 수 있어야함
- message integriety: 메세지가 중간에 위변조 되지 않았음이 보장되어야함
- access and availability: 서비스는 24시간 유저가 접근할 수 있어야함
기밀성
대칭키
- 암호화, 복호화하는 키가 같다.
- 연산이 빠르고 효율적이다.
- sender와 receiver가 같은 키를 공유해야하는데 서로 키를 주고받는 것이 어렵다.
비대칭키
- 공개키, 비공개키를 이용한 방식으로 암호화하는 키와 복호화하는 키가 다르다.
- sender는 receiver의 공개키로 암호화해 전송하면 receiver는 본인의 비공개키로 복호화하는 방식이다.
- RSA 암호화방식이 이 대칭키를 이용한다.
- 공개키로 암호화하고 비공개키로 복호화하는 것과 비공개키로 암호화하고 공개키로 복호화하는 것이 모두 가능하다.
- 수학적 연산이 굉장히 많이 들어간다.
비대칭키는 대칭키를 서로 주고받는데에 사용되고 text를 암호화해 전송할 때에는 대칭키를 사용한다.
인증
- sender가 요청을 보내면 receiver는 sender를 식별하기 위해 nonce를 전달한다.
- sender는 해당 정보를 본인의 비공개키로 암호화해 receiver에게 전달한다.
- receiver는 sender로 부터 받은 데이터를 공개키로 복호화해 sender를 식별한다.
message integriety
- 메세지를 비대칭키를 이용해 암호화하면 비공개키는 하나의 sender만 소유하고 있기 때문에 message가 공개키로 복호화될 시 위변조가 되지 않았다고 간주한다.
- 메세지 전체를 비대칭키로 암호화하는 것은 비효율적이기 때문에 주로 hash 값을 암호화한다. (Digital Signature)
SSL (Secure Socket Layer)
- 전송계층의 TCP 프로토콜은 보안과 관련된 기능이 없다.
- 따라서 애플리케이션 계층에서 메세지를 암호화해 전송 계층에 넘겨주는 방식이 고안되었는데 이때 HTTP 메시지를 암호화하는데 SSL이 사용된다.
- HTTP 메세지가 SSL을 통해 암호화되면 이 프로토콜을 HTTPS라고 한다.
- SSL 데이터는 다음과 같이 구성된다.
- length
- data
- MAC: data, 대칭키, type, sequence number를 담고 해시 함수를 통해 생성한 해시값
- 공격자는 대칭키를 알지 못하는 이상 메세지를 위변조 할 수 없기 때문에 메세지 순서를 조작할 수 있는데 이를 방지하기 위해 sequence number를 MAC에 함께 담는다.
- 공격자는 데이터가 모두 전송되기 이전에 fin 메세지를 보내 통신을 중단시켜버릴 수 있다. 이를 막기 위해 type을 추가해 모든 데이터가 전송됐을 경우 1이라는 type을 추가한다.
firewall
- 모니터링, 필터링 device
- gateway를 지나가는 모든 패킷을 모니터링한다.
- 네트워크 계층에서 tcp port를 보고 검열하는 것도 가능하기 때문에 대표적인 layer violation에 해당한다.
- firewall에서 접근 가능한 패킷 규칙을 정리해놓은 리스트를 ACL(Access Control List)라고 한다.
'컴퓨터 사이언스 > 네트워크' 카테고리의 다른 글
애플리케이션 계층 - DNS (0) | 2023.03.19 |
---|---|
애플리케이션 계층 - 멀티미디어 네트워킹 (0) | 2023.03.19 |
링크 계층 - Mobility (0) | 2023.03.16 |
링크 계층 - Wireless (0) | 2023.03.15 |
링크 계층 - Switch (0) | 2023.03.14 |
댓글