03.08.2013 Views

TEKNIKEN BAKOM TRÅDLÖS USB - Åbo Akademi

TEKNIKEN BAKOM TRÅDLÖS USB - Åbo Akademi

TEKNIKEN BAKOM TRÅDLÖS USB - Åbo Akademi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>TEKNIKEN</strong> <strong>BAKOM</strong> <strong>TRÅDLÖS</strong> <strong>USB</strong><br />

Petri Heinonen<br />

Kandidatavhandling i inbyggda datorsystem<br />

Handledare: Jerker Björkqvist och Marina Waldén<br />

Tekniska Fakulteten<br />

<strong>Åbo</strong> <strong>Akademi</strong><br />

18 Maj 2008


Abstrakt<br />

Tanken med detta arbete är att ge en översiktlig bild av den certifierade trådlösa<br />

universella seriella bussteknikenniken (Certified Wireless <strong>USB</strong>). Arbetet kommer att ta<br />

upp centrala delar av de tekniker som möjliggör den snabba trådlösa förbindelsen,<br />

säkerhetsaspekter och översiktligt de moduleringstekniker som används inom trådlös<br />

<strong>USB</strong>. Tanken är dock inte att ge en helhetsbild av de bakomliggande teknikerna, utan<br />

tyngdpunkten sätts vid att ta upp de delar av tekniken som anknyter till den trådlösa<br />

<strong>USB</strong>:n. En mera ingående syn ges på den trådlösa <strong>USB</strong>:ns protokoll, schemaläggning<br />

samt säkerhet medan likheter med den tidigare <strong>USB</strong> 2.0 tekniken samt dess<br />

användningsmöjligheter med existerande apparatur tas upp.


Innehållsförteckning<br />

1. Introduktion .................................................................................................................................. 1<br />

2. Bakomliggande teknologier i trådlös <strong>USB</strong> ................................................................................... 2<br />

2.1. Universal Serial Bus (<strong>USB</strong>) .................................................................................................. 2<br />

2.2. Ultra bredband (UWB) .......................................................................................................... 5<br />

2.2.3. Multi-Band Orthogonal Frequency Multiplexing (MB-OFDM) ..….…...………..…..........6<br />

3. Arkitekturen i trådlös <strong>USB</strong> ........................................................................................................... 7<br />

3.1. Schemaläggning av mediet .................................................................................................... 7<br />

3.1.1. Ickeorienterande apparater ................................................................................................. 8<br />

3.1.2. Anvisningsorienterande apparater ..................................................................................... 8<br />

3.1.3. Självorienterande apparater ............................................................................................. 10<br />

3.2. Superramar .......................................................................................................................... 10<br />

3.3. Mikro shemalagda vägledningsdirektiv (MMC) ................................................................. 11<br />

3.3.1. Transaktionstyper i ett reservationsblock för mediatillgång ........................................... 13<br />

3.4. Paketstrukturen i trådlös <strong>USB</strong> ............................................................................................. 14<br />

3.5. Ströminbesparnings egenskaper .......................................................................................... 15<br />

4. Protokoll och säkerhet ................................................................................................................ 17<br />

4.1. Parning och autentisering .................................................................................................... 17<br />

4.1.1. Fyravägs handskakning ................................................................................................... 19<br />

4.2. Kryptering och integritet ..................................................................................................... 20<br />

5. Adaptorer .................................................................................................................................... 21<br />

5.1. HWA (Host Wire Adapter) ................................................................................................. 21<br />

5.2. DWA (Device Wire Adapter).............................................................................................. 21<br />

6. Avslutning/Diskussion ................................................................................................................ 21<br />

7. Källförteckning ........................................................................................................................... 23<br />

Appendix<br />

i. Termer ……………………………………………………………………………………. . i<br />

Nyckelord:<br />

Certifierad, Trådlös, <strong>USB</strong>, ultra bredband, UWB, MB-OFDM


1. Introduktion<br />

Även om teknologin hela tiden går framåt och datortillverkare skryter med att de<br />

har lyckats integrera mera apparater i en och samma maskin, har det dock inte<br />

ännu kommit ut en produkt som skulle innehålla allt man kan behöva. Även då<br />

till exempel en bärbar dator redan innehåller de flesta komponenter som en<br />

användare kan behöva, har användaren en tendens att vilja utöka sin dators<br />

funktionalitet. Att åstadkomma detta, brukar i allmänhet betyda ett tillägg av<br />

åtminstone en kabel eller installation av ny hårdvara. År 1996 introducerade den<br />

universella seriella bussen (<strong>USB</strong>) en revolution då det gällde att fästa ny<br />

apparatur till en dator. En nästan magisk liten port kunde användas för att ansluta<br />

så gott som alla tänkbara tillbehör. Dessutom kunde den göra nästan alla<br />

inställningar automatiskt så, att en vanlig användare enkelt kunde installera nya<br />

apparater till sin dator. Sedan dess har <strong>USB</strong> haft en mycket stark position inom<br />

ADB-industrin som en populär anslutning för extern ADB-apparatur. Under de<br />

senare åren har intresset inför trådlösa anslutningar inom ADB vuxit och olika<br />

teknologier har börjat stiga fram, av vilka det trådlösa lokalnätverket, WLAN,<br />

och Bluetooth kanske är de kändaste.<br />

Utvecklingen av trådlös <strong>USB</strong> började med ett misslyckat försök av IEEE<br />

(Institution of Electrical and Electronics Engineers) att bilda en gemensam<br />

standard för en ny radiokommunikationsteknologi, ultra bredband. Efter att<br />

försöket med att specificera ett standardiserat gränssnitt för ultra bredband<br />

misslyckades, bildades två arbetsgrupper som började tillverka olika versioner av<br />

trådlös <strong>USB</strong> över ultra bredband. Ena gruppen var ledd av Intel och den andra av<br />

Freescale Semiconductor Inc. Intels arbetsgrupp grundades år 2004 och hade<br />

först namnet Multiband OFDM Alliance men heter idag WiMedia Alliance.<br />

WiMedia Alliance fick stöd av den officiella standardkommittén för <strong>USB</strong> (<strong>USB</strong><br />

Implementators Forum, <strong>USB</strong>-IF) men Freescale hann först ut med en färdig<br />

produkt. På grund av att WiMedia hade stödet av <strong>USB</strong>-IF, gav de sin<br />

specifikation namnet ”Certified Wireless <strong>USB</strong>”. Freescale ville undvika<br />

benämningen ”Wireless” då den redan användes i WiMedias specifikation och<br />

gav därför sin standard namnet ”Cable-Free <strong>USB</strong>”. Även om båda<br />

arbetsgrupperna strävade till att göra samma sak, hade grupperna olika<br />

tillvägagångssätt. Freescale strävade till att hålla den tidigare <strong>USB</strong> standarden<br />

orörd och endast avlegsna kablarna. WiMedia ville däremot göra en helt ny<br />

standard som baserade sig på <strong>USB</strong> standarden. [4][8][6]<br />

1


Detta arbete kommer inte att behandla Freescales ”Cabel-Free <strong>USB</strong>” version av<br />

trådlös <strong>USB</strong> utan kommer att presentera den certifierade trådlösa <strong>USB</strong><br />

standarden. Termen ”trådlös <strong>USB</strong>” refererar i detta arbete till den certifierade<br />

trådlösa <strong>USB</strong> standarden. Arbetet är indelat i fyra delar där den första delen är en<br />

kort presentation av de bakomliggande teknologierna <strong>USB</strong> och WiMedias UWB.<br />

Den andra delen behandlar schemaläggningen, paketstrukturen samt<br />

ströminbesparningen och den tredje delen tar upp säkerhetsaspekter och<br />

kryptering. I den fjärde delen sammanfattas kort den trådlösa <strong>USB</strong> standardens<br />

bakåtkompabilitet med <strong>USB</strong> 2.0 via två speciella adaptrar. Arbetets tyngdpunkt<br />

har satts på schemaläggningen och säkerheten av den nya teknologin men även<br />

likheter med den trådbaserade <strong>USB</strong>:n kommer att tas upp. Målet med arbetet är<br />

att undersöka den nya trådlösa <strong>USB</strong> standarden för att se ifall den följer den<br />

trådbaserade <strong>USB</strong>:ns målsättning för användarvänlighet och säkerhet utan att<br />

avvika från den trådbaserade <strong>USB</strong>:ns fundamentala egenskap att vara en<br />

universal förbindelse för alla typer av applikationer.<br />

2. Bakomliggande teknologier i trådlös <strong>USB</strong><br />

Trådlös <strong>USB</strong> baserar sig främst på <strong>USB</strong> specifikationen till sin protokollstruktur<br />

och grundläggande design medan överföringssättet härstammar från WiMedias<br />

UWB specifikationer för trådlös kommunikation. På grund av det trådlösa<br />

överföringssättet har säkerheten även kommit att spela en allt större roll till<br />

skillnad från den trådbaserade <strong>USB</strong>:n, där dataöverföringssäkerhet inte är ett<br />

problem. Trådlös <strong>USB</strong> strävar till att bibehålla den trådbaserade <strong>USB</strong>:ns starka<br />

sidor och anpassa dem till en ny teknologi. Följande stycken ger en översikt över<br />

de teknologier som tillämpas i trådlös <strong>USB</strong>.<br />

2.1. Universal Serial Bus (<strong>USB</strong>)<br />

Universal serial bus (<strong>USB</strong>) är en asynkron 1 , seriell dataöverföringsteknik<br />

som används bland annat för att ansluta extern hårdvara till datorer. <strong>USB</strong> har<br />

en stor dataöverföringshastighet och möjlighet att användas för flera olika<br />

applikationer. Grundtanken med <strong>USB</strong> var att göra ett standardiserat<br />

gränssnitt mellan apparater som både användare och tillverkare enkelt kunde<br />

utnyttja. <strong>USB</strong> utvecklades för att ersätta tidigare gränssnitt som var<br />

resursintensiva och besvärliga att använda. Dessutom var vissa gamla<br />

1 Def: Asynkron = Dataöverföringssystem, i vilket överföring av tecken sker osymmetriskt, dvs. utan<br />

avtalat tidsschema.<br />

2


gränssnitt utvecklade endast för specifik apparatur, som exempelvis<br />

parallellporten, och kunde inte användas effektivt för annan apparatur. Vid<br />

utvecklingen av <strong>USB</strong> prioriterades även användarvänligheten och samma<br />

grundtanke för enkelhet bibehölls även då de fysiska <strong>USB</strong> anslutningarna<br />

finslipades. <strong>USB</strong> kablarna, som kan anslutas endast på ett sätt, kan anslutas<br />

och kopplas uräven då datorn är på. [2] Ursprungligen definierade <strong>USB</strong> två<br />

hastighetsklasser för dataöverföring, låg hastighet (eng low-speed) med<br />

dataöverföringshastigheten 1,5 Mbps och fullhastighet (eng full-speed) med<br />

hastigheten 12 Mbps. <strong>USB</strong> 2.0 specifikationen introducerade en ny<br />

hastihetsklass för höghastighet (eng hi-speed), som ökade<br />

dataöverföringshastigheten 40 gånger till 480 Mbps. [2]<br />

Topologin i trådbaserad <strong>USB</strong> kan<br />

tänkas som en pyramid med nivåer,<br />

där värden (eng host) och dess hubb<br />

(eng root hub) är högst upp. Varje<br />

hubb, som ansluts till värden, bildar<br />

en ny nivå. En apparat ansluts sedan<br />

till en av hubbarna. Kommunikationen<br />

på fysik nivåsker via en kabel, som<br />

kan vara högst 5 m lång men den<br />

totala räckvidden kan med hjälp av<br />

hubbar utökas till 30 m. [2] <strong>USB</strong> kabeln är uppbyggd av fyra ledare, varav<br />

två används för datakommunikation och två för strömförsörjning. [12] <strong>USB</strong><br />

ger en möjlighet att erbjuda upp till 500 mA +5 V ström för en apparat som<br />

är fäst direkt till värden. Via en hubb kan en apparat dra högst 100 mA<br />

ström, ifall hubben inte har en egen strömkälla eller upp till 500 mA ifall<br />

hubben har en egen strömkälla. På mjukvaronivå baserar sig<br />

kommunikationen i <strong>USB</strong>-bussen på Time Division Multiple Access (TDMA)<br />

där tiden delas upp i små delar som i <strong>USB</strong> kallas för ramar. I låghastighets<br />

och fullhastighets <strong>USB</strong> är ramarna 1 ms långa.I höghastighets <strong>USB</strong> förkortas<br />

ramlängden till s.k. mikroramar, som har en period på 125 µs<br />

(mikrosekunder). Värden reserverar ett antal ramar för en apparat, som sedan<br />

får använda bussen under den tid som ramarna gäller. [2]<br />

Bild 1 - Topologin i <strong>USB</strong> – värdens hubb är<br />

högst upp och varje ny hubb bildar en ny<br />

nivå. [12]<br />

All kommunikation i <strong>USB</strong> startas av värden förutom i specialfallet av fjärr-<br />

uppväckning (eng Remote Wakeup), där en apparat självständigt kan skicka<br />

ett meddelande. [2][12] De flesta transaktioner i <strong>USB</strong> kräver åtminstone tre<br />

3


paket. Det första paketet, polletten (eng token), skickas från värden till en<br />

apparat och innehåller instruktioner om vad som skall göras. Efter att<br />

polletten mottagits skickas själva data och till sist skickas en handskakning<br />

(eng handshake) från mottagaren till sändaren för att meddela att<br />

transaktionen lyckats eller att det uppstått ett fel. [12] Denna<br />

transaktionsmodell kallas för polett data handskakningsmodellen (eng token-<br />

data-handshake) [13]. Kommunikationen i <strong>USB</strong> sker mellan funktioner och<br />

deras slutpunkter (eng function endpoint). En funktion är en viss<br />

funktionalitet, som en apparat erbjuder till värden medan en slutpunkt är<br />

enbuffert dit själva data skickas. En apparat kan ha upp till 30 slutpunkter i<br />

full- eller höghastighets <strong>USB</strong> 2.0 eller endast tre slutpunkter ifall det är<br />

frågan om en låghastighets <strong>USB</strong> apparat.Varje slutpunkt har ett nummer<br />

mellan 0 och 15 samt en riktning, in eller ut. Riktningen ses alltid som<br />

riktningen från värden, dvs en slutpunkt med inkommande riktning är en<br />

slutpunkt som skickar data till värden medan en slutpunkt med<br />

utgåenderiktning mottar data från värden. En slutpunkt kan ha både<br />

inkommande och utgående riktning. Ett exempel på detta är slutpunkt ”0”<br />

som måste finnas på alla <strong>USB</strong> apparater och som används vid initialisering<br />

och kontrollering av apparaten. Då en apparat ansluts till en <strong>USB</strong> buss,<br />

kommer värden i sin mjukvaraatt bilda länkar till funktionsslutpunkter som<br />

finns i apparaten. Dessa länkar kallas för rör (eng pipes) och används som<br />

kommunikationssätt mellan mjukvaran i värden och funktionerna i<br />

apparaten. Ett rör associerar alltid till en slutpunkt och en riktning på endast<br />

en apparat. Värden kan vid behov ta bort eller lägga till rör som behövs för<br />

att minska på resursbehoven. [2][12] <strong>USB</strong> definierar även olika sorters rör<br />

för olika applikationer men dessa tas inte upp noggrannare här (se [12]<br />

kapitel 5.3.2 för mera detaljerad information).<br />

För att kunna erbjuda anslutningar till flera olika sorters apparater har <strong>USB</strong><br />

fyra olika transaktionssätt, som kan användas vid dataöverföring.<br />

Styrningstransaktionen (eng control transfter) bör kunna användas med alla<br />

<strong>USB</strong> apparater då den används av värden vid initialiseringen av en apparat.<br />

Styrningstransaktionen garanterar en förlustfri dataöverföring mellan<br />

apparaten och värden men har den lägsta genomsnittliga data-<br />

överföringshastigheten [12]. Styrningstransaktionen är egentligen avsedd för<br />

initialiserings- och konfigurationsrelaterade kommandon mellan värden och<br />

apparaten men kan även användas för tillverkarspecifikaförfrågningar till<br />

apparaten [2]. Bulk-transaktioner används för att överföra stora mängder<br />

4


data som inte är tidskritiska. Bulk-transaktionen har den största data-<br />

överföringshastigheten och hårdvarubaserad felkorrigering. Transaktionen<br />

har även en inbyggd mekanism, som försöker sända på nytt paket, ifall<br />

dataöverföringen misslyckas. Bulk-transaktioner har en mycket hög<br />

prestanda, ifall det inte finns annan aktivitet på bussen men kan bli fördröjda<br />

ifall bussen är tungt belastad. Ifall en apparat kräver att data skall överföras<br />

inom ett visst intervall, kan avbrytandetransaktioner (eng interrupt transfers)<br />

användas. Avbrytandetransaktioner garanterar att en apparat får service inom<br />

ett visst intervall. Detta är speciellt viktigt till exempel då man till <strong>USB</strong><br />

bussen ansluter en mus eller ett tangentbord och en konstant latens är viktig.<br />

Den sista transaktionsformen kallas isynkrontransaktion (eng isochronous<br />

transfer). Isynkrona transaktioner garanterar en konstant<br />

dataöverföringshastighet men saknar hårdvarubaserad felkorrigering och<br />

omsändning. Typiska applikationer för isynkrondataöverföring är till<br />

exempel video- eller ljudströmmar. [12]<br />

2.2. Ultra bredband (UWB)<br />

Ultra bredband (eng Ultra wideband, UWB) är en trådlös<br />

radiokommunikationsteknologi, som ursprungligen är utvecklad av USA:s<br />

armé. Till skillnad från till exempel WLAN, baserar sig UWB inte på<br />

modulering av en kontinuerlig sinusvåg, utan på modulering av pulser.<br />

Pulserna, som används i UWB, är mycket korta i tidsplanet och har mycket<br />

låg energi. Detta gör att UWB ofta kan ignoreras som bakgrundsbrus i andra<br />

trådlösa tekniker. Namnet ”Ultra bredband” kommer från att UWB använder<br />

sig av en mycket stor bandbredd för att förmedla information. Bandbredden,<br />

som används för UWB är 7,5 GHz och förverkligas mellan frekvensområdet<br />

3.1 GHz och 10.6 GHz. Som referens kan man använda till exempel den<br />

trådlösa lokalnätverksstandarden 802.11a, som har en bandbredd på 20 MHz<br />

i ett frekvensområde kring 5 GHz. [11] På grund av sin bandbredd, måste<br />

UWB använda sig av en mycket låg sändningseffekt. Enligt FCC:s<br />

bestämmelser måste den totala sändningseffekten vara under 0.5 mW, ifall<br />

hela bandbredden används. Den förminskade sändningseffekten bidrar till att<br />

sändningsdistansen avsevärt minskar. UWB har en effektiv<br />

användningsdistans på 10 m med en dataöverföringshastighet på 110 Mb/s.<br />

Överföringshastigheten ökar drastiskt om sändaren och mottagaren är nära<br />

varandra och på tre meters avstånd kan UWB tillämpas med 480 Mb/s<br />

dataöverföringshastighet. [10] Förutsättningen för en god prestanda är dock<br />

en god moduleringsteknik. WiMedia har valt att använda sig av Multi-Band<br />

5


Orthogonal Frequency Division Multiplexing (MB-OFDM) för att uppnå<br />

detta.<br />

2.2.1. Multi-Band Orthogonal Frequency Division Multiplexing<br />

(MB-OFDM)<br />

Pulserna, som används i WiMedias specifikationer för UWB moduleras<br />

med en moduleringsteknik som heter Orthogonal Frequency division<br />

Multiplexing (OFDM). OFDM är en digital moduleringsteknik, som<br />

baserar sig på att modulera flera signaler ortogonalt 2 så, att flera<br />

symboler kan sändas på samma gång. Till skillnad från traditionell<br />

frekvensmodulering, där två sidovågor inte får överlappa varandra,<br />

använder sig OFDM av signalernas ortogonalitet för att skilja mellan två<br />

signaler. Då samma teknik tillampas flera gånger, kan flera symboler<br />

sändas med samma bandbredd med en högre användningsgrad än<br />

traditionell frekvensmodulering.[9]<br />

Bild 2 - Jämförelse mellan ortogonal frekvensmodulering och traditionell<br />

frekvensmodulering. OFDM kan innehålla flera symboler än traditionell<br />

frekvensmodulering på samma bandbredd.<br />

För att flera UWB apparater skall kunna funktionera samtidigt på<br />

samma frekvensområde, delas bandbredden in i mindre delar (eng<br />

Multi-Band). WiMedias specifikationer för UWB delar upp den 7,5GHz<br />

breda bandbredden i 14 subband, som vart och ett är 528MHz brett.<br />

Subbanden grupperas sedan i fem grupper, som omfattar tre subband<br />

förutom en grupp som omfattar endast två subband. Signalerna i varje<br />

subband moduleras med 128 OFDM subbärvågor (eng subcarrier). [5]<br />

2 Def: Ortogonal = Inre produkten, skalärprodukten, av två vektorer x, y, är lika med 0. x • y = 0<br />

6


3. Arkitekturen i trådlös <strong>USB</strong><br />

Arkitekturen i trådlös <strong>USB</strong>, som baserar sig på arkitekturen i den trådbaserade<br />

<strong>USB</strong>:n, har genomgått en del förändringar. Topologin har ändrat och kallas i<br />

trådlös <strong>USB</strong> för ”Hub och eker” (Hub and Spoke) modellen. I hub och eker<br />

modellen går all kommunikation igenom en central punkt, hubben, och skickas<br />

sedan vidare till mottagaren via en eker, som är en punkt till punkt förbindelse,<br />

till mottagaren. Flera förbindelser bildar ett nätverk, som i trådlös <strong>USB</strong> kallas ett<br />

kluster. I mitten av detta kluster finns värden och inuti värdens kluster finns alla<br />

apparater som har en förbindelse till värden. [13][14]<br />

Trådlös<br />

<strong>USB</strong><br />

apparat<br />

Trådlös<br />

<strong>USB</strong><br />

apparat<br />

Trådlös<br />

<strong>USB</strong><br />

värd<br />

Trådlös<br />

<strong>USB</strong><br />

apparat<br />

3.1. Schemaläggning av mediet<br />

Trådlös<br />

<strong>USB</strong><br />

apparat<br />

”Hub och Eker”<br />

modellen<br />

Bild 3 - Hub och eker modellen som används i trådlös <strong>USB</strong>. [14]<br />

Schemaläggningen av mediatillgången förverkligas i trådlös <strong>USB</strong> på samma<br />

sätt som i trådbaserad <strong>USB</strong> med TDMA. Tiden delas in i ramar, som kallas<br />

för superramar (eng Super Frames). Varje supperram i trådlös <strong>USB</strong> är 65ms<br />

lång med en orienteringsperiod (Beacon Period) i början.<br />

Orienteringsperioden används för att bygga upp det trådlösa klustret. Om<br />

alla närliggande apparater är inom värdens kluster och därmed inom värdens<br />

räckvidd, behöver endast värden skicka ut orienteringsramar under<br />

orienteringsperioden. Men ifall det finns så kallade dolda apparater, som inte<br />

är inom värdens räckvidd men inom räckvidden för någon av apparaterna i<br />

värdens kluster, måste värdens orienteringsramar nå dem på ett annat sätt.<br />

Hub<br />

Eker<br />

Kluster<br />

7


För att lösa detta problem kan apparaterna vid<br />

yttre gränserna av klustret beordras att<br />

förmedla värdens orienteringsramar eller till<br />

och med sköta om förmedlingen själv. Trådlös<br />

<strong>USB</strong> klassificerar tre olika sorters apparater,<br />

självorienterande (eng self beaconing),<br />

anvisningsorienterande (eng directed<br />

beaconing) och ickeorienterande (eng non-<br />

beaconing), för att bearbeta problemet. [13]<br />

3.1.1. Ickeorienterande apparater<br />

Den enklaste uppbyggnaden har de ickeorienterande apparaterna, som<br />

inte behöver göra annat än svara på de kommandon som värden skickar.<br />

På grund av att de ickeorienterande apparaterna inte tar hänsyn till<br />

närliggande apparater, har de en begränsad sändningseffekt och därför<br />

även en minskad sändningsdistans. [13]<br />

3.1.2. Anvisningsorienterande apparater<br />

Uppbyggnaden för anvisningsorienterande apparater är mera<br />

komplicerad, då apparaten måste kunna förmedla orienteringsramar som<br />

värden definierar samt kunna lyssna efter och fånga orienteringsramar<br />

från andra närliggande trådlösa <strong>USB</strong> kluster. Alla<br />

anvisningsorienterande apparater måste stöda tre schemaläggnings-<br />

relaterade funktioner att skicka paket, att räkna paket och att fånga<br />

paket. [13]<br />

Skicka paket funktionen används av värden för att förmedla ett paket via<br />

apparaten till ett annat trådlöst <strong>USB</strong> kluster eller en annan apparat.<br />

Värden sänder tillsammans med instruktioner ett paket till apparaten,<br />

som apparaten sedan vidareförmedlar. Instruktionerna innehåller<br />

tidpunkten när paketet bör sändas samt ett sändningsintervall då paketet<br />

bör skickas på nytt. Apparaten kommer att fortsätta skicka paketet på<br />

nytt inom den specificerade intervallen tills värden skickar ett<br />

kommando innehållande ett annat intervall eller instruktioner för att<br />

sluta skicka paketet. Ifall en apparat tappar förbindelsen med värden<br />

eller går i ett djupt ströminbesparningsläge, kommer apparaten även att<br />

sluta skicka paketet. [13]<br />

Bild 4 - Exempel på en dold<br />

apparat. Den trådlösa <strong>USB</strong><br />

värden (H) kan inte direkt<br />

kommunicera med apparaten, M<br />

men apparanten M kan nås via<br />

en av apparaterna D. [13 s.34]<br />

8


Räkna paket funktionen används av värden för att se ifall det finns<br />

aktivitet på en annan kanal i det trådlösa mediet. Värden kan även<br />

använda funktionen för att se, ifall det finns andra trådlösa kluster i<br />

närheten, genom att kontrollera ifall apparaten kan fånga andra<br />

orienteringsramar än de som värden själv skickat. Då en apparat ställs in<br />

för att räkna paket, ger värden en starttid, sluttid, kanal och filter åt<br />

apparaten. Starttiden definierar den tidpunkt då apparaten skall börja<br />

räkna paket och sluttiden då apparaten skall sluta räkna paket. Kanalen<br />

definierar den fysiska kanal, som apparaten skall lyssna på och<br />

filterutgör en specificering över de paket som skall beaktas. Apparaten<br />

räknar alla paket som den mottar inom intervallet [starttid, sluttid] och<br />

lagrar information om ramtyp, mottagningstid, (Frame Conrol),<br />

destinationsadress och källadress för alla de paket som passar filtret.<br />

Apparaten fortsätter att räkna paket tills den når sluttiden eller<br />

apparatens interna buffert tar slut. Apparaten slutar även räkna paket,<br />

ifall den stängs av eller då den får instruktioner av värden att sluta.<br />

Värden kan sedan be apparaten uppge antalet mottagna paket och<br />

informationen som samlats. [13]<br />

Fånga paket funktionen används för att fånga ett specifikt paket. Värden<br />

kan beordra apparaten att fånga till exempel en hel orienteringsram så<br />

att värden sedan kan studera innehållet i paketet. Fånga paket<br />

funktionen fungerar nästan på samma sätt som räkna paket funktionen.<br />

Apparaten börjar lyssna efter paket vid starttiden och fångar alla paket<br />

som den kan motta på den specificerade kanalen. Då ett paket som<br />

passar filtret mottas, lagrar apparaten hela paketet i sin buffert och slutar<br />

lyssna efter paket. Värden kan sedan be det fångade paketet av<br />

apparaten för att studera innehållet i paketet. Skillnaden jämfört med<br />

räkna paket funktionen är, att apparaten slutar lyssna efter flera paket då<br />

den mottagit det första paketet som passar filtret. Apparaten lagrar även<br />

hela paketet i sitt minne till skillnad från räkna paket funktionen. [13]<br />

9


3.1.3. Självorienterande apparater<br />

När det gäller schemaläggningen i trådlös <strong>USB</strong> är de självorienterande<br />

apparatena de mest invecklade apparaterna, bortsett från värden. De<br />

självorienterande apparaterna kan själv bestämma hur de skall förmedla<br />

värdens orienteringsramar så, att de dolda apparaterna får information<br />

om det närliggande klustret samt reserverad mediatillgång. En<br />

självorienterande apparat måste även kunna motta och behandla flera<br />

förfrågningar på samma gång för att kunna sköta förbindelsen till värden<br />

samtidigt som den sköter informationsförmedlingen till närliggande<br />

kluster. Då en självorienterande apparat är med i ett kluster, kommer<br />

den självständigt att skicka ut orienteringsramar med värdens kluster ID.<br />

En självorienterande apparat bidrar dock inte till en ökad räckvidd för<br />

ett kluster i annan bemärkelse än att den kan meddela apparater utanför<br />

värdens räckvidd om det närbelägna klustret. [13]<br />

3.2. Superramar<br />

Varje 65 ms lång superram är vidare indelad i 256 mindre delar som kallas<br />

för mediatillgångsintervaller (eng Media Access Slot). Varje<br />

tillgångsintervall är 256 µs lång och kan reserveras till en apparat åt gången<br />

med undantaget av grupptransaktioner från värden. Ifall en transaktion<br />

kräver mera tid, kan flera på varandra följande intervaller reserveras på<br />

samma gång. [7][13]<br />

Reserveringen av mediatillgångsintervaller sker med hjälp av<br />

mikroschemalagda vägledningsdirektiv (eng Micro-scheduled management<br />

command, MMC). De mikroschemalagda vägledningsdirektiven bildar en<br />

kontinuerlig sekvens av data för alla apparater och utgör grunden för all<br />

kommunikation i det trådlösa klustret.[13]<br />

Bild 5 - Strukturen för en superram. I början av supperramen finns en orienteringsperiod (BP) som följs av<br />

mediatillgångsintervaller (MAS). Varje mediatillgångsintervall är 256 mikrosekunder långa. [13 s.22]<br />

10


3.3. Mikroshemalagda vägledningsdirektiv (MMC)<br />

De mikroschemalagda vägledningsdirektiven, MMC:na, används av värden<br />

för att administrera och schemalägga apparater i det trådlösa klustret. Varje<br />

MMC skickas som en global sändning till alla apparater i värdens trådlösa<br />

kluster. Innehållet i en MMC skickas utan kryptering men skyddas dock med<br />

säker paket inkapsling (eng Secure Packet Encapsulation) avautentiserings<br />

skäl.[13]<br />

Då mediatillgångsintervallerna är mycket korta, 256 µs, är synkronisering en<br />

mycket viktig del av schemaläggningen. På samma sätt som en trådbaserad<br />

<strong>USB</strong> värd, upprätthåller den trådlösa <strong>USB</strong> värden en löpande timer för<br />

kommunikationskanalen, som används som kommunikationskanalens tid.<br />

Noggrannheten för synkroniseringen i trådlös <strong>USB</strong> följer WiMedias<br />

specifikationer för UWB. För att uppnå synkronisering, innehåller varje<br />

MMC en tidsmarkering (eng time stamp) för den tidpunkt i<br />

kommunikationskanalens tid då MMC:n skickades. På detta sätt kan de<br />

trådlösa apparaterna i klustret synkronisera sin egen interna klocka med<br />

värdens klocka [13]<br />

Förutom synkronisering, använder värden<br />

MMC:na för att sända kommandon och<br />

reservera media-tillgångsintervaller till en<br />

apparat i det trådlösa klustret. Grundstrukturen<br />

för en MMC innehåller ett huvud (eng header,<br />

bild 6 HDR), som definierar längden för hela<br />

MMC:n. Detta är nödvändigt, då MMC:n kan<br />

ha olika längd beroende på innehållet. Efter<br />

huvuet finns ett identifieringselement (bild 6<br />

WCTA_IE) och till sist ett eller flera block<br />

som definierar mediatillgångsreservationer med instruktioner för vad som<br />

skall göras och vilken apparat instruktionerna gäller (bild 6 WxCTA). [13]<br />

Varje reservationsblock (WxCTA) innehåller en media tillgångsreservation<br />

samt instruktioner för en transaktion. [13] Till skillnad från den trådbaserade<br />

<strong>USB</strong>:n, där varje instruktion följs direkt av transaktionen [12], använder sig<br />

trådlös <strong>USB</strong> av en mekanism där flera instruktioner kan skickas först medan<br />

själva transaktionerna sker efter att alla instruktioner skickats [13]. Varje<br />

reservationsblock innehåller en starttid, som är en förkjutning relativ till den<br />

HDR<br />

WxCTA_IE<br />

MMC<br />

WxCTA<br />

Attribut<br />

Starttid<br />

Typspecifika<br />

argument<br />

Bild 6 Grundstrukturen för en<br />

MMC [13 s.93]<br />

11


tidpunkt då MMC:n har skickats. Då värden beräknar starttiden måste den ta<br />

i beaktande fleradetaljer som inverkar på tidpunkten då en transaktion skall<br />

ske. Värden måste beräkna hur länge det tar för själva MMC:n att överföras<br />

samt hur mycket tid eventuella tidigare transaktioner kräver för att två<br />

transaktioner inte skall överlappa varandra. Värden måste även ta i<br />

beaktande tomgångstider, som måste finnas mellan två paket, den tid som<br />

krävs för bussbyte, då en apparat ändrar sin radio från mottagning till<br />

sändning samt overhead, som orsakas av det fysiska mediets protokoll [13].<br />

Bild 7 - Användningen av de mikro shemalagda vägledningsdirektiven (MMC). Huvudet (HDR) innehåller<br />

den tidpunkt som MMC:n skickades. Starttiden är en förskjutning från den tid punkt som specificeras i<br />

huvudet. Mellan transaktionerna finns en tomgångstid. Bussbyte orsakar en längre tomgångstid mellan två<br />

transaktioner. (baserat på [13])<br />

Media tillgångsreserveringsblocket kan innehålla instruktioner för tre olika<br />

transaktionstyper, skicka data (DeviceTransmit), motta data<br />

(DeviceReceave) och meddelande (DeviceNotify). Uppbyggnaden av<br />

reserveringsblocket är mycket komplicerat men grundstrukturen innehåller<br />

två gemensamma element, attribut (Bild 6 Attributes) och starttid (Bild 6<br />

Start Time). Förutom de gemensamma elementen kan ett reservationsblock<br />

även innehålla specifika attribut för en transaktionstyp (Bild 6<br />

TypeSpecific). Attributfältet innehåller information över vilken av de tre<br />

transaktionstyperna som skall användas och hur resten av informationen i<br />

reserveringsblocket skall tolkas. Det typspecifika fältet innehåller<br />

instruktioner som behövs för en viss typ av transaktion. På grund av sin<br />

dynamiska struktur, kan ett reservationsblock ha olika längd. Till exempel då<br />

en apparat skall motta data, innehåller det typspecifika fältet endast adressen<br />

till apparaten. Men då apparaten sänder data innehåller det typspecifika fältet<br />

förutom apparatens adress även transaktionsspecifika attribut så som<br />

sändningseffekt, överföringshastighet och paketstorlek. [13]<br />

12


3.3.1. Transaktionstyper i ett reservationsblock för mediatillgång<br />

Transaktionstypen motta data (DeviceReceave) används för att förmedla<br />

paket från värden till apparaten och är, ur värdens synpunkt, en utgående<br />

sändning. Då en värd bygger upp ett reserveringsblock för att skicka<br />

data till en apparat ställer den in attributen i attributfältet och definierar<br />

vilken <strong>USB</strong> slutpunkt som används. Ifall apparaten kräver en speciell<br />

uppsättning för att motta data, sätter värden en uppsättningsflagga i<br />

attributfältet. Då uppsättningsflaggan är satt, kommer värden att skicka<br />

specifika uppsättningsparametrar åt apparaten direkt efter att den skickat<br />

allt annat i reserveringsblocket. Värden räknar även ut förskjutningen<br />

till den tidpunkt då själva transaktionen skall ske och ställer in värdet i<br />

starttidsfältet. Till sist tillsätter värden i det typspecifika fältet<br />

apparatens adress och de eventuella uppsättningsparametrarna. [13]<br />

Skicka data (Device Transmit) transaktionstypen används för att<br />

överföra data från en apparat till värden. Till skillnad från<br />

datamottagningstransaktionen är detta, ur värdens synpunkt, en<br />

inkommande sändning. Sändningstransaktionen har två funktioner, den<br />

kan användas av värden för att motta data från en apparat men kan även<br />

användas för att motta handskakningar från en apparat.<br />

Handskakningarna kan ske på två olika sätt. Värden kan be om en<br />

handskakning från apparaten och då måste apparaten svara med en<br />

handskakning. Den andra möjligheten är, att då värden ber om data från<br />

apparaten, svarar apparaten med en handskakning för att visa att den<br />

inte har data att skicka. Uppsättningen av reservationsblocket fungerar<br />

på samma sätt som vid datamottagningen men vid sändningen måste<br />

värden även specificera sändningsspecifika parametrar i det typspecifika<br />

fältet. [13]<br />

Transaktionen för meddelanden (DeviceNotify) används för att överföra<br />

meddelanden från apparaterna till värden. Reservationsblocket för<br />

meddelanden har en avvikande uppsättning jämfört med de tidigare<br />

nämnda transaktinssätten. Då värden definierar ett reservationsblock för<br />

meddelanden, kommer värden på samma sätt som vid sändning eller<br />

mottagning att räkna ut starttiden men definierar inga andra attribut i<br />

attributfältet. Värden kommer sedan i det typspecifika fältet att definiera<br />

maximala antalet meddelanden som den kan motta som ett nummer, N.<br />

Reservationsblocket för själva transaktionen delas in i N stycken<br />

13


springor som är lika långa som den maximala längden av ett<br />

meddelande inkusive tomgångstiden mellan paket. Då en apparat skall<br />

skicka ett meddelande till värden, kommer den att använda sig av en<br />

algoritm, som kallas för Slotted Aloha, för att bestämma vilken av de N<br />

springor som den skall använda. Algoritmen använder sig av en<br />

slumptalsgenerator, som producerar jämnfördelade slumptal mellan [0,<br />

N-1]. Apparaten kommer att använda den springa som den fått från<br />

algoritmen för att skicka sitt meddelande till värden. [13]<br />

Då en MMC kan innehålla flera transaktioner, är uppläggningsordningen av<br />

reserveringsblocken i en MMC är mycket viktig. För att uppnå god prestanda<br />

skall värden ställa upp en MMC så, att alla utgående instruktioner kommer<br />

först och alla inkommande efteråt. På detta sätt undviks onödiga bussbyten,<br />

som orsakar en längre tomgångstid mellan paket. Värden bör även ställa upp<br />

MMC:n så, att alla reserveringsblock skickas i rätt ordning med avseende på<br />

starttiden. [13]<br />

3.4. Paketstrukturen i trådlös <strong>USB</strong><br />

Då trådlös <strong>USB</strong> baserar sig på WiMedias UWB specifikationer, måste den<br />

även använda WiMedias specifikationer för paketformat. Paketformatet är<br />

uppbyggt på ett sätt som gör det möjligt att sända olika delar av ett paket<br />

med olika hastighet. På detta sätt kan viktigare delar sändas med en<br />

långsammare men säkrare dataöverföringshastighet medan själva data som<br />

överförs kan sändas med en högre hastighet. Paketformatet erbjuder även<br />

felkorrigering med hjälp av CRC (eng Cyclic Redundancy Check) för<br />

paketet och möjlighet till skyddad dataöverföring via ett säkert paketformat<br />

(Secure Packet Format), som omfattar både autentisering och kryptering av<br />

varje paket. [7][13]<br />

14


WiM.<br />

Huvud<br />

Sändare Mottagare<br />

W<strong>USB</strong><br />

Huvud<br />

Ett paket i trådlös <strong>USB</strong> byggs upp av hela WiMedias paketstruktur med<br />

inkapslad trådlös <strong>USB</strong> paketstruktur. Det trådlösa <strong>USB</strong> paketet, som<br />

innehåller ett huvud och data, tillsätts i WiMedias paketstruktur som data<br />

(bild 8 Wimedia Data). Adresseringen för ett paket sker i WiMedias<br />

paketstukturs huvud (bild 8 WiM. Huvud), där paketets sändare och<br />

mottagare definieras. Det trådlösa <strong>USB</strong> huvudet innehåller <strong>USB</strong> specifika<br />

attribut, som <strong>USB</strong> slutpunkts nummer och handskakningar eller andra<br />

flaggor. Den trådlösa <strong>USB</strong>:ns huvud är uppdelad i två delar, attribut och<br />

status. Attribut delen innehåller <strong>USB</strong> slutpunktsnumret samt ett paket ID.<br />

Status delen av huvudet används för att förmedla flaggor. Flaggorna används<br />

för att förmedla händelser som fel, handskakningar eller att det sända paketet<br />

var det sista av ett flöde av paket. Vid isynkron transaktion (eng Isochronus<br />

transfer) tillsätts även ett isynkronttransaktionshuvud. Det isynkrona<br />

transaktionshuvudet kan ha olika längd, beroende på antalet isynkrona paket<br />

som skickas. [13]<br />

WiMedia Data<br />

W<strong>USB</strong> Data<br />

3.5. Ströminbesparnings egenskaper<br />

WiMedias paketstrukur<br />

Bild 8 - Strukturen av ett paket i trådlös <strong>USB</strong> Den trådlösa <strong>USB</strong>:ns paketstruktur tillsätts som en del av<br />

WiMedias paketstruktur. (baserat på figur 5-1 [13 s.87] )<br />

W<strong>USB</strong> paketstrukur<br />

Säkerhetsrelaterad<br />

data<br />

Då trådlös <strong>USB</strong> inte kan erbjuda apparater ström via förbindelsemediet<br />

såsom trådbaserad <strong>USB</strong>, måste strömförsörjningen för apparater ske på ett<br />

annat sätt. Då trådlösa apparater måste anväda sig av alternativa strömkällor<br />

så som till exempel batterier för strömförsörjning, måste trådlös <strong>USB</strong> sträva<br />

till att minimera strömförbrukningen hos apparater. Schemaläggningen i<br />

trådlös <strong>USB</strong> gör det möjligt för både apparater och värden gå i viloläge, då<br />

de inte skall sända eller motta något data. Då mediatillgången, och därmed<br />

alla transaktioner, är definierade i förväg via MMC:na, kan apparater se<br />

under vilken tidpunkt de behövs och stänga av sin radio då de inte behövs.<br />

15


Trådlös <strong>USB</strong> erbjuder även mekanismer för apparater att ingå i djupare<br />

ströminbesparningsläge för längre tidsperioder för att vidare minimera<br />

strömförbrukningen. [13]<br />

Då en apparat mottar en MMC, kommer MMC:n att innehålla alla<br />

mediatillgångsreservationer tills nästa MMC samt tidpunkten då nästa MMC<br />

kommer att sändas. Mediatillgångsreservationerna innehåller även adressen<br />

på den apparat som reservationen gäller. Ifall en apparat märker, att den inte<br />

kommer att behövas under en tidpunkt mellan den mottagna MMC:n och<br />

nästa MMC, kan apparaten utan att missa någon information stänga av sin<br />

radio tills den tidpunkt då nästa MMC skickas. [7][13] Denna typ av<br />

ströminbesparning är autonom för varje apparat och kan antingen användas<br />

eller inte användas.<br />

Ifall en apparat vill gå i ett djupare strömbesparningsläge, ett såkallat ide-<br />

läge (eng hibernation), och stänga av sin radio för en längre tid måste<br />

apparaten först skicka ett meddelande till värden där den meddelar värden att<br />

den vill gå i ide. Meddelandet skickas till värden under ett av<br />

meddelandetransaktionsfönstren (se 3.3.1) och kan innehålla antingen ett<br />

meddelande att apparaten kommer att gå i ide eller en förfrågning ifall<br />

apparaten får gå i ide. Då en apparat frågar värden, ifall den kan gå i ide, kan<br />

värden svara nekande till förfrågningen om det till exempel finns<br />

transaktioner i kö till apparaten. Då apparaten däremot meddelar värden, att<br />

den kommer att gå i ide, kan värden inte stoppa apparaten från att stänga av<br />

sin radio. [7][13]<br />

Då en apparat går i viloläge, kommer apparaten hela tiden att vara ansluten<br />

till värden. Men då apparaten går i ide, finns det en risk att apparaten tappar<br />

förbindelsen till värden. Om en apparat återvänder ur idet och märker att<br />

förbindelsen har brutits, måste den autentiseras på nytt före vidare<br />

kommunikation kan fortsätta (se 4.1 för autentiseringsprotokoll). I annat fall<br />

kan kommunikationen fortsätta som om apparaten varit aktiv hela tiden. [13]<br />

Värden kan även inverka på ströminbesparningen via schemaläggningen<br />

genom att definiera en lång period mellan MMC:na. Då kan både apparater<br />

och värden gå i viloläge för längre tidsperioder utan att gå i ide. Värden kan<br />

även tillfälligt bryta hela den trådlösa <strong>USB</strong> bussen genom att själv gå i ide.<br />

[13]<br />

16


4. Protokoll och säkerhet<br />

Säkerhet, autentisering och kryptering inom ADB förknippas ofta med skydd mot<br />

oönskat intrång av en tredje part till något som den inte borde ha tillgång till. [se<br />

t.ex. 4,6,12] Men säkerhet kan även betyda annat som till exempel garanti att det<br />

som skickas når fram och att de mottagna data motsvarar de sända data. [4] På<br />

grund av sin fysiska struktur övervann den trådbaserade <strong>USB</strong>:n dessa problem<br />

utan protokoll eller andra säkerhetstillämpningar medan den trådlösa länken i<br />

trådlös <strong>USB</strong> inte kan garantera samma säkerhet utan specifika förfaranden och<br />

protokoll. [4][13] Den fysiska länken mellan värden och apparaten i trådbaserad<br />

<strong>USB</strong> ger en mycket stark säkerhet mot externa attacker, då det i praktiken är<br />

omöjligt att läsa informationen, som skickas över en <strong>USB</strong> kabel av en tredje part<br />

utan att användaren skulle märka det. [13] Den fysiska länken ger även en god<br />

signalintegritet mellan två punkter jämfört med trådlösa medier [4] och ger<br />

användaren kontroll över vilka apparater som är anslutna till <strong>USB</strong>-värden [13].<br />

Då trådlös <strong>USB</strong> skall fungera som ett ersättande alternativ till den trådbaserade<br />

<strong>USB</strong>:n, måste även den trådlösa <strong>USB</strong>:n ge användaren samma kontroll och<br />

säkerhet som den trådbaserade <strong>USB</strong>:n har givit. [13]<br />

4.1. Parning och autentisering<br />

Säkerheten i trådlös <strong>USB</strong> baserar sig på autentisering med hjälp av nycklar.<br />

För att en apparat skall kunna användas i ett trådlöst kluster, måste den vara<br />

parad och autentiserad med värden för klustret samt känna till en gemensam<br />

förbindelsenyckel mellan värden och apparaten. Denna gemensamma nyckel<br />

formas då apparaten och värden autentiseras och används för att upprätthålla<br />

en säker förbindelse. Parningen sker då en apparat för första gången ansluts<br />

till en värd och kan göras via en icke trådlös överföringsteknik, som<br />

exempelvis trådbaserad <strong>USB</strong> eller ett installationsprogram eller över det<br />

trådlösa mediet med hjälp av publika nycklar. Parningen kräver alltid att<br />

användaren involveras på ett eller annat sätt medan autentiseringen sker<br />

automatiskt. Efter att en apparat parats med en värd, måste apparaten och<br />

värden autentiseras via en metod som heter fyravägs handskakning (eng 4-<br />

Way Handshake). Autentiseringen används för att bilda en<br />

förbindelsekontext (eng Connection Context), som innehåller värdens ID,<br />

apparatens ID och en förbindelsenyckel och används sedan för att skydda<br />

17


vidare kommunikation. För att kunna skapa en förbindelse mellan värden<br />

och apparaten, måste båda känna till samma förbindelsekontext. Värden<br />

måste även se till att förbindelsenyckeln som bildas är unik för varje apparat<br />

i ett kluster, så att kommunikationen mellan en apparat och värden alltid är<br />

säker. Då både apparaten och värden har en gemensam förbindelsekontext<br />

kan förbidelsen återupplivas utan parning ifall den bryts. [3][13]<br />

Då en apparat paras, bildas ett förtroendeförhållande mellan apparaten och<br />

värden. Parningen försäkrar att rätt apparat är fäst vid rätt värd och att det är<br />

den rätta apparaten som försöker bilda en ny förbindelse med värden.<br />

Trådlös <strong>USB</strong> definierar tre olika sätt att para en apparat med värden,<br />

trådbaserad, bestämd nyckel och publik nyckel. Då parningen sker mellan en<br />

trådbaserad förbindelse måste användaren fysiskt koppla apparaten till<br />

värden. Då den fysiska förbindelsen har gjorts, överförs en<br />

förbindelsekontext till apparaten. Efter att både apparaten och värden har<br />

samma förbindelsekontext, kan apparaten anslutas trådlöst till värden och<br />

autentiseras via fyra vägs handskakningen. Den överförda<br />

förbindelsekontexten används i handskakningen för att kryptera data som<br />

överförs. [13]<br />

Ifall apparaten använder en bestämd nyckel för att paras med värden, måste<br />

användaren ge värden exakt den nyckel som apparaten redan har lagrat i sitt<br />

minne. Nyckeln kan antingen finnas utskriven eller synas på en skärm på<br />

apparaten. Efter att användaren har överfört nyckeln till värden, kan värden<br />

och apparaten säkert autentiseras då data som överförs kan krypteras med<br />

hjälp av den bestämda nyckeln. [13]<br />

Den tredje parningsformen som kan användas, baserar sig på publika och<br />

privata nycklar. Då parningen sker med publika nycklar ber värden om<br />

apparatens publika nyckel samtidigt som den skickar sin publika nyckel åt<br />

apparaten. Efter detta kommer både apparaten och värden att visa de<br />

mottagna publika nyklarna på sina skärmar för att användaren skall kunna<br />

verifiera, att det är korrekta nycklar som apparaten respektive värden har<br />

mottagit. Efter detta krypteras data vid fyra vägs handskakningen med<br />

respektive publika nyckel, dvs värden krypterar meddelanden åt apparaten<br />

med apparatens publika nyckel och apparaten krypterar meddelanden åt<br />

värden med värdens publika nyckel. Då den privata nyckeln behövs för<br />

dekryptering och endast den publika nyckeln har överförts kan både<br />

18


apparaten och värden vara säkra på att endast den avsedda mottagaren kan<br />

läsa meddelandet. [7][13]<br />

4.1.1. Fyravägs handskakning<br />

Fyravägs handskakning används för att autentisera och överföra en<br />

förbindelsekontext mellan en apparat och värden så, att både värden och<br />

apparaten har samma kontext. Ifall apparaten autentiseras via en fysisk<br />

kontakt, exempelvis trådbaserad <strong>USB</strong>, finns redan en förbindelse<br />

kontext i apparaten. Handskakningen används då för att autentisera<br />

apparaten och eventuellt byta ut förbindelsenyckeln. Fyravägs<br />

handskakningen bygger på en metod där både apparaten och värden<br />

bevisar för varandra att de känner till en gemensam hemlighet utan att<br />

skicka själva hemligheten. Fyravägs handskakningen sker trotts det med<br />

kryptering för ökad säkerhet. [13]<br />

Fyravägs handskakningen börjar med att värden skickar ett slumptal och<br />

en nyckelidentifierare till apparaten. Nyckelidentifieraren definierar<br />

vilken nyckel som skall användas vid dekryptering. Efter att apparaten<br />

mottagit detta paket, gör apparaten ett eget slumptal och kör en<br />

nyckelgenereringsfunktion som använder de två slumptalen, apparatens<br />

adress och värdens adress. Som svar från funktionen får apparaten en<br />

sessionsnyckel och en bekräftelsenyckel (eng Key Confirmation Key,<br />

KCK). Bekräftelsenyckeln används av apparaten för att räkna ut en<br />

integritetskonstant över den temporära nyckelidentifieraren och<br />

slumptalet. [13]<br />

Efter detta ber värden apparaten skicka sitt slumptal åt värden.<br />

Apparaten besvarar förfrågningen med att skicka samma temporära<br />

nyckelidentifierare som värden skickat, sitt slumptal och<br />

integritetskonstanten, som den räknat ut med hjälp av<br />

bekräftelsenyckeln. Värden använder sedan samma nyckelgenerator som<br />

apparaten använt för att räkna ut samma sessionsnyckel som apparaten<br />

räknat ut. För att garantera att sessionsnycklarna är samma hos både<br />

värden och apparaten, använder värden sin egen bekräftelsenyckel för<br />

att räkna ut samma integritetskonstant som apparaten skickat. Ifall<br />

integritetskonstanterna är lika, har både apparaten och värden samma<br />

sessionsnyckel. I annat fall har det skett ett fel och<br />

handskakningenmåste göras om. [13]<br />

19


Då värden har bevis på att apparaten har samma sessionsnyckel som<br />

värden, kopierar värden sessionsnyckeln på förbindelsenyckelns plats i<br />

förbindelsekontexten. För att även apparaten skall få bevis på att värden<br />

har räknat ut rätt sessionsnyckel, skickar värden ett paket till apparaten<br />

som innehåller den temporära nyckelidentifieraren, värdens slumptal<br />

och en integritetskonstant, som är räknat med värdens slumptal och den<br />

temporära nyckelidentifieraren. Då apparaten mottar detta paket kan den<br />

räkna ut samma integritetskonstant och övertygas om att värden har rätt<br />

sessionsnyckel. Efter att apparaten har mottagit bekräftelsen på<br />

sessionsnyckeln, kopierar apparaten sin sessionsnyckel på<br />

förbindelsenyckelns plats i förbindelsekontexten. Till sist besvarar<br />

apparaten värdens meddelandeförfrågan med en jakande handskakning<br />

för att meddela värden att förbindelsekontexten uppdaterats utan<br />

problem. [13]<br />

Efter att både apparaten och värden har samma förbindelsekontext kan resten<br />

av kommunikationen skyddas med kryptering med hjälp av<br />

förbindelsenyckeln. [3] Värden kan sedan skicka vidare uppsättningsdata till<br />

apparaten via den säkra förbindelsen, som exempelvis<br />

gruppförbindelsenyckeln, som används av värden för att skicka samma data<br />

till flera apparater på samma gång. [13]<br />

4.2. Kryptering och integritet<br />

Den kryptering som används i trådlös <strong>USB</strong>, kommer från WiMedias<br />

specifikationer för UWB kommunikation. Data, som skickas över det<br />

trådlösa mediet, kan krypteras med AES-128 CCM kryptering som använder<br />

antingen förbindelsenyckeln eller gruppförbindelsenyckeln för kryptering.<br />

[8][13] AES står för ”Advanced Encryption Standard” och numret efter<br />

bindesträcket står för längden på krypteringsnyckeln som används. AES är<br />

en krypteringsmetod, som bearbetar varje 128-bitars block av data flera<br />

gånger med fyra krypteringsoperationer, Byte-substitution, radskiftning,<br />

kolumnblandning och nyckeladdition. Alla krypteringsoperationer görs<br />

sekventiellt 10 gånger för varje block av data med undantaget av sista<br />

gången då radskiftningen bortlämnas. [1] Utöver krypteringen tilläggs även<br />

en integritetskonstant till meddelandet, som används för att garantera att data<br />

överförts utan fel och som ett bevis på att sändaren faktiskt känner till den<br />

nyckel som använts vid krypteringen. [7]<br />

20


5. Adaptorer för bakåtkompabilitet<br />

För att trådlös <strong>USB</strong> skall kunna användas effektivt måste trådlös <strong>USB</strong> kunna<br />

användas med redan existerande apparatur. För detta har trådlös <strong>USB</strong> specificerat<br />

två speciella trådlösa <strong>USB</strong> apparater, en värdadapter och en apparatadapter.<br />

[9][13]<br />

5.1. Värdadapter<br />

Värdadaptern (eng Host Wire Adapter, HWA) är en <strong>USB</strong> 2.0 apparat, som<br />

ansluts till en dators trådbaserade <strong>USB</strong> port. Värdadaptern innehåller den<br />

hårdvara som krävs för att omvandla en <strong>USB</strong> 2.0 buss till en trådlös <strong>USB</strong><br />

värd och kan i sin enkelhet bestå av en mikroprocessor, en UWB radio och<br />

en antenn. En HWA måste stöda samma funktionalitet som en trådbaserdad<br />

<strong>USB</strong> apparat och en trådlös <strong>USB</strong> värd. [13]<br />

5.2. Apparatadapter<br />

En apparatadapter (eng Device Wire Adapter, DWA) är motsatsen till en<br />

värdadapter. En apparatadapter fungerar som en länk mellan trådlös <strong>USB</strong><br />

och trådbaserad <strong>USB</strong>. En apparatadapter behöver inte vara lika invecklad<br />

som en värdadapter men adaptern måste stöda funktionaliteten hos både<br />

trådlösa <strong>USB</strong> apparater och en trådbaserad <strong>USB</strong> hubb. [13]<br />

Adaptorerna för bakåtkompabilitet, som trådlös <strong>USB</strong> defninerar, gör det möjligt<br />

att upgradera en dator med trådbaserad <strong>USB</strong> till att stöda även trådlösa <strong>USB</strong><br />

apparater. Dessuom kan trådbaserade <strong>USB</strong> apparater anslutas trådlöst till en<br />

trådlös <strong>USB</strong> värd med hjälp av en apparatadapter. [13]<br />

6. Avslutning/Diskussion<br />

Som detta arbete redan visar, har trådlös <strong>USB</strong> en ganska invecklad uppbyggnad.<br />

De bakomliggande teknologierna, utltra bredband och <strong>USB</strong>, är redan i sig<br />

svåröverskådliga men, som exempelvis i fallet av <strong>USB</strong>, inramade bakom ett<br />

användarvänligt gränssnitt. Med de nya säkerhets- och schemaläggningstilläggen<br />

som trådlös <strong>USB</strong> kräver, tillsätts ennu en ny grad av komplexitet till de redan<br />

invecklade datakommunikationsteknikerna. Trådlös <strong>USB</strong> strävar dock till samma<br />

användarvänlighet som trådbaserad <strong>USB</strong> och har därför skapat ett enkelt<br />

gränssnitt som, på samma sätt som trådbaserad <strong>USB</strong>, kan göra de flesta<br />

inställningar automatiskt. Ett bra exempel på detta är parnings- och<br />

21


autentiseringsprocessen, som kräver mycket liten teknisk kunskap av användaren<br />

även om själva processen som sker är invecklad.<br />

Om man ser på det fundamentala i trådbaserad <strong>USB</strong>, en universell anslutning, har<br />

trådlös <strong>USB</strong> strikt följt den trådbaserade <strong>USB</strong>:n. På teoretisk nivå har den således<br />

samma potential men ändast tiden kan visa ifall den accepteras med lika stor<br />

utspridning som den trådbaserade <strong>USB</strong>:n. En av den trådbaserade <strong>USB</strong>:ns starka<br />

sidor är strömförsörjningen, som erbjuds via <strong>USB</strong> kabeln och som ofta används i<br />

apparater istället för batterier eller yttre strömkälla. Den trådlösa <strong>USB</strong>:n kan inte<br />

erbjuda samma strömförsörjning men har dock mycket avancerade<br />

ströminbesparningsfunktioner. Huruvida detta kommer att inverka på den<br />

trådlösa <strong>USB</strong>:ns popularitet, kan inte ännu besvaras. Vägvisning kan man dock få<br />

från tidigare trådlösa uppfinningar, som exempelvis trådlösa möss och<br />

tangentbord, som blivit populära trots att de kräver en alternativ strömkälla. Vad<br />

den slutliga användningsgraden för trådlös <strong>USB</strong> blir, kan man än så länge endast<br />

gissa men potential finns inom trådlös <strong>USB</strong>.<br />

22


7. Källförteckning<br />

[1] S.-M Yoo, D.Kotturi, D.W. Pan, J. BlizzardAn AES crypto chip using a high-speed parallel<br />

pipelined architecture: [Tidsskrift] Microprocessors and Microsystems, Vol. 29, Issue 7, 1 Sept. 2005,<br />

ss 317-326<br />

[2] Axelson, J.<strong>USB</strong> Complete: Everything You Need to Develop <strong>USB</strong> Peripherals, Third Edition. :[Bok]<br />

Lakeview Research LLC, 2005. ISBN: 1-931448-03-5.<br />

[3] Agere, Hewlett-Packard, Intel, Microsoft, NEC, Philips, Samsung Association Models Supplement<br />

to the Certified Wireless Universal Bus Specifikation Revision 1.0 : [Specifikation] <strong>USB</strong> Implementers<br />

Forum (http://usb.org), 3-2-2006, v.1.0<br />

[4] QuinnellR.A. Clash of the Wireless-<strong>USB</strong> Standards: [Tidsskrift] EDN, Vol 51, Issue 18, Sept. 2006, s<br />

37-44<br />

[5] T. Brack, F. Lienle, T. LehnigtEmden, M. Alles, N. WhenEnhanced Channel Coding for ODFM –<br />

based UWB Systems,: [Rapport]Ultra-Wideband, The 2006 IEEE International Conference, [Rapport]<br />

s 255-260<br />

[6] N.Leavitt For Wireless <strong>USB</strong>, the Future Starts Now: Computer, Vol 40, Issue 7,July 2007, s. 14-16<br />

[7] ECMA International High Rate Ultra Wideband PHY and MAC layer Standard : [Specifikation]<br />

ECMA International, December 2007, Second Edition, Std.NR: ECMA-368,<br />

[8] W.D. Jones No Strings Attatched:[Tidsskrift] IEEE Spectrum, Vol 43, Issue 4, April 2006, s 16-18<br />

[9] Jha U.S., R. Prasad, OFDM Towards Fixed and Mobile Broadband Wireless Access:[Bok] Artec<br />

House, 2007, ISBN-13 978-1-58053.641-7<br />

[10] E.R. Green, S. Roy, System Architectures for High-rate Ultra-wideband Communication Systems: A<br />

Review of Recent Developments: intel.com,<br />

<br />

[11] Ghavamhi, M., Michael, L. B. and Kohno, R.ultra wideband signals and systems in communication<br />

engineering.:[Bok] Wiley, 2005. ISBN-10 0-470-86751-5(H/B).<br />

[12] Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, PhilipsUniversal Serial Bus<br />

Specifikation :[Specifikation] <strong>USB</strong> Implementers Forum (http://usb.org), , Revision 2.0, April 27 2000<br />

[13] Agere, Hewlett-Packard, Intel, Microsoft, NEC, Philips, Samsung.Wireless Universal Serial Bus<br />

Specifikation. : [Specifikation]<strong>USB</strong> Implementers Forum (http://usb.org),n12-5-2005. 1.0.<br />

23


[14] Intel.Wireless <strong>USB</strong> The first High-speed Personal Wireless Interconnect. s.l. : Intel, 2005. White<br />

Paper <strong>USB</strong> Wireless.<br />

24


Appendix<br />

i. Termer<br />

Tabell 1. Termdefinitioner<br />

Svenska Engelska Förklaring<br />

Apparat Device Extern hårdvara som ansluts till en <strong>USB</strong><br />

värd<br />

Asynkron Asynchronous Dataöverföringssystem, i vilket överföring<br />

av tecken sker osymmetriskt, dvs. utan<br />

avtalat tidsschema.<br />

bussbyte bus turn Operation då en logisk buss byter riktning<br />

Funktion (<strong>USB</strong>) Function En funktionalitet en apparat erbjuder<br />

Funktion slutpunkt Function endpoint Den buffert dit data skickas<br />

Handskakning Handshake Operation där mottagaren meddelar<br />

sändaren att den mottagit data<br />

Isynkron isochronous Def: Inträffar alltid lika länge och på<br />

samma tidpunkt under ett intervall<br />

Mediatillgångsintervall Media Access 256 mikrosekunder långa tidsintervall i en<br />

Slot<br />

superram<br />

Mikro shemalagda<br />

vägledningsdirektiv<br />

Micro-scheduled<br />

Management<br />

Commands,<br />

(MMC)<br />

Schemaläggnings och synkroniserings<br />

direktiv som sänds från en trådlös <strong>USB</strong><br />

värd<br />

Orienteringsperiod Beacon Period Tidsperiod i början på en superram<br />

Orienteringsram Beacon Frame Ett paket som innehåller<br />

Pollett Token Det första paketet i en transaktion i <strong>USB</strong><br />

Reservationsblock Wireless Channel Ett block i en MMC som definierar<br />

Allocation Slot,<br />

(WCTA)<br />

transaktionstyp och tidsreservering<br />

Rör Pipes En förbindelse mellan mjukvara och en<br />

funktions slutpunkt i mukvara.<br />

Superram Super Frame 65 ms långa ramar som innehåller 256<br />

mediatillgångsintervall<br />

TDMA Time Division<br />

Multiple Access,<br />

(TDMA)<br />

Tidsuppdelning där tiden delas upp i delar<br />

med konstant period.<br />

Tomgångstid Idle time Tid mellan två paket för att skilja på dem<br />

och kompensera för klockdrift<br />

Värd Host Den apparat i <strong>USB</strong> som styr bussen

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!