기자명 지웅배 기자 (sedation123@skkuw.com)

암호화되지 않은 정보 SNI
복호화 할 수 없어 내용 감청 불가능해

 

지난달 12일부터 정부는 음란물, 도박 등 불법 사이트 접속 차단을 강화하기 위한 ‘https 차단’ 정책을 시행했다. 이에 본 기사에서는 차단에 대한 기술적인 원리를 이해하고 현재 우려되는 패킷 감청과 비교해본다

정부, 규제를 발표하다
방송통신위원회(이하 방통위)는 지난 12일 “보안접속(https) 및 우회접속 방식으로 유통하는 해외 인터넷사이트에 대한 접속차단 기능을 고도화한다”며 “방송통신심의위원회의 통신 심의 결과, 차단 결정한 895건의 불법 해외사이트부터 관련 내용을 적용한다”고 밝혔다. 정부가 이번에 사용하는 기술은 이용자의 브라우저와 웹서버 사이에서 주고받는 데이터인 ‘SNI 정보’를 활용해, 불법 사이트 여부를 확인하는 방식이다. 일각에선 정부에 의한 이용자 사생활 검열과 이른바 ‘감청’으로 이어질 수 있다는 우려가 제기되고 있다. 불법사이트로 지정된 목록이 발표되지 않고 정부가 주관적으로 판단을 내릴 가능성이 높아 불분명하다는 주장이다. 이에 대해 방통위는 웹상에서 주고받은 내용은 현재 암호화 돼 있기 때문에 중간에서 감청할 수 없으며 충분한 논의를 거쳐 선정하겠다고 설명했다.

‘http’ + ‘s’ = ‘안전’
‘http’란 웹상에서 정보를 주고받기 위한 국제적인 통신 규격, 즉 프로토콜이다. 외국인과의 대화에서 한국어로 말하면 소통할 수 없듯이 컴퓨터 간의 정보 송수신에 있어서도 통일된 프로토콜이 필요하며 http가 그 역할을 수행한다. 브라우저는 이용자가 입력한 도메인(예를 들어 성대신문의 www.skkuw.com)을 IP 주소(114.200.196.34)로 변환해야 접속할 수 있다. 브라우저 접속을 위해서는 도메인에 대응하는 IP 주소들이 저장된 공간인 ‘네임서버’에 접촉해야 한다. 네임서버에서 IP를 얻게 되면, 이 IP 주소에 ‘/(루트)’ 형태로 페이지를 달라고 요청을 한다. 해당 IP 주소에는 성대신문 서버가 있으므로 성대신문의 메인 페이지를 보내준다. 중요한 점은 해당 과정에서 http 연결을 시도할 때 이용자가 원하는 사이트의 도메인이 포함된다는 것이다. 정부의 네트워크 감시 장비는 이 점을 활용한다. 정부의 장비는 ISP(인터넷 제공자, Kt, SKB, U+ 등)가 제공하는 네트워크를 오가는 모든 데이터를 감시한다. 그리고 이용자가 정해진 불법 사이트의 도메인을 요청하면 정부의 네트워크 장비는 이용자가 접속한 서버인 마냥 위장해 가짜 데이터를 이용자에게 되돌려 보낸다. 대표적인 예가 ‘워닝사이트’ 표시다.

http에서 한 단계 발전한 형태가 ‘https’다. 여기서 ‘s’는 ‘secure(암호화)’를 뜻한다. http를 초기에 계획했을 당시에는 소수의 인원이 학술적인 내용을 주고받는 용도였기에 데이터를 암호화되지 않은 평문으로 적어서 보내도 문제가 없었다. 그러나 상업적으로 http의 대중화가 이뤄지고 악의적인 의도를 갖고 내용을 엿보는 사람들이 생겨나며 피해받는 이들이 생겨났다. 이를 방지하고자 http를 통해 주고받는 데이터를 암호화했다. 정해진 키를 이용해서 데이터를 암호화하고 반대로 복호화하는 키를 이용해서 해독한다. https는 네임 서버에서 IP 주소를 얻으면 해당 홈페이지에 바로 데이터를 보내는 대신 데이터 암호화 키를 요청한다. 브라우저는 전달받은 암호화 키를 이용해 데이터를 암호화해서 보낸다. 마찬가지로 서버도 데이터를 암호화시켜 브라우저에 전달한다. 즉 암호화된 데이터를 주고받으므로 네트워크 장비는 해독할 수 없고 송수신자끼리만 내용을 확인할 수 있다.

SNI 값은 평문이라고?
최근 정부가 사용한 차단 방법이다. https에서 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서를 TLS(SSL) 인증서라고 한다. 본래 TLS라는 프로토콜은 암호화를 위해 서버와 브라우저가 암호화 키를 주고받는 과정을 필요로 하며 이를 Handshake라고 부른다. TLS의 초기 Handshake 과정에는 SNI가 필요하지 않았으나 하나의 IP 주소에 여러 웹 사이트를 운용하는 것이 일반화되며 필요해졌다. 그 결과 SNI 값은 동일한 IP 주소를 지닌 사이트 중 이용자가 접속하길 원하는 특정 사이트를 알기 위한 용도이므로 평문으로 적혔다. TLS 인증서가 이용되는 방식은 다음과 같다. 우선 클라이언트가 서버에 접속한다. 서버가 인증서 정보를 클라이언트에게 전달하고 인증서의 신뢰성 여부를 검증 후 통신을 시작한다. 즉 공개키가 데이터를 제공한 사람의 신원을 보장해주게 되는 것이다. 그런데 이때 SNI 필드 값이 평문으로 전송된다. 정부는 이 SNI 값을 이용해 불법 사이트에 접속을 차단하는 것이다. 

이해를 돕기 위해 다음과 같이 비유할 수 있다. 한 교실(웹상)에서 학생(이용자)들이 편지(http)를 이용해 소통한다. 편지를 보내기 위해서는 우편함 번호(IP 주소)를 알아야 한다. 그리고 편지를 중간에 다른 사람이 읽지 못하게 하기 위해 내용은 암호(https)로 적혀있다. 허나 중요한 점은 보내는 사람과 받는 사람의 이름(SNI)이 암호로 쓰여 있지 않다는 것이다. 반장(정부)은 편지에 적힌 받는 아이의 이름을 보고 요주인 학생(불법 사이트)이 적혀있으면 편지를 버린다(SNI 차단).

패킷 감청과는 다르다
정부의 https 차단 정책이 시행된 이후 ‘패킷 감청’이 아니냐는 우려의 목소리가 커지고 있다. 정부는 이에 대해 감청이 아니라는 기술적 해명을 했다. ‘패킷’이란 웹상에서 주고받는 데이터를 통신장비가 처리할 수 있게 잘게 쪼갠 조각이다. 그리고 이 패킷을 당사자 모르게 복제해 제3자가 재조합해서 내용을 감청하려는 시도를 패킷 감청이라 한다. 패킷 감청은 불법이며 헌법재판소에서는 생활의 비밀과 자유에 위협을 초래한다고 판단해 위헌 판결을 내렸다. 현재 국민들의 우려와는 다르게 전문가들은 ‘https 차단’과 ‘패킷 감청’이 엄연히 다르다고 말한다. 고려대학교 정보보호대학원 임종인 교수는 “내용을 재조합해서 읽는 패킷 감청과는 다르게, SNI 차단은 패킷을 해독할 수 없어서 내용 감청은 불가능하다”고 말했다. 복호화를 하기 위한 키는 정보를 제공하는 사이트에서 갖고 있기 때문에 정부는 이를 해독할 수 없는 것이다. 

한편 다른 측면에서 우려의 목소리도 일고 있다. 정부의 기술력 부족과 제도의 미비 때문이다. 현재 https 차단의 경우 우회하는 기술의 상용화가 멀지 않아 실효성이 떨어진다는 비판을 받고 있다. 임 교수는 이에 대해 “최신 파이어폭스 같은 브라우저나 기기 자체에서 SNI 정보를 암호화해서 검열을 피해가는 우회 기능을 제공하는 경우가 많다”며 “이 같은 기술이 대중화가 될 날이 얼마 남지 않았다”라고 덧붙였다. 또한 제도적인 측면에서 명확히 이용자들의 정보를 감시해서 차단한다는 내용이 법에 구체적으로 명시돼 있지 않아 감청 논란이 불거지고 있다.