ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
Punycode β Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Unicode Π² ASCII Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½Π°Ρ . Π§Π°ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° IDNA (Internationalized Domain Names in Applications).
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ:
β’ ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π΄ΠΎΠΌΠ΅Π½Π°Ρ
β’ ASCII-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ xn--
β’ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ IDN-Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
mΓΌnchen β
xn--mnchen-3yaΡΠΎΡΡΠΈΡ β
xn--h1alffa9fδΈε½ β
xn--fiqs8s
π ΠΡΠΈΠΌΠ΅ΡΡ IDN-Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
| Unicode | Punycode | Π‘ΡΡΠ°Π½Π°/Π―Π·ΡΠΊ |
|---|
β‘ ΠΡΡΡΡΡΠΉ Π²Π²ΠΎΠ΄
π Π Punycode
Punycode β ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π² RFC 3492. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Unicode-ΡΡΡΠΎΠΊ Π² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ASCII (a-z, 0-9, Π΄Π΅ΡΠΈΡ).
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
1. ΠΡΠ΅ ASCII-ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
2. ΠΡΠ»ΠΈ Π΅ΡΡΡ Π½Π΅-ASCII ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ -
3. ΠΠ΅-ASCII ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ (Π΄Π΅Π»ΡΡΠ°-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅)
4. ΠΠ»Ρ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ xn--
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ:
β οΈ IDN-Π΄ΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΈΡΠΈΠ½Π³Π° (IDN homograph attack). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΣΠ΅.com (ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΠ°) Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ apple.com.