본문 바로가기
CS/NetWork

[네트워크] 대칭키(Symmetric key), 공개키(Public Key), RSA 암호화

by 계범 2022. 1. 27.
네트워크 관련 글 순서(참조 영상 기준)

애플리케이션 계층
- 네트워크 애플리케이션의 원리
- 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 방식

  1. B가 공개키와 암호키를 생성하여 공개키를 A에게 보냄
  2. A는 B로부터 받은 공개키를 이용하여 보낼 정보를 암호화
  3. A는 암호화된 정보를 B에 전달
  4. B는 개인키를 이용하여 정보 복호화

 

해시함수를 통해 데이터를 줄이면, 보다 빠르게 진행할 수 있는데 이건 추후 공부 예정

 

 

해시함수 관련 자료 참조

http://elearning.kocw.net/document/lec/2011_2/andong/Network/04.pdf

 

RSA 구현방식은 아래 링크 블로그 참조

RSA 참조

 

n vs np 문제는 아래 블로그 참조

https://gazelle-and-cs.tistory.com/64

  1.  

참조

 

KOCW 네트워크 강의 - 한양대 2018 1학기 이석복 교수님

 

컴퓨터네트워크

본 강의에서는 인터넷 내부의 동작을 이해하는데 초점을 둔다. 인터넷의 기본이 되는 다양한 컴퓨터네트워크 프로토콜을 응용계층으로부터 시작하여 링크계층까지 Top-down방식으로 소개한다.

www.kocw.net

 

RSA 참조

 

[암호학] 비대칭키 암호 - RSA (공개키 암호시스템)

비대칭키 RSA 암호 시스템 1. 개요 (1) 개념 RSA는 공개키 암호 알고리즘 중의 하나이며, 세계적으로 사실상의 표준이다. 인수분해 문제 해결의 높은 난이도를 이용한 가장 대표적인 공개키 암호 알

yjshin.tistory.com

 

중간자 공격 및 인증기관 참조

 

공개키 기반 구조 (PKI)

■ 공개키 기반 구조 (Publi Key Interface, PKI)  - 공개키 암호 알고리즘(Algorithm)을 적용하고 인증서를 관리하기 위한 기반시스템  - 사용하는 인증서는 주로 X.509 형식의 인증서를 사용하고 있으며,

retro-blue.tistory.com

 

댓글