SSL 인증서
인증서라는 말은 인증을 하기위한 문서라고 표현합니다.
SSL인증서는 클라이언트와 서버 간 통신 할 때 제 3자가 보증을 해준다는 것입니다.
즉 클라이언트가 서버에 접속 할 때 서버는 이 인증서를 클라이언트에게 제공하고
이를 받은 클라이언트는 진짜 신뢰할 만한 사이트인지(접속한 사이트가 진짜인지?) 판단합니다.
SSL 인증서의 이점으로 통신을 할 때 노출이 되지 않으며 신뢰를 판단할 수 있고 누군가가 데이터를 변경할수 없게됩니다.
통신에 노출이 되지 않는다라는 말은 암호화를 한다는 것과 동일합니다.
즉 Hi 라는 단어를 -> IJ로 암호화를 합니다.
IJ를 Hi로 복호화를 한다고 합니다.
이때 사용되는 것이 Key라고 하며 이 키는 대칭키와 공개키로 나뉩니다.
대칭키는 암호화와 복호화를 동시에 할 수 있는 Key라고 할 수 있습니다.
간단하게
openSSl을 이용하여 리눅스(우분투) 상에서 아무 평문(plainText)를 암호화를 시켜봅시다.
우선 터미널 창을 띄웁니다.
여기서 openssl이라는 디렉토리를 만들어주고 이동합니다.
그 다음 암호화를 시킬 평문을 아무거나 써서 파일을 만들어줍니다.
vi로 파일을 생성하셔도 무관합니다.
그 다음 아래 명령어를 쳐줍니다.
아래 명령어는 openssl을 이용하여 암호화를 하는데 암호화기법은 des3기법이라는 뜻입니다.
openssl enc -e -des3 -salt -in plaintext.txt -out crypt.bin;
여기서 키를 입력해줍니다.
이 키를 이용해서 암호화를하고 또 복호화를 할 수 있습니다.
키를 생성해주면 -out으로 지정한 crypt.bin 파일이 생성된 것을 볼 수 있습니다.
I am Lee Jeong Chan이라는 문장을 암호화를 해주었습니다.
cat으로 확인해보면
암호화가 된 것을 확인 할 수 있습니다.
만약 이를 복호화를 진행하고 싶으면
openssl enc -d -des3 -in crypt.bin -out plaintext2.txt;
명령어를 쳐서 -d옵션으로 복호화를 하겠다라고 지정해줍니다.
그럼 아까 만든 키를 치라고 나옵니다.
쳐주게 되면 아래와 같이 나오게 됩니다.
복호화가 진행된 것을 볼 수 있습니다.
'웹 > 웹 보안' 카테고리의 다른 글
HTTPS 와 SSL (3)- 공개키 (0) | 2019.07.11 |
---|---|
HTTPS 와 SSL (1)-간단한 개념 (0) | 2019.07.05 |