Univerzální Plug and Play - Universal Plug and Play

Universal Plug and Play ( UPnP ) je sada síťových protokolů, které umožňují síťovým zařízením, jako jsou osobní počítače, tiskárny, internetové brány , přístupové body Wi-Fi a mobilní zařízení, bezproblémově zjišťovat vzájemnou přítomnost v síti a vytvářet funkční síťové služby. . UPnP je určen především pro rezidenční sítě bez zařízení podnikové třídy.

Protokoly UPnP byly propagovány UPnP Forum, iniciativou počítačového průmyslu, která umožňuje jednoduché a robustní připojení k samostatným zařízením a osobním počítačům od mnoha různých dodavatelů. Fórum se skládalo z více než 800 prodejců zapojených do všeho od spotřební elektroniky po síťové počítače. Od roku 2016 spravuje veškeré úsilí UPnP nadace Open Connectivity Foundation (OCF).

UPnP předpokládá, že síť provozuje internetový protokol (IP) a poté využívá protokol HTTP nad IP, aby poskytla popis zařízení/služby, akce, přenos dat a upozornění na událost . Požadavky na vyhledávání zařízení a reklamy jsou podporovány spuštěním HTTP nad UDP ( port 1900) pomocí vícesměrového vysílání (známý jako HTTPMU). Odpovědi na požadavky na vyhledávání jsou také poslal přes protokol UDP, ale jsou odesílány pomocí jednosměrového vysílání (známé jako HTTPU).

UPnP koncepčně rozšiřuje plug and play -technologii pro dynamické připojení zařízení přímo k počítači-na sítě s nulovou konfigurací pro rezidenční a bezdrátové sítě SOHO . Zařízení UPnP jsou plug and play v tom, že když jsou připojeni k síti, automaticky navazují funkční konfigurace s jinými zařízeními.

UPnP je obecně považován za nevhodný pro nasazení v obchodním prostředí z důvodů ekonomičnosti, složitosti a konzistence: nadace vícesměrového vysílání je diskutabilní a spotřebovává příliš mnoho síťových zdrojů v sítích s velkým počtem zařízení; zjednodušené ovládací prvky přístupu nejsou dobře mapovány do složitých prostředí; a neposkytuje jednotnou syntaxi konfigurace, jako jsou prostředí CLI Cisco IOS nebo JUNOS.

Přehled

Architektura UPnP umožňuje propojení spotřební elektroniky , mobilních zařízení, osobních počítačů a domácích síťových zařízení mezi zařízeními . Jedná se o distribuovaný protokol s otevřenou architekturou založený na zavedených standardech, jako je Internet Protocol Suite (TCP/IP), HTTP , XML a SOAP . Kontrolní body UPnP (CPs) jsou zařízení, která používají protokoly UPnP k ovládání zařízení ovládaných UPnP (CD).

Architektura UPnP podporuje sítě s nulovou konfigurací. Zařízení kompatibilní s UPnP od jakéhokoli dodavatele se může dynamicky připojit k síti, získat IP adresu, oznámit své jméno, inzerovat nebo sdělit své schopnosti na požádání a dozvědět se o přítomnosti a možnostech jiných zařízení. Servery Dynamic Host Configuration Protocol (DHCP) a Domain Name System (DNS) jsou volitelné a používají se pouze v případě, že jsou k dispozici v síti. Zařízení se mohou automaticky odpojit od sítě, aniž by opustily informace o stavu .

UPnP byl vydán jako 73dílná mezinárodní norma ISO/IEC 29341 v prosinci 2008.

Mezi další funkce UPnP patří:

Nezávislost médií a zařízení
Technologie UPnP může běžet na mnoha médiích, která podporují IP, včetně ethernetu , FireWire , IR ( IrDA ), domácího vedení ( G.hn ) a RF ( Bluetooth , Wi-Fi ). Není nutná žádná speciální podpora ovladače zařízení ; Místo toho se používají běžné síťové protokoly.
Ovládání uživatelského rozhraní (UI)
Volitelně architektura UPnP umožňuje zařízením prezentovat uživatelské rozhraní prostřednictvím webového prohlížeče (viz prezentace níže).
Nezávislost na operačním systému a programovacím jazyce
K sestavení produktů UPnP lze použít jakýkoli operační systém a jakýkoli programovací jazyk. Zásobníky UPnP jsou k dispozici pro většinu platforem a operačních systémů v uzavřených i otevřených zdrojových formách.
Rozšiřitelnost
Každý produkt UPnP může mít na základní architektuře navrstvené služby specifické pro zařízení. Kromě kombinace služeb definovaných UPnP Forum různými způsoby mohou prodejci definovat vlastní typy zařízení a služeb a mohou rozšířit standardní zařízení a služby o akce definované dodavatelem, stavové proměnné, prvky datové struktury a hodnoty proměnných.

Protokol

UPnP využívá běžné internetové technologie. Předpokládá, že síť musí provozovat internetový protokol (IP) a poté využívá protokol HTTP , SOAP a XML nad IP, aby poskytla popis zařízení/služby, akce, přenos dat a vytváření událostí. Požadavky na vyhledávání zařízení a reklamy jsou podporovány spuštěním HTTP nad UDP pomocí vícesměrového vysílání (známé jako HTTPMU). Odpovědi na požadavky na vyhledávání jsou také poslal přes protokol UDP , ale jsou odesílány pomocí jednosměrového vysílání (známé jako HTTPU). UPnP používá UDP kvůli své nižší režii v tom, že nevyžaduje potvrzení přijatých dat a opakovaný přenos poškozených paketů. HTTPU a HTTPMU byly původně odeslány jako internetový koncept, ale jeho platnost vypršela v roce 2001; tyto specifikace byly od té doby integrovány do skutečných specifikací UPnP.

UPnP používá port UDP 1900 a všechny použité porty TCP jsou odvozeny ze zpráv SSDP active a response.

Adresování

Základem sítě UPnP je IP adresování. Každé zařízení musí implementovat klienta DHCP a hledat server DHCP při prvním připojení zařízení k síti. Pokud není k dispozici žádný server DHCP, musí si zařízení přiřadit adresu. Proces, kterým zařízení UPnP přiřadí adresu, je v architektuře zařízení UPnP známý jako AutoIP . V UPnP Device Architecture verze 1.0 je AutoIP definován v rámci samotné specifikace; v UPnP Device Architecture verze 1.1, AutoIP odkazuje na IETF RFC 3927. Pokud během transakce DHCP zařízení získá název domény, například prostřednictvím serveru DNS nebo přesměrování DNS , zařízení by mělo tento název použít při následných síťových operacích; jinak by zařízení mělo používat svou IP adresu.

Objev

Jakmile si zařízení vytvoří IP adresu, je dalším krokem v síti UPnP zjišťování. Protokol zjišťování UPnP je známý jako protokol SSDP ( Simple Service Discovery Protocol ). Když je zařízení přidáno do sítě, SSDP umožňuje tomuto zařízení inzerovat své služby pro ovládání bodů v síti. Toho je dosaženo odesíláním živých zpráv SSDP. Když je do sítě přidán kontrolní bod, SSDP umožňuje tomuto řídicímu bodu aktivně vyhledávat zajímavá zařízení v síti nebo pasivně poslouchat živé zprávy SSDP zařízení. Zásadní výměna je objevovací zpráva obsahující několik základních specifik o zařízení nebo jedné z jeho služeb, například jeho typ, identifikátor a ukazatel (umístění v síti) na podrobnější informace.

Popis

Poté, co řídicí bod objevil zařízení, kontrolní bod o něm stále velmi málo ví. Aby se řídicí bod mohl dozvědět více o zařízení a jeho schopnostech nebo komunikovat se zařízením, musí kontrolní bod načíst popis zařízení z umístění ( URL ), které zařízení uvádí ve zprávě zjišťování. Popis zařízení UPnP je vyjádřen v XML a obsahuje informace o výrobci specifické pro dodavatele, jako je název a číslo modelu, sériové číslo , název výrobce, (prezentační) adresy URL webových stránek specifických pro dodavatele atd. Popis také obsahuje seznam všech integrovaných služby. U každé služby jsou v dokumentu Popis zařízení uvedeny adresy URL pro ovládání, události a popis služby. Každý popis služby obsahuje seznam příkazů nebo akcí , na které služba reaguje, a parametry nebo argumenty pro každou akci; popis služby také obsahuje seznam proměnných ; tyto proměnné modelují stav služby za běhu a jsou popsány z hlediska jejich datového typu, rozsahu a charakteristik událostí.

Řízení

Po načtení popisu zařízení může řídicí bod odesílat akce do služby zařízení. Za tímto účelem řídicí bod odešle vhodnou řídicí zprávu na řídicí adresu URL služby (uvedenou v popisu zařízení). Řídicí zprávy jsou také vyjádřeny v XML pomocí protokolu SOAP ( Simple Object Access Protocol ). Služba podobně jako volání funkcí vrací v reakci na řídicí zprávu všechny hodnoty specifické pro akci. Účinky akce, pokud existují, jsou modelovány změnami v proměnných, které popisují stav běhu služby.

Oznámení o události

Další schopností sítě UPnP je upozornění na událost nebo událost . Protokol oznámení o událostech definovaný v architektuře zařízení UPnP je známý jako General Architecture Notification Architecture (GENA). Popis UPnP pro službu obsahuje seznam akcí, na které služba reaguje, a seznam proměnných, které modelují stav služby za běhu. Služba mění aktualizace, když se tyto proměnné změní, a kontrolní bod se může přihlásit k odběru těchto informací. Služba publikuje aktualizace zasíláním zpráv o událostech. Zprávy událostí obsahují názvy jedné nebo více stavových proměnných a aktuální hodnotu těchto proměnných. Tyto zprávy jsou také vyjádřeny v XML. Když se kontrolní bod poprvé přihlásí, odešle se zpráva o počáteční počáteční události; tato zpráva o události obsahuje názvy a hodnoty pro všechny proměnné s událostmi a umožňuje předplatiteli inicializovat svůj model stavu služby. Aby bylo možné podpořit scénáře s více kontrolními body, je eventing navržen tak, aby všechny řídicí body byly stejně informovány o účincích jakékoli akce. Proto jsou všem odběratelům zasílány všechny zprávy o událostech, předplatitelé dostávají zprávy o událostech pro všechny proměnné „evented“, které se změnily, a zprávy o událostech se odesílají bez ohledu na to, proč se stavová proměnná změnila (buď v reakci na požadovanou akci, nebo proto, že stav služby je modelování změněno).

Prezentace

Posledním krokem v síti UPnP je prezentace. Pokud má zařízení adresu URL pro prezentaci, pak může řídicí bod načíst stránku z této adresy URL, načíst stránku do webového prohlížeče a v závislosti na možnostech stránky umožnit uživateli ovládat zařízení a/nebo zobrazit zařízení postavení. Míra, do jaké lze každého z nich dosáhnout, závisí na konkrétních možnostech prezentační stránky a zařízení.

AV standardy UPnP

Architektura UPnP AV je audio a video rozšíření UPnP, podporující celou řadu zařízení, jako jsou televizory, videorekordéry, přehrávače/přehrávače disků CD/DVD, settop boxy, stereosystémy, přehrávače MP3, kamery pro statické snímky, videokamery, elektronické rámečky obrazu ( EPF) a osobní počítače. Architektura UPnP AV umožňuje zařízením podporovat různé typy formátů pro zábavní obsah, včetně formátů MPEG2, MPEG4, JPEG, MP3, Windows Media Audio (WMA), bitmaps (BMP) a NTSC, PAL nebo ATSC. Podporováno je více typů přenosových protokolů, včetně IEEE 1394, HTTP, RTP a TCP/IP.

Dne 12. července 2006 fórum UPnP oznámilo vydání verze 2 specifikací zvuku a videa UPnP s novými třídami MediaServer (MS) verze 2.0 a MediaRenderer (MR) verze 2.0. Tato vylepšení jsou vytvořena přidáním funkcí do tříd zařízení MediaServer a MediaRenderer, což umožňuje vyšší úroveň interoperability mezi produkty různých výrobců. Některá z prvních zařízení splňujících tyto standardy byla společností Philips uvedena na trh pod značkou Streamium .

Od roku 2006 jsou publikovány verze 3 a 4 protokolů ovládání audio a video zařízení UPnP. V březnu 2013 byla zveřejněna aktualizovaná specifikace AV architektury uPnP, která obsahuje aktualizované protokoly ovládání zařízení.

Na standardy UPnP AV se odkazuje ve specifikacích zveřejněných jinými organizacemi, včetně pokynů pro interoperabilitu síťových zařízení Digital Living Network Alliance , Mezinárodní elektrotechnické komise IEC 62481-1 a protokolu domácích sítí OpenCable pro laboratoře kabelové televize .

UPnP AV komponenty

Mediální server

A Server médií UPnP AV je server UPnP („hlavní“ zařízení), který poskytuje informace o knihovně médií a streamuje data médií (jako jsou audio/video/obrázky/soubory) klientům UPnP v síti. Jedná se o počítačový systém nebo podobné digitální zařízení, které ukládá digitální média, jako jsou fotografie, filmy nebo hudba, a sdílí je s jinými zařízeními.

Mediální servery UPnP AV poskytují službu klientským zařízením UPnP AV, takzvaným kontrolním bodům , pro procházení mediálního obsahu serveru a požadavek mediálního serveru na doručení souboru do řídicího bodu pro přehrávání.

Mediální servery UPnP jsou k dispozici pro většinu operačních systémů a mnoho hardwarových platforem. Mediální servery UPnP AV mohou být kategorizovány jako softwarové nebo hardwarové. Softwarové multimediální servery UPnP AV lze spustit na počítači . Hardwarové servery médií UPnP AV mohou běžet na jakémkoli zařízení NAS nebo na jakémkoli konkrétním hardwaru pro doručování médií, například DVR . V květnu 2008 existovalo více softwarových mediálních serverů UPnP AV založených na softwaru než serverů založených na hardwaru.

Ostatní komponenty

  • UPnP MediaServer ControlPoint -což je klient UPnP (zařízení typu „slave“), které dokáže automaticky detekovat servery UPnP v síti a procházet a streamovat z nich soubory médií/dat.
  • UPnP MediaRenderer DCP - což je „podřízené“ zařízení, které dokáže vykreslovat (přehrávat) obsah.
  • UPnP RenderingControl DCP - ovládání nastavení MediaRendereru; hlasitost, jas, RGB, ostrost a další.
  • Klient/server vzdáleného uživatelského rozhraní (RUI) UPnP-který odesílá/přijímá řídicí příkazy mezi klientem UPnP a serverem UPnP přes síť (například nahrávání, plán, přehrávání, pozastavení, zastavení atd.).
  • QoS (kvalita služby) - je důležitou (nikoli však povinnou) servisní funkcí pro použití s ​​UPnP AV (audio a video). QoS (kvalita služby) označuje řídicí mechanismy, které mohou poskytovat různou prioritu různým uživatelům nebo datovým tokům nebo zaručit určitou úroveň výkonu datového toku v souladu s požadavky aplikačního programu. Vzhledem k tomu, že UPnP AV má většinou poskytovat streamovaná média, která jsou často blízko audio/video dat v reálném čase nebo v reálném čase, je důležité je doručit v určitém čase nebo je stream přerušen. Záruky QoS jsou zvláště důležité, pokud je kapacita sítě omezená, například veřejné sítě, jako je internet .
    • QoS pro UPnP se skládá ze služebních funkcí Sink Device (na straně klienta/front-end) a Source Device (na straně serveru/back-end). S třídami jako; Traffic Class, která udává druh provozu v toku návštěvnosti (například audio nebo video). Traffic Identifier (TID), který identifikuje datové pakety jako patřící do jedinečného toku provozu. Traffic Specification (TSPEC), který obsahuje sadu parametrů, které definují charakteristiky toku provozu (například provozní požadavky a plánování). Traffic Stream (TS), což je jednosměrný tok dat, který pochází ze zdrojového zařízení a končí na jednom nebo více jímkových zařízeních.
  • Vzdálený přístup - definuje způsoby připojení sad zařízení UPnP, které nejsou ve stejné doméně vícesměrového vysílání.

Traverz NAT

Jedno řešení pro procházení NAT , nazvané Internet Gateway Device Protocol (IGD Protocol), je implementováno prostřednictvím UPnP. Mnoho směrovačů a bran firewall se vystavuje jako zařízení Internet Gateway, což umožňuje jakémukoli místnímu řídicímu bodu UPnP provádět řadu akcí, včetně načítání externí IP adresy zařízení, výčtu stávajících mapování portů a přidávání nebo odebírání mapování portů. Přidáním mapování portů může řadič UPnP za IGD umožnit přechod IGD z externí adresy na interního klienta.

Problémy s UPnP

Ověření

Protokol UPnP ve výchozím nastavení neimplementuje žádné ověřování , takže implementace zařízení UPnP musí implementovat další službu Device Protection nebo implementovat službu Device Security Service . Existuje také nestandardní řešení s názvem UPnP-UP (Universal Plug and Play-User Profile), které navrhuje rozšíření umožňující mechanismy autentizace a autorizace uživatelů pro zařízení a aplikace UPnP. Mnoho implementací zařízení UPnP postrádá ověřovací mechanismy a ve výchozím nastavení předpokládají, že místní systémy a jejich uživatelé jsou zcela důvěryhodní.

Pokud nejsou implementovány ověřovací mechanismy, směrovače a brány firewall s protokolem UPnP IGD jsou náchylné k útoku. Například programy Adobe Flash běžící mimo sandbox prohlížeče (např. To vyžaduje konkrétní verzi Adobe Flash s uznanými problémy s bezpečností) jsou schopné generovat konkrétní typ požadavku HTTP, který umožňuje routeru implementujícímu protokol UPnP IGD ovládat škodlivý web, když někdo s routerem podporujícím UPnP jednoduše navštíví tento web. To platí pouze pro funkci „firewall-hole-punching“ UPnP ; to neplatí, pokud IGD nepodporuje UPnP nebo UPnP byl na IGD zakázán. Také ne všechny směrovače mohou mít takové parametry, jako je nastavení serveru DNS změněné UPnP, protože velká část specifikace (včetně konfigurace hostitele LAN) je pro směrovače s povoleným UPnP volitelná. V důsledku toho se některá zařízení UPnP dodávají s výchozím nastavením UPnP jako bezpečnostním opatřením.

Přístup z internetu

V roce 2011 výzkumník Daniel Garcia vyvinul nástroj navržený tak, aby využil chyby v některých svazcích zařízení UPnP IGD, které umožňují požadavky UPnP z internetu. Tento nástroj byl zveřejněn na DEFCON 19 a umožňuje požadavky na mapování portů na externí IP adresy ze zařízení a interní IP adresy za NAT. Problém je široce rozšířen po celém světě a skenování ukazuje miliony zranitelných zařízení najednou.

V lednu 2013 bezpečnostní společnost Rapid7 v Bostonu informovala o šestiměsíčním výzkumném programu. Tým prohledával signály ze zařízení s podporou UPnP a oznámil jejich dostupnost pro připojení k internetu. Na jejich požadavky reagovalo přibližně 6900 produktů podporujících síť od 1500 společností na 81 milionech IP adres. 80% zařízení jsou domácí routery; další zahrnují tiskárny, webové kamery a sledovací kamery. Pomocí protokolu UPnP lze k mnoha z těchto zařízení přistupovat a/nebo s nimi manipulovat.

V únoru 2013 fórum UPnP reagovalo v tiskové zprávě doporučením novějších verzí použitých balíčků UPnP a vylepšením certifikačního programu tak, aby zahrnoval kontroly, aby se předešlo dalším takovým problémům.

Snooping a spolehlivost IGMP

UPnP je často jedinou významnou aplikací vícesměrového vysílání používanou v digitálních domácích sítích; proto se nesprávná konfigurace vícesměrového vysílání sítě nebo jiné nedostatky mohou jevit jako problémy UPnP, nikoli jako základní problémy se sítí.

Jestliže IGMP snooping je povoleno na spínači, nebo více obyčejně bezdrátového routeru / přepínače, bude to v rozporu s UPnP / DLNA zjišťování zařízení (SSDP), pokud nesprávně nebo neúplně konfigurovat (napr bez aktivního tazatel či IGMP proxy), což UPnP objeví nespolehlivé .

Mezi typické pozorované scénáře patří server nebo klient (např. Smart TV), které se objeví po zapnutí a poté zmizí po několika minutách (často 30 ve výchozím nastavení) kvůli vypršení členství ve skupině IGMP.

Zranitelnost zpětného volání

Dne 8. června 2020 byla oznámena další chyba návrhu protokolu. Jeho objevitel je nazván „CallStranger“ a umožňuje útočníkovi rozvrátit mechanismus předplatného událostí a provádět různé útoky: zesílení požadavků na použití v DDoS; výčet; a exfiltrace dat.

OCF zveřejnilo opravu specifikace protokolu v dubnu 2020, ale protože mnoho zařízení se systémem UPnP nelze snadno upgradovat, CallStranger pravděpodobně zůstane hrozbou ještě dlouho. CallStranger podpořil volání koncových uživatelů, aby upustili od UPnP kvůli opakovaným selháním zabezpečení jeho návrhu a implementace.

Budoucí vývoj

Na podzim roku 2008 fórum UPnP ratifikovalo nástupce UPnP 1.0 Device Architecture UPnP 1.1. Standard Devices Profile for Web Services (DPWS) byl kandidátským nástupcem UPnP, ale UPnP 1.1 bylo vybráno UPnP Forum. Verze 2 IGD je standardizována.

Standardní UPnP Internet brána Device (IGD) má službu WANIPConnection, který poskytuje podobné funkce jako IETF -standardní Port Control Protocol . Specifikace NAT-PMP obsahuje seznam problémů s IGDP, které vyvolaly vytvoření NAT-PMP a jeho nástupce PCP.

Viz také

Reference

Prameny

  • Golden G. Richard: Service and Device Discovery: Protocols and Programming , McGraw-Hill Professional, ISBN  0-07-137959-2
  • Michael Jeronimo, Jack Weast: UPnP Design by Example: Příručka vývojáře softwaru k Universal Plug and Play , Intel Press, ISBN  0-9717861-1-9

externí odkazy