토픽 이름 |
SSL(Secure Socket Layer) |
분류 |
디지털 보안 > 터널링/네트워크 보안 > SSL |
키워드 |
[정의] 웹브라우저와 웹서버간 데이터의 안전한 송/수신, 암호화 통신프로토콜 [특징] 핸드세이크 통신, 공개키 기반 인증방식(RSA, X.509 v3.0인증서), 연결주소(Https://), 다양한 보안서비스(비밀성, 무결성, 인증, 데이터압축), [프로토콜] 제어 프로토콜(Change Cipher Spec, Hand Shake, Alert), 레코드프로토콜 [통신절차] Client Hello > Server Hello > ClientKeyExchange/ChangeCipherSpec > Finished > 데이터 전송 |
암기법 |
|
기출문제
번호 |
문제 |
회차 |
1 |
2. VPN(Virtual Private Network)을 구현 방식과 서비스 형태에 따라 비교하여 설명하고, SSL VPN 방식에 대하여 설명하시오. |
119_컴시응_2 |
2 |
6. SSL(Secure Socket Layer) 프로토콜에 대하여 설명하시오. |
117_컴시응_3 |
3 |
1. 데이터베이스 정규화과정의 무손실 조인(Lossless Join)분해에 대하여 예를 들고 설명하시오. |
95_관리_2 |
4 |
|
95_조직응용_2 |
5 |
5. SSL(Secure Socket Layer)의 작동원리에 대하여 설명하시오. |
92_관리_1 |
6 |
|
87_조직_4 |
7 |
14. SSL Offloading 에 대하여 설명하시오. |
합숙_2017.08_응용_Day-5 |
8 |
|
합숙_2017.01_공통_Day-1 |
9 |
8. 네트워크 보안을 위한 SSL(Secure Socket Layer)/TLS(Transport Layer Security)에 대해 설명하시오. |
합숙_2017.01_공통_Day-2 |
10 |
14. SSL Offloading에 대하여 설명하시오. |
합숙_2015.01_응용_Day-2 |
11 |
9. SSL Offloading 에 대하여 설명하시오. |
모의_2019.10_관리_1 |
12 |
|
모의_2019.10_관리_2 |
13 |
4. IPSEC과 SSL에 대하여 설명하시오. |
모의_2018.07_응용_2 |
14 |
최근 알려진 SSLv2 DROWN (Decrypting RSA with Obsolete and Weakened eNcryption) 취약점에 대해 설명하시오. |
모의_2016.06_응용_4교시 |
15 |
9. SSL / TLS |
모의_2016.04_응용_1교시 |
16 |
13. VPN(IPSec, MPLS, SSL 등)에 대해 설명하시오. |
모의_2015.06_관리_1교시 |
17 |
OpenSSL에 대하여 설명하고 하트블리드(HeartBleed) 버그 및 이에 대한 대응방안을 제시하시오 |
모의_2014.07_관리_2교시 |
18 |
SSL MITM(Man in the Middle) Attack에 대하여 설명하시오. |
모의_2014.06_응용_1교시 |
19 |
|
모의_2014.06_응용_2교시 |
20 |
IPSEC(Internet Protocol Security) VPN(Virtual Private Network)을 설명하고 SSL (Secure Socket Layer) VPN과 비교하고 SSL의 Handshake 절차에 대해 설명하시오. |
모의_2014.05_관리_4교시 |
21 |
TLS/SSL이 제공하는 기능과 TLS/SSL을 구성하는 프로토콜에 대해 설명하고, TLS/SSL의 Handshake 절차에 대해 설명하시오. |
모의_2013.12_응용_2교시 |
I. 인터넷을 통한 암호 메시지의 전송 수단, SSL(Secure Socket Layer)의 개요
가. SSL (Secure Socket Layer) 의 정의
- TCP 상에서 웹 브라우저와 웹 서버간에 데이터를 안전하게 주고 받기 위하여 전자상거래 등의 보안을 위해 개발된 암호화 통신 프로토콜
- TLS(Transport Layer Security)로 표준화 되었으며, 기본적으로 인증(Authentication), 암호화(Encryption), 무결성(Integrity)을 보장(1994년 Netsacpe사에 의해서 개발, 3.0은 96년 릴리즈)
나. SSL의 특징
구분 |
설명 |
공개키 기반 인증방식 |
RSA방식과 X.509 v3인증서를 사용함 |
3가지 인증 모드 지원 |
익명 인증 모드(An, Anonymous), 서버 인증 모드(SA, Server Authentication), 클라이언트-서버인증 모드(MA, Mutual authentication) |
연결주소 |
https:// 로 시작하는 연결주소 |
지정포트 |
443번 포트, OSI 7 Layer에서 전송 ~ 응용계층에서 동작 |
보안서비스 제공 |
비밀성, 무결성, 인증 및 효율성을 위한 데이터 압축 기능 제공 |
다양한 알고리즘 지원 |
여러 알고리즘을 지원하고, 실행과정에서 이들을 선택하여 사용가능 |
핸드쉐이크를 통한 통신 |
클라이언트와 서버간 핸드쉐이크 프로토콜을 통한 인증 절차 진행 |
II. SSL의 구조 및 구성요소
가. SSL의 구조(SSL 프로토콜 스택)
- 두 응용 간 메시지 보안 서비스 제공, 클라이언트와 서버간 상호 인증 서비스 제공
- 전송 계층과 응용 계층 사이에 위치하며 세 개의 서브 프로토콜 계층으로 구성
나. SSL의 구성요소
서브계층 |
역할 |
|
제어 프로토콜 |
- 클라이언트와 서버간의 인증 기능 수행 - 암호화에 사용될 암호 메커니즘을 협상 |
|
하위 구성 프로토콜 |
설명 |
|
Change Cipher Spec 프로토콜 |
암호알고리즘과 보안 정책을 송수신측간에 조율하기 위해 사용 |
|
핸드쉐이크 프로토콜 |
암호 알고리즘 결정, 키 분배, 서버 및 클라이언트 인증 수행(비밀정보, 세션정보공유) |
|
Alert 프로토콜 |
경고메시지와 경고에 대한 상세정보 전달 |
|
레코드 프로토콜 |
- 데이터의 암호화 및 무결성을 위한 메시지 인증 수행 - 데이터의 압축 수행하여 안전한 TCP 패킷으로 변환 |
III. SSL의 동작원리
가. 제어 프로토콜의 핸드 쉐이크 프로토콜 동작
나. Handshake Protocal 인증 절차
순서 |
절차 |
설명 |
1 |
1. Client Hello |
2. 지원 가능한 암호화 방식, 키교환 방식, 서명방식, 압축방식을 서버에 알린다 |
2 |
3. Server Hello |
4. 지원 가능한 암호화 방식, 키교환 방식, 서명방식, 압축방식을 응답한다. 이때 새로운 Session ID 할당 |
3 |
5. Server Certificate |
6. 서버측 RSA암호용 공개키가 저장된 공인인증서를 보낸다. |
4 |
7. Server Key Exchange |
8. 추가적인 키 값을 보낸다 |
5 |
9. Certificate Request |
10. 사용자PC 인증서를 요구할 때 전송한다. |
6 |
11. Sever Hello Done |
12. 서버의 Hello 절차가 완료되었음을 알린다. |
7 |
13. Client Certificate |
14. 서버로부터의 Certificate Request 메시지에 응답한다. |
8 |
15. Client Key Exchange |
16. RSA key 교환방식인 경우 Parameter 키가 송신된다. |
9 |
17. Certificate Verify |
18. 자신의 서명용 개인키로 서명된 서명 값이 전송된다. 이것을 수신한 서버는 Client Certificate 메시지에 명시된 클라이언트의 서명용 공개키로 확인한다. |
10 |
19. (Server)Change Cipher Spec |
20. 지금까지 협상에 의해 결정된 (암호방식, 키교환방식, 서명방식, 압축방식)을 다음부터 적용할 것임을 알린다. |
11 |
21. (Server)Finished |
22. 협상과정에서 전송된 모든 메시지에 대하여 (암호방식, 키교환방식, 서명방식, 압축방식)을 적용하여 생성된 검증값을 수납한 메시지 이다 |
12 |
23. (Client) Change Cipher Spec |
24. 서버와 동일한 절차로 전송된다 |
13 |
25. (Client) Finished |
26. 서버와 동일한 절차로 전송된다 |
14 |
27. 암호화된 응용계층 메시지의 전송과정이 수행된다 |
III. SSL의 보안 효과 및 OSI 모델, S-HTTP와의 비교
가. SSL의 보안 효과
1) 스니핑(sniffing) 방지
- 사용자가 웹사이트에서 로그인 또는 전자상거래를 위해 ID, 비밀번호, 신용카드번호 등의 중요한 정보를 입력할 때 해커의 도청을 방지
2) 피싱(phishing) 방지
- 금융기관 등의 메일로 위장하여 개인의 신용카드번호, 계좌정보 등을 빼내어 이를 불법적으로 이용하는 사기수법인 피싱 방지
4) 변조(Falsification) 방지
- 통신망에 침입해 타인의 메일이나 데이터를 통신 도중에 갈취해서 정보를 변경하거나 삭제하는 행위를 방지
나. OSI 모델과의 비교
- SSL 프로토콜을 OSI 모델로 도식화 하면 TCP 층과 어플리케이션 층 사이에 위치하며, 이는 상위의 어플리케이션 층으로부터 암호화된 정책을 바탕으로 통신을 가능하게 함.
다. SSL과 S-HTTP와의 비교
구분 |
S-HTTP |
SSL |
보안범위 |
웹에만 적용 |
telnet, ftp 등 응용(Application) 프로토콜 지원 |
인증방식 |
각각 인증서가 필요 |
클라이언트의 인증 선택 |
인증서 |
클라이언트에서 인증서를 보낼 수 있음 |
오직 서버만이 인증할 수 있음 |
암호화와 인증단위 |
메시지 단위 |
서비스 단위 |
연결주소 |
shttp:// 형식 |
https:// 형식 |
동작계층 |
응용계층 |
전송계층 |
적용 사이트 |
은행, 증권등 금융거래 정보 사이트 |
포털, 쇼핑몰등 개인정보 취급 사이트 |
암호화 알고리즘 |
RSA, Kerberos |
RSA, X.509 |
보안정도 |
낮다(기본) |
높다 |
IV. SSL을 활용한 인터넷 비즈니스 보안 적용 방안
- SSL VPN기반의 가볍고 간편한 VPN망을 통한 원격지 보안 데이터 전송.
- 모바일 환경에서도 적용이 가능하며 다양한 암호화 알고리즘이 적용되어 보안 기능이 강화됨.
- TLS1.0으로 통합 되면서 유무선 전자상거래, 개인정보 보호의 기본적인 보안 수단으로 이용되고 있음. 끝
<참조>. SSL 동작원리 (추가)
[참고] 인증서(Certificate):
SSL 인증서는 SSL 기반하에서 사용자의 웹브라우저와 인터넷 사이트의 웹서버간 암호화 통신을 가능하게 하는 제3의 신뢰기관이 인증한 인증서를 말함.
인증서는 여러 부분으로 이루어져있다. 아래는 인증서 속에 들어있는 정보의 종류를 나타낸 것이다.
1. 인증서 소유자의 e-mail 주소
2. 소유자의 이름
3. 인증서의 용도
4. 인증서 유효기간
5. 발행 장소
6. Distinguished Name (DN) - Common Name (CN)
- 인증서 정보에 대해 서명한 사람의 디지털 ID
7. Public Key
8. 해시(Hash)
'기타정보' 카테고리의 다른 글
Managing Hierarchical Data in MySQL에서 계층 데이터 관리 (0) | 2020.01.25 |
---|---|
가상화,하이퍼바이저(Hypervisor) 취약점 및 대응기술 (0) | 2020.01.22 |
결정자 함수 종속성 제거, BCNF(3.5NF) 개요 (0) | 2020.01.22 |
성능 향상을 위한 데이터 중복 허용, 반정규화의 개요 (0) | 2020.01.22 |
데이터 리터러시 (0) | 2020.01.22 |