SSL (Secure Sockets Layer) 라고 하며 TLS(Transport Layer Security) 로도 불린다.
인증서가 설치되지 않은 웹사이트 (http) 접속 시 80포트를 사용하며 인증서 설치된 웹사이트(https) 접속시 443 포트를 사용한다.
HTTPS 의무화는 2012년 8월 18일부터 시행된 정보통신망 이용촉진 및 정보보호 등에 관한 법률 개정안에 포함. 개인정보를 수집하는 웹사이트는 반드시 암호화 기술을 적용하여 개인정보를 안전하게 전송해야 하며, 이를 위해 HTTPS(SSL 인증서)를 사용해야 함
- SSL 인증서의 역할
- 데이터 암호화: SSL은 서버와 클라이언트 간의 데이터 전송을 암호화하여 중간에서 데이터가 변조되는 것을 방지
EX) 인터넷에서 물건을 구매할 경우 사용자의 개인 정보 ( 이름, 전화번호, 결제 시 사용한 신용카드 정보 등) 를 암호화 하여 사용자의 개인 정보를 지키고 안전한 사용이 가능하도록 함
- 신원 인증: SSL 인증서를 통해 서버의 신원을 확인할 수 있으며, 이를 통해 사용자는 접속하는 웹사이트가 신뢰할 수 있는 곳인지 확인 가능
EX) 금융권 웹사이트를 동일하게 만든 피싱 사이트가 있다는 가정 하에 인증서가 설치되지 않은 경우 진짜 웹 사이트 구별을 쉽게 하기 어려우며, 인증서 설치 여부를 통해 실제 사이트 임을 확인 할 수 있음
- 데이터 무결성 보장: SSL은 데이터 전송 중에 변조가 이루어지지 않았음을 보장.
EX) 이메일을 보낼 때 SSL을 사용하는 이메일 서버는 전송 중 이메일 내용이 변경되지 않았음을 보장.
변경되면, SSL은 이러한 무결성 검사를 통해 변경된 내용을 감지 및 방지
- SSL 인증서 설치방법
1. 사용중인 서버에 key 파일과 csr 파일을 생성. key 파일의 경우 csr 파일의 경우 인증을 위해 생성한다.
(csr 파일의 경우 사용 중인 서버에 저장할 httpd 인증 파일을 발급 받고 SSL 보안 서버를 제공하는 인증 기관에 인증을 하기 위해 필요.
인증 파일을 받지 않고 다른 인증 방법으로는
1.1메일 인증
1.2 사용 중인 DNS ( Domain Name System) 에 CNAME 값을 추가하여 인증 하는 방법이 있음.)
2. 해당 경로에 인증 파일 업로드
( )/.well-known/pki-validation/(이름).txt 로 구성
파일 업로드 후 해당 주소로 웹 브라우저에 입력하여 저장한 내용이 정상적으로 출력 되는지 확인
3. 검증을 통해 인증서 발급
발급 받은 인증서를 서버에 업로드 후 가상 호스트 파일에서 편집
위에 설명한 내용과 같이 http 경우 80번 포트를 사용하며 https 의 경우 443 포트를 사용하므로
가상 호스트 파일에 443 포트를 포함한 내용을 추가하여, 해당 내용에 인증서를 업로드한 경로도 같이 추가.
4. 모든 설정이 끝난 후 인증서를 저장하는 디렉토리에서 아파치 재 시작시 키파일 비밀번호 묻기를 삭제
* 설정을 하지 않을 경우 아파치 재시작시 Apache가 실행되지 않는 경우 발생
5. syntax 확인 후 Apache 재시작
6. 웹 브라우저에 웹사이트 주소 앞에 https:// 입력 후 접속, 주소 앞에 자물쇠 모양이 있는지 확인
(자물쇠 클릭 후 인증 상태 확인 가능)