요약

  • 4개 정부 TLS 가이던스를 동일한 5,070만 개 서버 헬로 패킷(한 연구기관, 14일간 수집)에 적용했을 때 부적합 비율이 약 14%에서 80%까지 나타났습니다.
  • 연구는 4개 평가 대상 가이던스 어느 곳에도 언급되지 않은 하이브리드 양자내성 키 교환 그룹인 X25519MLKEM768을 사용한 핸드셰이크 685만 건을 집계했습니다. “목록에 없다”는 것은 “고장 나 있다”는 뜻이 아닙니다.
  • TLSGatekeeper는 선택된 핸드셰이크 파라미터를 관찰하고 필요시 애플리케이션 트래픽을 복호화하지 않고도 연결을 차단할 수 있습니다. 100Gbps 결과는 차단이 비활성화된 실험실 환경에서 나온 것이며, 공식 보고된 상용 배치 사례가 아닙니다.

규칙집에 따라 바뀌는 백분율

네트워크 보안 대시보드에서 “80% 부적합”은 네트워크의 속성처럼 보입니다. 그러나 이 경우 그것은 동시에 채점에 사용된 규칙집의 속성이기도 합니다.

APNIC 블로그의 게스트 글은 트렌토 대학과 Fondazione Bruno Kessler의 Henrique Becker Brum과 동료들의 연구를 소개합니다. arXiv:2605.31020v1로 공개된 이 논문은 2주간 TLS 트래픽 샘플을 이탈리아 ACN, 프랑스 ANSSI, 독일 BSI, 미국 NIST라는 4개 국가 사이버보안 가이던스와 비교합니다. 측정된 세 필드에서 이 연구는 ANSSI 기준 약 14%부터 NIST 기준 80%까지의 부적합률을 보고합니다.

이 격차가 바로 이야기의 핵심입니다. 선택된 가이던스가 바뀐다고 연결 자체가 바뀌지 않습니다. 바뀌는 것은 라벨입니다. 그리고 조직이 그 라벨을 자동 차단으로 전환한다면, 문서 해석 방식에 대한 선택이 사용자가 어떤 연결을 만들 수 있는지에 대한 결정이 됩니다.

이것은 가이던스가 무용하거나 그 차이가 자의적이라는 주장이 아닙니다. 이것들은 서로 다른 공공 부문 환경, 위협 모델, 전환 경로를 위해 작성된 것입니다. 여기서 주장하는 것은 알려진 취약점, 명시적 정책 금지, 그리고 정책이 아직 평가하지 않은 값 사이의 구분을 유지하자는 것입니다. 이 세 가지를 모두 “부적합”으로 뭉뚱그리는 시스템은 자동화하기는 쉽지만 설명하기는 어렵습니다.

연구자가 실제로 측정한 것

캡처는 2025년 10월 13일부터 26일까지 Fondazione Bruno Kessler의 기관 네트워크 경계에서 내부 클라이언트가 외부 서버로 향하는 트래픽을 대상으로 진행되었습니다. 정제 후 저자들은 155,066,707개 패킷을 보고하며, 그중 50,744,009개 서버 헬로 패킷을 바탕으로 서버가 선택한 TLS 버전, 암호 스위트, 지원 그룹을 검토했습니다.

이 수치는 그 네트워크 안의 패턴을 드러낼 만큼 충분히 큽니다. 하지만 한 기관을 글로벌 인구조사로 바꾸지는 못합니다. 핸드셰이크 수는 고유한 조직, 사용자, 서버의 수가 아닙니다. 워크스테이션, 서비스, 방문자, 원격 근무자, 그리고 기관 자체의 운영 일정이 샘플을 형성합니다. 논문 자체는 단일 기관 네트워크를 다루며, 저자들은 이를 다양하다고 부르지만, 그것은 지리적·산업 전반의 표집을 대신하지 못합니다.

이 경계가 중요한 이유는 헤드라인이 설계가 뒷받침하는 것보다 더 큰 주장을 부르기 쉽기 때문입니다. 이 논문은 각 서버의 전체 구성, 인증서, 소프트웨어, 배치 환경, 핸드셰이크 이후 동작을 감사하지 않습니다. “컴플라이언스” 계산은 서버 측에서 선택된 세 값을 대상으로 버전, 암호 스위트, 지원 그룹 순으로 진행되는 순차 검사입니다. 앞선 필드가 선택된 가이던스를 통과하지 못하면, 이후 필드는 그 기록의 부적합 이유로 계산되지 않았습니다. 결과는 관찰된 핸드셰이크 값과 특정 규칙의 유용한 비교이지, 엔드포인트의 완전한 보안 인증이 아닙니다.

그것만으로도 하나의 운영상 문제를 드러냅니다. 즉 이 규칙들은 허용 가능한 값의 하나의 보편적 어휘를 서술하지 않는다는 점입니다.

“미등재”는 판정이 아니라 네 번째 상태다

가장 큰 파장을 일으킨 사례는 X25519MLKEM768입니다. 데이터셋은 이 그룹을 선택한 서버 헬로 패킷 6,845,778건, 즉 샘플의 약 13.5%를 기록했습니다. 논문의 표에서 이 값은 핸드셰이크가 가이던스 비교에서 실패하게 만든 값들 가운데, 4개 평가 대상 문서 어디에도 언급되지 않은 항목으로 나옵니다.

이 이름은 광범위하게 배치된 고전 타원곡선 그룹 X25519와, NIST가 FIPS 203으로 표준화한 양자내성 키 캡슐화 기법 ML-KEM을 결합한 것입니다. 그렇다고 모든 핸드셰이크가 “양자 안전”인 것은 아닙니다. 관찰된 값은 이 샘플에서 서버가 하이브리드 그룹을 선택했다는 증거일 뿐입니다. 그것은 연결 전체의 보안 속성, 클라이언트 구현, 애플리케이션 동작, 종단 간 마이그레이션 상태를 입증하지 않습니다. 또한 논문이 별도로 다루는 구버전 초안 값인 X25519Kyber768_Draft00과 혼동해서도 안 됩니다.

그러나 이 측정은 “PQC가 온다”는 일반적 예측보다 날카로운 함의를 지닙니다. 아직 새 값을 이름으로 수록하지 않은 호환성 목록은, 연구 저자들이 그 값에서 알려진 취약점을 확인하지 않았더라도 실제 사용을 부적합으로 분류할 수 있습니다. 목록이 자신의 어휘 밖의 무언가를 마주친 것입니다. 그것은 규칙을 검토할 이유이지, 구현을 차단해야 한다는 증거가 아닙니다.

같은 긴장이 반대 방향에서도 나타납니다. 논문은 Curve25519가 주요 브라우저에서 널리 사용되고 수용되지만 평가된 NIST 가이던스에서는 승인되지 않았다고 지적합니다. 또한 ChaCha20-Poly1305는 NIST가 권장하지 않는 현대 암호라고 언급합니다. 어느 쪽 관찰도 공공기관의 요구를 무시해야 한다는 뜻이 아닙니다. “하나의 기준에 걸린다”와 “암호학적으로 깨어 있다”는 서로 다른 증거와 결과를 지닌 서로 다른 주장이라는 뜻입니다.

시스템에는 이진 플래그 이상의 것이 필요합니다. 최소한 운영자는 다음을 구분해야 합니다.

  • 이름과 날짜가 명시된 정책에 의해 명시적으로 금지된 것;
  • 그 정책 하에서 허용된 것;
  • 평가되지 않았거나 아직 수록되지 않은 것;
  • 확인된 기술적 근거 하에서 취약점이 알려진 것.

마지막 범주는 첫 번째나 세 번째에서 추론되어서는 안 됩니다. 정책은 입증된 파테 이상의 이유로 어떤 값을 의도적으로 거부할 수 있습니다. 그 결정은 자기 범위 안에서 여전히 유효할 수 있습니다. 텔레메트리는 어느 이유가 적용되었는지 운영자에게 알려주어야 합니다.

관찰에서 집행으로

저자들은 측정에서 통제로 나아가기 위해 TLSGatekeeper를 만들었습니다. 이것은 XDP/eBPF 기반 네트워크 미들박스로, 서버 핸드셰이크 메시지에서 선택된 필드를 검사하고, 선택된 정책과 비교하고, 결과를 기록하며, 필요시 연결을 차단할 수 있습니다. 애플리케이션 콘텐츠를 복호화하지는 않습니다. 서버가 선택한 핸드셰이크 값을 읽기 때문에, Encrypted Client Hello가 클라이언트 측 SNI를 감추더라도 이 도구가 분석하는 특정 필드는 숨겨지지 않습니다.

이 설계는 책임이 어디에 놓이는지를 바꿉니다. 각 브라우저나 애플리케이션을 갱신하는 대신, 조직은 많은 클라이언트의 이그레스 경로에 하나의 정책 지점을 둘 수 있습니다. 기기가 많거나, 임시적이거나, 엔드포인트 관리의 직접 통제 밖에 있는 환경에서 유용할 수 있습니다. 그러나 공유된 실패 지점도 만들어냅니다. 잘못된 규칙, 파서의 한계, 검토되지 않은 갱신 하나가 미들박스를 통과하는 모든 클라이언트에 영향을 줄 수 있습니다.

엔지니어링 시연은 주목할 만하지만, 그 범위는 반드시 수치에 붙어 있어야 합니다. 평가는 한 서버 안에서 100Gbps로 연결된 두 개의 BlueField-2 데이터 처리 장치를 사용했습니다. 16개 백그라운드 트래픽 스트림에서 링크는 DPU의 처리 한계에 근접했습니다. 논문은 핸드셰이크 패킷당 평균 검사 지연을 TLS 1.3에서 671나노초, TLS 1.2에서 795나노초로 보고합니다.

이것들은 패킷 처리에 대한 실험실 측정이며, 배치된 모든 네트워크가 모든 트래픽 조합에서 회선 속도를 유지할 것이라는 보장이 아닙니다. 더 중요한 것은, 성능 실험이 차단하지 않도록 구성되었다는 점입니다. 패킷은 XDP_PASS로 호스트 스택에 전달되었습니다. 따라서 보고된 결과는 그 설정에서 테스트된 파서가 매우 낮은 측정 오버헤드로 트래픽을 검사할 수 있었다는 것을 보여줍니다. 이것은 능동 차단의 운영 신뢰성, 선택된 정책의 품질, 고객 배치, 장애 복구 기록을 입증하지 않습니다.

구현에는 명확한 경계도 있습니다. QUIC이나 DTLS가 아니라 TCP 위의 전통적 TLS를 다룹니다. 이를 도입하는 네트워크는 어떤 트래픽이 그 검사를 우회하는지, 그 경로는 어떻게 통제되는지 알아야 합니다. “복호화 없음”은 의미 있는 프라이버시 속성이지만, “정책 권한 없음”을 뜻하지는 않습니다. 핸드셰이크 패킷을 경고로 대체할 수 있는 미들박스는 여전히 연결이 형성되는 것을 막을 수 있습니다.

APNIC과의 연결—그리고 그 한계

매체가 중요한 이유는 APNIC 블로그가 아시아·태평양 전역의 연구와 운영 논의를 위한 공개 기술 포럼이기 때문입니다. APNIC이 TLSGatekeeper를 만들었거나, 테스트했거나, 배치했다는 증거가 아닙니다. 저자들의 소속과 블로그의 게스트 글 고지가 그 구분을 명시합니다.

지역 운영자에게 유용한 질문은 어느 국가 가이던스가 승리해야 하는가가 아닙니다. 지역 정책이 어떻게 운영 결정이 되는가입니다. 규제자는 특정 공공 서비스 계층에 대한 필수 프로파일을 정의할 수 있습니다. 대학은 관리 기기에 대해 다른 기준을 선택할 수 있습니다. 네트워크 팀은 보안 검토를 마치는 동안 새로 등장한 키 교환을 허용해야 할 수 있습니다. 어떤 권위가, 누구에게, 어떤 프로토콜에, 어떤 문서 버전부터 적용되는지 시스템이 기록한다면 이 결정들은 공존할 수 있습니다.

그 맥락 없는 허용 목록은 이전하기 어렵습니다. 한 프로파일에서 수용 가능한 값이 다른 프로파일에서 거부될 수 있습니다. 정책 갱신은 엔드포인트가 바뀌지 않았는데도 이전에 관찰된 연결이 새로 부적합으로 보이게 만들 수 있습니다. 알고리즘은 기관이 가이던스를 개정하는 것보다 빠르게 실험 단계에서 표준화 단계로 이동할 수 있습니다. 로그가 “차단됨: 부적합”만 남긴다면, 인시던트 대응자는 어느 규칙이 결정을 내렸는지, 그 값이 금지된 것인지, 미평가인 것인지, 단지 목록에 없는 것인지 재구성하지 못할 수 있습니다.

그것은 암호학 문제만큼이나 출처(provenance) 문제입니다. 신뢰할 수 있는 보안 결정은 검사된 필드, 관찰된 값, 정책 식별자와 판(版), 거부 이유, 결정 시각, 예외 또는 수정 경로를 함께 담아야 합니다. 그것이 없다면 자동화된 통제는 코드에서는 결정론적이지만 거버넌스에서는 불투명할 수 있습니다.

가이던스에서 패킷으로 더 안전한 번역

이 연구는 모든 운영자에게 통제 모델을 규정하지 않습니다. 하나의 방어 가능한 접근은 정책 상태를 허용, 금지, 미평가라는 세 개의 명시적 클래스로 저장하는 것입니다. 취약점이 알려진 값은 기술적 근거와 함께 별도로 표시할 수 있습니다. “미평가”는 “금지”의 차단 동작을 조용히 물려받는 것이 아니라 가시성과 검토를 생성해야 합니다.

차단이 필요한 곳에서 운영자는 새 규칙을 관찰 모드로 배치하고, 어떤 실제 연결에 영향을 주는지 측정하고, 영향받는 서비스를 식별한 뒤 더 넓은 집행 전에 제한된 세그먼트에 배포할 수 있습니다. 규칙은 출처 문서, 날짜, 소유자, 만료일 또는 검토 트리거를 함께 담아야 합니다. 예외에는 책임 있는 승인자와 종료일이 필요합니다. 롤백 경로는 정책을 네트워크 전역으로 확대하기 전에 테스트되어야 합니다.

이것들은 논문이 TLSGatekeeper가 이미 제공한다고 주장하는 기능이 아니라 편집상 권고입니다. 문서 수준의 비교와 패킷 수준의 행동 사이의 간격에서 비롯된 권고입니다. 정책 작성자는 언어를 통제하고, 네트워크 운영자는 현지 채택을 통제하고, 소프트웨어 유지보수자는 파서 동작을 통제하고, 사용자는 실패한 연결을 감당합니다. 컴팩트한 결제 영수증은 이 경계들을 보존해야 하며, 미들박스가 “컴플라이언스”라는 보편적 진실을 발견한 것처럼 보이게 해서는 안 됩니다.

Lu Heng의 노트 64는 유용한 설계 렌즈를 제공합니다. 공통 기술 기준선이 모든 미래의 선택을 중앙의 허가 결정으로 만들어서는 안 된다는 것입니다. 여기서 그것은 공공 부문 규칙을 무시하라는 뜻이 아닙니다. 규칙의 범위를 정확히 하고, 운영자가 그 결과를 평가하는 방식에서는 현지적으로 판단하라는 뜻입니다. 이 구분은 가장 눈에 띄는 “실패”가 가이던스가 아직 따라잡지 못한 암호학적 옵션일 때 특히 중요합니다.

이 근거가 해결할 수 있는 것과 없는 것

연구자들은 대규모 기관 샘플이 현대적 값과 레거시 TLS 값을 모두 담고 있었고, 가이던스 결과가 서로 갈라졌으며, 네트워크 미들박스가 실험실에서 선택된 핸드셰이크 필드를 높은 측정 처리량으로 검사할 수 있었다는 것을 보여줍니다. 그들은 조직이 상용 환경에서 이 값들을 얼마나 자주 차단하는지, 차단이 사용자에게 얼마나 자주 피해를 주는지, 샘플이 더 넓은 인터넷을 대표하는지, 하이브리드 키 교환 채택이 종단 간 보안에 무엇을 의미하는지 보여주지 않습니다.

이 간격들은 연구를 폐기할 이유가 아닙니다. 유용한 측정과 뒷받침 없는 배치 주장 사이의 경계입니다. 가장 강한 결과는 “TLS의 80%가 불안전하다”가 아닙니다. 동일한 관찰 트래픽이 4개 권위 있는 규칙집 아래에서 매우 다르게 점수화될 수 있고, 운영자가 그 차이를 네트워크 수준의 결정으로 바꿀 수 있다는 것입니다.

규칙집이 “목록에 없음”이라고 말할 때, 패킷 프로세서가 빠진 근거를 발명해서는 안 됩니다. 그 값이 금지된 것인지, 단지 미평가인지, 더 최신의 지역 정책 하에서 허용되는 것인지 누군가가 결정해야 합니다. 그 결정은 보이고, 검토 가능하고, 되돌릴 수 있어야 합니다. 그렇지 않다면 허용 목록은 보안 가이던스를 집행하는 것 이상의 일을 합니다. 조용히 그것 자체가 보안 정책이 되는 것입니다.

출처