IETF가 2024년 3월 11일 RFC 9549 "Internationalization Updates to RFC 5280"을 표준 제안(Proposed Standard) 문서로 발표했습니다. 이 문서는 X.509 인증서 규격인 RFC 5280의 국제화 관련 규정을 2008년 국제화 도메인 이름(IDN, Internationalized Domain Names) 규격(IDNA2008)에 맞추고, 인증서에 국제화 이메일 주소를 담는 방법을 포함합니다. 핵심은 인증서 안의 모든 IDN을 A-label 형태로 담고 처리한다는 점입니다. 이 문서가 나오면서 RFC 8399는 폐기(obsolete)되었습니다.
무엇이 발표되었나
RFC 9549(저자 R. Housley)는 RFC 5280의 다음 세 부분을 갱신합니다.
- 1절 서론(Introduction): 참조 문서를 IDNA2008 규격(RFC 5890, RFC 5891)으로 바꿉니다.
- 4.2.1.10절 이름 제약(Name Constraints) 인증서 확장
- 7절 국제화 이름 처리 규칙(Processing Rules for Internationalized Names)
원문에 따르면 IDN은 인증서 안에 ACE 인코딩 형태로 들어갑니다. 즉 IDN에 들어 있는 유니코드 레이블(U-label)은 모두 A-label로 바꿔서 담고, 이 변환 방법은 RFC 5891을 따릅니다. 국제화 이메일 주소는 RFC 8398에서 정의한 SmtpUTF8Mailbox를 씁니다. ASCII 문자로만 된 이메일 주소와 국제화 이메일 주소에 대한 이름 제약도 같은 방식으로 처리하도록 정리했습니다.
RFC 8399에서 바뀐 점
- RFC 8399는 국제화 이메일 주소의 이름 제약을 처리할 때 A-label을 U-label로 바꾸도록 요구하는 경우가 있었습니다. 원문은 이 때문에 구현이 복잡해졌고, 보안 취약점이 최소 두 건 생겼다고 설명합니다. RFC 9549부터는 모든 IDN을 A-label로 담고 A-label로 처리합니다.
- 서론에 유니코드 범주 "Symbol, Other"(So)에 속하는 문자를 다루는 방법에 대한 경고가 추가되었습니다. 이 범주에는 이모지도 들어 있습니다.
영향 범위
So 범주의 문자는 IDNA2003과 IDNA2008 모두에서 허용되지 않습니다(DISALLOWED). 그래서 유니코드 IDNA 호환 처리(UTS #46)에서는 허용되는 문자 가운데 일부가 이 규격에서는 허용되지 않습니다. 원문은 체스 말 기호를 쓴 ♚.example을 예로 듭니다. 이 이름은 UTS #46에서는 xn--45h.example로 바뀌지만, 이 규격에서는 처리에 실패합니다.
따라서 IDN이나 국제화 이메일 주소를 담는 인증서를 발급하거나 검증하는 환경, 그리고 이름 제약 확장을 쓰는 사설 인증 체계(PKI)가 이 변경의 영향을 받습니다.
운영자가 할 일
- 한글 도메인처럼 IDN으로 된 도메인의 인증서를 요청하거나 관리한다면, 인증서와 요청서에 이름이 A-label(
xn--형태)로 들어가는지 확인하세요. - 이모지 같은 So 범주 문자가 들어간 도메인을 운영한다면, 이 규격을 따르는 구현에서는 인증서 처리에 실패할 수 있다는 점을 알아 두세요.
- 이름 제약을 쓰는 사설 인증 기관을 운영한다면, 쓰고 있는 인증서 처리 라이브러리가 국제화 이름을 어떤 방식으로 처리하는지 공급사 문서에서 확인하는 것이 좋습니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.