1. SSL 디지털 인증서 란?

 SSL 인증서(디지털 인증서)는

클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서다.

 


 

웹브라우저(클라이언트)가 서버에 접속한 직후에

그 서버는 웹브라우저(클라이언트)에게 인증서 정보를 전달을 합니다.

 

그러면 웹브라우저(클라이언트)는 그 인증서 정보가 

그 인증서를 보고 인증서를 자신에게 돌려준 웹서버가 

자신이 접속하려고 했던 진짜 웹서버인지를 확인하려는 것과 같은 절차를 통해서,

상호간에 신뢰 관계를 형성하는 겁니다.

 


디지털 인증서는 마치 공증가 같은 역할을 해줍니다.

 


 

- SSL 디지털 인증서를 사용하면 장점들 -

  • 통신 내용이 공격자에게 노출되는 것을 막을 수 있다. 
  • 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지를 판단할 수 있다.
  • 통신 내용의 악의적인 변경을 방지할 수 있다

 

 

통신내용을 공격자에게로부터 막기위해서 필요한 것은?

"암호화"

 

 

 

 

 

 

2. 암호화, 복호화

 

 

 

- 대칭키 설명:
"암호화를 하는 쪽"과 "복호화를 하는 쪽"은 동일한 키를 가지고 있어야 된다는 의미에서 "대칭키"

 

 

 

 

 

 

3. openssl

openssl을 이용해서 

어떤 문서를 "암호화"하고, "복호화"하는 것을 해보겠습니다.

 

 

 

<리눅스에서 openssl을 한번 사용해보겠습니다>

진행과정 설명
plaintext.txt 파일을 만듬.


이렇게 되면, 
암호화가 된, 파일(ciphertext.bin)이 만들어 집니다.
 ls -al 해서
확인 합니다.




(plaintext.txt <- 원보 파일
ciphertext.bin <- 원보 파일을 암호화한 파일)
그런 다음에


cat ciphertext.bin을 해서 안에 내용을 보면
이상하게 출력이 되는 것을 확인 할 수 있습니다.