차근차근/네트워크?

TLS

예쁜꽃이피었으면 2023. 12. 5. 11:00

 

* SSL1.0 -> SSL2.0 -> SSL 3.0 = TLS 1.0 -> TLS 1.1 -> TLS1.2 -> TLS 1.3

* TLS는 응용 계층과 전송 계층 사이에서 응용계층 데이터의 암/복호화를 책임진다.

 상태 피어의 신원 확인, 메시지의 무결성을 보장한다.

* TCP의 443포트 사용 

* HTTPS의 기반 기술이다.

 

내 PC - (공유기) - (네트워크장비) ( ...) ------------------------------------------ 서버

 

[기존 통신의 문제점]

1. 내PC와 서버간의 요청/응답의 내용을 나와 서버뿐만 아니라 중간에서도 패킷의 내용 등 정보를 볼 수 있고 봤다는 사실을 알 수 없다.

2. 내가 요청을 보낸 곳이 실제로 내가 원하는 서버인지 알 수 없다.

3. 요청의 내용이 변조될 수도 있고, 서버에서 변조된 데이터인지 알 수 없다.

 

 

 [TLS가 제공하는 기능]

1. 암호화

- 정해진 피어만 메시지의 내용을 확인할 수 있음

- 실제 메시지의 내용을 보내는 사람, 받는 사람만 알 수 있다.

 

2. 인증 - 메시지 발신자의 신원을 확인

- 통신을 주고받는 사람이 내가 원하는 사람인지 확인(실제 은행인지 등..)

 

3. 무결성

- 메시지가 위/변조 되지 않았음을 보장

- 메시지에 체크섬을 두어서 메시지가 변조되지 않았음을 확인


.pem (privacy enhanced Mail)

- base64로 인코딩한 텍스트 형식의 파일

- Binary형식의 파일을 전송할 때 손상될 수 있으므로 Text로 변환한다.

- 개인키나 인증서에 사용

- 어떤 바이너리 파일을 pem으로 변환했는지 구분하기 위해 파일의 맨 앞에 dash(-)를 5개 넣고 변환한 바이너리 파일명작성, 파일의 맨 뒤에 dash(-) 5개 넣고 바이너리 파일명 작성

예:

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABC/fXuBoa
WboQk95dZ4Udj3AAAAEAAAAAEAAAGXAAAAB3NzaC1yc2EAAAADAQABAAABgQC+dEvO8yL7
XgY1NlP/vro77yxiqq/hKe4QHMplS/LnMbaKtZP1ijyMSuTGoIA+Aw9CUDpWKXwekrBXpm
GvbDlmHQieRJPhh/3dW1xPKgRPAMiiA/9awSM0sFcjyH8NQcfweu93QMBZAg/WrsQz1l7j
...
-----END OPENSSH PRIVATE KEY-----

 

 

.crt (certificate, 인증서)

- 보통 pem형식의 인증서를 의미하면 linux나 unix계열에서 .crt확장자를 많이 사용한다.

 

.cer

- windows에서 인증서를 내보내기 할 때 사용하는 확장자로 보통 pem형식의 인증서를 의미한다.

 

csr (Certificate Singing Request)

- 인증기관(CA)에 인증서 발급요청을 하는 특별한 ASN.1형식의 파일이며 그 안에는 내 공개키 정보와 사용하는 알고리즘 정보 등이 들어있다.

- csr 생성 시 보통 pem형식으로 인코딩해서 전달

 

반응형

'차근차근 > 네트워크?' 카테고리의 다른 글

NAC  (0) 2021.12.14
sendmail , 스팸릴레이 대응  (0) 2015.06.01
REST 서비스 템플릿  (0) 2014.08.01
REST API - coolsms  (0) 2014.08.01
REST API 대충 대충 이런저런  (0) 2014.08.01