✔️ CA(Certificate Authority)
CA를 정의하자면 웹 사이트가 신뢰할 수 있는 사이트인지 아닌지를 구분해주는 인증서를 발급해주는 기관이다.
✔️ 신뢰 가능한 인증 기관(Root CA)
- 이 세상에서는 무조건 신뢰할 수 있는 기관이 몇 군데 존재한다. 그 기관들은 보통 최상위 인증 기관이라고 불리며, Root CA라는 인증서를 발급하는 기관이다.
- Root CA는 본인들만의 고유한 비밀 키를 가지고 있고, 이에 대응하는 공개 키를 전 세계에 배포한다. 그리고 세상 사람들은 암묵적으로 이 기관들은 사용할 수 있음을 서로 약속한다. (위의 사진처럼 Geotrust의 공개 키로 복호화가 가능한 데이터는 Geotrust의 비밀키로 암호화되었기 때문에 신용할 수 있는 데이터라고 간주한다.)
- 일반적으로 신뢰 가능하다고 여겨지는 기관(ex. Geotrust)의 공개 키는 웹 브라우저인 크롬, 파이어폭스 등에 내장되어있다.
✔️ 인증서를 사용하는 이유
- 우리가 네트워크를 통해 패킷을 주고받을 때 누군가가 우리의 패킷을 훔쳐(Sniffing)볼 수 있다. (패킷을 훔쳐본다는 것은 우리가 입력한 데이터, 비밀번호와 같이 민감한 정보를 열람할 수 있다는 것이다.)
- 네트워크가 암호화 된다면 공격자가 패킷을 열람하더라도 데이터 유출을 막을 수 있다. 오늘날 가장 많이 쓰이는 암호화 방식이 SSL/TLS이다. ("인증서 = 당신이 신뢰할 수 있는 사람이냐"를 확인한다.)
✔️ SSL(Secure Sockets Layer)
- 두 연결자 사이 인증서를 이용한 보안된 통신을 해주는 프로토콜이다.
✔️ 신뢰된 웹 사이트
- 웹 브라우저의 주소 옆에 자물쇠는 인증서 CA를 통해 브라우저 <-> 웹 서버 간 보안 연결이 수립되었다는 것을 의미한다.
- 인증서를 사용하지 않은 웹 서버의 경우 '주의 요함'이라는 문구가 출력되는데, 이는 데이터가 암호화되지 않은 채로 전송되고 있으며 네트워크에 존재할 수 있는 공격자가 스니핑, 스푸핑 등을 통해 패킷을 훔쳐볼 경우 데이터가 전부 유출될 수 있음을 뜻한다.
✔️ 인증서 종류
- PEM : 주로 사용하는 인증서 포맷 방식 (다른 방식으로는 DER이 있음)
- CRT, CER : 인증서 파일
- REQ, CSR : 인증 요청 파일 (인증기관으로 보내 인증서를 발급하게 하는 일종의 신청서)
- KEY : 인증서 키 파일
- PKCS#12 : .pfx .p12등의 확장자로 저장됨. 인증서, 개인키 내용을 파일 하나에 모두 담고 있고 백업 또는 이동용으로 주로 사용
✔️ 키 종류
- 공개키 : 공개해도 되는 키로써 이 키를 가지고 암호화를 수행할 수 있다. (개인키와 함께 사용)
- 개인키 : 공개키로 암호화된 파일을 복호화 할 때 사용하는 키로써 노출되면 안 된다. (공개키와 함께 사용)
- 대칭키 : 암호화와 복호와에 같은 키를 사용하는 방식이다.
- 비대칭키 : 암호화할 때와 복호화할 때의 키가 서로 다른 키를 의미한다.
A의 공개키를 이용하여 암호화된 데이터는 A의 개인키로만 복호화가 가능하다.
A의 개인키를 이용하여 암호화된 데이터는 A의 공개키로만 복호화가 가능하다.
✔️ SSL 인증 과정
- SSL 통신을 위해서 사용자와 사이트, 인증기관이 필요하다.
① 사이트가 자신의 정보와 공개키를 합쳐서 인증 요청서를 만든다.
② 인증기관이 자신의 개인키로 암호화하여 인증서를 만들고 사이트에게 발급한 뒤 사용자에게 자신의 공개키를 제공한다.
③ 사용자가 사이트에 접속 요청을 하면 사이트는 발급받은 인증서를 전달하고 사용자는 인증기관에서 받은 공개키로 사이트 정보와 사이트 공개키를 얻는다.
④ 사용자는 얻은 사이트의 공개키로 자신의 대칭키를 암호화하여 사이트에 전송하고 사이트는 개인키로 복호화한다.
⑤ 인증서를 이용해 안전하게 얻은 대칭키로 서로 암호문을 주고받는다.
References
www.sslcert.co.kr/guides/kb/54
'IT Network System > Network' 카테고리의 다른 글
OSI 7 Layer (0) | 2021.01.19 |
---|---|
Cloud (0) | 2021.01.19 |
DHCP (0) | 2021.01.17 |
DNS (0) | 2021.01.15 |
Proxy (0) | 2021.01.14 |
댓글