rein's world

TLS: SHA1 해시의 종말이 다가오고 있다

ars technica: SHA1 암호학적 해시가 연말 전에 (쉽게) 무력화된다 라는 글이 올라왔다. (2015-10-08)

저 글에서도 나오고, 이 블로그의 이전 글에서 링크한 Bruce Schneier의 2012년 예측 에서는 2018년이면 조직범죄자들 정도의 재정이면 충분히 깰 수 있는 수준이 될거고 예측했었다. 하지만 새로 나온 논문에 따르면 이미 현재 기준으로 $75k ~ $125k 정도면 충돌을 찾을 수 있다 라는 것. (이전 예측치는 2018년에 $175k 정도)

즉, 지금이라도 어느 정도의 재정 규모가 되는 정부건 정부 단체건, 혹은 조직범죄자들이건 이걸 깨려는 시도를 할 수 있는 수준으로 계산 비용이 내려와 있다는 얘기. 다행히도 언급된 논문에서 찾은건 chosen prefix attack 은 아니어서, 당장 인증서를 위조해내는 정도는 아님. 하지만 여태까지 그래왔고, 앞으로도 그렇겠지만 공격은 항상 향상되지 악화될리가 없다. 그러니 근미래에 뚫린 상황 — $100k 수준에서 chose-prefix attack이 가능해지는 상황 — 에 진입할지도 모른다. (Google 은 2017년 1월부터 SHA1 해시를 쓴 인증서를 안전하지 않은 것으로 간주하기로 했다(Chrome 41이후) )

여하튼 해야할 일:

  • 사용 중인 인증서가 SHA-1 해시로 서명되어 있는가? (직접 쓰는 인증서, intermediate 인증서 모두) 그러면 바꿀 것. 아마 이미 발급된 인증서에 대해서 무료(?) 재서명을 해줄지도 모름
  • SHA-1 해시로 서명된 사이트에 접속하고 그 사이트와 안전하게 통신하는게 중요하다면 그 사이트 사용을 멈추거나 (예를 들어 국민은행?) 바꾸라고 요구해야 한다
  • 조만간 주요 웹 브라우저에서 SHA-1 해시를 이용해서 서명한 인증서들을 안전하지 않다 라고 표시하는 업데이트가 나올테니 일찍일찍 설치해둘 것

정도를 해야.

아 그리고 SHA-1 해시를 root 인증서 에 쓴 건 상관없다. 아침에 일어났다가 불현듯 이게 떠올라서 — 이 블로그가 쓰는 인증서의 Root CA는 SHA-1 서명; 구글도 같은 Root CA 씀(…) — 검색해보니 Gradually sunsetting SHA-1 이란 글 발견. 해당 부분을 발췌하면,

Note: SHA-1-based signatures for trusted root certificates are not a problem because TLS clients trust them by their identity, rather than by the signature of their hash.

즉, root 인증서의 경우 공개키(pub-key)를 가지고 있는거고, (자가) 서명한 signature 자체는 검증할 일이 없기 때문에 상관없다는 것. (대조할 대상 이 아예 없으니까)