TEKNIKEN BAKOM TRÅDLÖS USB - Åbo Akademi
TEKNIKEN BAKOM TRÅDLÖS USB - Åbo Akademi
TEKNIKEN BAKOM TRÅDLÖS USB - Åbo Akademi
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