본문 바로가기

Server Oriented/Server

SHA-1 에서 SHA-2 로 SSL 웹보안서버 인증서 교체


SSL 웹보안서버의 인증서(금융 거래시 사용하는 공인인증서 랑은 다른 얘기입니다)가 SHA-1 에서 SHA-2 로 무게 중심이 옮겨지고 있어요.

Verisign 의 경우 올해부터 발행되는 인증서는 SHA-2 방식만 지원합니다.

물론, SHA-1 이든 SHA-2 든 비용의 차이는 없구요.

기존에 발급되어 있던 SHA-1 인증서의 경우 해당 인증서의 유효기간 안에서는 SHA-1 으로 작동을 합니다.


MS IE 가 2016년 6월 1일 부터 SHA-1 방식의 SSL 암복호화를 중단하고,

Google Chrome 이 2017년 1월 1일 부터 SHA-1 지원 중단,

Mozilla FireFox 가 2016년 7월 1일 부터 SHA-1 지원 중단을 선언한 상태구요.

Apple Safari 는 아무 이야기가 없네요.

일견 하기에는 MS 가 총대를 멘 것처럼 보입니다.

MS 는 오래전 부터 상업적으로 성공한 웹브라우저 모델을 가지고 있다 보니,

IE 구버전이 너무 많기도 하고 그동안 MS 가 IE 에 불필요하게 적용해 왔던 그리고 표준과 상이한 것이 너무 많았기에..

이참에 문제가 될만한 버전을 싸악 걷어 내려는 포석이 깔려 있기도 합니다.


사실 SHA-1 방식이 치명적으로 문제가 있어서 바뀌는 것은 아니에요.

어떻게 보면 이해득실 관계가 있기 때문에 이런 방향으로 밀어주는 느낌입니다.

물론, SHA-2 방식이 SHA-1 보다 보안성이 높은 것은 사실입니다.

컴퓨터 환경의 발달로 SHA-1 방식은 단기간에 뚫린다는 시뮬레이션이 나와 있기도 합니다.


SHA-1 에서 SHA-2 로 넘어가려면 몇가지가 부합되어야 하는데,

일단 서버 환경 측면에서 서버의 OS 버전, 웹서버 버전, 인증서 종류 등이 이슈가 되고요..

다음 사용자 환경 측면에서 사용자 기기의 OS 버전, 웹브라우저 버전 등이 이슈가 됩니다.

이들 관계를 확인해서 너무 오래된 인터넷 환경을 이번에 일신하자는데 의의가 있기는 합니다.

다만, 전 세계적으로 상당히 많은 비용이 발생할 것이라고 생각되어지기는 합니다.

구버전의 서버측 OS, 서버측 웹서버, 사용자측 OS, 사용자측 웹브라우저 등을 만족시키려면..

하드웨어 측면과 소프트웨어 측면에서 모두 어마어마 한 비용이 발생할 것으로 보입니다.

물론, 처음부터 SHA-2 방식을 지원하는 H/W S/W 환경으로 구축되었다면 추가 비용이 발생하지 않구요.

그러니까, 오픈한 지 오래 된 기업들에게 이런 비용이 발생하는 것이죠.


서설이 길었네요..

실제로 얘기하고자 하는 것은 SHA-1 에서 SHA-2 로 넘어가는데 겁을 내지 말라는 겁니다.. ^^;;

서버 환경이 SHA-2 를 지원하도록 세팅되고, 사용자 환경이 SHA-1 만 지원할 때 완전히 먹통이 되는건 아닙니다.

현재 최신 웹브라우저인 경우에도 SHA-1 방식을 지원하기 때문에 서버측이 SHA-2 로 작동해도 정상 작동합니다.

이 얘기는 SHA-1 만 지원하는 구형 웹브라우저라도 SHA-2 방식의 서버 환경과 충돌하지 않는다는 것을 의미합니다.



일단 서버 측면에서는..


스펙으로 보면 openssl 0.9.8o 이상에서 SHA-2 가 정상 작동한다고 나와 있기는 하지만,

openssl 0.9.8e-fips-rhel5 01 Jul 2008 버전에서도 정상 작동하는 것을 확인할 수 있었습니다.


Apache 의 경우 스펙상 2.0.63 이상에서 SHA-2 가 정상 작동한다 하는데,

Apache 2.0.59 에서도 SHA-2 가 정상 작동하더군요.


java 는 1.4.2 이상에서 SHA-2 가 정상 작동한다 하는데,

국내 대부분의 java 는 이미 1.6 을 넘어섰을 겁니다.


Resin 도 사실 java 가 1.4.2 이상이면 SHA-2 가 정상 작동할 것으로 예상되구요.

Resin 홈페이지에 가 보면 너무 오래된 버전에서는 SHA-2 가 지원되지 않는다고 되어 있기는 합니다.


사용자 측면으로 넘어오면..


Android 가 2.3(진저브레드) 부터 SHA-2 를 지원한다네요.

Blackberry 는 5.0+, iPhoneOS(iOS) 는 3.0+, WindowsPhone 은 7+ 라고 하네요.