IDN(국제화된 도메인 이름)

도메인 기초
중국어, 아랍어, 키릴 문자 등의 비ASCII 문자를 포함한 도메인 이름으로, 기본 언어 웹 주소를 활성화합니다.
← 용어집으로 돌아가기

IDN이란?

IDN(국제화된 도메인 이름)은 원래 DNS 사양에서 사용한 전통적인 ASCII 집합에 포함되지 않는 문자를 담은 도메인 이름입니다. IDN을 사용하면 중국어(中文.com), 아랍어(مثال.com), 키릴 문자(пример.com) 등 다양한 고유 문자 체계로 도메인 이름을 만들 수 있습니다.

IDN이 중요한 이유

기존 DNS는 영어 사용자를 전제로 설계되어 도메인 이름을 다음과 같이 제한했습니다.

이 제한은 라틴 알파벳을 사용하지 않는 수십억 명의 사람을 인터넷에서 배제했습니다. IDN은 다음과 같은 방식으로 인터넷 접근성을 높입니다.

IDN 작동 방식: Punycode 연결

DNS 인프라는 ASCII만 이해하므로 IDN은 Punycode라는 인코딩 시스템을 사용합니다. IDN을 등록하거나 접속할 때의 흐름은 다음과 같습니다.

1. 사용자 입력: 中文.com (중국어로 "중국")

2. 브라우저 인코딩: xn--fiq228c.com (Punycode 표현)

3. DNS 확인: 표준 ASCII 조회

4. 브라우저 표시: 中文.com (원래 형식)

"xn--" 접두사는 Punycode로 인코딩된 문자열을 나타냅니다. 이 변환은 사용자에게 투명하게 이루어집니다.

Punycode 예시

다음 표는 원래 IDN과 DNS에서 사용하는 Punycode 표현을 비교합니다.

IDN 도메인 원문Punycode 인코딩 결과
münchen.de (독일어 도메인 이름)xn--mnchen-3ya.de
中文.com (중국어 도메인 이름)xn--fiq228c.com
правда.рф (러시아어 도메인 이름)xn--80aafi6cg.xn--p1ai

TLD별 IDN 지원

IDN 지원 여부는 TLD마다 다릅니다.

완전 지원

대부분의 최신 gTLD와 많은 ccTLD가 IDN을 지원합니다.

국제화된 TLD

일부 TLD 자체가 IDN입니다.

제한적 지원 또는 미지원

일부 TLD는 IDN을 제한하거나 전혀 지원하지 않습니다. 대상 TLD의 IDN 지원 여부를 항상 확인하세요.

보안 고려사항: 동형문자 공격

IDN은 동형문자 공격이라는 보안 위험을 만들 수 있습니다. 서로 다른 문자 체계의 시각적으로 유사한 문자를 이용해 사기성 도메인을 만드는 공격입니다.

apple.com   (legitimate - Latin letters)

аpple.com (attack - Cyrillic 'а' looks like Latin 'a')

동형문자 공격 방어

브라우저 동작: 최신 브라우저는 의심스러운 IDN을 유니코드 대신 Punycode로 표시하여 공격 가능성을 드러냅니다. 레지스트리 정책: 일부 레지스트리는 하나의 도메인에서 조합할 수 있는 문자 집합을 제한합니다. 도메인 모니터링: DomScan의 타이포스쿼팅 탐지와 같은 도구로 브랜드를 노리는 등록 동형문자 변형을 찾을 수 있습니다.

IDN 지원 구현

도메인 도구를 만드는 개발자는 다음을 구현할 수 있습니다.

유효성 검사

// Check if domain contains non-ASCII

function isIDN(domain) {

return /[^\x00-\x7F]/.test(domain);

}

변환

// Convert to Punycode for DNS queries

const punycode = require('punycode/');

const ascii = punycode.toASCII('中文.com'); // xn--fiq228c.com

const unicode = punycode.toUnicode('xn--fiq228c.com'); // 中文.com

RDAP 질의

대부분의 RDAP 서버는 두 형식을 모두 허용합니다.

# Both work

curl "https://rdap.verisign.com/com/v1/domain/xn--fiq228c.com"

curl "https://rdap.verisign.com/com/v1/domain/中文.com"

모범 사례

IDN을 다룰 때는 다음을 따르세요.

1. 내부적으로는 항상 Punycode 형식을 저장하고 처리합니다.

2. 사용자에게는 유니코드 형식을 표시합니다.

3. 보안 기능에 동형문자 탐지를 구현합니다.

4. 등록 전에 TLD별 IDN 정책을 확인합니다.

이 지식을 활용하세요

DomScan의 API를 사용하여 도메인 가용성, 상태 등을 확인하세요.