본문 바로가기
Security/보안 일반 || 관리

대칭키/비대칭키, SSL/TLS

by jino22 2020. 9. 14.

틀린 부분이 있다면 언제든지 댓글 남겨주세요! 

 

대칭키/비대칭키, SSL/TLS, X.509, HTTPS 통신 방식, WEB Proxy

 


 

대칭키 -> 통신에서 사용하는 암호화 키 방식.

+ : 속도가 빠름. 

- : 키 동기화가 필요하며, 키 교환시 취약점 발생 가능. -> 키 교환 문제 해결 방법:  PKI, Diffie-Hellman, 온라인 키 분배 등

ex) DES, AES, SEED, ARIA 등

취약점: DoS공격, 중간자 공격(->전자서명), 재전송 공격

 

비대칭키 ->PKI(Public Key Infrastructure). 키 동기화(키 전달), 사용자 인증, 전자서명(부인방지)시 사용.

+ : 키 교환에서 대칭키보다 안전.

- : 속도가 느림. 

ex) RSA 등

취약점: 수학적 공격(->키 길이 증가), 부채널 공격(->타임스탬프사용), CCA공격, 전사적 공격, 중간자 공격

 

-> 키 교환에 비대칭키를, 데이터 암복호화에는 대칭키를 사용함 = 하이브리드 방식

 

 

* 암복호화 관련 실습 = OpenSSL

 


 

 

SSL(Secure Socket Layer)/TLS(Transport Layer Security)

- SSLv3 = TLS

- port = TCP 443 이용

- 네트워크로 연결된 기기간 인증 및 암호화 링크를 설정하기 위한 보안 프로토콜로 X.509 표준 형식을 기반으로 함.

- SSL/TLS handshake에는 비대칭키 방식을 사용하고, 공개키는 세션 자체의 암호화시에 사용함.

- 익스플로러, 오페라, 모질라와 같은 브라우저의 루트 인증서로 HTTP, NNTP, FTP, XMPP 프로토콜에 적용될 수 있으며 주로 웹 브라우징 세션에 사용됨. (이 경우 응용계층의 프로토콜은 HTTP, 전송계층은 TCP이다)

- 중간자 공격에 안전하도록 구현됨. (B의 인증은 제 3기관에서 시행되므로 공격자는 A에게 B의 인증서를 보낼 수는 있지만 그 이후 A에게 자신이 B라는 것을 증명할 수 없음)

 

프로토콜

- Record protocol: 기밀성(데이터 암호화), 무결성(MAC) 수행. 동작순서=단편화 > 압축 > MAC추가 > 암호화

- Handshake protocol: 세션연결 정보 공유. 

* Cipher Suite = SSL/TLS_(키 교환 알고리즘)_(인증 알고리즘)_WITH_(대칭키 알고리즘)_(블록 암호 운용 방식)_(해시 알고리즘)

- Change Cipher Spec protocol: server와 client간의 cipher spec확인을 위한 메시지 교환

- Alert protocol: 메시지의 암호화 오류, 인증서 오류 전달

 

x.509

- PKI기반의 ITU-T표준. 통신과정에서 전자서명을 위한 인증서 표준.

- 공개 키 인증서, 암호화 키 쌍을 웹 사이트, 개인 또는 조직과 같은 ID와 안전하게 연관시키는 디지털 문서. 즉 장치나 서비스의 ID에 암호화 키쌍(private key, public key)을 바인딩하는 문서.

* 암호화 키쌍: CSR(인증서 서명 요청)을 만들 때 생성. private key는 CSR에 디지털 서명하고 서버에 대한 연결 확인 및 보호에 사용. public key는 SSL인증서에 포함. 데이터가 암호화되고 전송중에 변조되지 않도록 함. 

- SSL/TLS, HTTPS, S/MIME으로 암호화된 이메일, 문서 및 코드 서명, 클라이언트 인증 등에 사용

 

X.509 3.0 인증서 형식

 

HTTPS(Hypertext Transfer Protocol Secure)

- 암호화 및 인증에 SSL/TLS을 사용하는 HTTP 프로토콜의 보안 버전.

- HTTP에 암호화(중간자 공격 방지), 상호 인증(X.509, 클라이언트 인증을 통해 피싱 등의 공격 방지), 무결성(해시) 추가

- Port 443

 

* HTTPS 어떻게 관제(모니터링)할 것인가 (->웹프락시)

- web proxy는 web client와 web server사이에 위치하여 client에서 보내지는 데이터를 받아 server로 중계하는 역할을 함.

 

IPSec vs SSL

- IPSec(Internet Protocol Security)은 네크워크 계층에 존재하는 운영체제(TCP_L3,L4)의 일부이고, SSL은 소켓 계층 즉 사용자 영역(TCP_L5)에 존재함. 따라서 SSL을 구현하기 위해서 OS에는 어떠한 변화도 필요하지 않으며 응용프로그램의 변화를 필요로 한다.

* 소켓 계층(Socket layer): 응용계층(OSI_Application layer)와 전송계층(OSI_Transport layer)사이에 위치. 

- 둘 다 암호화, 무결성, 인증 제공.

- SSL이 IPSec보다 단순하게 구성되어 있음.

- SSL은 주로 웹 거래 등 웹브라우저에서 사용되고, IPSec은 VPN의 안전을 위해 사용되고 IPv6를 필요로 함.

 

 

 

참고: 책_정보보안 이론과 실제, itwiki.kr/w/TLS(SSL)www.ssl.com/faqs/faq-what-is-ssl/

728x90
반응형

'Security > 보안 일반 || 관리' 카테고리의 다른 글

API 보안  (0) 2022.05.16
System Exploitation Fundamental #1  (0) 2021.04.19
침투 테스터를 위한 파이썬 오픈소스 도구  (0) 2020.09.27
Sniffing vs Spoofing vs Snooping  (0) 2020.09.17
CVE vs CWE , 위협 vs 위험  (0) 2020.09.11

댓글