콘텐츠
HTTPS 적용이 필수가 된 현대의 웹 사이트
요즘 브라우저가 업데이트 되면서 https 가 적용 되지 않은 사이트에 접속하면 여러 보안 문구를 볼 수 있다.
예전엔 메시지가 발생하지 않도록 브라우저에 설정하는 옵션도 존재 했고 이를 해결하기 위한 우회 방안들이 계속 발견 되었는데 최근엔 이런 것도 없어진 상태이다. (참고로 https 에 대한 이론은 이전 포스트에서 다룬 적이 있으니 참고)
문구만 출력 되면 IT 와 관련 되지 않은 사용자 입장에선 사이트에 대한 신뢰도가 감소하고 내가 본 어떤 고객은 사이트가 해킹 당한 줄 알았다며 사용하지 않았다.
이처럼 최신 브라우저 들은 https 적용을 유도하고 있고 지금이야 경고 문구 출력 정도라면 나중엔 아예 접근이 막힐 수도 있지 않을까 생각한다.
이는 특히 돈을 주고 웹 사이트를 구축했지만 오래 된 사이트라 http 가 적용 되어 있지 않은 회사 입장에선 당황스러울 수 있는데 신규로 https 를 적용하면 여러 문제점이 발생할 수 있고 이를 적용, 배포할 IT 기술자라도 있으면 다행인 상황.
만약 https 자체를 지원하지 않는 특정 솔루션을 사용한다면? 심심한 위로를 보내겠다… 😂
SSL 인증서
어쨌든, 나 또한 IT 업계 종사자라 남 말할 처지는 아닌 상황에서 골치 아파 하고 있는 입장에서 https 를 적용하려면 또 ‘SSL(Secure Sockets Layer) 인증서’ 라는 것이 필요한 상황.
SSL(Secure Sockets Layer) 인증서는 웹 서버와 브라우저 사이의 암호화된 연결을 가능하게 하는 디지털 인증서로 이 인증서는 웹 사이트의 신원을 확인하고, 사용자와 서버 간에 전송되는 데이터의 암호화를 제공한다.
보통 웹사이트에 인증서를 적용한다는 것은 https 관련 옵션을 활성화 한 다음 같은 서버 내 설치된 SSL 인증서의 경로를 설정하게 된다.
그리고 이 인증서는 기본적으로 상용 회사에서 구매해 발급 받아 사용 하는 것이 기본이다.
셀프 인증서(Self-signed certificate)
그러던 중 개발자나 서버 관리자가 직접 인증서를 생성하고 적용할 수 있단 사실을 알았고 이게 바로 셀프 인증서다.
셀프 인증서는 발급 주체와 사용자가 동일한 형태의 인증서다. 무료로 생성할 수 있고 복잡한 인증 절차가 없다.
상업용 SSL 인증서
상업용 인증서는 말 그대로 구매해서 사용하는 인증서다. 회사에서 자주 이용하는 업체로는 애니서트, 써트코리아 등의 업체 등이 있다.
이런 업체에 돈을 내서 구매하면 인증서 파일을 받게 되고 인증서는 기간제 이기 때문에 이후 갱신하는 등의 작업을 거치면 된다.
셀프 인증서와 상업용 SSL 인증서의 차이
공인 인증 기관(CA) 여부
당연히 무료이다 보니 지금 https 가 적용 되지 않은 사이트에 셀프 인증서 도입을 검토해 보았다.
그러나 조사를 해본 결과 셀프 인증서를 사용하게 되면 브라우저 등에선 ‘신뢰 된 업체(CA 공인이 아님)에서 제공 받지 않은 인증서’ 로 취급해 보안 메시지가 동일하게 발생한다는 점을 알았다.
그래서 사실 보안 적인 측면도 필요하지만, 유저입장에서 발생 되는 보안 메시지를 제거하려는 목적이 대부분일 작업자의 입장에서 셀프 인증서는 이 부분은 충족하지 못한다는 점이다.
회사에서 돈이 드는 상업용 SSL 인증서를 구매하여 적용하는 것이 셀프 인증서를 사용할 줄 몰라 그런 것은 아닌 걸로. 🤗
기술적인 차이
둘 모두 암호화 기술을 사용하여 보안적 기술 차이는 사실상 없다. 둘 다 같은 프로토콜을 사용하고 안정성을 지닌다.
그러나 한 가지 차이가 있다면 이 인증서를 발급하는 기관에 대한 신뢰도 차이.
그래서 처음엔 같은 보안인데 왜 돈을 내야 되고 신뢰성이 높은 건가?? 하고 의아했다.
그러나 조사를 좀 해보니 아무리 같은 보안 기술을 지녔어도 이 인증서가 제대로 된 파일인지 여러가지 관점에서 보장을 해주는 것이 포인트로 보인다.
이 인증서를 정상적으로 발급하고 잘 관리하고 있고 만약 갱신 시기가 오면 도와주고 새로운 신규 보안 기술이 발견 되면 업그레이드 되고.
그래서 내가 제대로 발급해서 적용한다면 사실상 차이는 없는 것.
인증서에 대한 문제가 생기면 이를 해결하는 과정까지 포함 되어 인증서 파일 자체가 아니라 그 모든 보안 활동, 책임 소재에 대한 가격이 매겨져 있다 생각하면 된다.
예를 들어 우리가 삼성 노트북을 사더라도 사실 그 내부에 들어간 부품이 동일하다면 다른 업체와 차이가 없을 수 있지만 그 제품이 만들기 까지 과정과 사후 처리에 대한 서비스 비용까지 포함 되어 가격이 높은 것처럼 말이다.
그러면 셀프 인증서는 어디에 사용할까?
셀프 인증서는 보안 기술 자체는 같기 때문에 개발, 테스트 서버에 적용하고 사용하게 된다.
개발 서버, 운영 서버 마다 SSL 인증서를 발급 받아 사용하면 그만큼 비용이 발생하는 것이기 때문에 개발, 테스트 서버에선 주로 셀프 인증서를 사용한다.
이후 실제로 운용 될 서버에선 도메인을 발급, 적용한 상태로 SSL 인증서를 구매하고 적용한다.