Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 11/10 루트 인증서란 무엇이며, 업데이트해야 할까요?

인증서(Certificate)는 내게 전달된 메시지가 원본 그대로이며 위조되지 않았다는 일종의 확인증 역할을 합니다. 물론 레노버의 SuperFish 인증서 사건처럼 이러한 확인 자체를 조작하는 방법도 존재합니다(이에 대해서는 뒤에서 다룹니다). 이 글에서는 Windows의 루트 인증서(Root Certificate)가 무엇인지, 그리고 이를 업데이트해야 하는지 살펴봅니다. Windows는 항상 루트 인증서를 '중요하지 않은 업데이트'로 표시하기 때문입니다.

공개 키 암호화는 어떻게 작동할까?

루트 인증서를 이해하려면 먼저 웹사이트와 브라우저 간, 또는 두 사람 간 메시지 형태로 이루어지는 웹 통신에서 암호화가 어떻게 작동하는지 알아야 합니다.

암호화 방식에는 여러 종류가 있지만, 그중 두 가지가 핵심이며 다양한 용도로 널리 사용됩니다.

  1. 대칭키 암호화(Symmetric Cryptography): 하나의 키로 메시지를 암호화하고 복호화하는 방식입니다(주로 이메일 통신에 사용됩니다).
  2. 비대칭키 암호화(Asymmetric Cryptography): 두 개의 키를 사용합니다. 하나의 키로 메시지를 암호화하고, 다른 키로 복호화합니다.

공개 키 암호화(Public Key Cryptography)는 공개 키와 개인 키 한 쌍으로 구성됩니다. 두 키 중 어느 것으로든 메시지를 암호화하고 복호화할 수 있으며, 안전한 통신을 완성하려면 두 키가 모두 필요합니다. 공개 키는 누구나 볼 수 있으며, 메시지의 출처가 실제로 표시된 것과 동일한지 확인하는 데 사용됩니다. 공개 키로 데이터를 암호화해 수신자에게 보내면, 수신자는 자신만 가진 개인 키로 데이터를 복호화합니다. 이렇게 신뢰 관계가 성립되고 통신이 계속됩니다.

공개 키와 개인 키에는 모두 Equifax, DigiCert, Comodo 같은 인증 기관(Certificate Issuing Authority)에 대한 정보가 담겨 있습니다. 운영체제가 해당 인증 기관을 신뢰할 만하다고 판단하면, 브라우저와 웹사이트 간에 메시지가 오갑니다. 반면 인증 기관을 식별하는 데 문제가 있거나 공개 키가 만료되었거나 손상된 경우에는 "웹사이트의 인증서에 문제가 있습니다"라는 메시지가 표시됩니다.

공개 키 암호화를 은행 금고에 비유할 수 있습니다. 금고에는 두 개의 키가 있는데, 하나는 지점장이, 다른 하나는 금고 사용자가 소유합니다. 두 키를 모두 사용해 맞춰야만 금고가 열립니다. 마찬가지로 웹사이트와 연결을 설정할 때도 공개 키와 개인 키가 모두 사용됩니다.

Windows 11/10의 루트 인증서란?

루트 인증서는 브라우저에게 현재 통신이 정품(진짜)임을 알려주는 최상위 인증서입니다. 통신이 진짜라는 이 정보는 인증 기관의 식별을 바탕으로 합니다. Windows 운영체제는 여러 루트 인증서를 신뢰할 수 있는 것으로 미리 등록해 두어, 브라우저가 이를 활용해 웹사이트와 통신할 수 있도록 합니다.

이는 브라우저와 웹사이트 간 통신 암호화에도 도움이 되며, 루트 아래에 속한 다른 인증서들도 자동으로 유효하게 만듭니다. 즉, 인증서에는 많은 '가지(branch)'가 있는 셈입니다. 예를 들어 Comodo의 인증서가 설치되어 있다면, 최상위 인증서가 웹 브라우저가 웹사이트와 암호화된 방식으로 통신하도록 돕습니다. 그리고 그 가지 중 하나인 Comodo의 이메일 인증서 역시, 운영체제가 루트 인증서를 신뢰한다고 표시했기 때문에 브라우저와 이메일 클라이언트가 자동으로 신뢰하게 됩니다.

루트 인증서는 특정 웹사이트와의 통신 세션을 열지 여부를 결정합니다. 웹 브라우저가 웹사이트에 접속하면, 해당 사이트는 브라우저에 공개 키를 전달합니다. 브라우저는 웹사이트와 통신을 진행하기 전에 이 키를 분석해 인증 기관이 누구인지, Windows 기준으로 그 기관이 신뢰할 만한지, 인증서 만료일(인증서가 아직 유효한지) 등을 확인합니다. 무엇이라도 문제가 있으면 경고가 표시되며, 브라우저가 해당 웹사이트와의 모든 통신을 차단할 수도 있습니다.

반대로 모든 것이 정상이면, 통신이 이루어지는 동안 브라우저가 메시지를 주고받습니다. 들어오는 모든 메시지에 대해 브라우저는 자신의 개인 키로 메시지를 검증해 사기성 메시지가 아닌지 확인합니다. 자신의 개인 키로 메시지를 복호화할 수 있을 때만 응답합니다. 즉, 통신을 지속하려면 두 키가 모두 필요하며, 모든 통신은 암호화된 상태로 진행됩니다.

가짜 루트 인증서

기업이나 해커 등이 사용자를 속이려 시도한 사례도 있습니다. 최근에는 무효한 인증서가 루트로 신뢰를 받은 사례가 화제가 되기도 했습니다. 바로 레노버 컴퓨터에 탑재된 'SuperFish' 인증서입니다. SuperFish 애드웨어는 정당해 보이는 루트 인증서를 설치해 브라우저가 웹사이트와 통신을 계속하도록 허용했습니다. 하지만 그 암호화 체계는 너무나 취약해서 쉽게 도청당할 수 있었습니다.

레노버는 사용자의 쇼핑 경험을 향상시키려는 의도였다고 밝혔지만, 결과적으로 사용자의 개인 데이터를 인터넷을 배회하는 해커들에게 노출시켰습니다. 노출된 개인 데이터는 신용카드 정보, 사회보장번호 등 무엇이든 될 수 있습니다. 레노버 제품을 사용 중이라면 브라우저의 신뢰할 수 있는 인증서 목록을 확인해 해당 애드웨어가 설치되어 있지 않은지 점검하세요. 만약 있다면 Windows Defender를 업데이트하고 실행해 인증서를 제거하세요. 레노버에서도 자동 제거 도구를 배포했습니다.

Root Certificates Scanner나 SigCheck를 사용하면 서명되지 않았거나 신뢰할 수 없는 Windows 루트 인증서를 확인할 수 있습니다.

결론

루트 인증서는 브라우저가 웹사이트와 통신할 수 있게 해주는 중요한 요소입니다. 호기심이나 보안 때문에 신뢰할 수 있는 인증서를 모두 삭제하면, 항상 "신뢰할 수 없는 연결"이라는 메시지를 받게 됩니다. 올바른 루트 인증서가 모두 없다고 생각되면 Microsoft Windows 루트 인증서 프로그램을 통해 신뢰할 수 있는 루트 인증서를 다운로드할 수 있습니다.

루트 인증서 업데이트가 있는지 가끔씩 '중요하지 않은 업데이트'를 확인하는 것이 좋습니다. 업데이트가 있다면 반드시 Windows Update를 통해서만 다운로드하고, 서드파티 사이트에서 받아서는 안 됩니다.

가짜 인증서도 존재하지만, 가짜 인증서를 받을 가능성은 제한적입니다. 컴퓨터 제조업체가 레노버처럼 신뢰할 수 있는 루트 인증서 목록에 추가하거나, 서드파티 웹사이트에서 루트 인증서를 다운로드하는 경우에만 발생합니다. 인터넷 어디선가 직접 설치하기보다는 Microsoft에 맡기는 것이 좋습니다. 루트 인증서를 열어 인증 기관 이름을 검색하면 신뢰 여부를 확인할 수도 있습니다. 기관이 평판이 좋다면 설치하거나 유지하면 되고, 인증 기관을 알 수 없다면 제거하는 편이 좋습니다.

다음 글에서는 신뢰할 수 있는 루트 인증서를 관리하는 방법을 다뤄보겠습니다.