1990년대 미드넷스케이프와 마이크로소프트 간의 브라우저 전쟁에서 보안 프로토콜이 어떻게 발전하고, 경쟁 속에서 그 명칭이 어떻게 바뀌었는지에 대한 이야기입니다.
1990년대 중반, 넷스케이프와 마이크로소프트 간의 브라우저 전쟁은 정말로 치열하고 경쟁적이었습니다. 두 회사는 서로를 견제하며 전쟁을 벌였습니다.
넷스케이프는 SSL 프로토콜을 개발했습니다. 초기 버전은 암호학적 결함이 있어 비교적 빠르게 뚫렸고, 실제로 출시되지도 않았습니다. 실제로 상용화된 첫 번째 버전은 SSL 2로, 몇 년간 사용되었습니다. (이 버전이 정확히 어떤 내비게이터 버전에 탑재되었는지는 잘 모릅니다.)
SSL 2에는 암호학적으로나 실제 사용 측면에서 여러 결함이 있었습니다. 심각한 수준은 아니었지만, 초기부터 분명히 개선이 필요하다는 목소리가 있었습니다.
이 치열한 경쟁의 일환으로, 마이크로소프트는 독자적인 기능을 추가하여 SSL 2 프로토콜을 수정했고, 이를 기반으로 "PCT"라는 프로토콜을 만들었습니다. 이 프로토콜은 오직 IE(인터넷 익스플로러)와 IIS(인터넷 정보 서비스)에서만 지원되었습니다.
넷스케이프 역시 SSL 2의 문제를 해결하길 원했지만, 마이크로소프트가 표준 주도권을 가져가는 것을 원치 않았기에 더 과감하게 독자적으로 SSL 3.0을 개발했습니다.
업계와 커뮤니티 내 다양한 사람들은 분열(포크)을 원하지 않았습니다. 그래서 저희(그때 저는 Christopher Allen과 함께 Consensus Development에서 일하며, SSL 3.0 참조 구현을 넷스케이프의 의뢰로 작성했습니다)가 넷스케이프와 마이크로소프트 대표자들이 모이는 회의를 주최했습니다. 누가 모두 참석했는지 정확히 기억나진 않지만, 그 당시(유명해지기 전)의 Bruce Schneier, 그리고 아마도 SSL 3 프로토콜을 설계한 Paul Kocher, 마이크로소프트의 Barbara Fox 등이 있었던 것으로 기억합니다. 이후 마이크로소프트와 넷스케이프 양사가 IETF가 프로토콜을 넘겨받아 공개적으로 표준화하는 데 함께 하기로 합의했으며, 그 결과 저는 해당 RFC의 편집자가 되었습니다.
이 협상의 일환으로, SSL 3.0에 일부 변경을 가해야 했습니다(그냥 넷스케이프 프로토콜을 IETF가 승인한 것처럼 보이지 않도록 하기 위함이었습니다). 또한 같은 이유로 프로토콜의 명칭도 변경해야 했죠. 이렇게 탄생한 것이 바로 TLS 1.0(실질적으로는 SSL 3.1)입니다. 물론, 지금 돌이켜 보면 이 모든 과정이 좀 우스꽝스럽게 보이기도 합니다.