728x90

HTTP/2 에 대한 이야기들 중 근래에 가장 논란이 되고 있는 것 중 하나가 TLS 에 대한 요구사항일 것 같습니다. 처음 SPDY / HTTP/2 에 대한 이야기가 나오면서 TLS 가 필수 조건이라는 소식에 이제 웹 환경이 완전히 Secure 로 넘어간다는 생각들을 많이 했었습니다. 그런데 결국 TLS 를 이용해야만 한다는 것은 연결을 만드는 과정에 오버헤드가 발생한다는 것이고 Let's Encrypt 등의 도움에도 불구하고 서비스 혹은 상황에 따라 부담이 될 수 있는 여지가 있었습니다.


이 때문에 HTTP/2 Working Group 에서는 암호화 되지 않은 HTTP/2 프로토콜 스펙에 대한 이야기가 오가고 있었고 정확한 시점은 확인해 보지 못했지만 TLS 의 지원이 필수는 아닌 것으로 정리된 것 같습니다. 스펙상으로 이부분은 h2c 라는 용어로 통칭되고 있고 TLS 터널링을 이용하지 않은 Non-encrypted 전송에 대한 이야기라고 이해하시면 되겠습니다 (자세한 이야기는 여기에 : https://http2.github.io/faq/#does-http2-require-encryption)




다만 표준의 진행이 이렇게 가고 있다 하더라도 브라우저들이 HTTP/2 스펙을 구현한 상황을 확인해 보면 이야기는 다소 달라집니다. 현재까지 HTTP/2 를 지원하는 것으로 알려진 모든 브라우저들은 HTTP/2 프로토콜 이용의 조건으로 TLS Handshake 를 전제하고 있습니다. 웹 컨텐츠를 소화하는 방식이 웹 브라우저만 있는 것은 아니겠지만, 대다수가 브라우저 기반이라고 가정했을 때 원본 서버에서 HTTP/2 를 이용하기 위한 전제조건으로 TLS 를 제공해야 한다는 것은 변함이 없을 것 같습니다.


참고 : http://caniuse.com/#search=http2


- NoPD -


728x90
728x90

크롬 브라우저가 새로운 버전(v45) 으로 업데이트 되면서 성능 개선에 대한 이야기가 많이 나오고 있습니다. 그런데 성능 개선과 별도로 일부 서비스에서는 이슈가 발생하기 시작해서 살짝 살펴보았습니다. 개인적으로 경험한 웹 사이트는 SK텔레콤의 포털인 T World 에서 로그인이 제대로 되지 않는 현상이었고 이는 현재 진행형으로 오류가 발생하고 있습니다. 아마도 서비스 개발팀 쪽에서는 인지하고 있을 것 같은데, 조치가 서버단에서 이루어져야 하는 관계로 시간이 소요되는 것으로 보입니다.


구글 Chromium 그룹에서 이야기 되는 내용에 따르면, 1) 크롬은 여전히 v45 에서 TLS v1.0 을 지원하고 있으니 TLS 버전 이슈는 아님, 2) 다만 크롬이 접속하려는 서버가 TLS Handshake 하는 과정에 이슈가 있을 경우, 기존에는 크롬이 Workaround 해주었지만, 3) v45 부터는 더이상 해당 Workaround 를 지원하지 않아서 발생하는 문제다 정도입니다. 구체적으로 어떤 웹 서버의 특정 버전이 이슈가 있는 것인지는 명확하게 정리된 내용을 찾지 못했습니다만 조치를 위해서는 서버측의 TLS Handshake 에 대한 보완이 필요한 것으로 추정됩니다.




SK텔레콤의 T world 의 경우 대표 도메인에서 로그인 시에는 별도이 도메인으로 이동하여 인증처리를 하고 있는데요, 해당 도메인이 TLS Handshake 상의 버그를 가지고 있는 것으로 보입니다. curl 로 서버의 종류를 판별해 보려고 했으나 잘 되지 않아 말씀드리긴 애매합니다. 여튼, 서비스를 운영하시는 분들중 특히 TLS 를 이용하여 HTTPS 통신을 할 때, 서버가 문제 없는지 크롬 v45 이상으로 확인해 보실 것을 권고해 드립니다.




[ ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION 관련 참고글 ]

https://groups.google.com/a/chromium.org/forum/#!topic/security-dev/cuHipbsCYSI




728x90

+ Recent posts