방송통신위원회와 kt(ISP)에서 불법유해사이트 차단의 목적으로 HTTPS 핸드 셰이킹 과정(홈페이지 인증 과정)에서 발생하는 패킷에서 'SNI'(서버 네임)필드를 조회하여 차단하는 기술을 도입하였습니다. TLS 1.2 표준 HTTPS의 핸드셰이킹 과정에서 서버 네임(목적지)가 암호화 안된다는 것을 이용, 이 이름 중 블랙리스트가 있다면 차단하겠다는 방침입니다. 언뜻보면 고난이도 기술을 획기적으로 이용하여 불법사이트 접속을 차단하는 것으로 보입니다. 그러나 이 기술은 헌법 제 18조 위헌, 통신비밀보호법 제 3조 위법 소지가 있습니다. 지금부터 그 이유를 설명 드리겠습니다. 먼저 기술적인 측면에서 살펴보겠습니다. 우리가 홈페이지를 들어갈 때 2개의 큰 프로토콜을 사용합니다. http, https 이중 http는 공개접속, https는 보안 접속으로 사용자와 서버 간 통신에 비밀을 요구할 때 사용됩니다. 이번에 논란이 된 https차단은 통신의 비밀을 선언했음에도 불구하고, 맨 처음 인증과정에서 SNI(서버네임)은 암호화가 안된다는 점을 이용하여 이를 조회한 후 방송통신위원회가 제시한 블랙리스트에 의거하여 통가 불 통과를 결정합니다. 문제는 이 기술을 수행하기 위해선 '모든 사람'이 맨 처음 홈페이지에 접속할 때 이 과정을 받아야 합니다. 또한 '모든 SNI필드'를 ISP(통신사)가 봐야 합니다. SNI (4계층 TLS표준) 식별을 수행하기 위해서는 밑 계층 TCP/UDP(3계층)의 단위인 '패킷'을 검사해야 합니다. 이제 법 2개를 들여다봅시다. 헌법 제 18조와 통신비밀보호법 제 3조입니다. 헌법 제 18조 : 제 18조 모든 국민은 통신의 비밀을 침해 받지 아니한다. 통신비밀보호법 제 3조 : 누구든지 이 법과 형사소송법 또는 군사법원법의 규정에 의하지 아니하고는 우편물의 검열ㆍ전기통신의 감청("감청"이라 함은 전기통신에 대하여 당사자의 동의없이 전자장치ㆍ기계장치등을 사용하여 통신의 음향ㆍ문언ㆍ부호ㆍ영상을 청취ㆍ공독하여 그 내용을 지득 또는 채록하거나 전기통신의 송ㆍ수신을 방해하는 것을 말한다.) 또는 통신사실확인자료의 제공을 하거나 공개되지 아니한 타인간의 대화를 녹음 또는 청취하지 못한다. 다만, 다음 각호의 경우에는 당해 법률이 정하는 바에 의한다. (이하 예외 경우) http://www.law.go.kr/%EB%B2%95%EB%A0%B9/%ED%86%B5%EC%8B%A0%EB%B9%84%EB%B0%80%EB%B3%B4%ED%98%B8%EB%B2%95 통신비밀보호법 제 3조에서는 예외인 경우가 아니라면 "감청"을 할 수 없도록 규정하고 있습니다. 그 예외는 범죄수사, 테러, 직접적인 사망을 야기하는 행위 등 입니다. 당연히 일반 통신을 감청할 수 있는 범위가 아닙니다. https를 사용한 순간 사용자는 http와 다르게 "이 통신은 비밀로 하고 싶다"라는 의지를 표명하였다고 판단할 수 있습니다. 그러므로 SNI검사는 ISP(통신사), "제 3자"가 "적법한 절차, 사용자 동의"없이 "비밀을 표명한 통신의 취약점을 이용하여 정보 중 일부를 조회" 했다고 볼 수 있습니다. 과연 이게 통신 감청이 아닐까요? 심지어 모든 https를 사용한 사람에게 적용됩니다. 비밀을 표명했는데도, 동의 없이 일반인 모두가 강제로 조회 당했는데, 이게 적법하게 통신의 비밀을 침해 받지 않았다고 말할 수 있습니까? 또한 방송통신심의회의 주장은 "패킷 감청"이 아니라 합니다. 어이없는 주장입니다. 더 높은 표준을 검사했지만 그 아래 표준을 검사한 게 아니다 와 같은 논리로, "나는 말을 들었지만 소리를 들은 게 아니다."와 같습니다. 방송통신심의회가 정부 기관이라는 대법원 판례가 있는 만큼, 감청 위험이 있는 이 정책을 대한민국 정부에서 필히 조사해보고 조정할 필요가 있습니다. 대한민국 헌법 제 3조, 통신의 비밀을 지켜주시길 바랍니다.
kt의 SNI필드 조회 (속칭 https 차단)은 헌법 제 18조, 통신비밀보호법 제 3조 위법입니다.