네트워크 관련 글 순서(참조 영상 기준)
애플리케이션 계층
- 네트워크 애플리케이션의 원리
- DNS
- TCP를 이용한 Socket 프로그래밍
전송계층
- 전송 계층 서비스의 원리
- rdt 원리
- 연결 지향 전송: TCP
- TCP 흐름 제어(3-way handshake, 4-way handshake)
- TCP 혼잡 제어
네트워크 계층
- 네트워크 계층 서비스
- Network Address Translation(NAT), DHCP
- 라우팅 알고리즘(Link State, Distance Vector)
- 계층적 경로 변경(AS)
링크 계층
- 다중 엑세스 프로토콜
- LANs(근거리 통신망)
무선 및 모바일 네트워크
- 무선 네트워크
웹 요청 시 일어나는일
네트워크 보안
- 대칭키 & 공개키,RSA 암호화
- Secure e-mail, SSL, MAC
- IPSec(ESP), Firewall(방화벽)
대칭키(Symmetric key) 암호화란
암호화와 복호화 과정에 같은 암호키를 사용하는 알고리즘
- 장점: 암호화 복호화 과정 연산이 빠르다.
- 단점: 키 전달 및 관리의 어려움이 있음. (대칭키를 복호화하는 측에 전달하는 과정에서 해킹 위험)
- 대표 알고리즘: SEED, DES, ARIA, AES 등
공개키(Public Key) 암호화란
암호화와 복호화 과정에 사용하는 키를 공개키(Public key)와 개인키(Private key)로 분리한 알고리즘
- 키 전달의 취약점을 해결하기위해 나온 방식. 비대칭키 암호화라고도 부름
- 공개키는 모두에게 공유하고, 개인키(또는 비밀키)는 사용자만 가지고 있는 형태
- 장점: 개인키로만 해독이 가능하므로 안전하고 신뢰성이 있음
- 단점: 위의 대칭키에 비해 연산이 느리고 복잡함(약 1000배 가량 느림), 공개키 저장소의 공개키가 해킹당하는 중간자 공격(MITM)에 취약함
중간자 공격(MITM)
- 공개키를 교환하는 프로토콜 과정에서 공격을 당하는 것.
이를 위한 해결로 누구의 공개키인지 보증해주기 위한 공개키 인증 기관이 있음.
이 인증기관에선 이 공개키가 누구의 공개키인지 인증서(PKC)를 발급해줌
즉 인증기관을 통해 해당 공개키가 누구의 공개키인지 인증가능해짐.
이러한 공개키 암호 알고리즘을 적용하고 인증서를 관리하는 시스템을 PKI(Public Key Interface)라고 함.
인증기관 구조 더 보기
더보기
이 인증기관도 공개키구조로 되어있는데, 기관의 개인키로 각 인증서의 공개키를 등록해두고,
이 인증서를 전달해줌.
인증서 확인은 기관의 공개키로 확인 가능하다.
기관의 공개키는 어떻게받고 신뢰할 수 있는가..?
기관의 공개키는 각 브라우저에 하드코드로 미리 넣어둠. 그로인해 신뢰가능
RSA
- 공개키 암호 알고리즘의 중의 하나로, 세계적으로 표준 알고리즘
- MIT교수 Rivest, Shamir, Adelson 3사람이 만들어서 RSA
- 공개키는 메세지를 암호화할때 사용, 개인키는 복호화할때 쓰임
RSA 방식
- B가 공개키와 암호키를 생성하여 공개키를 A에게 보냄
- A는 B로부터 받은 공개키를 이용하여 보낼 정보를 암호화
- A는 암호화된 정보를 B에 전달
- B는 개인키를 이용하여 정보 복호화
해시함수를 통해 데이터를 줄이면, 보다 빠르게 진행할 수 있는데 이건 추후 공부 예정
해시함수 관련 자료 참조
http://elearning.kocw.net/document/lec/2011_2/andong/Network/04.pdf
RSA 구현방식은 아래 링크 블로그 참조
n vs np 문제는 아래 블로그 참조
https://gazelle-and-cs.tistory.com/64
참조
KOCW 네트워크 강의 - 한양대 2018 1학기 이석복 교수님
'CS > NetWork' 카테고리의 다른 글
[네트워크] IPSec(ESP), Fiwewall(방화벽) (0) | 2022.01.28 |
---|---|
[네트워크] Secure e-mail, SSL, MAC (0) | 2022.01.28 |
[네트워크] 무선네트워크란(Wifi) (0) | 2022.01.26 |
[네트워크] 웹 요청 시 일어나는 일(a day in the life of a web request) (0) | 2022.01.26 |
[네트워크] Link Layer: LANs(근거리 통신 망) (0) | 2022.01.24 |
댓글