Internationalized Domain Names. Autorzy: Krzysztof Olesik & Paweł Krześniak



Podobne dokumenty
NAUKOWA I AKADEMICKA SIEĆ KOMPUTEROWA. Internationalized Domain Names. Seminarium dla CBR

PREMIERA. Rejestracja znaków narodowych w.pl

Rejestracja znaków narodowych w.pl. Andrzej Bartosiewicz Tomasz Zygmuntowicz Agnieszka Zalewska Dorota Tusień

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Model sieci OSI, protokoły sieciowe, adresy IP

Praca w sieci z serwerem

Sieci komputerowe i bazy danych

Dokumentacja SMS przez FTP

Protokół sieciowy Protokół

Polcode Code Contest PHP-10.09

Komunikacja człowiek-komputer

Plan wykładu. Domain Name System. Definicja DNS. Po co nazwy? Przestrzeń nazw domen Strefy i ich obsługa Zapytania Właściwości.

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Techniki multimedialne

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości.

Algorytm DGA wykorzystywany w trojanie Emotet

WYMAGANIA EDUKACYJNE. Witryny i Aplikacje Internetowe klasa I

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 9:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Laboratorium - Obserwacja procesu tłumaczenia nazw DNS

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Xpress Sp. z o.o. jako wieloletni Premium Partner firmy Xerox ma w swojej ofercie rozwiązanie

Systemy liczenia. 333= 3*100+3*10+3*1

Instrukcja konfiguracji funkcji skanowania

Umowa użytkownika. 1. Uprawnienia. 2. Logowanie do platformy szkoleń elektronicznych

Kurs walut. Specyfikacja projektu. Marek Zając

EGZAMIN MATURALNY Z INFORMATYKI 19 MAJA 2015 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 9:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Kodowanie informacji. Przygotował: Ryszard Kijanka

Zagadnienia na egzamin dyplomowy

MPH Mini. Instrukcja użytkownika ver 102 ( )

Przewodnik użytkownika (instrukcja) AutoMagicTest

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

29. Poprawność składniowa i strukturalna dokumentu XML

Autor: dr inż. Katarzyna Rudnik

Mechanizm zarządzania bazą towarową Quattro i kas firmy ELZAB Wersja RMC 1.9

Specyfikacja API Runtime BAS 3.0

16MB - 2GB 2MB - 128MB

Adres IP

Wymagania edukacyjne z przedmiotu informatyka dla klasy IV

1.1. Pozycyjne systemy liczbowe

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

KATEGORIA OBSZAR WIEDZY

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

DOKUMENTACJA TECHNICZNA SMS API MT

Połączenie VPN Host-LAN PPTP z autentykacją LDAP/AD. 1. Konfiguracja serwera VPN 1.1. LDAP/AD 1.2. Ustawienia ogólne 1.3.

SIECI KOMPUTEROWE - BIOTECHNOLOGIA

Sprawozdanie nr 4. Ewa Wojtanowska

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Dokumentacja smsapi wersja 1.4

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Domain Name System. Kraków, 30 Marca 2012 r. mgr Piotr Rytko Wydział Matematyki i Informatyki UJ

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

(Przy rozwiązywaniu testu (28 pytań) masz prawo wykorzystać wszystkie dostępne aplikacje na Twoim komputerze), dostęp do Internetu jest zabroniony.

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Elektroniczna Skrzynka Podawcza

lekcja 8a Gry komputerowe MasterMind

Dodatek. dla InsERT nexo. Instrukcja instalacji i konfiguracji. wersja:

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

EGZAMIN MATURALNY Z INFORMATYKI 13 MAJA 2019 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 90 minut

Wymagania edukacyjne z przedmiotu zajęcia komputerowe dla klasy IV

Zadanie nr 3: Sprawdzanie testu z arytmetyki

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Galileo - encyklopedia internetowa Plan testów

Zakład Usług Informatycznych OTAGO

Sieci komputerowe. Domain Name System. WIMiIP, AGH w Krakowie. dr inż. Andrzej Opaliński.

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Trojan bankowy Emotet w wersji DGA

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Dodatek Technologie internetowe 1. UTF-8 wg 2. Adresy URL

Instrukcja integratora - obsługa dużych plików w epuap2

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Aplikacje WWW - lab 5

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

FUNKCJONALNOŚ C PORTAL B2B KAMELEON.ŚQL

Bezpieczeństwo bez kompromisów

Instrukcja obsługi do programu. wersja i-sys Integracja Systemów Spółka z o.o. ul. Zwoleńska 127 lok. 32, Warszawa

Przewodnik użytkownika (instrukcja) AutoMagicTest

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Architektura systemów komputerowych Laboratorium 5 Kodowanie liczb i tekstów

Instytut Teleinformatyki

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

Opis zmian funkcjonalności platformy E-GIODO wprowadzających możliwość podpisania wniosku bezpośrednio w oknie przeglądarki.

Panel Produkcyjny by CTI. Instrukcja

ARCHICAD 21 podstawy wykorzystania standardu IFC

Menu Narzędzia w Edytorze symboli i Edytorze Widoku aparatów

Dla Użytkowników RICOH Smart Device Connector: Konfigurowanie urządzenia

Transkrypt:

Autorzy: Krzysztof Olesik & Paweł Krześniak

Plan:! IDN, IDNA, Unicode! Stringprep, Nameprep i Punycode.! Operacje ToUnicode, ToASCII.! Wprowadzenie IDNA.

IDN czyli Internationalized Domain Name; jest to nazwa domenowa, którą możemy zapisać używając znaków zaczerpniętych z repertuaru znaków Unikodu. IDNA czyli Internationalizing Domain Names in Application; jest to mechanizm odpowiadający za utrzymanie i używanie IDN w standardowym stylu (RFC 3490). Unikod (ang. Unicode) przypisuje każdemu znakowi unikalny numer (kod numeryczny, ang. code point), niezależny od używanej platformy, programu czy języka. Unikod jest nowoczesnym sposobem kodowania obejmującym znaki używane na całym świecie (np. polskie ogonki, hieroglify, cyrylicę), symbole muzyczne, techniczne, fonetyczne i inne często spotykane. Ważną cechą Unikodu jest fakt, że pierwsze 128 znaków odpowiada kodom ASCII ( zakres 00..7F).

Cechy IDNA! Pozwala na używanie w nazwach domen internetowych znaków non-ascii reprezentowanych za pomocą znaków ASCII.! IDNA nie wprowadza żadnych zmian do infrastruktury Internetu. Żaden z istniejących protokołów nie musi być modyfikowany aby móc używać IDN.! Protokoły niższych warstw nie musza być świadome użycia IDN w aplikacji.! IDNA ma zastosowanie tylko do aplikacji użytkownika (IDNA ingeruje tylko w warstwę aplikacji modelu ISO OSI), np.: przeglądarki internetowe, klienci poczty elektronicznej, klienci FTP itp.

Możliwe problemy i komplikacje! Użytkownik IDNA musi wiedzieć jak dokładnie wprowadzić daną domenę (literka po literce).! Wprowadzenie dużego repertuaru znaków może powodować dużą ilość błędów (literówek) w pisaniu nazw domen.! Możliwość błędnego odczytania domeny ze względu na podobieństwo niektórych znaków.! Problemy we wprowadzeniu poprawnej nazwy domeny w oparciu o wizualną albo oralną informację (np. billboard i radio).! Może powstać wiele podobnie wyglądających lub brzmiących nazw.

Co piszczy w środku?! IDNA zawiera się tylko w aplikacji.! Wykonywane są dwie operacje:! ToASCII jest wykonywana przed wysłaniem IDN do czegoś, co oczekuje nazw w kodzie ASCII (np. resolwer) lub zapisuje IDN w miejsce, gdzie oczekiwana jest nazwa w kodzie ASCII (np. plik konfiguracyjny serwera DNS).! ToUnicode jest wykonywana przed wyświetleniem IDN użytkownikowi.! IDNA wymaga zaimplementowania Nameprep a, który jest profilem Stringprep a, i Punycode a.

Stringprep Stringprep (RFC 3454) - ogólny algorytm przygotowania tekstu Unikodowego przed zamianą go na ciąg znaków ASCII (tzn. algorytm, który może być profilowany - dostosowywany do rożnych potrzeb). Draft określa kilkanaście tabel (mapowania, znaki zakazane, tablice "dwukierunkowe"), które mogą być zastosowane w algorytmach opartych na stringprep'ie (m.in. nameprep). Nameprep Nameprep (RFC 3491) jest profilem stringprep'a (w drafcie określono dokładnie, które z tabel mapowania, znaków zakazanych etc., są zastosowane). Reguły przetwarzania zostały wybrane na potrzeby kodowania nazw domenowych, a nie zwykłego tekstu (=> dozwolone znaki zgodne z RFC1035 [a-za-z0-9-]). Punycode Punycode (RFC 3492) to instancja algorytmu Bootstring (ma inne wartości parametrów inicjalizujących). Algorytm pozwala jednoznacznie odwzorować ciągi znaków stworzone z większego zbioru znaków w ciągi złożone z mniejszego zbioru znaków.

Cechy Punycode a! Kompletność każdy ciąg znaków można zaprezentować przy pomocy zbioru znaków podstawowych.! Unikalność - istnieje co najwyżej jedno odwzorowanie ciągu rozszerzonego w podstawowy.! Odwracalność.! Efektywność kodowania - małe wydłużenie ciągu znaków po zakodowaniu (stosunek długość podstawowego ciągu do długości ciągu rozszerzonego po kodowaniu jest niewielki). Jest to bardzo ważna cecha, ponieważ RFC1034 ogranicza długość etykiety domenowej do 63 znaków.! Prostota algorytmu - łatwy do zaimplementowania.! Czytelność - znaki ze zbioru podstawowego pojawiające się w ciągu rozszerzonym są reprezentowane przez nie same.

Wymagania i zastosowanie! Wszędzie tam, gdzie kropki występują jako separatory etykiet następujące znaki: U+002E (full stop), U+3002 (ideographic full stop), U+FF0E (fullwidth full stop), U+FF61 (halfwidth ideographic full stop) muszą być rozpoznawane jako kropki.! Tam gdzie jest wymagana domena w kodzie ASCII musi być podana domena w kodzie ASCII.! Etykiety ACE (ang. ACE labels xn--zaglja-cxa0mpa5p6q5a80a6ota.com.pl) muszą być ukryte przed użytkownikiem, za każdym razem, kiedy to tylko możliwe; chyba że forma etykiety domeny ACE jest wyraźnie żądana. www.xn--zaglja-cxa0mpa5p6q5a80a6ota.com.pl www.xn--bzdzigwawddystydzie-fgc15k68aba.pl www.zażółćgęśląjaźń.com.pl www.bzdziągwawdżdżystydzień.pl! Kiedykolwiek etykiety są porównywane, trzeba sprawdzić czy są sobie równoważne, czyli należy porównywać ich formę ASCII (ACE labels).

Jak działa IDNA? 1. Podajemy nazwę domeny. Jeżeli domena jest przedstawiona za pomocą innego zestawu znaków niż Unikod lub ASCII, to najpierw jest przekodowywana do Unikodu. 2. Rozróżnianie czy jest to stored string czy query string. 3. Podana domena jest dzielona na osobne etykiety (etykiety nie zawierają separatorów, czyli kropek). 4. Etykieta sprawdzana jest pod względem spełniana wymogów dotyczących nazw hostów i domen (zgodność z standardami STD3 i STD13). 5. Przetwarzanie kolejno etykiet i wybór operacji jaka ma być użyta, ToUnicode czy ToASCII. 6. Jeżeli została wybrana operacja ToASCII, to wszystkie kropki użyte jako separatory etykiet zamienione są na U+002E (full stop).

Operacja ToASCII! Operacja ToASCII pobiera sekwencje kodów numerycznych (ang. code points) Unikodu, które tworzą jedną etykietę i przekształca je w sekwencje kodów z zakresu ASCII (0..7F).! Jeżeli operacja się powiedzie, to oryginalna sekwencja kodów numerycznych i ta otrzymana po konwersji są równoważnymi etykietami. www.zażółćgęśląjaźń.com.pl = www.xn--zaglja-cxa0mpa5p6q5a80a6ota.com.pl! Jeżeli operacja ToASCII zawiedzie, to znaczy że domena nie może być użyta jako domena IDN.! Operacja ToASCII nigdy nie zmienia kodów, które są w zakresie ASCII.

Jak działa operacja ToASCII? 1. Wprowadzamy domenę. 2. Jeżeli została wprowadzona w lokalnym zestawie znaków np. ISO 8859-2, to przekodowywana jest do Unikodu. 3. Zamiana znaków na ich kody numeryczne. 4. Sprawdzanie czy dana sekwencja kodów numerycznych jest poprawna, tzn. czy nie zawiera kodów znaków zabronionych (zgodność z STD3 i STD13). Tutaj zostaje użyty Nameprep. 5. Jeżeli domena przeszła test, to przekodowywana jest za pomocą algorytmu Punycode. 6. Do przekodowanej etykiety dodawany jest prefiks ACE xn--. 7. Sprawdzanie, czy liczba kodów numerycznych nie jest większa niż 63.

Operacja ToUnicode! Operacja ToUnicode pobiera sekwencje kodów ASCII, które tworzą etykietę i zwraca sekwencje kodów Unikodu.! Jeżeli na wejściu do tej operacji jest etykieta z prefiksem ACE (xn--), wtedy wynik operacji stanowi równoważna etykieta IDN. Jeżeli natomiast nie, to na wyjściu jest nie zmieniona etykieta.! Operacja ToUnicode nigdy nie zawodzi.

Jak działa operacja ToUnicode? 1. Na wejściu operacji podawana jest domena w kodzie ASCII. 2. Sprawdzanie czy domena posiada prefiks ACE xn--, zapamiętanie sekwencji kodów. 3. Usunięcie prefiksu ACE. 4. Przekodowanie sekwencji kodów za pomocą algorytmu Punycode; zapamiętanie wyniku. 5. Zastosowanie operacji ToASCII. 6. Porównanie wyników z etapu 5 i 2 (sprawdzenie poprawności przekodowania domeny) 7. Wyświetlenie wyniku z etapu 4.

Schemat IDNA Użytkownik System operacyjny Aplikacja (ToASCII,ToUnicode) Etykieta ACE Resolwer Etykieta ACE, chyba że serwer obsługuje Unikod Protokół DNS Serwer DNS Serwer dla aplikacji

Zasady działania aplikacji wspierającej IDNA! Wszystkie aplikacje pobierające nazwy domen lub hostów z zasobów DNS powinny zostać zmodyfikowane tak, aby móc ukryć etykietę ACE przed użytkownikiem.! Jeżeli system nie potrafi poprawnie wyświetlić domeny po operacji ToUnicode, wówczas powinna zostać wyświetlona jej wersja ACE.! Jeżeli istnieje domena zaczynająca się prefiksem ACE a nie jest IDN, wówczas operacja ToUnicode nie zmienia tej domeny.! Wszystkie aplikacje musza stosować jednolitą metodę konwersji IDN.

Wprowadzenie IDNA 1. Wprowadzenie IDNA wymusza aktualizację programów, które są w interakcji z domenami np.: przeglądarki internetowe, klienci poczty elektronicznej, klienci ftp, edytory html, edytory tekstu itp. 2. Rozpowszechnienie IDNA zależy głównie od propagacji oprogramowania, które je wspiera.

Koniec Internationalized Domain Names