요약

  • RFC 9963는 호환되는 RSASSA-PSS 서명을 생성할 수 없는 클라이언트 인증서에 대해 TLS 1.3 서버가 RSASSA-PKCS1-v1_5를 명시적으로 요청할 수 있도록 세 개의*_legacy서명 스킴 값을 할당합니다.
  • 이 값들은 의도적으로 좁은 의미를 갖습니다. 클라이언트CertificateVerify전용이며, 서버CertificateVerify나 서버 인증서에는 절대 적용되지 않고, 구현이 명시적으로 이 한정된 예외를 선택하지 않는 한 기본적으로 비활성화됩니다.

David Benjamin과 Andrei Popov의 RFC 9963은 다소 곤란한 마이그레이션 경계를 다룹니다. TLS 1.3은CertificateVerify에서 RSASSA-PKCS1-v1_5 지원을 제거하고 RSASSA-PSS로 전환했습니다. 이 RFC는 일부 TPM을 포함해 TLS 1.3 호환 PSS 서명을 생성하지 못할 수 있는 클라이언트 측 하드웨어를, 양측이 TLS 1.3을 선택하고 서버가 클라이언트 인증서를 요청한 이후에야 연결이 실패할 수 있는 이유로 제시합니다.

이 문서의 해법은 "구식 서명 스킴을 다시 정상으로 되돌리는 것"이 아닙니다. 대신 눈에 띄게 표시된 세 개의 값을 할당합니다:rsa_pkcs1_sha256_legacy,rsa_pkcs1_sha384_legacy,rsa_pkcs1_sha512_legacy. 각 값은 클라이언트CertificateVerify메시지의 서명으로 범위가 한정됩니다. 다른 맥락에서는 정의되지 않습니다. 이 작은 문법적 경계가 곧 운영 경계입니다. 코드 포인트는 특정 교환 메시지에서 엔드포인트가 무엇을 의미할 수 있는지를 말할 뿐, 모든 TLS 참여자가 알고리즘 이름으로부터 추론할 수 있는 것을 말하지 않습니다.

협상 규칙은 이 예외를 주변에 은밀히 퍼지는 것이 아니라 관찰 가능하게 만듭니다. 클라이언트는 ClientHellosignature_algorithms확장에서 이 값들을 광고해서는 안 되며, 서버CertificateVerify에서 이를 수용해서도 안 됩니다. 레거시 전용 키를 가진 클라이언트를 지원하기로 선택한 서버는CertificateRequest에 이 값들을 넣고 클라이언트의 응답에서 하나를 수용할 수 있지만, 자신이 제공하지 않은 값을 수용해서는 안 됩니다. 레거시 클라이언트는 제공된 경우 이 경로를 사용할 수 있습니다. 키가 PSS를 지원한다면 레거시 경로를 선택하지 말아야 하지만, 일부 애플리케이션에서는 그 역량 자체를 확인하는 것이 비실용적일 수 있습니다. 구현은 기본적으로 이 값들을 비활성화해야 합니다.

서버 측 경계도 똑같이 명확합니다. RFC 9963은 이 문서가 설명하는 마이그레이션 문제는 서버 키에는 적용되지 않는다고 말합니다. 새 값들은 서버 인증서에 사용이 금지되며, RSA 키를 사용하는 TLS 1.3 서버에는 여전히 PSS가 요구됩니다. 이 예외는 구현 규율의 완화도 아닙니다. 이 RFC는 RFC 8017 구성, 필수 NULL 파라미터, 유효한 DER 인코딩을 요구하며, 서버는 이 요건을 충족하지 않는 서명을 거부해야 합니다.

기록은 배포 이야기보다 훨씬 좁은 결론만을 지지합니다. 서버와 클라이언트가 명시된 조건 아에서 레이블이 붙은 호환성 예외를 의도적으로 협상할 수 있다는 것이지, 특정 TPM, 브라우저, 라이브러리, 기업 플릿 또는 서버가 실제로 그렇게 했다는 것을 보여주지는 않습니다. 연결을 인증하거나, 일반적 안전성 결과를 확립하거나, 더 넓은 운영 권한을 부여하지도 않습니다. IETF 프로필은 David Benjamin을 이 RFC와 연결하고, 그의 공개 사이트는 전문적 맥락을 제공하지만, 어느 쪽도 저자 서명을 다른 누군가의 운영 시스템에 대한 증거로 바꾸지는 못합니다.

이 절제가 설계에서 유용한 부분입니다. 호환성 압박은 실재하지만, 이 예외는 기본적으로 가시적이고 방향성이 있으며 철회 가능합니다. 이를 활성화할지 판단하는 운영자는 클라이언트 요구, 요청 맥락, 제공된 스킴, 종료 조건을 기록할 수 있습니다. 그러면 코드 포인트 할당은 원래의 모습 그대로 남습니다. 정확한 프로토콜 도구이지, 완전한 보안 또는 배포 계정의 대체물이 아닙니다.

출처