Pairing: Difference between revisions
(16 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
==Einige Verfahren== |
==Einige Verfahren== |
||
===Bluetooth=== |
===Bluetooth=== [1] |
||
====Legacy (vor Bluetooth 2.1)==== |
====Legacy (vor Bluetooth 2.1)==== |
||
Line 31: | Line 31: | ||
Es besteht beim Bluetooth die Möglichkeit mit Hilfe von Informationen eines anderen Kanals eine sichere Bluetoothverbindung zu erstellen. Denkbar wäre hier zum Beispiel Informationen von Bildern (Visueller Kanal), Tönen (Audiokanal) oder einen NFC-Kanal zu nutzen. Die Sicherheit hängt hier vom benutzten Out of Band Verfahren ab. |
Es besteht beim Bluetooth die Möglichkeit mit Hilfe von Informationen eines anderen Kanals eine sichere Bluetoothverbindung zu erstellen. Denkbar wäre hier zum Beispiel Informationen von Bildern (Visueller Kanal), Tönen (Audiokanal) oder einen NFC-Kanal zu nutzen. Die Sicherheit hängt hier vom benutzten Out of Band Verfahren ab. |
||
===Seeing is Believing=== |
===Seeing is Believing=== |
||
Seeing is Believing ist ein Out of Band Verfahren, dass einen visuellen Kanal nutzt und so naturgemäß nur mit Geräten verwendbar ist, die ein Display und eine Kamera haben. In dem Paper [ |
Seeing is Believing ist ein Out of Band Verfahren, dass einen visuellen Kanal nutzt und so naturgemäß nur mit Geräten verwendbar ist, die ein Display und eine Kamera haben. In dem Paper [2], in dem das Verfahren vorgestellt wurde benutzt zur Implementations eines Testsystems Mobiltelefone mit integrierter Kamera. |
||
Die Basis bildet eine Pubic Key Verschlüsselung. Hierbei werden die öffentlichen Schlüssel als zwei dimensionale Barcodes repräsentiert. Diese werden dann auf dem Display des Telefons angezeigt und vom anderen Telefon abfotografiert. So werden die nötigen Informationen zur Erstellung eines sicheren Kanals ausgetauscht. Die Autoren des Papers nennen diese Methode "demonstrative identification" |
Die Basis bildet eine Pubic Key Verschlüsselung. Hierbei werden die öffentlichen Schlüssel als zwei dimensionale Barcodes repräsentiert. Diese werden dann auf dem Display des Telefons angezeigt und vom anderen Telefon abfotografiert. So werden die nötigen Informationen zur Erstellung eines sicheren Kanals ausgetauscht. Die Autoren des Papers nennen diese Methode "demonstrative identification" |
||
===Shake them Up=== |
===Shake them Up=== |
||
Dieses Verfahren wurde 2005 am INRIA in Frankreich entwickelt [ |
Dieses Verfahren wurde 2005 am INRIA in Frankreich entwickelt [3]. Es zielt speziell auf rechenschwache Geräte, wie zum Beispiel drahtlose Sensoren, ab. Notwendig für das Verfahren ist ein anonymer Kanal. Das heisst die Quelle eines Datenpakets soll nicht bestimmbar sein. Um diese Forderung zu erfüllen, wird die Annahme getroffen, dass das Paket selbst keine Informationen über den Absender enthält. |
||
das Verfahren selbst heisst "Keyless Key Agreement" und arbeitet wie folgt. Alice und Bob senden jeweils ein zufälliges Wort der Länge 2n <math>R_A[i]</math> und <math>R_B[i]</math> zeitlich randomisiert aus. Der daraus abgeleitete geheime Schlüssel <math>KEY_{SECRET}</math> besteht aus den Zeichen <math>R_A[j]</math>, sodass <math>R_A[j] \neq R_B[j]</math>. Der <math>KEY_{SECRET}</math> ist durchschnittlich n Zeichen lang. Das Problem dieses Verfahrens liegt darin, dass sich an Hand der Signalstärken bestimmen lässt, welche Daten zu A oder B gehören und sich so auch das Schlüsselgeheimniss kompromitiert wird. |
|||
Um diesem Problem zu begegnen, müssen die beiden beteiligten Geräte um einander bewegt werden, um auch die Signallevel zu randomisieren und das Schlüsselgeheimniss zu bewahren. |
|||
===SPATE=== |
|||
Small Group PKI-less Authenticated Trust Establishment oder SPATE ist ein Protokoll, dass zum Austausch sicherer und authetischer Daten innerhalb von kleinen Gruppen (max. etwa 10 Teilnehmer) über geringe Entfernungen (zum Beispiel bei einem persönlichen Treffen). Die Entwickler des Verfahrens [4] sehen seine Stärke im sicheren Austausch authtifizierter Kommunikationsdaten, wie zum Beispiel Emailaddressen mit den dazu gehörigen öffentlichen PGP-Schlüsseln zur weiterführenden gesicherten Kommunikation. |
|||
Der Vorteil des Verfahrens ist, die Authetifizierung bei einem persönlichen Treffen ohne ein dritte Instanz oder ähnliches erfolgt. Dazu sind vier Schritte nötig: |
|||
# ''Selecting and Counting''<br> In der ersten Phase werden die zu tauschenden Daten ausgewählt und die Anzahl der Teilnehmer N festgestellt |
|||
# ''Commitment''<br> In diesem Schritt wird ein Protokoll Commitment Wert (beispielsweise eine Zufallszahl) erzeugt. Um eine Manipulation der ausgetauschten Daten zu verhindern wird aus dem Protokoll Commitment und den im vorigen Schritt markierten Daten ein Hash erzeugt, das Daten Commitment. Jedes Teilnehmergerät sendet nun dieses Daten Commitment an alle anderen Teilnehmer. Nach diesem Schritt muss jeder neben seinem Eigenen <math>N-1</math> Daten Commitments empfangen haben. Stimmt diese Anzahl nicht, ist davon auszugehen, dass ein Angreifer versucht den Austausch zu behindern oder falsche Daten einzuschleusen. |
|||
# ''Distribution''<br> Nun werden die augewählten Daten und das Protokoll Commitment an die Teilnehmer versand. |
|||
# ''Verification''<br> Jeder Teilnehmer besitzt jetzt den kompletten Datensatz des Austauschs. Dieser besteht aus N Dateneinheiten, N Protokoll Commitments und die daraus erzeugten N Daten Commitments. Zum einen kann jeder Client nun überprüfen, ob das ihm in Schritt 2 zugesandte Daten Commitment mit den ihm zugesandten Daten und Protokoll Commitments übereinstimmt. So kann garantiert werden, dass keine falschen Daten in das Verfahren eingespeisst wurden. Um auszuschliessen, dass von vorherein ein unbekannter Teilnehmer einen anderen der Gruppe ersetzt hat, erzeugt nun jeder Teilnehmer aus der kompletten Datensatz einen visuellen Hash, ein T–Flag. Dieses T–Flag wird nun am Display angezeigt und von den Teilnehmern verglichen. Sind Unterschiede auszumachen, muss man davon ausgehen, dass der Austausch nicht sicher war. |
|||
===Physical Layer Extraction=== |
|||
Bei Verfahren die den Ansatz nutzen (siehe [5] und[6]), aus den physikalischen Eigenschaften des zwischen Alice und Bob genutzten Funkkanals ein gemeinsames Geheimnis abzuleiten, leiden an einem Problem. Aus dem Prinzip der Reziprozität lässt sich unter Idealbedingungen das gleiche Signallevel auf beiden Seiten des Kanals beobachten. Durch Interferenzen, fehlerhafte Signalauswertungen und andere Abweichungen von Idealbedingungen ist diese Herrangehensweise leider nicht praktisch umsetzbar. |
|||
Es ist aber möglich einen anderen Ansatz zu benutzen. In realen Umgebungen befinden sich eine Vielzahl von Hindernissen, die Funkwellen absobieren, reflektieren und beugen können. Daraus folgt, dass ein Funksignal auf mehreren Wegen, über einen Multipath, zum Empfänger gelangt. Durch unterschiedliche Signallaufzeiten kommt es zu Signalüberlagerungen, insbesondere zu Deep Fades, also einer gegenseitigen Auslöschung der zwei Signale. Die Frequenz der Deep Fades auf beiden Seiten des Kanals ist hoch korreliert. So lassen sich auf beiden Seiten von anderen Teilnehmern nicht nachvollziehbare hoch korrelierte Wörter ableiten, bei denen es sehr warscheinlich ist, dass sich daraus ein gemeinsames Geheimniss ableiten lässt. |
|||
das Verfahren selbst heisst "Keyless Keyagreement" und arbeitet wie folgt. Alice und Bob senden jeweils ein zufälliges Wort der Länge 2n <math>R_A[i]</math> und <math>R_B[i]</math> aus. |
|||
==Quellen== |
==Quellen== |
||
# ''Wikipedia – Bluetooth'' [[http://en.wikipedia.org/w/index.php?title=Bluetooth&oldid=385123812]] |
|||
# ''Seeing is Believing'' Jonathan M. McCune, Adrian Perrig, Michael K. Reiter, Carnegie Mellon University, 2004. [[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.3449&rep=rep1&type=pdf]] |
# ''Seeing is Believing'' Jonathan M. McCune, Adrian Perrig, Michael K. Reiter, Carnegie Mellon University, 2004. [[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.3449&rep=rep1&type=pdf]] |
||
# ''Shake Them Up'' Claude Castellucia, Pars Mutaf, Institut National de Recherche en Informatique et en Automatique, 2005. [[ftp://ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-5457.pdf]] |
# ''Shake Them Up'' Claude Castellucia, Pars Mutaf, Institut National de Recherche en Informatique et en Automatique, 2005. [[ftp://ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-5457.pdf]] |
||
# ''Spate: Small-group pki-less authenticated trust establishment'' Yue-hsun Lin , Ahren Studer , Hsu-chun Hsiao , Jonathan M. Mccune , King-hang Wang , Maxwell Krohn , Phen-lan Lin , Adrian Perrig , Hung-min Sun , Bo-yin Yang, National Tsing Hua University, Carnegie Mellon University, Academia Sinica, Providence University, 2009. [[http://www.ece.cmu.edu/~astuder/papers/spate_mobisys09.pdf]] |
|||
# ''On the Effectiveness of Secret Key Extraction from Wireless Signal Strength in Real Environments'' Suman Jana, Sriram Nandha Premnath, Mike Clark, Sneha K. Kasera, Neal Patwari, Srikanth V. Krishnamurthy, 2009. [[http://www.cs.utah.edu/~kasera/myPapers/com431-janaPS.pdf]] |
|||
# ''Secure Physical Layer Key Generation Schemes: Performance and Information Theoretic Limits'' Jon Wallace, Jacobs University Bremen, 2009. [[http://www.faculty.jacobs-university.de/jwallace/xwallace/pubs/wallace/2009/icc09_keygen.pdf]] |
Latest revision as of 13:07, 16 September 2010
Vorwort
Der Begriff "Pairing" stammt ursprünglich aus dem Jargon des Bluetooth. Er ist eigentlich eine Umschreibung für Verfahren die der Identifikation und Authentifikation von Kommunikationspartnern dienen. So allgemein formuliert benutzt man selbst beim telefonischen Anruf einen Pairing Mechanismus. Ruft Alice Bob an, kann sie an Hand der Stimme entscheiden ob tatsächlich Bob den Anruf angenommen hat oder nicht. In meinem Vortrag habe ich verschiedene Pairing Mechanismen vorgestellt, ohne jedoch den kryptographischen Hintergrund zu erläutern. Trotz der Allgemeinheit des Begriffs ist das Hauptanwendungsgebiet die Drahtloskommunikation.
Einleitung
Das Ziel aller hier vorgestellten Verfahren ist es, zwei oder mehrer Geräte zum sicheren Datenaustausch über drahtlose Kanäle zu konfigurieren. Sicher soll in diesem Zusammenhang heissen, das die Verbindung abhörsicher ist und die Identität der Kommunikationspartner authentifziert wurde, wobei nicht zwingend krypthographische Sicherheit gemeint ist. Desweiteren sollten die Verfahren schnell sein und komfortabel arbeiten um die benutzerfreundlichkeit zu gewährleisten. Bei den folgenden Verfahren lassen sich zwei grundsätzliche Ansätze unterscheiden. Entweder es wird auf eine dritte vertrauenswürdige Authorität zurück gegriffen oder es existiert ein gemeinsames Geheimniss, über welches die Authentizität sicher gestellt wird und zum Aufbau einer abhörsicheren Verbindung genutzt wird. Beide Verfahren haben naturgemäß ihre Vor- und Nachteile.
Einige Verfahren
===Bluetooth=== [1]
Legacy (vor Bluetooth 2.1)
Bei den ersten Versionen des Bluetoothfunks wurden jediglich PINs abgeglichen. Waren Geräte involviert, die keine Eingabemöglichkeiten besitzen, wurden Standartpins (wie 1234 oder 0000) benutzt. Bei allen anderen Geräten muss vom Benutzer an beiden Geräten die entsprechende PIN eingegeben werden. Dadurch wird ein gemeinsames Geheimniss über einen Out-of-Band-Kanal (Kommunikation ausserhalb des zur Kommunikation genutzten Kanals) hergestellt. Die Sicherheit des so hergestellten Kanals ist offensichtlich nicht sehr hoch beziehungsweise nicht vorhanden.
Secure Simple Parsing (SSP)
SSP ist der Pairing Mechanismus ab Bluetooth 2.1. Es basiert auf einer Public Key Cryptography und hat 4 verschiedene Operationsmodi
Just Works
Eingaben des Nutzers sind nicht erforderlich, es funktioniert einfach. Dieser Modus wird eingesetzt, wenn Geräte ohne Eingabe-/Ausgabemöglichkeiten beteiligt sind. Es ist sicherer als das Legacy Pairing mit Standartpins, schützt jedoch nicht vor einem Man-in-the-Middle Angriff.
Numerischer Vergleich
Dieser Modus setzt bei beiden Geräten ein Display und bei einem Gerät die Möglichkeit einer Binäreingabe (Ja oder Nein) voraus. Während der Verbindungsetablierung wird auf beiden Geräten eine 6-stellige PIN angezeigt, die dann an einem Gerät bestätigt werden muss. Sind die PINs gleich, kann eine Verbindung hergestellt werden. Sind sie verschieden, ist ein drittes Gerät im Spiel. Wird der Vergleich vom Benutzer ordentlich durchgeführt, ist diese Methode gegen Man-in-the-Middle Angriffe gefeit.
Passkey
Sind zwei Geräte beteiligt, von denen wenigstens eins ein Display besitzt und das Andere eine Möglichkeit zur Zifferneingabe, wird der Passkeymodus verwendet. Dabei wird auf dem ersten Gerät eine 6-stellige PIN angezeigt, die dann am anderen Gerät eingegeben werden muss. Auch besteht die Möglichkeit, einfach an beiden Geräten die selbe PIN einzugeben.
Out of Band
Es besteht beim Bluetooth die Möglichkeit mit Hilfe von Informationen eines anderen Kanals eine sichere Bluetoothverbindung zu erstellen. Denkbar wäre hier zum Beispiel Informationen von Bildern (Visueller Kanal), Tönen (Audiokanal) oder einen NFC-Kanal zu nutzen. Die Sicherheit hängt hier vom benutzten Out of Band Verfahren ab.
Seeing is Believing
Seeing is Believing ist ein Out of Band Verfahren, dass einen visuellen Kanal nutzt und so naturgemäß nur mit Geräten verwendbar ist, die ein Display und eine Kamera haben. In dem Paper [2], in dem das Verfahren vorgestellt wurde benutzt zur Implementations eines Testsystems Mobiltelefone mit integrierter Kamera.
Die Basis bildet eine Pubic Key Verschlüsselung. Hierbei werden die öffentlichen Schlüssel als zwei dimensionale Barcodes repräsentiert. Diese werden dann auf dem Display des Telefons angezeigt und vom anderen Telefon abfotografiert. So werden die nötigen Informationen zur Erstellung eines sicheren Kanals ausgetauscht. Die Autoren des Papers nennen diese Methode "demonstrative identification"
Shake them Up
Dieses Verfahren wurde 2005 am INRIA in Frankreich entwickelt [3]. Es zielt speziell auf rechenschwache Geräte, wie zum Beispiel drahtlose Sensoren, ab. Notwendig für das Verfahren ist ein anonymer Kanal. Das heisst die Quelle eines Datenpakets soll nicht bestimmbar sein. Um diese Forderung zu erfüllen, wird die Annahme getroffen, dass das Paket selbst keine Informationen über den Absender enthält.
das Verfahren selbst heisst "Keyless Key Agreement" und arbeitet wie folgt. Alice und Bob senden jeweils ein zufälliges Wort der Länge 2n und zeitlich randomisiert aus. Der daraus abgeleitete geheime Schlüssel besteht aus den Zeichen , sodass . Der ist durchschnittlich n Zeichen lang. Das Problem dieses Verfahrens liegt darin, dass sich an Hand der Signalstärken bestimmen lässt, welche Daten zu A oder B gehören und sich so auch das Schlüsselgeheimniss kompromitiert wird.
Um diesem Problem zu begegnen, müssen die beiden beteiligten Geräte um einander bewegt werden, um auch die Signallevel zu randomisieren und das Schlüsselgeheimniss zu bewahren.
SPATE
Small Group PKI-less Authenticated Trust Establishment oder SPATE ist ein Protokoll, dass zum Austausch sicherer und authetischer Daten innerhalb von kleinen Gruppen (max. etwa 10 Teilnehmer) über geringe Entfernungen (zum Beispiel bei einem persönlichen Treffen). Die Entwickler des Verfahrens [4] sehen seine Stärke im sicheren Austausch authtifizierter Kommunikationsdaten, wie zum Beispiel Emailaddressen mit den dazu gehörigen öffentlichen PGP-Schlüsseln zur weiterführenden gesicherten Kommunikation.
Der Vorteil des Verfahrens ist, die Authetifizierung bei einem persönlichen Treffen ohne ein dritte Instanz oder ähnliches erfolgt. Dazu sind vier Schritte nötig:
- Selecting and Counting
In der ersten Phase werden die zu tauschenden Daten ausgewählt und die Anzahl der Teilnehmer N festgestellt - Commitment
In diesem Schritt wird ein Protokoll Commitment Wert (beispielsweise eine Zufallszahl) erzeugt. Um eine Manipulation der ausgetauschten Daten zu verhindern wird aus dem Protokoll Commitment und den im vorigen Schritt markierten Daten ein Hash erzeugt, das Daten Commitment. Jedes Teilnehmergerät sendet nun dieses Daten Commitment an alle anderen Teilnehmer. Nach diesem Schritt muss jeder neben seinem Eigenen Daten Commitments empfangen haben. Stimmt diese Anzahl nicht, ist davon auszugehen, dass ein Angreifer versucht den Austausch zu behindern oder falsche Daten einzuschleusen. - Distribution
Nun werden die augewählten Daten und das Protokoll Commitment an die Teilnehmer versand. - Verification
Jeder Teilnehmer besitzt jetzt den kompletten Datensatz des Austauschs. Dieser besteht aus N Dateneinheiten, N Protokoll Commitments und die daraus erzeugten N Daten Commitments. Zum einen kann jeder Client nun überprüfen, ob das ihm in Schritt 2 zugesandte Daten Commitment mit den ihm zugesandten Daten und Protokoll Commitments übereinstimmt. So kann garantiert werden, dass keine falschen Daten in das Verfahren eingespeisst wurden. Um auszuschliessen, dass von vorherein ein unbekannter Teilnehmer einen anderen der Gruppe ersetzt hat, erzeugt nun jeder Teilnehmer aus der kompletten Datensatz einen visuellen Hash, ein T–Flag. Dieses T–Flag wird nun am Display angezeigt und von den Teilnehmern verglichen. Sind Unterschiede auszumachen, muss man davon ausgehen, dass der Austausch nicht sicher war.
Physical Layer Extraction
Bei Verfahren die den Ansatz nutzen (siehe [5] und[6]), aus den physikalischen Eigenschaften des zwischen Alice und Bob genutzten Funkkanals ein gemeinsames Geheimnis abzuleiten, leiden an einem Problem. Aus dem Prinzip der Reziprozität lässt sich unter Idealbedingungen das gleiche Signallevel auf beiden Seiten des Kanals beobachten. Durch Interferenzen, fehlerhafte Signalauswertungen und andere Abweichungen von Idealbedingungen ist diese Herrangehensweise leider nicht praktisch umsetzbar.
Es ist aber möglich einen anderen Ansatz zu benutzen. In realen Umgebungen befinden sich eine Vielzahl von Hindernissen, die Funkwellen absobieren, reflektieren und beugen können. Daraus folgt, dass ein Funksignal auf mehreren Wegen, über einen Multipath, zum Empfänger gelangt. Durch unterschiedliche Signallaufzeiten kommt es zu Signalüberlagerungen, insbesondere zu Deep Fades, also einer gegenseitigen Auslöschung der zwei Signale. Die Frequenz der Deep Fades auf beiden Seiten des Kanals ist hoch korreliert. So lassen sich auf beiden Seiten von anderen Teilnehmern nicht nachvollziehbare hoch korrelierte Wörter ableiten, bei denen es sehr warscheinlich ist, dass sich daraus ein gemeinsames Geheimniss ableiten lässt.
Quellen
- Wikipedia – Bluetooth [[1]]
- Seeing is Believing Jonathan M. McCune, Adrian Perrig, Michael K. Reiter, Carnegie Mellon University, 2004. [[2]]
- Shake Them Up Claude Castellucia, Pars Mutaf, Institut National de Recherche en Informatique et en Automatique, 2005. [[3]]
- Spate: Small-group pki-less authenticated trust establishment Yue-hsun Lin , Ahren Studer , Hsu-chun Hsiao , Jonathan M. Mccune , King-hang Wang , Maxwell Krohn , Phen-lan Lin , Adrian Perrig , Hung-min Sun , Bo-yin Yang, National Tsing Hua University, Carnegie Mellon University, Academia Sinica, Providence University, 2009. [[4]]
- On the Effectiveness of Secret Key Extraction from Wireless Signal Strength in Real Environments Suman Jana, Sriram Nandha Premnath, Mike Clark, Sneha K. Kasera, Neal Patwari, Srikanth V. Krishnamurthy, 2009. [[5]]
- Secure Physical Layer Key Generation Schemes: Performance and Information Theoretic Limits Jon Wallace, Jacobs University Bremen, 2009. [[6]]