My whole heart and my entire body are mirages in my memories.
True love has begun flowing out of my fingertips.
From a distance, I was looking at your sorrowful face.
Like tears from the sky, big drops of rain start falling.
When you suddenly noticed my stare, you gasped and held your breath.
With my cool hands, I touched your cheeks, you who were feeling lost.
Warmth and tenderness, swallowed by the noisy crowds and forgotten by us,
are running through our bodies again.
My whole heart and my entire body are mirages in my memories.
True love has begun flowing out of my fingertips.
If we look up and smile, we'll have the magic to regain smiling faces.
With a knock on our heart and a marvelous trick,
we can be reborn freely tomorrow.
I trembled a little to your kiss back in our youthful times.
I don't know of this kind of love, so I want to cuddle with you a bit longer.
Unable to call out your name, I suddenly became quiet.
A promise that cannot be put into words transcended time and appeared in my dream.
Like a sky that's gradually dyed in the dawn's color,
our grief and pain are disappearing.
My soul has thrown off my whole heart and my entire body.
The passion I once lost has begun flowing out of my fingertips.
If we seek without being afraid, we can start a revolution to change the future.
With a knock on our heart and a marvelous trick,
a miracle will take place freely tomorrow.
My whole heart and my entire body are mirages in my memories.
True love has begun flowing out of my fingertips.
If we look up and smile, we'll have the magic to regain smiling faces.
With a knock on our heart and a marvelous trick,
we can be reborn freely tomorrow.
Bittida en morgon innan solen upprann
Innan foglarna började sjunga
Bergatrollet friade till fa.ger ungersven
Hon hade en falskeliger tunga
Herr Mannelig herr Mannelig trolofven i mig
För det jag bjuder så gerna
I kunnen väl svara endast ja eller nej
Om I viljen eller ej:
Eder vill jag gifva de gångare tolf
Som gå uti rosendelunde
Aldrig har det varit någon sadel uppå dem
Ej heller betsel uti munnen
Eder vill jag gifva de qvarnarna tolf
Som stå mellan Tillö och Ternö
Stenarna de äro af rödaste gull
Och hjulen silfverbeslagna
Eder vill jag gifva ett förgyllande svärd
Som klingar utaf femton guldringar
Och strida huru I strida vill
Stridsplatsen skolen I väl vinna
Eder vill jag gifva en skjorta så ny
Den bästa I lysten att slita
Inte är hon sömnad av nål eller trå
Men virkat av silket det hvita
Sådana gåfvor toge jag väl emot
Om du vore en kristelig qvinna
Men nu så är du det värsta bergatroll
Af Neckens och djävulens stämma
Bergatrollet ut på dörren sprang
Hon rister och jämrar sig svåra
Hade jag fått den fa.ger ungersven
Så hade jag mistat min plåga
Herr Mannelig herr Mannelig trolofven i mig
För det jag bjuder så gerna
I kunnen väl svara endast ja eller nej
Om I viljen eller ej
actually it was fa.ger it doesnt work for me gg forumZ
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
Walking everybody knows what's good
But some gonna hate what's new
We just do our favourite time to waste
Always playing cool
And at the end of the night
When our love's going out we turn down
Oh no we won't (we'll never turn it down, we'll never turn it down)
And when it try to make this leave we turn to say we never going home
And you know just what I wanna do
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
Walking everybody know what's good
We are only block
Bring us everything we think we need
Tonight is going up (tonight is going up)
And at the end of the night
When our love's going out we turn down
Oh no we won't (we'll never turn it down, we'll never turn it down)
And when it try to make this leave we turn to say we never going home
And you know just what I wanna do
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
And the club like whoah
We'll be in the party in the club like whoah
And the club like
We'll be in the city going down like whoah
And the club like whoah
We'll be in the party in the club like whoah
We'll be in the city going down like whoah
We'll be in the party in the club like whoah
And at the end of the night
When our love's going out we turn down
Oh no we won't (we'll never turn it down, we'll never turn it down)
And when it try to make this leave we turn to say we never going home
And you know just what I wanna do
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota
portugal portugal comentáriosrelacionados
fourierdota (61)mensagenspreferênciassair
search
esta postagem foi enviada em 19 Apr 2015
3 pontos (58% upvoted)
shortlink:
https://redd.it/334iv2 Submit a new link
Submit a new text post
subscribe
10.362 110
Show my flair on this subreddit. It looks like:
fourierdota
A place to discuss articles related to the country Portugal or Portuguese people in the world only.
They can be in Portuguese or English.
Please follow the reddiquette.
If you are travelling to Portugal read our wiki first. You should also click the following tag to check previous posts related to "Travel":
Travel
You can add some search terms to narrow the search, example:
flair:"Travel" lisbon
This will search for lisbon with the "Travel" tag.
If you still have questions feel free to post.
Tags/flairs are granted by the mods, if you want your post to have it, be free to send us a message.
If you wish to conduct an AMA, let the mod know so the respondent can be identified and the AMA gets proper recognition.
Categorias
AMA
Tópico de Ouro
Política
Outros Subreddits (multireddit)
Cidades
/r/Aveiro
/r/Braga
/r/Coimbra
/r/castelobranco
/r/Leiria
/r/Lisboa
/r/Porto
/r/Setubal
/r/Viana
Regiões
/r/Algarve
/r/Azores
/r/Madeira
Temáticos
/r/animeportugal
/r/BitoqueCaralho
/r/chapeubranco
/r/cryptoportugal
/r/devpt
/r/francesinhas
/r/gamingportugal
/r/opendata_pt
/r/politicaportuguesa
/r/PORTUGALCARALHO
/r/PortugalNostalgia
/r/PortugalPics
/r/portuguesepics
/r/restaurantes
/r/somluso
/r/vergonhaalheira
Desporto
/r/benfica
/r/desporto
/r/fcporto
/r/scbraga
/r/sportingcp
Grupos
/r/FCT
/r/IST
/r/uminho
Português como Língua
/r/escrevasobre
/r/escrita
/r/livros
/r/portuguese
/r/trocadelivros
a community for 7 anos
message the moderators
MODERADORES
cavadela
asantos3
about moderation team »
LINKS VISUALIZADOS RECENTEMENTE
Best RTZ CosplayFluff | eSports
121 pontos | 14 comentários
Digital Chaos vs Team Secret Post-Match Discussion
41 pontos | 44 comentários
Holy shit MineskiShoutout
177 pontos | 148 comentários
Recent tournaments haven given me the confidence to host a LAN in my garage.Announcement
289 pontos | 50 comentários
How is Clement Ivanov viewed by Estonia ?Question | eSports
118 pontos | 115 comentários
limpar
account activity
3
O famoso "jackdaw copypasta" do Unidan, agora em português (self.portugal)
submitted 6 meses ago by Jarabew
(a lendária fonte)
É assim. Tu disseste que uma “gralha-de-nuca-cinzenta é um corvo.”
Pertence à mesma família? Sim. Ninguém está a debater isso.
Como alguém que é um cientista que estuda corvos, estou a dizer-te que, especificamente, na ciência, ninguém chama a gralhas-de-nuca-cinzenta corvos. Se queres ser “específico” como disseste, então também não o deves fazer. Não são a mesma coisa.
Se estás a dizer “família dos corvos” então estás a referir-te ao grupo taxonómico Corvidae, que inclui coisas de quebra-nozes a gaios-azuis a corvos.
Portanto o teu argumento para chamar a uma gralha-de-nuca-cinzenta um corvo é porque pessoas aleatórias “chamam aos pretos corvos?” Vamos incluir estorninhos-pretos e melros-pretos aí também então.
E chamar alguém humano ou hominóideo? Não é ou um ou o outro, não é assim que a taxonomia funciona. É ambos. Uma gralha-de-nuca-cinzenta é uma gralha-de-nuca-cinzenta e um membro da família dos corvos. Mas não foi isso que tu disseste. Tu disseste que uma gralha-de-nuca-cinzenta é um corvo, o que não é verdade a não ser que aches bem chamar a todos os membros da família dos corvos corvos, o que significaria que chamas a gaios-azuis, corvos, e outros pássaros corvos também. O que tu disseste que não fazias.
Não faz mal simplesmente admitir que estás errado sabes?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
DELETED BECAUSE PRIVATE Seite 1 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
KRYPTOGRAFIE
1 Symmetrische Verfahren ............................................................................................ 2
1.1 Die ROT-Chiffre .................................................................................................................. 2
1.1.1 Kryptoanalyse von ROT-Chiffren ............................................................................... 2
1.1.2 Häufigkeitsanalyse .................................................................................................... 3
1.2 Ver-/Entschlüsseln mit Substitution ............................................................................... 4
1.2.1 Kryptoanalyse des Substitutionsverfahrens ............................................................... 4
1.3 Die Vigenère-Chiffre ...................................................................................................... 6
1.3.1 Kryptoanalyse des Vigenère-Verfahrens ................................................................... 7
1.4 Ist denn nichts sicher? ................................................................................................... 7
1.5 Moderne Verfahren ....................................................................................................... 8
1.6 Stromchiffren (RC4) ...................................................................................................... 9
2 Asymmetrische Verfahren ........................................................................................ 10
2.1 Diffie-Hellmann ............................................................................................................ 11
2.2 El-Gamal ..................................................................................................................... 13
2.3 RSA ............................................................................................................................. 14
2.4 Digitale Signatur .......................................................................................................... 20
2.5 Schwachstellen von digitaler Signatur mit RSA ........................................................... 24
2.6 Hybride Verfahren ....................................................................................................... 25
3 Digital-Rights-Management-Systeme (DRMS) ......................................................... 26
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 2 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1 Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren
Grundsätzlich kann man sagen, dass man eine mathematische Vorschrift verwendet, um aus einem Klartext einen Ciphertext zu erzeugen. Mit Hilfe eines Schlüssels wird jedes Zeichen oder Zeichengruppen umgewandelt. der Empfänger benötigt den gleichen Schlüssel und kehrt diese Operation um. Dies nennt man symmetrisch. Die symmetrischen Verfahren werden in zwei Vor-gehensweisen, Methoden eingeteilt: Transposition und Substitution.
1.1 Die ROT-Chiffre ROT = Rotationschiffre (Transposition)
In einer Nachricht wird jeder Buchstabe durch denjenigen ersetzt, der zB. drei Stellen später im Alphabet folgt. Beim Entschlüsseln muss man jeden Buchstaben des chiffrierten Textes durch den um zB. drei Stellen vorgestellten Buchstaben ersetzen. Das heisst : Das Alphabet wird um eine bestimmte Anzahl Buchstaben verschoben.
Beispiel Caesar-Chiffre : (=ROT-3)
Verschiebung um 3 Buchstaben.
Klartext
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Chiffre
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
Der Klartext SCHULE lautet somit verschlüsselt VFKXOH
1. Aufgabe
1) Schreiben Sie einen kurzen Klartext auf ein Papier.
2) Verschlüsseln Sie den Text mit dem mit ihrem Kommunikationspartner abgemachten Schlüssel.
3) Geben Sie den Zettel ihrem Partnerteam
4) Warten Sie auf die Nachricht Ihres Partnerteams.
5) Entschlüsseln Sie die vom Partnerteam empfangene Nachricht.
1.1.1 Kryptoanalyse von ROT-Chiffren
Das Caesar-Verfahren als eine ROT-Chiffrierung ist schon über 2000 Jahre alt. Es ist deshalb nicht erstaunlich, dass es sehr leicht zu brechen ist. Die Analysemethode nennt sich „Brute-Force“, was nichts anderes heisst als „rohe Gewalt“. Der Trick besteht darin, dass einfach alle möglichen Schlüssel ausprobiert werden, und man schaut, was dabei jeweils als Klartext heraus-kommt.
Frage:
Wie viele Schlüssel-Möglichkeiten gibt es beim Rotations-Verfahren?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 3 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2. Aufgabe
1) Schreiben Sie einen neuen Klartext.
2) Verschlüsseln Sie den Text mit einem neuen, dem Partnerteam unbekannten ROT-Schlüssel.
3) Uebergeben Sie die neue Geheimnachricht an Ihr Partnerteam.
4) Warten Sie auf die Nachricht Ihres Partnerteams.
5) Knacken Sie die Nachricht mit der Brute-Force-Methode.
1.1.2 Häufigkeitsanalyse
In der ersten Aufgabe haben sie mit einer Brute-Force-Attacke die Chiffre hoffentlich erfolgreich geknackt. Eine weitere Methode den ROT-Code zu brechen wäre, die Häufigkeitsverteilung der vorkommenden Buchstaben auszuwerten. Wenn die verschlüsselte Nachricht eine natürliche Sprache ist, so treten die einzelnen Buchstaben mit unterschiedlicher Häufigkeit auf.
(D)
A
B
C
D
E
F
G
H
I
J
K
L
M
%
6.47
1.93
2.68
4.83
17.48
1.65
3.06
4.23
7.73
0.27
1.46
3.49
2.58
(D)
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
%
9.84
2.98
0.96
0.02
7.54
6.83
6.13
4.17
0.94
1.48
0.04
0.08
1.14
Das Rotations-Verfahren ist ein monoalphabetisches Verfahren. Aus einem bestimmten Klartext-buchstaben wird immer der gleiche Geheimtextbuchstabe. Deshalb kann man folgendermassen vorgehen:
1. Man zählt wie oft die einzelnen Buchstaben auftreten.
2. Der Buchstabe, der am häufigsten auftritt, ist wahrscheinlich ein ‚e’
3. Kommt ein Wort mit nur 2 Buchstaben vor, bei dem der erste Buchstabe wahrscheinlich ein ‚e’ ist, so ist der 2. Buchstabe vermutlich ein ‚r’. Begründung: ‚er’ ist ein häufiges Bigramm (Buchstabenpaar).
4. Es können auch Häufigkeitsdaten von Trigrammen benutzt werden. Trigramme sind Folgen von 3 Buchstaben.
5. Hat man erst einmal ein paar Buchstaben erraten ist es meist nicht allzu schwierig aus dem Kontext noch weitere Buchstaben zu erraten.
3. Aufgabe :
Sie erhalten ein PC-Programm "rotation.exe" dass sie untersuchen müssen: Dieses Programm verschlüsselt einen von Ihnen erstellten Text "rot.txt" nach dem ROT-Verfahren. Die Anzahl Stellen, die rotiert werden, bleiben aber vorerst das Geheimnis des Programmierers. Versuchen sie anhand der Häufigkeitsanalyse des chiffrierten Textes, um wie viele Stellen rotiert wurde. Für die Häufigkeitsanalyse steht das Pro-gramm "analyse.exe" zur Verfügung.
Frage:
Der soeben in obiger Aufgabe geknackte Schlüssel nimmt übrigens eine Sonderstel-lung ein. Warum wohl ?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 4 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.2 Ver-/Entschlüsseln mit Substitution
Irgendwann haben Caesars Nachfahren herausgefunden, dass dieses Verfahren nicht sehr si-cher ist. Wenn jedoch die Anzahl der möglichen Schlüssel erhöht werden könnte, dann würde die Kryptoanalyse massiv erschwert werden. Dies gelingt mit dem Substitutionsverfahren. Dabei wird jeder Buchstabe des Klartextes durch einen beliebigen Buchstaben aus dem Geheimtext ersetzt („substituieren“= „ersetzen“). Es werden nicht mehr alle Buchstaben um gleich viele Stellen ver-schoben wie beim Caesar-Verfahren.
Damit man sich dazu den Schlüssel gut merken kann, geht man folgendermassen vor:
Die Buchstaben des Klartextalphabetes werden der Reihe nach hingeschrieben. Darunter wird zuerst das Schlüsselwort (im Beispiel: „KRYPTO“) geschrieben, und dann kommen der Reihe nach alle im Schlüsselwort nicht benutzten Buchstaben des Alphabetes.
Beispiel mit Schlüsselwort „KRYPTO“:
abcdefghijklmnopqrstuvwxyz
KRYPTOABCDEFGHIJLMNQSUVWXZ
Damit wird aus dem Klartext „hallo“ der Geheimtext „BKFFI“.
Das Substitutionsverfahren ist ein symmetrisches Verfahren. Deshalb funktioniert die Entschlüs-selung wie beim Caesar-bzw. Rotationsverfahren.
4. Aufgabe
1) Treffen Sie sich mit Ihrem Partnerteam für einen neuen geheimen Schlüsseltausch.
2) Schreiben Sie einen kurzen Klartext.
3) Verschlüsseln Sie die Nachricht (Substitutionsschlüssel !).
4) Senden Sie die Nachricht an Ihr Partnerteam.
5) Warten Sie auf eine Nachricht von Ihrem Partnerteam.
6) Entschlüsseln Sie die neue Nachricht mit Hilfe des ausgetauschten Schlüssels.
1.2.1 Kryptoanalyse des Substitutionsverfahrens
Das Substitutionsverfahren scheint ziemlich sicher zu sein, gibt es doch theoretisch 26! = 403’291’461’126’605’635’584’000'000 mögliche Schlüssel. Eine Brute-Force-Analyse würde sehr lange dauern. Die Kryptoanalytiker benutzen hier vorteilhafter die „Häufigkeitsanalyse“.
Das Substitutionsverfahren ist wie das Caesar-Verfahren ein monoalphabetisches Verfahren !
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 5 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
5. Aufgabe :
1) Schreiben Sie einen neuen Klartext. Dieser sollte jetzt mindestens 200 Zeichen um-fassen.
2) Verschlüsseln Sie den Text mit einem neuen Substitutions-Schlüssel.
3) Senden Sie die Nachricht an Ihr Partnerteam.
4) Warten Sie auf eine neue Nachricht von Ihrem Partnerteam.
5) Führen Sie eine Analyse mit Hilfe der Häufigkeitsverteilung durch. Dazu können sie das Programm "analyse.exe" benutzen.
Frage:
Wieso sollte der Text mindestens 200 Zeichen umfassen?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 6 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.3 Die Vigenère-Chiffre
Das Problem der ROT-Verschlüsselung ist, dass die Zeichen zwar durch andere ersetzt werden, die Häufigkeit von einzelnen Zeichen und die Reihenfolge des Chiffrealphabets aber erhalten bleibt. In der ROT-Chiffre gibt es nur ein Chiffrealphabet. Häufige Zeichen (wie zB. das "e") werden also immer durch dieselben anderen Zeichen ersetzt, die dann genau so häufig sind.
Ziel ist es, so zu Verschlüsseln, dass in der Chiffre alle Buchstaben gleich häufig vorkommen:
Das Vigenère-Quadrat
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Verschlüsselung : Sender und Empfänger benötigen als Schlüssel ein Passwort. Dies wird über den Klartext geschrieben und wenn nötig so vielmal wiederholt, bis die Länge der Nachricht er-reicht ist:
Passwort : KRYPTOGRAFIEKRYPTOGRAFIE (Jeweils Buchstabe in oberster Zeile)
Klartext : BERUFSSCHULEN (Jeweils Buchstabe in erster Spalte)
Chiffre : LVPJYFXTHZTIX (Ergibt jeweils Buchstabe im Schnittpunkt)
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 7 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Es wird Buchstabe für Buchstabe verschlüsselt !
Vigenère ist ein polyalphabetisches Verfahren, d. h. pro Klartextbuchstaben gibt es mehrere mögliche Geheimtextbuchstaben und umgekehrt !
6. Aufgabe :
1) Benutzen Sie das gleiche Schlüsselwort wie beim Substitutionsverfahren.
2) Schreiben Sie eine kurze Nachricht.
3) Verschlüsseln Sie die Nachricht. (Von Hand oder mit dem Programm "vigenere.exe")
4) Senden Sie die Nachricht an Ihr Partnerteam.
5) Warten Sie auf eine Nachricht von Ihrem Partnerteam.
6) Entschlüsseln Sie die verschlüsselte Nachricht mit dem gleichen geheimen Schlüs-sel.
1.3.1 Kryptoanalyse des Vigenère-Verfahrens
Das Vigenère-Verfahren wurde auch als „Le chiffre indéchiffrable“ bezeichnet.
7. Aufgabe :
1) Schreiben Sie einen neuen Klartext, wiederum mit mindestens 200 Zeichen.
2) Verschlüsseln Sie ihn mit einem neuen Schlüssel.
3) Senden Sie die Nachricht an Ihr Partnerteam.
4) Warten Sie auf die Nachricht Ihres Partnerteams.
5) Versuchen Sie eine Häufigkeitsanalyse auf dieser Nachricht. Es stehen wiederum die beiden Programme "vigenere.exe" für die Ver- bzw. Ent-schlüsselung und "analyse.exe" für die Häufigkeitsverteilungs-Analyse bereit.
Fragen:
Wie sieht die Häufigkeitsverteilung aus?
Wieso klappt die Häufigkeitsanalyse hier nicht?
Wieso ist das Knacken der Nachricht auch bei einer polyalphabetischen Verschlü-selung noch möglich?
1.4 Ist denn nichts sicher?
Das Knacken von Vigenère gelingt, da es wegen der fixen Schlüssellänge zu Wiederholun-gen kommt. Nimmt man einen Schlüssel der gleich lang ist wie der zu verschlüsselnde Text gibt es keine Wiederholungen. Dieses Verfahren heisst „One-Time-Pad“
Das One-Time-Pad ist ein 100% sicheres Verfahren, denn jeder Schlüsselbuchstabe wird nur einmal (one-time) verwendet
Es hat nur einen leider relativ grossen Nachteil: Im vornherein muss ein riesengrosser ge-heimer Schlüssel vereinbart werden. Auch beim One-Time-Pad gilt: Der Schlüssel muss über einen sicheren separaten Kanal übermittelt werden. Ist der Schlüssel dem Gegner be-kannt ist die Sicherheit dahin
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 8 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.5 Moderne Verfahren
Das heute im kommerziellen Gebrauch am häufigsten eingesetzte Verfahren heisst DES. DES steht für „Data Encryption Standard“. Es funktioniert im Prinzip wie ein mehrfach hin-tereinander angewandtes Substitutionsverfahren
Sicherheit von DES
Der DES erlaubt mit 56 Bits Schlüssellänge 256 = 72’057’594’037’927’936 = 72 Billiarden mögliche Schlüssel. Dennoch ist dies heute nicht mehr ausreichend: DES kann in 5 Tagen mittels der Brute-Force-Methode geknackt werden
Abbildung: Struktur von DES
IDEA (= „International Data Encryption
Der IDEA (= „International Data Encryption Algorithm“) arbeitet mit 128 Bits Schlüssellänge, sonst ähnlich wie der DES. 2128 = 3.43669 * 1038 Dies zu knacken benötigt etwa 1012 Jahre. Deshalb gilt der IDEA heute als sicher
Abbildung: Struktur von IDEA
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 9 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.6 Stromchiffren (RC4)
Eine Stromchiffre betrachtet den Datenstrom bitweise und verschlüsselt diesen, indem der Datenstrom mit den Bits des Passwortstroms verknüpft wird. (XOR)
Die Schlüsselbits machen scheinbar zufällige Modifikationen an den Datenbits. Somit ist der verschlüsselte Datenstrom für Dritte nicht entzifferbar. Die Qualität der Stromchiffre hängt von der Qualität der Zufallszahlen im Schlüssel ab. Ist die Bitfolge im Schlüssel nicht vorhersehbar und wiederholt sich nicht, so ist die Chiffre sicher.
RC4 ist eine von Ron Rivest in den 80'er Jahren entwickelter Stromchiffre Algorithmus, der inzwischen schon gebrochen wurde aber dennoch sehr weit verbreitet ist. Die häufigste Anwendung ist die Verschlüsselung des Datenstroms im Webbrowser, wenn eine gesicher-te Verbindung mit SSL hergestellt wird. RC4 hat eine Schlüssellänge von 40 Bits.
8. Aufgabe: Symmetrisches Kryptoverfahren XOR:
Verschlüsseln Sie die Nachricht mit dem obigen Verfahren. Achtung: Es handelt sich um eine Stromchiffre. Der Buchstaben wird als ASCII-Zeichen binär übertragen! Zur Kontrolle entschlüsseln Sie die Nachricht auf dieselbe Art, wie sie verschlüsselt wurde. Sie sollten dabei wieder die ursprüngliche Information erhalten.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 10 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2 Asymmetrische VerfahrenAsymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren
Das Manko der symmetrischen Verfahren liegt darin, dass der benötigte Schlüssel geheim bleiben muss, aber der berechtigte Empfänger der Nachricht ihn dennoch haben muss. Dies erfordert einen geheimen Transport des Schlüssels. Ferner ist eine geheime Kommu-nikation mit jedem einzelnen einer größeren Anzahl von Teilnehmern dadurch erschwert, dass eine Vielzahl von Schlüsseln erforderlich wäre. Bei drei Teilnehmern wären es noch (3*2)/2=3 Schlüssel (A-B, A-C, B-C); bei 10 Teilnehmern aber sind dies schon (10*9)/2=45 Schlüssel.
Dieses Problem umgehen asymmetrische Verfahren, auch Public-Key-Verfahren genannt. Hierbei hat jeder Teilnehmer ein Schlüsselpaar bestehend aus einen geheimen und einen öffentlichen Schlüssel. Letzterer kann und soll frei an alle Kommunikationsteilnehmer ver-teilt werden, daher öffentlich. Die Verschlüsselung des Klartextes erfolgt mit dem öffentli-chen Schlüssel des Empfängers. Die Nachricht kann nur mit dem geheimen Schlüssel ent-schlüsselt werden.
Die Sicherheit dieser Verfahren basiert im Grunde auf der Tatsache, dass es im Moment als unmöglich gilt, in absehbarer Zeit das Produkt zweier sehr großer Primzahlen ohne Kenntnisse dieser wieder zu zerlegen, zu faktorisieren. In anderen Fällen basiert die Si-cherheit darauf, dass es zur Zeit als unmöglich gilt, in absehbarer Zeit den diskreten Loga-rithmus einer Zahl zu ermitteln, die aus dem Potenzieren zweier großer Zahlen entstanden ist (Diffie-Hellmann, El-Gamal). Mit anderen Worten: es ist einfach zwei große Zahlen mit-einander zu multiplizieren oder zu potenzieren, aber es ist sehr schwierig, den Weg wieder zurück zu gehen.
Diese Verfahren gelten heute als sicher, aber eine Grundregel der Kryptologie sagt, dass kein Code unbrechbar ist! Bei den asymmetrischen Verfahren steht und fällt die Sicherheit mit den Fortschritten der Mathematik bzw. der Leistungszunahme in der Rechentechnik.
Etwas Mathematik: Voraussetzungen für Public Key Kryptographie: die Einwegfunktion
Voraussetzungen für Public Key Kryptographie ist die Einwegfunktion. Aus der Mathema-tik kennen wir verschiedene Funktionen, zum Beispiel Multiplizieren oder Potenzieren. Für beide Funktionen besteht aber eine Umkehrfunktion. Bei der Multiplikation die Division, beim Quadrieren das Radizieren (Wurzelziehen). Gefordert ist nun eine Funktion, zu der keine Umkehrfunktion existiert. Allerdings, wenn tatsächlich keine Umkehrfunktion besteht , wie das bei echten Einwegfunktionen der Fall ist, wird’s schwierig. Gefordert ist darum eine Einwegfunktion mit Trapdoor (Hintertüre, bzw. geheimen Zusatzinformationen) Die gewöhnliche Exponentialfunktion: y = a b ist zwar keine Einwegfunktion. Ergänzt man diese aber noch mit der Funktion Modulo (Restwertfunktion) wird es zu einer:
y = a b mod p a = Erzeugendes Element; zB. 2 p = Primzahl; zB. 19 Das erzeugende Element a kann aus der Primzahl p hergeleitet werden.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 11 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2.1 Diffie-Hellmann
In der Tat eignet sich das 1976 beschriebene Verfahren Diffie-Hellmann nicht zur Ver- und Entschlüsselung, sondern vielmehr zum Austausch von Schlüsseln über "unsichere" Kanäle. Seine Sicherheit basiert wie ElGamal auf der Problematik, dass es keine eindeutigen, sicheren mathematischen Verfahren gibt, den diskreten Logarithmus zu berechnen, es aber umgekehrt sehr einfach ist, eine Zahl zu potenzieren.
Die Darstellung ist wie üblich möglichst kurz und einfach gehalten und richtet sich nicht an Mathematiker oder Krypto-Experten.
1. Schritt
Alice und Bob möchten miteinander verschlüsselt kommunizieren. Dazu möchten sie gern die Schlüssel für den Verschlüsselungsvorgang miteinander austauschen. Leider besteht keine gesicherte Verbindung zwischen beiden und ein persönliches Treffen als sicherste Alternative ist nicht möglich. Also wählen sie folgende Vorgehensweise:
Zunächst denkt sich einer von beiden eine möglichst große Primzahl P sowie eine Zahl z aus. Für diese muss gelten, dass sie kleiner als P ist. (Tatsächlich gibt es noch eine weitere Ein-schränkung, die wir aber hier vernachlässigen; bei weiterem Interesse sei auf die oben ge-nannte Literatur verwiesen).
Diese Daten werden offen an den anderen Partner gesendet.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 12 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2. Schritt
Nun denkt sich jeder der beiden eine geheime Zahl aus; Alice nimmt a und Bob nimmt b.
Nun berechnet jeder: Alice Bob X=za mod P Y=zb mod P
Die Werte X und Y werden wie auch z und P miteinander ausgetauscht. Die Werte a und b dagegen sind die geheimen Schlüssel.
Jeder der beiden berechnet daraus den Schlüssel: Alice Bob KA=Ya mod P KB=Xb mod P
Damit erhalten beide den gleichen Wert, denn es gilt:
(zb mod P)a = (za mod P)b = z(ab) mod P
Beispiel:
Alice denkt sich für P=11 und für z=4 aus. Dieses teilt sie Bob mit. Außerdem hat sie sich für a den Wert 3 ausgedacht, während Bob seinen geheimen Schlüssel auf den Wert 5 gesetzt hat. Alice Bob X = 43 mod 11 Y = 45 mod 11 = 64 mod 11 = 1024 mod 11 = 5 Rest 9 = 93 Rest 1
Alice teilt Bob noch den Wert für X mit (9) und Bob den Wert für Y (1).
Nun kann jeder seinen Schlüssel berechnen: Alice Bob KA = 13 mod 11 KB = 95 mod 11 = 1 mod 11 = 59049 mod 11 = 0 Rest 1 = 5368 Rest 1
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 13 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Dieses Beispiel ist natürlich sehr vereinfacht und trivial gehalten. Es soll lediglich die Vorge-hensweise und die Funktion von Diffie-Hellmann beschreiben. Aus diesem Zweck wurden un-realistisch kleine Werte eingesetzt und ggf. vorgegebene Restriktionen (s. weiter oben) nicht beachtet.
Anmerkung:
Diffie und Hellmann gelten zusammen mit Merkle aufgrund ihrer Veröffentlichungen in 1976 als Entdecker der Public-Key-Verfahren. In jüngerer Zeit wurde aber bekannt, dass nur weni-ge Zeit zuvor drei andere Wissenschaftler ein nahezu identisches Verfahren entdeckt hatten, es aber nicht veröffentlichen durften.
Aufgrund sehr hoher Kosten bei der Schlüsselverteilung hatte das britische Militär dem Government Communication Headquarter (GCHQ) schon in den 60er Jahren den Auftrag er-teilt, andere Wege zu finden. Die von James Ellis und Clifford Cocks geäußerten Ideen ähnel-ten denen von Diffie und Hellmann, nur etwa sechs Jahre früher. Diese Ideen wurden zusam-men mit Williamson 1975 vervollständigt und entsprachen dem nur ein Jahr später vorgestell-ten Diffie/Hellmann/Merkle-Verfahren. Das GCHQ hat einerseits aus Gründen der Geheimhal-tung und andererseits wegen des für die Briten aus Sicht der frühen 70er Jahre fraglichen Nutzens nie ein Patent beantragt. Im Dezember 1997 wurde dieser Sachverhalt bekannt.
James Ellis starb einen Monat zuvor und reiht sich in die Liste britischer Kryptologen wie Bab-bage und Turing ein, denen öffentlicher Ruhm zu Lebzeiten aus Gründen der Geheimhaltung vorenthalten blieb.
9. Aufgabe
Mit dem Tool diffie_helmann.exe können Sie den obigen Ablauf mit Ihrem Banknachbarn einmal durchspielen. (Keine grossen Zahlen benutzen!)
2.2 El-Gamal
El-Gamal ist eine Krypto-Anwendung die auf dem Diffie-Hellmann-Schlüsseltausch basiert
Ablauf von El-Gamal (SENDER)
1. Sämtliche Teilnehmer einigen sich auf Primzahl p und natürliche Zahl g.
2. Jeder Teilnehmer wählt eine geheime natürliche Zahl t.
3. Jeder Teilnehmer berechnet mithilfe seiner Zahl t den Wert T=gt mod p und stellt diesen „öffentlichen“ Schlüssel T in das öffentliche Verzeichnis.
4. Will Alice nun einem Teilnehmer T eine Nachricht zusenden, so sucht sie im öffentlichen Verzeichnis sein Schlüssel T.
5. Alice wählt zufälligen Wert a und rechnet : x=ga mod p
6. Alice rechnet K=Ta mod p (K=Key)
7. Alice verschlüsselt ihre Nachricht „symmetrisch“ mit dem Key k
8. Alice schickt die verschlüsselte Nachricht und den Wert x an den Teilnehmer T
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 14 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Ablauf von El-Gamal (EMPFAENGER)
1. Empfänger muss zuerst den Schlüssel K errechnen. Dazu verwendet er den Wert X, den er von Alice erhalten hat: K=xt mod p (t ist die geheime Zahl des Empfängers)
2. Der Empfänger kann nun die von Alice verschlüsselte Nach- richt mit seinem Key K entschlüsseln.
10. Aufgabe
Es stehen folgende Tools zur Verfügung :
• rc4.exe : XOR-Chiffrierung/Dechiffrierung
• el_gamal.exe : Zur Passwort-Generierung
1. Jeder Schüler berechnet seinen öffentlichen Schlüssel und schreibt ihn an die Wandtafel. (el_gamal.exe)
2. Es werden nun Nachrichten verschlüsselt (rc4.exe) und via Schülerpool an den Adressaten Verschickt.
3. Der Empfänger berechnet den Key (el_gamal.exe) und entschlüsselt seine Nachricht (rc4.exe)
2.3 RSARSA
RSA wurde 1977 von Ron Rivest, Adi Shamir und Leonard Adleman entwickelt. Das Verfahren verwendet große Primzahlen; seine Sicherheit basiert auf der Schwierigkeit, große Zahlen zu faktorisieren. Das Verfahren ist einfach zu verstehen und ebenso leicht in Applikationen zu im-plementieren.
RSA wurde intensiv der Kryptanalyse unterzogen, die zwar das Verfahren nicht brechen konnte, allerdings auch keinen Beweis für die Sicherheit liefern konnte. Schneier beschreibt in seinem Buch verschiedene Angriffspunkte, kommt aber mehrfach zu der Auffassung "...Ich würde mir keine Sorgen machen...". Diese Aussage gilt unter der Prämisse, dass seine Schlussfolgerungen aus den Angriffsbetrachtungen bei der Implementierung berücksichtigt werden.
Die folgenden Zeilen sollen darstellen, wie simpel und doch zugleich effektiv der RSA-Algorithmus funktioniert, der neben den Algorithmen ElGamal und Diffie-Hellmann in verschie-denster Software zum Einsatz kommt. Diese Darstellung basiert auf der Veröffentlichung: The Mathematical Guts of RSA Encryption und "Angewandte Kryptographie". Sie richtet sich nicht an den Mathematiker unter den Lesern, sondern an den einfachen Anwender von PGP, GnuPG o-der S/MIME. Die durchzuführenden Schritte wurden nur mit einem Minimum an mathematischen Formeln beschrieben. Für das Beispiel wurden bewusst kleine und einfache Zahlen verwendet, die natürlich für die Realität keineswegs hinreichend sind.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 15 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1. Schritt
Wir benötigen zwei sehr große Primzahlen; für die reale Verschlüsselung sollten die Primzahlen 1024 bit groß sein, also 100 oder mehr Ziffern haben. Wir begnügen uns mit
P=3 und Q=5
In PGP sollen P und Q so gewählt werden, dass das Produkt PQ mehr als 300 Stellen hat.
2. Schritt
Nun sollen wir eine Zahl E finden, die folgende Bedingungen erfüllen muss:
E muss kleiner als der Wert sein, der sich ergibt, wenn man P und Q miteinander multipliziert (Produkt aus P und Q)
E darf keine gemeinsamen Faktoren mit dem Produkt (P-1)(Q-1) haben
E braucht keine Primzahl zu sein, muss aber ungerade sein
Das Produkt (P-1)(Q-1) ist übrigens zwangsläufig gerade. Das Produkt PQ nennen wir N, den Modulus. Er wird so in einigen Veröffentlichungen genannt. N sollte etwa doppelt soviele Ziffern wie die Primfaktoren P und Q haben.
PQ=15 daraus folgt für (P-1)(Q-1)=8
Eine Primfaktorenzerlegung zeigt für 8 die Faktoren 2*2*2. E darf also keine 2 als Teiler haben, was ja ohnehin gegeben ist, da E ungerade sein soll. Der für unser Beispiel einfachste Wert wäre die 3; also E=3.
3. Schritt
Der Algorithmus schreibt nun vor, dass wir noch eine Zahl D bestimmen. Diese muss die Bedin-gung erfüllen, dass das um Eins verminderte Produkt aus D und E, (DE-1), ohne Rest durch (P-1)(Q-1) teilbar ist oder mehr mathematisch beschrieben:
DE=1 (mod ((P-1)(Q-1)))
und nicht gleich dem Wert von E sein soll.
Anmerkung: Die Zeile ist wie folgt zu lesen: DE wird durch ((P-1)(Q-1)) so geteilt, dass Rest 1 bleibt.
Wie macht man das? Nun, eigentlich ganz einfach: man muss nur eine ganzzahlige Zahl X fin-den, die dafür sorgt, dass die folgende Gleichung ein ganzzahliges Ergebnis liefert:
D= (X(P-1)(Q-1)+1)/E
Eine derartige Gleichung nennt man diophantische Gleichung, die in unserem vorliegenden Fall exakt lösbar ist. Im Rahmen dieser Beschreibung will ich aber aus Gründen der einfachen Dar-stellung nicht auf den Lösungsweg eingehen.
In unserem einfachen Fall kann X=4 gewählt werden, dann wird D zu
D=(4*2*4+1)/3=33/3=11.
Damit gilt für DE=33. Die Probe ist 33/8=4 Rest 1.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 16 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Fassen wir mal unsere einzelnen Zahlen zusammen:
P=3 Q=5 N=15 D=11 E=3
Die Zahlen N (oder PQ) und E bilden den Public Key. Die Zahlen N (oder PQ) und D bilden den Secret Key. Dies erklärt auch die Zusatzforderung, dass E und D nicht den gleichen Wert haben sollten, da sonst Public und Secret Key gleich wären. Sind diese Zahlen einmal berechnet, so müssen alle Hilfsgrößen wie P, Q, (P-1)(Q-1) und X gelöscht werden.
Verschlüsselung
Die Rechenvorschrift für die Verschlüsselung lautet: C=KE mod N
C steht für Ciphertext K steht für Klartext E und N sind der Public Key des Empfängers.
Die Zeile sagt lediglich: Potenziere den Klartext mit E, teile das durch N und gib den Rest als Ciphertext aus. Nehmen wir mal an, wir wollen folgende Zahlenreihe verschlüsseln:
12130508.
Die einzelnen zu verschlüsselnden Elemente müssen in Stücke zerlegt werden, die kleiner als N sind:
12 13 05 08
Die Cipher-Texte wären demnach: 123= 1728 1728/15 = 115 Rest 03 133= 2197 2197/15 = 146 Rest 07 053= 125 125/15 = 8 Rest 05 083= 512 512/15 = 34 Rest 02
Das Ergebnis ist dann: 03 07 05 02
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 17 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Entschlüsselung
Die Rechenvorschrift für die Entschlüsselung lautet: K=CD mod PQ
C steht für Ciphertext K steht für Klartext D und N sind der Secret Key des Empfängers
Die Mathematik ist exakt die gleiche wie bei der Verschlüsselung. Rechnen wir mal den Ciphertext zurück:
03 07 05 02 0311= 177147 177147/15= 11809 Rest 12 0711= 1977326743 1977326743/15= 131821782 Rest 13 0511= 48828125 48828125/15= 3255208 Rest 05 0211=2048 2048/15=136 Rest 08
Das sehr einfach gewählte Beispiel führt zu sehr kleinen zu verschlüsselnden Textelementen. Der entstandene Code ließe sich vermutlich schnell brechen. Es ist allerdings nicht Aufgabe die-ses Beispiels gewesen, die Unbrechbarkeit des Codes zu beweisen, sondern vielmehr die Vor-gehensweise und den Algorithmus verständlich zu erläutern.
Anmerkung: In einigen Veröffentlichungen wird beschrieben, die Stärke des RSA-Algorithmus basiere auf der Tatsache, dass es schwierig sei, große Primzahlen zu faktorisieren. Dies ist ein Schreibfehler, denn Primzahlen allgemein, groß oder klein, haben nur zwei Faktoren ;-) Gemeint ist, dass es schwierig ist, große Zahlen zu faktorisieren und der Modulus (PQ) ist eine solche große Zahl.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 18 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Zusammenfassung RSA
Das war jetzt etwas ausführlich! Darum das Verfahren nun noch einmal aber stark vereinfacht:
Alice wählt zufällig zwei Primzahlen p ≠ q, die etwa gleich lang sein sollten und berechnet deren Produkt N = p·q. zB. p=11, q=17, n=11*17=187 Danach berechnet sie x = (p-1) · (q-1) x=(11-1)*(17-1)=160 Alice berechnet x + 1 x+1=161 Der Wert e wird ausgewählt, wobei d ein Teiler aus x+1 sein muss. da 161=7*23 Der zweite Teiler aus x+1 ist d. Es muss gelten: d*e=x+1 . Unzulässige Werte von d und e (z.B. d=e) werden als unsicher abgelehnt. sind 7 und 23 geeignete Kandidaten für e und d
Alice erhält :
N , e : public key von Alice d , N : secret key von Alice
Jeder kann Alice eine verschlüsselte Nachricht senden, aber nur Alice kann sie entschlüsseln. Das Verfahren verwendet große Primzahlen. Seine Sicherheit basiert auf der Schwierigkeit, gro-ße Zahlen zu faktorisieren.
RSA-Verschlüsselung
Die Rechenvorschrift für dieVerschlüsselung lautet:
c=ke mod n
c steht für Ciphertext k steht für Klartext e und n sind der Public Key des Empfängers.
RSA-Entschlüsselung
Die Rechenvorschrift für die Entschlüsselung lautet:
k=cd mod n
c steht für Ciphertext k steht für Klartext d und n sind der Secret Key des Empfängers
Die Mathematik ist exakt die gleiche wie bei der Verschlüsselung!
Anmerkung
In einigen Veröffentlichungen wird beschrieben, die Stärke des RSA-Algorithmus basiere auf der Tatsache, dass es schwierig sei, große Primzahlen zu faktorisieren. Dies ist ein Schreibfehler, denn Primzahlen allgemein, groß oder klein, haben nur zwei Faktoren ;-) Gemeint ist, dass es schwierig ist, große Zahlen zu faktorisieren und der Modulus (p*q) ist eine solche große Zahl.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 19 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Faktorisierungsverfahren
Das Faktorisierungsproblem für ganze Zahlen ist eine Aufgabenstellung aus dem mathe-matischen Teilgebiet der Zahlentheorie. Dabei soll zu einer zusammengesetzten Zahl ein nichttrivialer Teiler ermittelt werden. Ist beispielsweise die Zahl 91 gegeben, so sucht man eine Zahl wie 7, die 91 teilt. Entsprechende Algorithmen, die dies bewerkstelligen, bezeich-net man als Faktorisierungsverfahren. Durch rekursive Anwendung von Faktorisierungsver-fahren in Kombination mit Primzahltests, kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden.
Bis heute ist kein Faktorisierungsverfahren bekannt, das nichttriviale Teiler und damit die Primfaktorzerlegung einer Zahl effizient berechnet. Das bedeutet, dass ein enormer Re-chenaufwand notwendig ist, um eine Zahl mit mehreren hundert Stellen zu faktorisieren. Dies wird in der Kryptografie ausgenutzt, wo es zum Entschlüsseln von Nachrichten not-wendig ist solche Zahlen zu faktorisieren. Dabei kommt zusätzlich zum Tragen, dass man mittels eines Primzahltests ziemlich einfach feststellen kann, ob eine Zahl eine Primzahl ist.
In der theoretischen Informatik werden Probleme in Komplexitätsklassen eingeteilt, die dar-über Aufschluss geben, welchen Aufwand die Lösung eines Problems erfordert. Beim Fak-torisierungsproblem für ganze Zahlen ist nicht bekannt welcher Komplexitätsklasse es an-gehört. Das heißt, dass es zumindest theoretisch möglich ist, dass irgendwann ein Algo-rithmus entdeckt wird, der ganze Zahlen mit überschaubaren Aufwand faktorisieren kann.
Die besten bekannten Algorithmen sind das 1981 von Carl Pomerance erfundene quadrati-sche Sieb, das um 1990 von mehreren Mathematikern (u.a. Pollard, A. Lenstra, H.W. Lenstra Jr., Manasse, Pomerance) gemeinsam entwickelte Zahlkörpersieb und die Metho-de der Elliptischen Kurven, die 1987 von Hendrik W. Lenstra, Jr. vorgestellt wurde.
Den aktuellen Forschungsstand auf dem Gebiet der Faktorisierungsverfahren zu verfolgen, ist Ziel der RSA Factoring Challenge. Daraus ergeben sich Anhaltspunkte für die notwendi-ge Größe der im RSA-Kryptosystem verwandten Semiprimzahlen.
In der Praxis wird man, um eine Zahl zu faktorisieren, wie folgt vorgehen:
Durch Probedivision kleine Faktoren finden/entfernen.
Mit Hilfe eines Primzahltests herausfinden, ob die Zahl eine Primzahl oder eine Primpotenz ist.
Mit der Methode der Elliptischen Kurven nach vergleichsweise kleinen Primfaktoren (<1030) suchen.
Mit dem Quadratischen Sieb (für Zahlen mit weniger als 120 Dezimalstellen) oder dem Zahlkörpersieb faktorisieren.
Die ersten beiden Schritte werden dabei gelegentlich vertauscht.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 20 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2.4 Digitale Signatur
Bei Informationsaustausch über unsichere Kanäle besteht folgende Problematik:
● Wer bestellt in meinem E-Shop ?
● Wer schickt mir eine E-Mail ?
● Hat er wirklich das geschrieben was ich lese ?
● Woher kommt das Applet, das gerade auf meinen PC geladen wird ?
● Ist das Update wirklich das “richtige, unmanipulierte” Original ?
● Wohin wird meine Kreditkartennummer übermittelt ?
● Wer gibt einer Wahl gerade seine Stimme ab ?
● Stammt der Inhalt von “www.admin.ch” wirklich von unserer Regierung ?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 21 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Ausgehend von seinem Grundprinzip ist das Internet nicht sicher. Gefahren wären da zum Bei-spiel.:
● Mitlesen von Daten (Sniffing)
● Vortäuschen falscher Identitäten (Spoofing)
● Angriffe auf die Verfügbarkeit (Denial-of-Service)
● Übertragen von Programmen mit Schadfunktion (Viren, Würmer...)
● Menschliches Fehlverhalten (Preisgabe von geheimen Daten)
Um sicher zu Kommunizieren müssen folgende Ziele verfolgt werden:
● Authentisierung Sicherstellung der Identität eines Kommunikationspartners
● Vertraulichkeit Zugänglichkeit der Nachrichteninhalte nur für einen bestimmten Empfängerkreis
● Integrität Schutz vor Verfälschung von Nachrichten bei der Übermittlung
● Autorisierung Prüfung der Zugriffsberechtigung auf Ressourcen
● Verfügbarkeit Schutz vor Verlust von Daten, Sicherstellung des laufenden Betriebs
● Verbindlichkeit Sicherer Nachweis der Absendung/des Empfangs von Nachrichten
Der Ablauf einer digitalen Signatur
Soll sichergestellt werden, dass eine Nachricht auch wirklich von einem Sender stammt, wird digital signiert. Dabei wird vor dem Versenden der Nachricht von dieser einen Haschwert ermit-telt. Dies ist eine Art Prüfsumme, und hat immer dieselbe Länge. Die Nachricht geht unverschlüsselt übers Netz. Der Haschwert der Originalnachricht wird aller-dings mit dem Privat-Key des Senders verschlüsselt. Der Empfänger erhält die Nachricht im Klar-text und berechnet vorerst einmal den Haschwert. Ausserdem entschlüsselt der Empfänger nun mit dem Public-Key des Senders den verschlüsselten Haschwert. Beide Haschwerte sollten übereinstimmen. Andernfalls wurde die Nachricht irgendwo auf dem Weg zum Empfänger verän-dert.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 22 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Der Hash-Algorithmus
● Der Hash-Algorithmus bildet einen beliebig langen Nachrichtentext auf einen Wert vorge-gebener (kurzer) Länge an (Hashwert, “Prüfsumme”)
● Aus dem Hashwert kann die ursprüngliche Nachricht nicht errechnet werden (Irreversibili-tät)
● Die Konstruktion von Nachrichten mit gleichem Hashwert muss praktisch unmöglich sein
● Die zufällige Übereinstimmung von Hashwerten beliebiger Nachrichten ist unwahrschein-lich (Kollisionsresistenz, Integrität prüfbar)
● Die Hashwertbildung und anschliessende Verschlüsselung gewährleistet eine sichere Identifizierung des Absenders eines Dokumentes
● Die Hashwertbildung und anschliessende Verschlüsselung gewährleistet eine Sicherheit vor nachträglichen Manipulationen des Dokumentes
● Elektronisch signierte Dokumente sind mit unterschriebenen Papierdokumenten gleich gesetzt! Die Rechtssprechung anerkennt heute auch digitale Unterschriften.
● Bekannte Haschfunktionen sind MD5, SHA-1, Tiger und RIPEMD
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 23 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Wer traut wem?
In der heutigen globalisierten Geschäftswelt ist es nicht immer mehr möglich, seinen Kommuni-kationspartner persönlich zu kennen. Man muss sich auf die öffentlichen Schlüsseln der Teil-nehmer verlassen können. Dazu gibt es zwei Ansätze: zentrale Struktur und dezentrale Struktur
Public Key Infrastruktur
• OpenPGP (ein dezentraler Standard) Anfangs 90‘ Jahre durch Phil Zimmermann entwickelt : Jeder Teilnehmer am Verschlüsselungssystem, der ein gültiges Schlüssel- paar besitzt, kann die Echtheit anderer Schlüssel durch seine Unterschrift bestätigen.
• X.509 (zentral und hierarchisch organisiert) der Besitzer hat seine Identität/Glaubwürdigkeit durch ein X-509 Zertifikat von einer CA (=Certification Authority) bescheinigen lassen Das heisst : Personenangaben werden mit dem Schlüsselpaar ge- koppelt (Elektronischer Ausweis), ausgestellt von einer vertrauens- würdigen Instanz TC (=Trust Center) oder CA
11. Aufgabe: TC’s bzw. CA's (X.509)
● Zertifikate ausstellen : Korrekte Identifikation des Teilnehmers, Zertifizieren von User, Server, Sub CA's Erstellung des Zertifikates durch digitale Signatur über Identifikationsdaten und öffentli-chen Schlüssel eines Teilnehmers
● Bei Ausgabe eines Zertifikates an einen Teilnehmer ist dieser über Funktionalität und Ge-fahren von zertifizierten Signaturschlüsseln zu unterrichten
● Veröffentlichen der Public-Keys der User
● Publizieren eigenes Zertifikat
● Verwalten bzw. Archivierung angelaufener Zertifikate
● Zertifikate zurückziehen oder für ungültig erklären
● Festlegung der Gültigkeitsdauer von Zertifikaten
● Zeitstempeldienst Absicherung im Falle des Diebstahls des geheimen Schlüs-sels.Nachweis einer zeitpunktsbezogenen Willensbekundung. Nachweis und Sicherheit, dass die digitale Signatur nicht nach Ablauf der Gültigkeit des Zertifikates erstellt wurde.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 24 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2.5 Schwachstellen von digitaler Signatur mit RSA
Chosen Cyphertext
Der Ablauf:
1. Mallory fängt verschlüsselte Nachricht an Bob ab und besorgt sich den Public-Key von Bob.
2. Mallory wählt Zufallszahl r (r<n und teilerfremd zu n)
3. Mallory : x=re mod n (e=Public-Key von Bob)
4. Mallory : y=x * c mod n (c=Nachricht)
5. Mallory überredet Bob dazu, die errechnete Nachricht y digital zu signieren.
6. Bob : u=yd mod n (d=Private Key von Bob)
7. Mallory : r -1 * u mod n = r -1 * yd mod n = r -1 * xd * cd mod n = r -1 * (re)d * cd mod n = r -1 * r * cd mod n
8. Die Exponenten e und d heben sich gegenseitig auf wie auch r und r -1. Es bleibt übrig : cd mod n , somit die Klartextnachricht !!!
Fazit:
Unterschreiben sie nie irgendwelche binären Dateien unbekannten Inhalts mit ihrem pri-vate Schlüssel. Es könnte sich um einen Chosen-Ciphertext-Angriff handeln. (=Man in the middle-Attack)
Der Geburtstagsangriff
Idee : Zwei Dokumente mit gleichem Hashwert finden
Der Ablauf:
1. Mallory erstellt zwei Versionen eines Dokumentes DokuA „Alice an Bob“ und DokuB „Alice an Mallory“
2. Mallory erstellt von beiden Dokumenten verschiedene Varianten mit gleichem Inhalt aber mit geringfügigen Aenderungen (zB. Leerschläge etc.)
3. Mallory sucht DokuA und DokuB Varianten mit demselben Hash- wert (Wahrscheinlichkeit für Treffer ist relativ hoch)
4. Mallory legt Alice die gefundene Variante von DokuA zur Unter- schrift vor.
5. Alice unterschreibt die DokuA für Bob
6. Mallory trennt nun die Signatur von DokuA ab und fügt sie DokuB an.
7. DokuB ist nun ebenfalls gültig !
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 25 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Fazit:
Unterschreiben Sie niemals ein Dokument, (auch wenn es für sie im Klartext abgefasst ist), das sie nicht selber verfasst haben. Es sei denn, sie nehmen vor der Unterzeichnung einige subtile Änderungen vor. ZB. Vor der Unterzeichnung Einfügen von Leerzeichen; Damit ändern sie wiederum den Haschwert der ihnen vorgelegten Daten und machen den Geburtstagsangriff zunichte.
2.6 Hybride Verfahren
Bei hybrider Verschlüsselung werden die Vorteile von beiden Verfahren, symmetrische und asymmetrische, ausgenutzt :
• Asymmetrisches oder Public-Key-Verfahren für Schlüsselmanagement, zB. RSA
• Symmetrisches Verfahren zum Versenden der eigentlichen Nachricht
Für weitere Experimente steht Ihnen auf dem TBZ-Client „CrypTool.exe“ zur Verfügung!
12. Aufgabe: Asymmetrischem Kryptoverfahren
Sie werden PGP auf Ihrem PC installieren. Dazu bedienen Sie sich Virtual-PC. Installieren Sie Windows XP und danach PGP V8. PGP finden Sie gezippt auf dem Schü-ler-ReadOnly-Pool (M114) Studieren Sie die Manuals und Anweisungen, die Sie dazu auf dem Internet finden. Nun suchen Sie sich ein Partner aus, mit dem Sie verschlüsselte Texte austauschen wer-den. Dazu müssen Sie sich vorerst Ihre Schlüssel generieren und anschliessend die Public-Keys gegenseitig bekannt machen. Ziel ist, dass jeder Gruppe zwei Verschlüsselungs- und Entschlüsselungsvorgänge durch-gespielt hat. Zusatzaufgabe: Versuchen Sie, anstatt die Botschaft zu verschlüsseln, diese mit einer digi-talen Signatur zu versehen. Die Aufgabe ist erfüllt, wenn Ihr Partner die Richtigkeit Ihres Dokumentes anhand der Signatur verifizieren kann.
Sie dokumentieren alle Arbeiten in einem Journal, das Sie Am Ende der 4 Lektionen abge-ben werden.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 26 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
3 Digital DigitalDigital -Rights RightsRights-Managemen Managemen Management-Systeme (DRMS) Systeme (DRMS) Systeme (DRMS) Systeme (DRMS)
Einer der Hauptvorteile digitaler Daten ist die Möglichkeit, sie ohne jeden Qualitätsverlust ohne nennenswerten Aufwand („Mausklick genügt“) zu marginalen Kosten kopieren zu können. Dies ist aber nicht immer erwünscht. Insbesondere Urheber und Verwerter haben häufig ein Interesse daran, die Verbreitung und Verwendung ihres geistigen Eigentums auch nach einer Weitergabe zu kontrollieren oder zu beschränken. Ein DRM-System (DRMS) soll dabei helfen, indem es die Verwendung von Daten nur in dem vom jeweiligen Rechteinhabern definierten Rahmen (Lizenz) ermöglicht.
Mechanismen der digitalen Rechteverwaltung sind allgemein jedoch stark umstritten. Be-fürworter sehen in Systemen der digitalen Rechteverwaltung hauptsächlich die Eröffnung neuer Geschäftsmodelle mit bedarfsgerechterer Abrechnung (Pay Per View) sowie den po-tentiellen Wegfall von Pauschalabgaben auf Leermedien wie CD-Rohlinge und der damit einhergehenden Entlastung der Verbraucher. Zudem können DRMS (DRM-Systeme) auch zum Schutz kritischer Daten wie z. B. Firmeninterna eingesetzt werden (Enterprise Rights Management). Kritiker warnen vor allem vor Datenschutzproblemen und möglichen Ein-schränkungen bei der Benutzerfreundlichkeit, Archivierung und fairen Nutzung.
Zu einem ernsten Problem aus Sicht vieler Vertreter der Musikindustrie und Verwerter wur-de die beliebige Kopierbarkeit von digitalen Inhalten erstmals Mitte der 90er Jahre, als CD-Brenner für Endverbraucher erschwinglich und Personal Computer leistungsfähig genug für den Umgang mit im MP3-Format komprimierter Musik wurden. Ende der 90er Jahre erfuh-ren außerdem die so genannten Internet-Tauschbörsen immer stärkeren Zulauf, da Inter-net-Benutzer dort prinzipiell kostenlos Dateien von der Festplatte anderer Benutzer kopie-ren können. Meist handelt es sich dabei um urheberrechtlich geschützte Musik, Filme oder Software. Dies führte laut Angaben der Medienindustrie zu teils erheblichen Umsatzrück-gängen. Die durch das Internet ermöglichten neuen digitalen Vertriebswege wurden aber aufgrund der unbegrenzten Vervielfältigungsmöglichkeiten lange Zeit nicht von den Medi-enunternehmen genutzt. Durch die wachsende Bedeutung des Internet wurden die Firmen jedoch zunehmend in Handlungszwang gebracht, der sich in der Entwicklung von DRM-Systemen (genauer Multimedia Rights Management) niederschlug. Erst im Jahr 2003 ge-wann schließlich mit der Eröffnung des iTunes Music Store ein Vertriebsweg mit integrierter digitaler Rechteverwaltung an kommerzieller Bedeutung.
Anwendung
DRM wird derzeit hauptsächlich bei digitalen Inhalten wie Filmen oder Musik eingesetzt. Am weitesten verbreitet sind die DRMS „Windows Media DRM“ von Microsoft, das OMA DRM der Open Mobile Alliance und „Fairplay“ von Apple. Diese ermöglichen eine genaue Einstel-lung der Berechtigungen und können für verschiedene Audio- und Videodateien verwendet werden. Die meisten Onlineshops wie Napster und Musicload, aber auch „Video-on-Demand“-Dienste verwenden vornehmlich das DRM-System von Microsoft. Das OMA DRM wird in fast jedem Mobiltelefon für Klingeltöne, Bilder, aber auch für mobile Musik- und Fernsehübertragungen (mobile TV) eingesetzt. Häufig werden die Systeme des OMA DRM und des Windows Media DRM kombiniert, um eine Interoperabilität zwischen Mobiltelefo-nen und PCs zu ermöglichen.
In Zukunft könnten DRMS auch in vielen anderen Bereichen, wie im Automobilbereich (Softwareschutz, Online-Navigation) oder im Bereich eingebetteter Systeme, eine größere Rolle spielen.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 27 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Technische Umsetzung
DRM-Systeme verwirklichen die Idee der Zugriffskontrolle digitaler Inhalte mit Hilfe krypto-grafischer Verfahren. Realisiert wird dies, indem ein beliebiger digitaler Inhalt durch Ver-schlüsselung eindeutig an eine Lizenz gebunden wird. Ohne die zum digitalen Inhalt gehö-rige gültige Lizenz kann der Benutzer zwar das Gerät oder den Datenträger erwerben, nicht jedoch auf den Inhalt zugreifen.
Der Inhalteserver verwaltet die zu schützenden digitalen Inhalte und verschlüsselt diese mit Hilfe des DRM-Verpackers zur Verwendung in einem DRMS, wodurch die Inhalte vorerst unlesbar werden. Der Lizenzserver erzeugt auf Anforderung die erforderlichen Lizenzen zusammen mit den zugehörigen Schlüsseln für die Benutzerauthentifizierung und Inhalte-entschlüsselung, welche aus den entsprechenden Kennungen (Benutzer- oder Gerätken-nung, Inhaltekennung) und den Beschreibungen der Rechte berechnet werden. Möchte der Benutzer auf einen per DRM geschützten Inhalt zugreifen, fordert die DRM-Steuerung vom Lizenzserver die zur Wiedergabe notwendige Lizenz an. Werden Authentizität und Integrität des Wiedergabeprogramms verifiziert, werden die Inhalte mit dem in der Lizenz enthalte-nen Schlüssel entschlüsselt, auf diese Weise wieder lesbar gemacht und an das Wieder-gabeprogramm weitergegeben.
In Zukunft können Techniken des Trusted Computing verwendet werden, um die Einhal-tung der Rechte zu gewährleisten.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 1
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
HTTP Protokoll
1 Ablauf einer HTTP - Anfrage/Antwort Sequenz
Basierend auf: Sascha Kerskens Apache 2
Das TCP/IP-Anwendungsprotokoll HTTP (Hypertext Transfer Protocol) bildet die Basis der Kommunikation
zwischen Webserver und Browser. Es handelt sich um ein klartextbasiertes Protokoll mit wenigen Client-
Befehlen und definierten Server-Antworten
Die aktuelle Version ist HTTP/1.1; ihre Spezifikation steht in RFC 2616.
HTTP ist ein typisches Request/Response-Verfahren (Anfrage und Antwort). Der Ablauf einer solchen HTTPAnfrage
und -Antwort ist immer derselbe:
1. Der Browser ermittelt aus dem URL den Hostnamen des angesprochenen Servers und stellt eine
TCP-Verbindung zu diesem her. Standardmässig wird der TCP-Server-Port 80 gewählt, ansonsten
die Portnummer, die in dem URL steht. Angenommen, der angeforderte URL ist
http://www.mynet.de/seiten/info.html Dann ist der Server www.mynet.de Der Browser ermittelt über DNS die IP-Adresse dieses Hosts
und stellt eine Verbindung zu dessen Port 80 her.
2. Nachdem die Verbindung hergestellt ist, übermittelt der Browser eine Anfrage an den Server.
Die erste Zeile enthält den HTTP-Befehl, den Pfad des angesprochenen Dokuments und die Protokollversion.
In weiteren Zeilen folgen optionale Header-Felder nach dem Schema Feldname: Wert, z.B.
Browser-Version, Hostname des anfordernden Rechners oder URL des Dokuments, in dem sich der
angeklickte Hyperlink befand (den so genannten Referer).
Bestimmte HTTP-Anfragen enthalten nach einer Leerzeile auch noch einen Body, in dem zusätzliche
Daten geschickt werden.
Der einfachste HTTP-Befehl (und der einzige in der ursprünglichen Version HTTP/0.9!) ist GET.
Er bedeutet ganz einfach, dass ein bestimmtes Dokument geliefert werden soll.
Gemäss dem Beispiel aus Punkt 1 wird hier der folgende GET-Befehl betrachtet:
GET /seiten/info.html HTTP/1.1
Hinweis: Die zugehörigen Header-Optionen werden weiter unten genauer erläutert.
3. Der Server nimmt die GET-Anfrage entgegen und muss je nach Dateityp des angeforderten Dokuments
unterschiedlich verfahren: Wenn es sich um ein statisches Dokument handelt (was für dieses
Beispiel der Einfachheit halber angenommen werden soll), kann er es einfach ausliefern. Handelt
es sich dagegen um die Adresse eines serverseitigen Skripts, muss er zunächst das zuständige Programm
aufrufen, dessen Ausgabe entgegennehmen und diese genau wie ein statisches Dokument
an den Client liefern.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 2
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Bevor der Server das Dokument (resp. den Inhalt) sendet, schickt er eine Statusmeldung und einen
HTTP-Header mit diversen Angaben. gefolgt von einer Leerzeile. Die Statusmeldung in der ersten
Zeile der ausgegebenen Daten besteht aus der HTTP-Version, einer standardisierten Statuscodenummer
und deren Textauflösung. Die beiden häufigsten Statusmeldungen dürften 200 OK (Dokument
ist vorhanden und wird mitgeliefert) und 404 Not Found (Dokument existiert nicht) sein. In
diesem Beispiel soll gelten, dass das Dokument gefunden wurde. Die erste Zeile der Antwort lautet
also:
HTTP/1.1 200 OK
In der nächsten Zeile beginnt der HTTP-Header. Die Mindestanforderung für den Header einer
HTTP-Antwort ist die Angabe des MIME-Types des gelieferten Dokuments. Im Fall eines
HTML-Dokuments sieht die entsprechende Header-Zeile so aus:
Content-Type: text/html
Weitere häufig verwendete Header-Felder enthalten beispielsweise das Änderungs- und das Verfallsdatum
des Dokuments oder die Versionsangabe des Servers oder Cookies. Sie werden weiter
unten ausführlich beschrieben. Der Body der HTTP-Antwort, im vorliegenden Beispiel also das eigentliche
Dokument, muss durch eine Leerzeile vom Header getrennt werden.
4. Der Client nimmt die HTTP-Antwort des Servers entgegen. Er interpretiert zunächst die empfangenen
Header-Daten und anschliessend das eigentliche Dokument. Bei einem HTML-Dokument
hat dies meist zur Folge, dass er zahlreiche weitere HTTP-Anfragen stellen muss, um die in das
Dokument eingebetteten Bilder und Multimedia-Dateien anzufordern.
Formal sind sowohl die HTTP-Anfrage als auch die Server-Antwort RFC-822 kompatible Nachrichten.
Dieses Format wurde ursprünglich für E-Mails entwickelt. Es besteht aus beliebig vielen
Header-Zeilen mit dem Format Headername; Wert; der Body (Nachrichteninhalt) wird durch eine
Leerzeile von den Headern getrennt.
Das RFC-822-Format wurde später durch MIME erweitert, um E-Mails in anderen Formaten als
reinem Text und mit Dateianhängen versenden zu können. Eine MIME-Nachricht benötigt das zusätzliche
Header-Feld Content-Type, in dem der Datentyp des Body-Inhalts angegeben wird.
2 Die HTTP-Client-Anfrage
Neben dem bereits erwähnten GET gibt es noch einige andere HTTP-Befehle oder Client-Methoden. Die meisten
von ihnen wurden mit HTTP/1.0 eingeführt; einige wenige dagegen erst mit HTTP/1.1.
In der nachstehenden Tabelle sehen Sie zunächst eine Übersicht über alle HTTP-Methoden. Anschliessend werden
einige von ihnen genauer erläutert und durch Beispiele verdeutlicht.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 3
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Tabelle Übersicht über die HTTP-Methoden:
http-Methode Seit Version Bedeutung
GET 0.9 Dokument anfordern
HEAD 1.0 Nur Header anfordern
POST 1.0 Dokument anfordern und umfangreiche Formulardaten senden
PUT 1.0 Dokument auf dem Server ablegen
DELETE 1.0 Dokument vom Server löschen
LINK 1.0 Verknüpfung erstellen
UNLINK 1.0 Verknüpfung löschen
TRACE 1.1 Proxies im Header zeigen
CONNECT 1.1 Proxy-Zugriff auf gesicherte Server
OPTIONS 1.1 Liste von Optionen anfordern
Die »Vorabversion« HTTP/0.9 unterstützte einzig und allein GET-Anfragen ohne zusätzliche Header.
Die wichtigste Neuerung von HTTP/1.1 gegenüber der Version 1.0 waren nicht die drei zusätzlichen Anfragemethoden
(die nicht häufig verwendet werden). Viel bedeutender ist die neu geschaffene Möglichkeit, die
HTTP-Verbindung zu einem bestimmten Server nach Abschluss einer Dokumentanforderung offen (persistent)
zu halten. Diese Option ist nützlich, wenn ein HTML-Dokument zahlreiche Bilder enthält, die vom selben Server
stammen und ebenfalls per HTTP-Anfrage angefordert werden müssen. Wenn jeweils die Zeit für den Verbindungsaufbau
wegfällt, wird die Seite schneller geladen.
In Version1.1 wurde mit dem Header-Parameter Host: auch die Möglichkeit geschaffen, mehrere Sites (Domains)
einer IP-Adresse zuzuordnen (virtuelle Hosts) und damit IP-Adressen zu sparen.
Das Syntaxschema jeder HTTP-Anfrage sieht folgendermassen aus:
Methode Dateipfad HTTP/Version [Headername: Wert ..][Leerzeile, Body]
Die eckigen Klammern bedeuten, dass die jeweiligen Teile optional sind. Falls die Methode einen Body besitzt,
muss er gemäss RFC 822 auf jeden Fall durch eine Leerzeile vom Header getrennt werden. Erforderlich ist er
auf jeden Fall bei POST und PUT.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 4
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
3 Die Methode GET
Die wichtigste HTTP-Methode überhaupt ist GET. Sie dient dazu, den Webserver zur Auslieferung eines Dokuments
oder der Ausgabe eines serverseitigen Programms aufzufordern.
Eine GET-Anfrage besteht nur aus dem Befehl selbst und einigen optionalen Header-Feldern, besitzt aber
keinen Body. Wenn ein Browser beispielsweise das Dokument info.html im Webserver-Verzeichnis seiten anfordern
möchte, sieht die Anfrage etwa so aus:
GET /seiten/info.html HTTP/1.1 Befehlszeile
Accept: */*
Accept-Language: de, en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1)
Host: www.mynet.de
Connection: Keep-Alive
Header
Die Headerdaten bedeuten Folgendes:
Accept: * / *.
Der Browser akzeptiert Dokumente mit beliebigem MIME-Type (* / * bedeutet: beliebiger
Typ/beliebiger Untertyp).
Accept-Language: de. en–US.
Der Browser bevorzugt Dokumente in den Sprachen Deutsch und US-Englisch (in dieser Reihenfolge).
Accept-Encoding: gzip. deflate.
Neben unkomprimierten Daten unterstützt der Browser auch Dateien, die mit GZIP beziehungsweise
ZIP (deflate) komprimiert sind.
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1).
Versionsangabe des Browsers. Dies dient dem Erstellen der bekannten Browser-Statistiken und
ermöglicht es Webentwicklern, an verschiedene Browser angepasste Versionen von Dokumenten
anzubieten. In diesem Beispiel handelt es sich um den Internet Explorer 9.0 unter Windows 7.
Host: www.mynet.de.
Zur Unterscheidung virtueller Hosts (mehrere Sites mit gleicher IP-Adresse). Da die IPDatagramme
nur die IP-Adresse, aber nicht den Hostnamen enthalten, weiss der Server nur durch
dieses Header-Feld, welche konkrete Website gemeint ist.
Connection: Keep-Alive.
Die HTTP-Verbindung soll nach der Beantwortung der Anfrage offen gehalten werden (nur
HTTP/1.1). Der Server kann allerdings nicht dazu gezwungen werden, die Verbindung beizubehalten;
es handelt sich nur um eine Art Empfehlung.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 5
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Wenn die Anfrage erfolgreich beantwortet wird, könnte die Antwort des Servers so aussehen:
HTTP/1.1 200 OK Antwort
Date: Thu, 26 Apr 2011 13:50:25 GMT
Server: Apache/2.4.1
Last-Modified: Fri. 21 Nov 2010 01:45:53 GMT
ETag: "2e986a-b20-fe93242e"
Content-Length: 1936
Connection: close
Content-Type: text/html
Header
-- Leerzeile --
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//Transitional//EN">
<html> <head> […]
Body
Die Headerdaten bedeuten Folgendes:
Date: Thu, 26 Apr 2011 13:50:25 GMT.
Gibt Datum und Uhrzeit auf dem Server inklusive Zeitzone an.
Server: Apache/2.4.1.
Servertyp und Version des Servers (aus Sicherheitsgründen meist ohne Version).
Last-Modified: Fri, 21 Nov 2010 01:45:53 GMT.
Datum und Uhrzeit der letzten Änderung der Seite. Diese Angabe ermöglicht es dem Browser beispielsweise,
zu entscheiden, ob die Kopie der Seite in seinem Cache noch aktuell ist.
ETag: "2c986a-b20-fc93242e".
Das ETag (Entity-Tag) wird vom Server erzeugt, wenn er entsprechend konfiguriert ist. Es bestätigt
die Identität eines Dokuments über den URL beziehungsweise den Pfad hinaus. Dies ist nützlich
für Caching- und Proxy-Zwecke.
Content-Length: 1936.
Länge des Bodys in Bytes. Der Browser kann anhand dieser Angabe überprüfen, ob die Lieferung
vollständig ist.
Connection: close.
Der Server schliesst die Verbindung nach Abschluss dieser Anfrage.
Content-Type: text /html.
Der MIME-Type des Dokuments ist HTML, Haupttyp Text, Untertyp HTML.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 6
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Der Browser kann über eine GET-Anfrage auch Formulardaten übermitteln, das heisst, die Eingabe in ein
HTML-Formular wird zusammen mit der Anfrage gesendet.
In der Formulardefinition im HTML-Dokument kann zu diesem Zweck festgelegt werden, ob das Formular
mittels GET oder POST übertragen wird.
Bei der Formulardatenübertragung mit GET werden die Formulardaten hinter einem? an den angeforderten
URL angehängt.
Wenn ein HTML-Formular seine Daten per GET versenden soll, benötigt das zuständige <form>-Tag ein Attribut
namens method mit dem Wert "GET". Zum Beispiel wird das folgende Formular mittels GET an das PHPSkript
test. php versandt:
<form action=“test.php“ methode=“GET“>
…
</form>
Die Befehlszeile der HTTP-Anfrage, die beim Absenden dieses Formulars generiert wird, sieht so aus:
GET /test.php?Formulardaten HTTP/l.l
Der Anhang hinter dem Fragezeichen wird als Query-String bezeichnet. Die einzelnen Formularfelder haben
die Form Name=Wert und werden durch &-Zeichen oder Semikola (;) voneinander getrennt. Zusätzlich müssen
die eigentlichen Formulardaten URL-codiert werden, weil zahlreiche Zeichen in URLs nicht zulässig sind:
Leerzeichen werden durch + ersetzt; fast alle Zeichen, die keine Buchstaben oder Ziffern sind, werden durch ein
%-Zeichen und ihren hexadezimalen ASCII- beziehungsweise ANSI-Code ersetzt. Betrachten Sie beispielsweise
folgende Formularfelder:
user=Peter Müller
age=35
place=Köln
Angenommen, das Formular wird an das PHP-Skript guest.php im Server-Verzeichnis gb versendet. Dann sieht
die eigentliche Befehlszeile der entsprechenden GET-Anfrage so aus:
GET /gb/guest.php?user=Peter+M%FCller&age=35&place=K%F6ln HTTP/l.1
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 7
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
4 Die Methode POST
POST ist die bevorzugte Methode zur Übermittlung von Formulardaten an den Server. Anders als bei GET werden
die Daten nicht an den URL des angesprochenen Skripts angehängt, sondern im Body der HTTP-Anfrage
übertragen. Dies hat wichtige Vorteile:
Die Datenmenge kann beliebig gross sein. Bei GET ist sie auf 2000 Zeichen beschränkt, da dies die
maximale Länge für URLs ist.
Die Formulardaten müssen nicht zwangsläufig URL-codiert werden wie bei GET. Statt dessen
kann wie bei einer HTTP-Antwort ein Content -Type-Header angegeben werden - dies erledigt der
Browser automatisch, wenn die HTML-Formulardefinition ein Attribut namens enctype enthält,
das den entsprechenden MIME-Type angibt, zum Beispiel
<form action="test.php" method="POST" enctype="application/x wwwform-
urlencoded"> ….
</form>
Diese Angabe sorgt für die standardmässige URL-Codierung. Eine interessantere Variante ist der
MIME-Type multipart/form-data. Dabei handelt es sich um eine MIME-Multipart-Nachricht,
die einer E-Mail mit Attachments (multipart/mixed) ähnelt. Formulardaten in diesem Format können
aus mehreren Teilen mit jeweils eigenem Content - Type-Header bestehen. Dies ermöglicht vor
allem Datei-Uploads per HTML-Formular.
Wenn ein serverseitiges Skript per POST-Anfrage angefordert wird, ist garantiert, dass es bei jedem
Aufruf neu ausgeführt wird. Am separaten Versand der Daten im Body der HTTP-Anfrage
bemerken der Browser und die eventuell beteiligten Proxy-Server, dass diese Daten auf jeden Fall
an das eigentliche serverseitige Programm ausgeliefert werden müssen.
GET-Anfragen hängen die Formulardaten dagegen wie erwähnt an den URL an, so dass es sich
formal gar nicht um Datenversand handelt. Bei serverseitigen Anwendungen ist es aber oft wichtig,
dass sie auch wirklich bei jedem Aufruf ausgeführt werden, weil sie meist auch etwas hinter den
Kulissen erledigen - zum Beispiel Daten in einer Datenbank ergänzen.
Aus diesem Grund wird bei einer GET-Anfrage, die ein serverseitiges Skript aufruft, oft eine durch
Programmierung erzeugte Zufallszahl oder Datum und Uhrzeit als Pseudoparameter angefügt: Da
sich auf diese Weise unterschiedliche URLs wie script. php?dummy=52784 oder script.
php?dummy=2003_1L 30_15_45 ergeben, kommt kein Browser oder Proxy-Server auf die Idee,
einen weiteren Aufruf des Skripts für ein bereits im Cache befindliches Dokument zu halten.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 8
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Nehmen Sie als Beispiel an, die drei folgenden Formularfelder sollten mittels POST an das serverseitige Skript
bestell.php im Verzeichnis pizza versandt werden:
groesse=m
belag=funghi
extra=Bitte schneiden!
Das zugehörige HTML-Formular ist folgendermassen definiert:
<form action="bestell.php" method="POST" enctype="application/x www-formurlencoded">
....
</form>
Beim Absenden des Formulars wird aus diesen Angaben die folgende POST-Anfrage erzeugt (das enctype-
Attribut sorgt auch hier für eine URL-Codierung der Formulardaten):
POST /pizza/bestell.php HTTP/1.1 Befehlszeile
Accept: */*
Accept-Language: de, en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1)
Referer: http://www.mynet.de/pizza/bestell.html Host: www.mynet.de
Content-Length: 47
Content-Type: application/x-www-form-urlencoded
Header
-- Leerzeile --
groesse=m&belag=funghi&extra=Bitte+schneiden%21
Body
Die meisten der diversen Header-Felder wurden bereits erläutert.
Bemerkenswert ist, dass in dieser Anfrage Content-Type und Content-Length vorkommen, die bei Anfragen wie
GET oder HEAD nur in der Antwort vorkommen. Sie beschreiben wie bei einer HTTP-Antwort den (in diesem
Fall aus der enctype-Angabe im <form>-Tag stammenden) Datentyp und die Länge des Body-Inhalts.
Der Header Referer gibt an, von welchem Dokument die Anfrage ausging, das heisst, auf welcher Seite der Hyperlink
angeklickt oder das Formular abgeschickt wurde.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 9
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Wenn der Server eine POST-Anfrage erhält, reicht er die erhaltenen Formulardaten an das im URL angegebene
Skript weiter. Der Server antwortet im Erfolgsfall wie bei einer GET-Anfrage mit einer HTTP-Antwort mit dem
Statuscode 200 und einem Body, der ein Dokument enthält, das der Browser daraufhin anzeigt, zum Beispiel
HTTP/1.1 200 OK Antwort
Date: Thu, 26 Apr 2011 19:50:25 GMT
Server: Apache/2.4.1
Last-Modified: Fri. 21 Nov 2008 07:28:34 GMT
ETag: "394bcd-2c2-6d94b63a"
Accept-Ranges: bytes
Connection: close
Content-Length: 2782 Content-Type: text/html
Header
-- Leerzeile --
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//Transitional//EN">
<html>
<head>
[…]
Body
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 10
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
5 Laborübung: Network Analyzer / Packet Sniffer
Zeitaufwand: ca. 60 Min.
Einführung
Der Network-Analyzer / Paket Sniffer ist eines der wichtigsten Tools eines Netzwerktechnikers und zwar nicht
um in den Daten anderer rum zu schnüffeln, sondern um bei Problemen die Pakete und die Vorgänge im Netz
bis in letzte Detail analysieren zu können. Der Analyzer kennt alle verschiedenen Header und Headerfelder der
unterstützen Protokolle und stellt diese möglichst leicht lesbar dar. Die Interpretation diese Werte bleibt jedoch
dem Menschen überlassen, das heisst zur Fehlerbehebung müssen sie selber die korrekten Werte kennen!
Durch einen speziellen Modus der Netzwerkkarte (Promiscous Mode) zeichnet der Network-Analyzer nicht nur
die Datenübertragung des eigenen PCs auf, sondern sämtliche Pakete, die er auf dem Kabel sieht. Da in einem
produktiven Netz oft sehr viele Daten übertragen werden, sind Filter ein wichtiges Feature von Analyzern. Damit
definieren Sie, welche Daten für Sie interessant sind und aufgezeichnet werden (z.B. nur bestimmten Protokolle
oder Adressen).
Ziele
Sie verstehen, wozu ein Network-Analyzer dient und wie man ihn einsetzt.
Sie können mit einem Network-Analyzer Daten aufzeichnen, die verschiedenen Header in den aufgezeichneten
Daten erkennen und den OSI-Layers und Protokollen zuordnen.
Sie können die Filter eines Network-Analyzers so konfigurieren, dass nur Pakete, die den Vorgaben
entsprechen, aufgezeichnet werden, beispielsweise HTTP-Pakete.
Voraussetzungen
Sie kennen den Aufbau des OSI-Schichtmodells und können ein Protokollposter (Übersicht in der die Protokolle
den Layers zugeordnet sind) lesen.
Werkzeuge / Vorbereitung
Vernetzter Windows oder Linux PC mit installiertem Network-Analyzer (z.B. Wireshark + Win-
Pcap).
Protokollposter, um die Protokolle zuzuordnen.
Aufgabe
Lernen Sie die Bedienung eines Network-Analyzers kennen. Identifizieren Sie in einem aufgezeichneten Paket
die Header der Protokolle in den verschiedenen Layers. Da Sie in einem produktiven Netz immer sehr viele
Datenpakete aufzeichnen, ist es schwierig, die für Sie interessanten Pakete zu finden. Konfigurieren Sie zu dieINFORMATIONS-
TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 11
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
sem Zweck die Filter des Network-Analyzers. Führen Sie die im Abschnitt „Vorgehen“ beschriebenen Schritte
durch und dokumentieren Sie diese mit Printscreens. Beantworten Sie anschliessend die Kontrollfragen.
Abgabe Dokumente
Antworten zu den Kontrollfragen aus diesem Dokument
Dokumentation der Network-Analyzer-Beispiele mit Printscreens
Abgabetermin
Siehe BSCW
Vorgehen
Lesen Sie zuerst das Dokument HTTP-Protokoll als Einleitung zu dieser Laborübung durch. Starten Sie den
Network-Analyzer. Starten Sie den Capture-Vorgang (Aufzeichnung). Nachdem Sie einige Pakete aufgezeichnet
haben. Schauen Sie sich die Pakete an, die mit HTTP bezeichnet sind.
Konfigurieren Sie nun den Filter des Network-Analyzers so, dass Sie nur noch HTTP-Pakete, die von und zu
Ihrem PC gehen, sehen. Dazu müssen Sie die Dokumentation/Help studieren.
Beschreiben Sie den Ablauf einer HTTP-Anfrage mit der entsprechenden Antwort an einen von ihnen gewählten
Webserver, beispielsweise wikipedia oder google.
Rufen Sie eine Website bei der Sie sich einloggen müssen auf, beispielsweise BSCW.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 12
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Kontroll-Fragen
Was für verschiedene Fenster sehen Sie in ihrem Netzwerk-Analyzer und was stellen diese dar?
Wie überprüfen Sie ihren Filter?
Welche Statuscodes liefert ihnen der Webserver?
Welche Informationen gibt ihr Browser im Internet bekannt?
Könnte dies ein Problem sein?
Wie werden Logins und Passwörter übermittelt?
Welche Konsequenzen ziehen Sie daraus?
Ergeben sich Konsequenzen aus diesen Erkenntnissen?
My whole heart and my entire body are mirages in my memories.
True love has begun flowing out of my fingertips.
From a distance, I was looking at your sorrowful face.
Like tears from the sky, big drops of rain start falling.
When you suddenly noticed my stare, you gasped and held your breath.
With my cool hands, I touched your cheeks, you who were feeling lost.
Warmth and tenderness, swallowed by the noisy crowds and forgotten by us,
are running through our bodies again.
My whole heart and my entire body are mirages in my memories.
True love has begun flowing out of my fingertips.
If we look up and smile, we'll have the magic to regain smiling faces.
With a knock on our heart and a marvelous trick,
we can be reborn freely tomorrow.
I trembled a little to your kiss back in our youthful times.
I don't know of this kind of love, so I want to cuddle with you a bit longer.
Unable to call out your name, I suddenly became quiet.
A promise that cannot be put into words transcended time and appeared in my dream.
Like a sky that's gradually dyed in the dawn's color,
our grief and pain are disappearing.
My soul has thrown off my whole heart and my entire body.
The passion I once lost has begun flowing out of my fingertips.
If we seek without being afraid, we can start a revolution to change the future.
With a knock on our heart and a marvelous trick,
a miracle will take place freely tomorrow.
My whole heart and my entire body are mirages in my memories.
True love has begun flowing out of my fingertips.
If we look up and smile, we'll have the magic to regain smiling faces.
With a knock on our heart and a marvelous trick,
we can be reborn freely tomorrow.
Topkek
what the fuck
http://i.imgur.com/FgIRPKh.png
Bittida en morgon innan solen upprann
Innan foglarna började sjunga
Bergatrollet friade till fa.ger ungersven
Hon hade en falskeliger tunga
Herr Mannelig herr Mannelig trolofven i mig
För det jag bjuder så gerna
I kunnen väl svara endast ja eller nej
Om I viljen eller ej:
Eder vill jag gifva de gångare tolf
Som gå uti rosendelunde
Aldrig har det varit någon sadel uppå dem
Ej heller betsel uti munnen
Eder vill jag gifva de qvarnarna tolf
Som stå mellan Tillö och Ternö
Stenarna de äro af rödaste gull
Och hjulen silfverbeslagna
Eder vill jag gifva ett förgyllande svärd
Som klingar utaf femton guldringar
Och strida huru I strida vill
Stridsplatsen skolen I väl vinna
Eder vill jag gifva en skjorta så ny
Den bästa I lysten att slita
Inte är hon sömnad av nål eller trå
Men virkat av silket det hvita
Sådana gåfvor toge jag väl emot
Om du vore en kristelig qvinna
Men nu så är du det värsta bergatroll
Af Neckens och djävulens stämma
Bergatrollet ut på dörren sprang
Hon rister och jämrar sig svåra
Hade jag fått den fa.ger ungersven
Så hade jag mistat min plåga
Herr Mannelig herr Mannelig trolofven i mig
För det jag bjuder så gerna
I kunnen väl svara endast ja eller nej
Om I viljen eller ej
actually it was fa.ger it doesnt work for me gg forumZ
Krummi svaf i klettagjá,
kaldri vetrarnóttu á
verður margt að meini
verður margt að meini
Fyrr en dagur fragur rann,
freðið nefið dregur hann,
undan stórum steini
undan stórum steini
Hammm Hammm
Á sér krummi ýfði stél
Einnig brýndi gogginn vel
flaug úr fjalla gjótum
flaug úr fjalla gjótum
Lítur yfir byggð og bú
Á bæjum fyrr en vaknir hjú
veifar vængjum skjótum
veifar vængjum skjótum
Hammm Hammm
Sálaður á síðu lá
sauður feitur garði hjá
fyrrum frár á velli
fyrrum frár á velli
Krúnk krúnk nafnar komið hér
Krúnk krúnk því oss boðin er
Krás á köldum svelli
Krás á köldum svelli
Hammm Hammm
how did this thread not get locked xd
what is happening right here
I WILL BE THEREEEEEEEEEEE... By your side
https://www.youtube.com/watch?v=R185X0Bwzws
AFTER THAT FIGHT YOUR FRIENDSHIP WILL BE EVEN STRONGER
wtf is this weeb shit
Comm'on
Natalie La Rose
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
Walking everybody knows what's good
But some gonna hate what's new
We just do our favourite time to waste
Always playing cool
And at the end of the night
When our love's going out we turn down
Oh no we won't (we'll never turn it down, we'll never turn it down)
And when it try to make this leave we turn to say we never going home
And you know just what I wanna do
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
Walking everybody know what's good
We are only block
Bring us everything we think we need
Tonight is going up (tonight is going up)
And at the end of the night
When our love's going out we turn down
Oh no we won't (we'll never turn it down, we'll never turn it down)
And when it try to make this leave we turn to say we never going home
And you know just what I wanna do
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
And the club like whoah
We'll be in the party in the club like whoah
And the club like
We'll be in the city going down like whoah
And the club like whoah
We'll be in the party in the club like whoah
We'll be in the city going down like whoah
We'll be in the party in the club like whoah
And at the end of the night
When our love's going out we turn down
Oh no we won't (we'll never turn it down, we'll never turn it down)
And when it try to make this leave we turn to say we never going home
And you know just what I wanna do
I wanna rock with somebody (whoah yeah)
I wanna take shot with somebody (shot, shot, shot, shot)
I wanna leave with somebody (somebody, comm'on, comm'on)
And we ain't gonna tell nobody
We ain't gonna tell nobody
wha the fuck is going on
things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota things like this make you lose faith in humanity, and I mean lose faith in caring about humanity at all
my sin is being naive and believing that people can be nice on the internet when in fact they can't, especially if they play dota
what a fucking cringe overload i hope you are not serious
portugal portugal comentáriosrelacionados
fourierdota (61)mensagenspreferênciassair
search
esta postagem foi enviada em 19 Apr 2015
3 pontos (58% upvoted)
shortlink:
https://redd.it/334iv2
Submit a new link
Submit a new text post
subscribe
10.362 110
Show my flair on this subreddit. It looks like:
fourierdota
A place to discuss articles related to the country Portugal or Portuguese people in the world only.
They can be in Portuguese or English.
Please follow the reddiquette.
If you are travelling to Portugal read our wiki first. You should also click the following tag to check previous posts related to "Travel":
Travel
You can add some search terms to narrow the search, example:
flair:"Travel" lisbon
This will search for lisbon with the "Travel" tag.
If you still have questions feel free to post.
Tags/flairs are granted by the mods, if you want your post to have it, be free to send us a message.
If you wish to conduct an AMA, let the mod know so the respondent can be identified and the AMA gets proper recognition.
Categorias
AMA
Tópico de Ouro
Política
Outros Subreddits (multireddit)
Cidades
/r/Aveiro
/r/Braga
/r/Coimbra
/r/castelobranco
/r/Leiria
/r/Lisboa
/r/Porto
/r/Setubal
/r/Viana
Regiões
/r/Algarve
/r/Azores
/r/Madeira
Temáticos
/r/animeportugal
/r/BitoqueCaralho
/r/chapeubranco
/r/cryptoportugal
/r/devpt
/r/francesinhas
/r/gamingportugal
/r/opendata_pt
/r/politicaportuguesa
/r/PORTUGALCARALHO
/r/PortugalNostalgia
/r/PortugalPics
/r/portuguesepics
/r/restaurantes
/r/somluso
/r/vergonhaalheira
Desporto
/r/benfica
/r/desporto
/r/fcporto
/r/scbraga
/r/sportingcp
Grupos
/r/FCT
/r/IST
/r/uminho
Português como Língua
/r/escrevasobre
/r/escrita
/r/livros
/r/portuguese
/r/trocadelivros
a community for 7 anos
message the moderators
MODERADORES
cavadela
asantos3
about moderation team »
LINKS VISUALIZADOS RECENTEMENTE
Best RTZ CosplayFluff | eSports
121 pontos | 14 comentários
Digital Chaos vs Team Secret Post-Match Discussion
41 pontos | 44 comentários
Holy shit MineskiShoutout
177 pontos | 148 comentários
Recent tournaments haven given me the confidence to host a LAN in my garage.Announcement
289 pontos | 50 comentários
How is Clement Ivanov viewed by Estonia ?Question | eSports
118 pontos | 115 comentários
limpar
account activity
3
O famoso "jackdaw copypasta" do Unidan, agora em português (self.portugal)
submitted 6 meses ago by Jarabew
(a lendária fonte)
É assim. Tu disseste que uma “gralha-de-nuca-cinzenta é um corvo.”
Pertence à mesma família? Sim. Ninguém está a debater isso.
Como alguém que é um cientista que estuda corvos, estou a dizer-te que, especificamente, na ciência, ninguém chama a gralhas-de-nuca-cinzenta corvos. Se queres ser “específico” como disseste, então também não o deves fazer. Não são a mesma coisa.
Se estás a dizer “família dos corvos” então estás a referir-te ao grupo taxonómico Corvidae, que inclui coisas de quebra-nozes a gaios-azuis a corvos.
Portanto o teu argumento para chamar a uma gralha-de-nuca-cinzenta um corvo é porque pessoas aleatórias “chamam aos pretos corvos?” Vamos incluir estorninhos-pretos e melros-pretos aí também então.
E chamar alguém humano ou hominóideo? Não é ou um ou o outro, não é assim que a taxonomia funciona. É ambos. Uma gralha-de-nuca-cinzenta é uma gralha-de-nuca-cinzenta e um membro da família dos corvos. Mas não foi isso que tu disseste. Tu disseste que uma gralha-de-nuca-cinzenta é um corvo, o que não é verdade a não ser que aches bem chamar a todos os membros da família dos corvos corvos, o que significaria que chamas a gaios-azuis, corvos, e outros pássaros corvos também. O que tu disseste que não fazias.
Não faz mal simplesmente admitir que estás errado sabes?
How do I play oracle?
Sry but can you please explain to us why exacly it's important enough to make a thread about it on dotabuff?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
DELETED BECAUSE PRIVATE Seite 1 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
KRYPTOGRAFIE
1 Symmetrische Verfahren ............................................................................................ 2
1.1 Die ROT-Chiffre .................................................................................................................. 2
1.1.1 Kryptoanalyse von ROT-Chiffren ............................................................................... 2
1.1.2 Häufigkeitsanalyse .................................................................................................... 3
1.2 Ver-/Entschlüsseln mit Substitution ............................................................................... 4
1.2.1 Kryptoanalyse des Substitutionsverfahrens ............................................................... 4
1.3 Die Vigenère-Chiffre ...................................................................................................... 6
1.3.1 Kryptoanalyse des Vigenère-Verfahrens ................................................................... 7
1.4 Ist denn nichts sicher? ................................................................................................... 7
1.5 Moderne Verfahren ....................................................................................................... 8
1.6 Stromchiffren (RC4) ...................................................................................................... 9
2 Asymmetrische Verfahren ........................................................................................ 10
2.1 Diffie-Hellmann ............................................................................................................ 11
2.2 El-Gamal ..................................................................................................................... 13
2.3 RSA ............................................................................................................................. 14
2.4 Digitale Signatur .......................................................................................................... 20
2.5 Schwachstellen von digitaler Signatur mit RSA ........................................................... 24
2.6 Hybride Verfahren ....................................................................................................... 25
3 Digital-Rights-Management-Systeme (DRMS) ......................................................... 26
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 2 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1 Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren Symmetrische Verfahren
Grundsätzlich kann man sagen, dass man eine mathematische Vorschrift verwendet, um aus einem Klartext einen Ciphertext zu erzeugen. Mit Hilfe eines Schlüssels wird jedes Zeichen oder Zeichengruppen umgewandelt. der Empfänger benötigt den gleichen Schlüssel und kehrt diese Operation um. Dies nennt man symmetrisch. Die symmetrischen Verfahren werden in zwei Vor-gehensweisen, Methoden eingeteilt: Transposition und Substitution.
1.1 Die ROT-Chiffre ROT = Rotationschiffre (Transposition)
In einer Nachricht wird jeder Buchstabe durch denjenigen ersetzt, der zB. drei Stellen später im Alphabet folgt. Beim Entschlüsseln muss man jeden Buchstaben des chiffrierten Textes durch den um zB. drei Stellen vorgestellten Buchstaben ersetzen. Das heisst : Das Alphabet wird um eine bestimmte Anzahl Buchstaben verschoben.
Beispiel Caesar-Chiffre : (=ROT-3)
Verschiebung um 3 Buchstaben.
Klartext
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Chiffre
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
Der Klartext SCHULE lautet somit verschlüsselt VFKXOH
1. Aufgabe
1) Schreiben Sie einen kurzen Klartext auf ein Papier.
2) Verschlüsseln Sie den Text mit dem mit ihrem Kommunikationspartner abgemachten Schlüssel.
3) Geben Sie den Zettel ihrem Partnerteam
4) Warten Sie auf die Nachricht Ihres Partnerteams.
5) Entschlüsseln Sie die vom Partnerteam empfangene Nachricht.
1.1.1 Kryptoanalyse von ROT-Chiffren
Das Caesar-Verfahren als eine ROT-Chiffrierung ist schon über 2000 Jahre alt. Es ist deshalb nicht erstaunlich, dass es sehr leicht zu brechen ist. Die Analysemethode nennt sich „Brute-Force“, was nichts anderes heisst als „rohe Gewalt“. Der Trick besteht darin, dass einfach alle möglichen Schlüssel ausprobiert werden, und man schaut, was dabei jeweils als Klartext heraus-kommt.
Frage:
Wie viele Schlüssel-Möglichkeiten gibt es beim Rotations-Verfahren?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 3 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2. Aufgabe
1) Schreiben Sie einen neuen Klartext.
2) Verschlüsseln Sie den Text mit einem neuen, dem Partnerteam unbekannten ROT-Schlüssel.
3) Uebergeben Sie die neue Geheimnachricht an Ihr Partnerteam.
4) Warten Sie auf die Nachricht Ihres Partnerteams.
5) Knacken Sie die Nachricht mit der Brute-Force-Methode.
1.1.2 Häufigkeitsanalyse
In der ersten Aufgabe haben sie mit einer Brute-Force-Attacke die Chiffre hoffentlich erfolgreich geknackt. Eine weitere Methode den ROT-Code zu brechen wäre, die Häufigkeitsverteilung der vorkommenden Buchstaben auszuwerten. Wenn die verschlüsselte Nachricht eine natürliche Sprache ist, so treten die einzelnen Buchstaben mit unterschiedlicher Häufigkeit auf.
(D)
A
B
C
D
E
F
G
H
I
J
K
L
M
%
6.47
1.93
2.68
4.83
17.48
1.65
3.06
4.23
7.73
0.27
1.46
3.49
2.58
(D)
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
%
9.84
2.98
0.96
0.02
7.54
6.83
6.13
4.17
0.94
1.48
0.04
0.08
1.14
Das Rotations-Verfahren ist ein monoalphabetisches Verfahren. Aus einem bestimmten Klartext-buchstaben wird immer der gleiche Geheimtextbuchstabe. Deshalb kann man folgendermassen vorgehen:
1. Man zählt wie oft die einzelnen Buchstaben auftreten.
2. Der Buchstabe, der am häufigsten auftritt, ist wahrscheinlich ein ‚e’
3. Kommt ein Wort mit nur 2 Buchstaben vor, bei dem der erste Buchstabe wahrscheinlich ein ‚e’ ist, so ist der 2. Buchstabe vermutlich ein ‚r’. Begründung: ‚er’ ist ein häufiges Bigramm (Buchstabenpaar).
4. Es können auch Häufigkeitsdaten von Trigrammen benutzt werden. Trigramme sind Folgen von 3 Buchstaben.
5. Hat man erst einmal ein paar Buchstaben erraten ist es meist nicht allzu schwierig aus dem Kontext noch weitere Buchstaben zu erraten.
3. Aufgabe :
Sie erhalten ein PC-Programm "rotation.exe" dass sie untersuchen müssen: Dieses Programm verschlüsselt einen von Ihnen erstellten Text "rot.txt" nach dem ROT-Verfahren. Die Anzahl Stellen, die rotiert werden, bleiben aber vorerst das Geheimnis des Programmierers. Versuchen sie anhand der Häufigkeitsanalyse des chiffrierten Textes, um wie viele Stellen rotiert wurde. Für die Häufigkeitsanalyse steht das Pro-gramm "analyse.exe" zur Verfügung.
Frage:
Der soeben in obiger Aufgabe geknackte Schlüssel nimmt übrigens eine Sonderstel-lung ein. Warum wohl ?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 4 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.2 Ver-/Entschlüsseln mit Substitution
Irgendwann haben Caesars Nachfahren herausgefunden, dass dieses Verfahren nicht sehr si-cher ist. Wenn jedoch die Anzahl der möglichen Schlüssel erhöht werden könnte, dann würde die Kryptoanalyse massiv erschwert werden. Dies gelingt mit dem Substitutionsverfahren. Dabei wird jeder Buchstabe des Klartextes durch einen beliebigen Buchstaben aus dem Geheimtext ersetzt („substituieren“= „ersetzen“). Es werden nicht mehr alle Buchstaben um gleich viele Stellen ver-schoben wie beim Caesar-Verfahren.
Damit man sich dazu den Schlüssel gut merken kann, geht man folgendermassen vor:
Die Buchstaben des Klartextalphabetes werden der Reihe nach hingeschrieben. Darunter wird zuerst das Schlüsselwort (im Beispiel: „KRYPTO“) geschrieben, und dann kommen der Reihe nach alle im Schlüsselwort nicht benutzten Buchstaben des Alphabetes.
Beispiel mit Schlüsselwort „KRYPTO“:
abcdefghijklmnopqrstuvwxyz
KRYPTOABCDEFGHIJLMNQSUVWXZ
Damit wird aus dem Klartext „hallo“ der Geheimtext „BKFFI“.
Das Substitutionsverfahren ist ein symmetrisches Verfahren. Deshalb funktioniert die Entschlüs-selung wie beim Caesar-bzw. Rotationsverfahren.
4. Aufgabe
1) Treffen Sie sich mit Ihrem Partnerteam für einen neuen geheimen Schlüsseltausch.
2) Schreiben Sie einen kurzen Klartext.
3) Verschlüsseln Sie die Nachricht (Substitutionsschlüssel !).
4) Senden Sie die Nachricht an Ihr Partnerteam.
5) Warten Sie auf eine Nachricht von Ihrem Partnerteam.
6) Entschlüsseln Sie die neue Nachricht mit Hilfe des ausgetauschten Schlüssels.
1.2.1 Kryptoanalyse des Substitutionsverfahrens
Das Substitutionsverfahren scheint ziemlich sicher zu sein, gibt es doch theoretisch 26! = 403’291’461’126’605’635’584’000'000 mögliche Schlüssel. Eine Brute-Force-Analyse würde sehr lange dauern. Die Kryptoanalytiker benutzen hier vorteilhafter die „Häufigkeitsanalyse“.
Das Substitutionsverfahren ist wie das Caesar-Verfahren ein monoalphabetisches Verfahren !
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 5 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
5. Aufgabe :
1) Schreiben Sie einen neuen Klartext. Dieser sollte jetzt mindestens 200 Zeichen um-fassen.
2) Verschlüsseln Sie den Text mit einem neuen Substitutions-Schlüssel.
3) Senden Sie die Nachricht an Ihr Partnerteam.
4) Warten Sie auf eine neue Nachricht von Ihrem Partnerteam.
5) Führen Sie eine Analyse mit Hilfe der Häufigkeitsverteilung durch. Dazu können sie das Programm "analyse.exe" benutzen.
Frage:
Wieso sollte der Text mindestens 200 Zeichen umfassen?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 6 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.3 Die Vigenère-Chiffre
Das Problem der ROT-Verschlüsselung ist, dass die Zeichen zwar durch andere ersetzt werden, die Häufigkeit von einzelnen Zeichen und die Reihenfolge des Chiffrealphabets aber erhalten bleibt. In der ROT-Chiffre gibt es nur ein Chiffrealphabet. Häufige Zeichen (wie zB. das "e") werden also immer durch dieselben anderen Zeichen ersetzt, die dann genau so häufig sind.
Ziel ist es, so zu Verschlüsseln, dass in der Chiffre alle Buchstaben gleich häufig vorkommen:
Das Vigenère-Quadrat
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
U
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Verschlüsselung : Sender und Empfänger benötigen als Schlüssel ein Passwort. Dies wird über den Klartext geschrieben und wenn nötig so vielmal wiederholt, bis die Länge der Nachricht er-reicht ist:
Passwort : KRYPTOGRAFIEKRYPTOGRAFIE (Jeweils Buchstabe in oberster Zeile)
Klartext : BERUFSSCHULEN (Jeweils Buchstabe in erster Spalte)
Chiffre : LVPJYFXTHZTIX (Ergibt jeweils Buchstabe im Schnittpunkt)
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 7 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Es wird Buchstabe für Buchstabe verschlüsselt !
Vigenère ist ein polyalphabetisches Verfahren, d. h. pro Klartextbuchstaben gibt es mehrere mögliche Geheimtextbuchstaben und umgekehrt !
6. Aufgabe :
1) Benutzen Sie das gleiche Schlüsselwort wie beim Substitutionsverfahren.
2) Schreiben Sie eine kurze Nachricht.
3) Verschlüsseln Sie die Nachricht. (Von Hand oder mit dem Programm "vigenere.exe")
4) Senden Sie die Nachricht an Ihr Partnerteam.
5) Warten Sie auf eine Nachricht von Ihrem Partnerteam.
6) Entschlüsseln Sie die verschlüsselte Nachricht mit dem gleichen geheimen Schlüs-sel.
1.3.1 Kryptoanalyse des Vigenère-Verfahrens
Das Vigenère-Verfahren wurde auch als „Le chiffre indéchiffrable“ bezeichnet.
7. Aufgabe :
1) Schreiben Sie einen neuen Klartext, wiederum mit mindestens 200 Zeichen.
2) Verschlüsseln Sie ihn mit einem neuen Schlüssel.
3) Senden Sie die Nachricht an Ihr Partnerteam.
4) Warten Sie auf die Nachricht Ihres Partnerteams.
5) Versuchen Sie eine Häufigkeitsanalyse auf dieser Nachricht. Es stehen wiederum die beiden Programme "vigenere.exe" für die Ver- bzw. Ent-schlüsselung und "analyse.exe" für die Häufigkeitsverteilungs-Analyse bereit.
Fragen:
Wie sieht die Häufigkeitsverteilung aus?
Wieso klappt die Häufigkeitsanalyse hier nicht?
Wieso ist das Knacken der Nachricht auch bei einer polyalphabetischen Verschlü-selung noch möglich?
1.4 Ist denn nichts sicher?
Das Knacken von Vigenère gelingt, da es wegen der fixen Schlüssellänge zu Wiederholun-gen kommt. Nimmt man einen Schlüssel der gleich lang ist wie der zu verschlüsselnde Text gibt es keine Wiederholungen. Dieses Verfahren heisst „One-Time-Pad“
Das One-Time-Pad ist ein 100% sicheres Verfahren, denn jeder Schlüsselbuchstabe wird nur einmal (one-time) verwendet
Es hat nur einen leider relativ grossen Nachteil: Im vornherein muss ein riesengrosser ge-heimer Schlüssel vereinbart werden. Auch beim One-Time-Pad gilt: Der Schlüssel muss über einen sicheren separaten Kanal übermittelt werden. Ist der Schlüssel dem Gegner be-kannt ist die Sicherheit dahin
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 8 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.5 Moderne Verfahren
Das heute im kommerziellen Gebrauch am häufigsten eingesetzte Verfahren heisst DES. DES steht für „Data Encryption Standard“. Es funktioniert im Prinzip wie ein mehrfach hin-tereinander angewandtes Substitutionsverfahren
Sicherheit von DES
Der DES erlaubt mit 56 Bits Schlüssellänge 256 = 72’057’594’037’927’936 = 72 Billiarden mögliche Schlüssel. Dennoch ist dies heute nicht mehr ausreichend: DES kann in 5 Tagen mittels der Brute-Force-Methode geknackt werden
Abbildung: Struktur von DES
IDEA (= „International Data Encryption
Der IDEA (= „International Data Encryption Algorithm“) arbeitet mit 128 Bits Schlüssellänge, sonst ähnlich wie der DES. 2128 = 3.43669 * 1038 Dies zu knacken benötigt etwa 1012 Jahre. Deshalb gilt der IDEA heute als sicher
Abbildung: Struktur von IDEA
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 9 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1.6 Stromchiffren (RC4)
Eine Stromchiffre betrachtet den Datenstrom bitweise und verschlüsselt diesen, indem der Datenstrom mit den Bits des Passwortstroms verknüpft wird. (XOR)
Die Schlüsselbits machen scheinbar zufällige Modifikationen an den Datenbits. Somit ist der verschlüsselte Datenstrom für Dritte nicht entzifferbar. Die Qualität der Stromchiffre hängt von der Qualität der Zufallszahlen im Schlüssel ab. Ist die Bitfolge im Schlüssel nicht vorhersehbar und wiederholt sich nicht, so ist die Chiffre sicher.
RC4 ist eine von Ron Rivest in den 80'er Jahren entwickelter Stromchiffre Algorithmus, der inzwischen schon gebrochen wurde aber dennoch sehr weit verbreitet ist. Die häufigste Anwendung ist die Verschlüsselung des Datenstroms im Webbrowser, wenn eine gesicher-te Verbindung mit SSL hergestellt wird. RC4 hat eine Schlüssellänge von 40 Bits.
8. Aufgabe: Symmetrisches Kryptoverfahren XOR:
Verschlüsseln Sie die Nachricht mit dem obigen Verfahren. Achtung: Es handelt sich um eine Stromchiffre. Der Buchstaben wird als ASCII-Zeichen binär übertragen! Zur Kontrolle entschlüsseln Sie die Nachricht auf dieselbe Art, wie sie verschlüsselt wurde. Sie sollten dabei wieder die ursprüngliche Information erhalten.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 10 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2 Asymmetrische VerfahrenAsymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren Asymmetrische Verfahren
Das Manko der symmetrischen Verfahren liegt darin, dass der benötigte Schlüssel geheim bleiben muss, aber der berechtigte Empfänger der Nachricht ihn dennoch haben muss. Dies erfordert einen geheimen Transport des Schlüssels. Ferner ist eine geheime Kommu-nikation mit jedem einzelnen einer größeren Anzahl von Teilnehmern dadurch erschwert, dass eine Vielzahl von Schlüsseln erforderlich wäre. Bei drei Teilnehmern wären es noch (3*2)/2=3 Schlüssel (A-B, A-C, B-C); bei 10 Teilnehmern aber sind dies schon (10*9)/2=45 Schlüssel.
Dieses Problem umgehen asymmetrische Verfahren, auch Public-Key-Verfahren genannt. Hierbei hat jeder Teilnehmer ein Schlüsselpaar bestehend aus einen geheimen und einen öffentlichen Schlüssel. Letzterer kann und soll frei an alle Kommunikationsteilnehmer ver-teilt werden, daher öffentlich. Die Verschlüsselung des Klartextes erfolgt mit dem öffentli-chen Schlüssel des Empfängers. Die Nachricht kann nur mit dem geheimen Schlüssel ent-schlüsselt werden.
Die Sicherheit dieser Verfahren basiert im Grunde auf der Tatsache, dass es im Moment als unmöglich gilt, in absehbarer Zeit das Produkt zweier sehr großer Primzahlen ohne Kenntnisse dieser wieder zu zerlegen, zu faktorisieren. In anderen Fällen basiert die Si-cherheit darauf, dass es zur Zeit als unmöglich gilt, in absehbarer Zeit den diskreten Loga-rithmus einer Zahl zu ermitteln, die aus dem Potenzieren zweier großer Zahlen entstanden ist (Diffie-Hellmann, El-Gamal). Mit anderen Worten: es ist einfach zwei große Zahlen mit-einander zu multiplizieren oder zu potenzieren, aber es ist sehr schwierig, den Weg wieder zurück zu gehen.
Diese Verfahren gelten heute als sicher, aber eine Grundregel der Kryptologie sagt, dass kein Code unbrechbar ist! Bei den asymmetrischen Verfahren steht und fällt die Sicherheit mit den Fortschritten der Mathematik bzw. der Leistungszunahme in der Rechentechnik.
Etwas Mathematik: Voraussetzungen für Public Key Kryptographie: die Einwegfunktion
Voraussetzungen für Public Key Kryptographie ist die Einwegfunktion. Aus der Mathema-tik kennen wir verschiedene Funktionen, zum Beispiel Multiplizieren oder Potenzieren. Für beide Funktionen besteht aber eine Umkehrfunktion. Bei der Multiplikation die Division, beim Quadrieren das Radizieren (Wurzelziehen). Gefordert ist nun eine Funktion, zu der keine Umkehrfunktion existiert. Allerdings, wenn tatsächlich keine Umkehrfunktion besteht , wie das bei echten Einwegfunktionen der Fall ist, wird’s schwierig. Gefordert ist darum eine Einwegfunktion mit Trapdoor (Hintertüre, bzw. geheimen Zusatzinformationen) Die gewöhnliche Exponentialfunktion: y = a b ist zwar keine Einwegfunktion. Ergänzt man diese aber noch mit der Funktion Modulo (Restwertfunktion) wird es zu einer:
y = a b mod p a = Erzeugendes Element; zB. 2 p = Primzahl; zB. 19 Das erzeugende Element a kann aus der Primzahl p hergeleitet werden.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 11 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2.1 Diffie-Hellmann
In der Tat eignet sich das 1976 beschriebene Verfahren Diffie-Hellmann nicht zur Ver- und Entschlüsselung, sondern vielmehr zum Austausch von Schlüsseln über "unsichere" Kanäle. Seine Sicherheit basiert wie ElGamal auf der Problematik, dass es keine eindeutigen, sicheren mathematischen Verfahren gibt, den diskreten Logarithmus zu berechnen, es aber umgekehrt sehr einfach ist, eine Zahl zu potenzieren.
Die Darstellung ist wie üblich möglichst kurz und einfach gehalten und richtet sich nicht an Mathematiker oder Krypto-Experten.
1. Schritt
Alice und Bob möchten miteinander verschlüsselt kommunizieren. Dazu möchten sie gern die Schlüssel für den Verschlüsselungsvorgang miteinander austauschen. Leider besteht keine gesicherte Verbindung zwischen beiden und ein persönliches Treffen als sicherste Alternative ist nicht möglich. Also wählen sie folgende Vorgehensweise:
Zunächst denkt sich einer von beiden eine möglichst große Primzahl P sowie eine Zahl z aus. Für diese muss gelten, dass sie kleiner als P ist. (Tatsächlich gibt es noch eine weitere Ein-schränkung, die wir aber hier vernachlässigen; bei weiterem Interesse sei auf die oben ge-nannte Literatur verwiesen).
Diese Daten werden offen an den anderen Partner gesendet.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 12 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2. Schritt
Nun denkt sich jeder der beiden eine geheime Zahl aus; Alice nimmt a und Bob nimmt b.
Nun berechnet jeder: Alice Bob X=za mod P Y=zb mod P
Die Werte X und Y werden wie auch z und P miteinander ausgetauscht. Die Werte a und b dagegen sind die geheimen Schlüssel.
Jeder der beiden berechnet daraus den Schlüssel: Alice Bob KA=Ya mod P KB=Xb mod P
Damit erhalten beide den gleichen Wert, denn es gilt:
(zb mod P)a = (za mod P)b = z(ab) mod P
Beispiel:
Alice denkt sich für P=11 und für z=4 aus. Dieses teilt sie Bob mit. Außerdem hat sie sich für a den Wert 3 ausgedacht, während Bob seinen geheimen Schlüssel auf den Wert 5 gesetzt hat. Alice Bob X = 43 mod 11 Y = 45 mod 11 = 64 mod 11 = 1024 mod 11 = 5 Rest 9 = 93 Rest 1
Alice teilt Bob noch den Wert für X mit (9) und Bob den Wert für Y (1).
Nun kann jeder seinen Schlüssel berechnen: Alice Bob KA = 13 mod 11 KB = 95 mod 11 = 1 mod 11 = 59049 mod 11 = 0 Rest 1 = 5368 Rest 1
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 13 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Dieses Beispiel ist natürlich sehr vereinfacht und trivial gehalten. Es soll lediglich die Vorge-hensweise und die Funktion von Diffie-Hellmann beschreiben. Aus diesem Zweck wurden un-realistisch kleine Werte eingesetzt und ggf. vorgegebene Restriktionen (s. weiter oben) nicht beachtet.
Anmerkung:
Diffie und Hellmann gelten zusammen mit Merkle aufgrund ihrer Veröffentlichungen in 1976 als Entdecker der Public-Key-Verfahren. In jüngerer Zeit wurde aber bekannt, dass nur weni-ge Zeit zuvor drei andere Wissenschaftler ein nahezu identisches Verfahren entdeckt hatten, es aber nicht veröffentlichen durften.
Aufgrund sehr hoher Kosten bei der Schlüsselverteilung hatte das britische Militär dem Government Communication Headquarter (GCHQ) schon in den 60er Jahren den Auftrag er-teilt, andere Wege zu finden. Die von James Ellis und Clifford Cocks geäußerten Ideen ähnel-ten denen von Diffie und Hellmann, nur etwa sechs Jahre früher. Diese Ideen wurden zusam-men mit Williamson 1975 vervollständigt und entsprachen dem nur ein Jahr später vorgestell-ten Diffie/Hellmann/Merkle-Verfahren. Das GCHQ hat einerseits aus Gründen der Geheimhal-tung und andererseits wegen des für die Briten aus Sicht der frühen 70er Jahre fraglichen Nutzens nie ein Patent beantragt. Im Dezember 1997 wurde dieser Sachverhalt bekannt.
James Ellis starb einen Monat zuvor und reiht sich in die Liste britischer Kryptologen wie Bab-bage und Turing ein, denen öffentlicher Ruhm zu Lebzeiten aus Gründen der Geheimhaltung vorenthalten blieb.
9. Aufgabe
Mit dem Tool diffie_helmann.exe können Sie den obigen Ablauf mit Ihrem Banknachbarn einmal durchspielen. (Keine grossen Zahlen benutzen!)
2.2 El-Gamal
El-Gamal ist eine Krypto-Anwendung die auf dem Diffie-Hellmann-Schlüsseltausch basiert
Ablauf von El-Gamal (SENDER)
1. Sämtliche Teilnehmer einigen sich auf Primzahl p und natürliche Zahl g.
2. Jeder Teilnehmer wählt eine geheime natürliche Zahl t.
3. Jeder Teilnehmer berechnet mithilfe seiner Zahl t den Wert T=gt mod p und stellt diesen „öffentlichen“ Schlüssel T in das öffentliche Verzeichnis.
4. Will Alice nun einem Teilnehmer T eine Nachricht zusenden, so sucht sie im öffentlichen Verzeichnis sein Schlüssel T.
5. Alice wählt zufälligen Wert a und rechnet : x=ga mod p
6. Alice rechnet K=Ta mod p (K=Key)
7. Alice verschlüsselt ihre Nachricht „symmetrisch“ mit dem Key k
8. Alice schickt die verschlüsselte Nachricht und den Wert x an den Teilnehmer T
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 14 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Ablauf von El-Gamal (EMPFAENGER)
1. Empfänger muss zuerst den Schlüssel K errechnen. Dazu verwendet er den Wert X, den er von Alice erhalten hat: K=xt mod p (t ist die geheime Zahl des Empfängers)
2. Der Empfänger kann nun die von Alice verschlüsselte Nach- richt mit seinem Key K entschlüsseln.
10. Aufgabe
Es stehen folgende Tools zur Verfügung :
• rc4.exe : XOR-Chiffrierung/Dechiffrierung
• el_gamal.exe : Zur Passwort-Generierung
1. Jeder Schüler berechnet seinen öffentlichen Schlüssel und schreibt ihn an die Wandtafel. (el_gamal.exe)
2. Es werden nun Nachrichten verschlüsselt (rc4.exe) und via Schülerpool an den Adressaten Verschickt.
3. Der Empfänger berechnet den Key (el_gamal.exe) und entschlüsselt seine Nachricht (rc4.exe)
2.3 RSARSA
RSA wurde 1977 von Ron Rivest, Adi Shamir und Leonard Adleman entwickelt. Das Verfahren verwendet große Primzahlen; seine Sicherheit basiert auf der Schwierigkeit, große Zahlen zu faktorisieren. Das Verfahren ist einfach zu verstehen und ebenso leicht in Applikationen zu im-plementieren.
RSA wurde intensiv der Kryptanalyse unterzogen, die zwar das Verfahren nicht brechen konnte, allerdings auch keinen Beweis für die Sicherheit liefern konnte. Schneier beschreibt in seinem Buch verschiedene Angriffspunkte, kommt aber mehrfach zu der Auffassung "...Ich würde mir keine Sorgen machen...". Diese Aussage gilt unter der Prämisse, dass seine Schlussfolgerungen aus den Angriffsbetrachtungen bei der Implementierung berücksichtigt werden.
Die folgenden Zeilen sollen darstellen, wie simpel und doch zugleich effektiv der RSA-Algorithmus funktioniert, der neben den Algorithmen ElGamal und Diffie-Hellmann in verschie-denster Software zum Einsatz kommt. Diese Darstellung basiert auf der Veröffentlichung: The Mathematical Guts of RSA Encryption und "Angewandte Kryptographie". Sie richtet sich nicht an den Mathematiker unter den Lesern, sondern an den einfachen Anwender von PGP, GnuPG o-der S/MIME. Die durchzuführenden Schritte wurden nur mit einem Minimum an mathematischen Formeln beschrieben. Für das Beispiel wurden bewusst kleine und einfache Zahlen verwendet, die natürlich für die Realität keineswegs hinreichend sind.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 15 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
1. Schritt
Wir benötigen zwei sehr große Primzahlen; für die reale Verschlüsselung sollten die Primzahlen 1024 bit groß sein, also 100 oder mehr Ziffern haben. Wir begnügen uns mit
P=3 und Q=5
In PGP sollen P und Q so gewählt werden, dass das Produkt PQ mehr als 300 Stellen hat.
2. Schritt
Nun sollen wir eine Zahl E finden, die folgende Bedingungen erfüllen muss:
E muss kleiner als der Wert sein, der sich ergibt, wenn man P und Q miteinander multipliziert (Produkt aus P und Q)
E darf keine gemeinsamen Faktoren mit dem Produkt (P-1)(Q-1) haben
E braucht keine Primzahl zu sein, muss aber ungerade sein
Das Produkt (P-1)(Q-1) ist übrigens zwangsläufig gerade. Das Produkt PQ nennen wir N, den Modulus. Er wird so in einigen Veröffentlichungen genannt. N sollte etwa doppelt soviele Ziffern wie die Primfaktoren P und Q haben.
PQ=15 daraus folgt für (P-1)(Q-1)=8
Eine Primfaktorenzerlegung zeigt für 8 die Faktoren 2*2*2. E darf also keine 2 als Teiler haben, was ja ohnehin gegeben ist, da E ungerade sein soll. Der für unser Beispiel einfachste Wert wäre die 3; also E=3.
3. Schritt
Der Algorithmus schreibt nun vor, dass wir noch eine Zahl D bestimmen. Diese muss die Bedin-gung erfüllen, dass das um Eins verminderte Produkt aus D und E, (DE-1), ohne Rest durch (P-1)(Q-1) teilbar ist oder mehr mathematisch beschrieben:
DE=1 (mod ((P-1)(Q-1)))
und nicht gleich dem Wert von E sein soll.
Anmerkung: Die Zeile ist wie folgt zu lesen: DE wird durch ((P-1)(Q-1)) so geteilt, dass Rest 1 bleibt.
Wie macht man das? Nun, eigentlich ganz einfach: man muss nur eine ganzzahlige Zahl X fin-den, die dafür sorgt, dass die folgende Gleichung ein ganzzahliges Ergebnis liefert:
D= (X(P-1)(Q-1)+1)/E
Eine derartige Gleichung nennt man diophantische Gleichung, die in unserem vorliegenden Fall exakt lösbar ist. Im Rahmen dieser Beschreibung will ich aber aus Gründen der einfachen Dar-stellung nicht auf den Lösungsweg eingehen.
In unserem einfachen Fall kann X=4 gewählt werden, dann wird D zu
D=(4*2*4+1)/3=33/3=11.
Damit gilt für DE=33. Die Probe ist 33/8=4 Rest 1.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 16 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Fassen wir mal unsere einzelnen Zahlen zusammen:
P=3 Q=5 N=15 D=11 E=3
Die Zahlen N (oder PQ) und E bilden den Public Key. Die Zahlen N (oder PQ) und D bilden den Secret Key. Dies erklärt auch die Zusatzforderung, dass E und D nicht den gleichen Wert haben sollten, da sonst Public und Secret Key gleich wären. Sind diese Zahlen einmal berechnet, so müssen alle Hilfsgrößen wie P, Q, (P-1)(Q-1) und X gelöscht werden.
Verschlüsselung
Die Rechenvorschrift für die Verschlüsselung lautet: C=KE mod N
C steht für Ciphertext K steht für Klartext E und N sind der Public Key des Empfängers.
Die Zeile sagt lediglich: Potenziere den Klartext mit E, teile das durch N und gib den Rest als Ciphertext aus. Nehmen wir mal an, wir wollen folgende Zahlenreihe verschlüsseln:
12130508.
Die einzelnen zu verschlüsselnden Elemente müssen in Stücke zerlegt werden, die kleiner als N sind:
12 13 05 08
Die Cipher-Texte wären demnach: 123= 1728 1728/15 = 115 Rest 03 133= 2197 2197/15 = 146 Rest 07 053= 125 125/15 = 8 Rest 05 083= 512 512/15 = 34 Rest 02
Das Ergebnis ist dann: 03 07 05 02
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 17 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Entschlüsselung
Die Rechenvorschrift für die Entschlüsselung lautet: K=CD mod PQ
C steht für Ciphertext K steht für Klartext D und N sind der Secret Key des Empfängers
Die Mathematik ist exakt die gleiche wie bei der Verschlüsselung. Rechnen wir mal den Ciphertext zurück:
03 07 05 02 0311= 177147 177147/15= 11809 Rest 12 0711= 1977326743 1977326743/15= 131821782 Rest 13 0511= 48828125 48828125/15= 3255208 Rest 05 0211=2048 2048/15=136 Rest 08
Das sehr einfach gewählte Beispiel führt zu sehr kleinen zu verschlüsselnden Textelementen. Der entstandene Code ließe sich vermutlich schnell brechen. Es ist allerdings nicht Aufgabe die-ses Beispiels gewesen, die Unbrechbarkeit des Codes zu beweisen, sondern vielmehr die Vor-gehensweise und den Algorithmus verständlich zu erläutern.
Anmerkung: In einigen Veröffentlichungen wird beschrieben, die Stärke des RSA-Algorithmus basiere auf der Tatsache, dass es schwierig sei, große Primzahlen zu faktorisieren. Dies ist ein Schreibfehler, denn Primzahlen allgemein, groß oder klein, haben nur zwei Faktoren ;-) Gemeint ist, dass es schwierig ist, große Zahlen zu faktorisieren und der Modulus (PQ) ist eine solche große Zahl.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 18 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Zusammenfassung RSA
Das war jetzt etwas ausführlich! Darum das Verfahren nun noch einmal aber stark vereinfacht:
Alice wählt zufällig zwei Primzahlen p ≠ q, die etwa gleich lang sein sollten und berechnet deren Produkt N = p·q. zB. p=11, q=17, n=11*17=187 Danach berechnet sie x = (p-1) · (q-1) x=(11-1)*(17-1)=160 Alice berechnet x + 1 x+1=161 Der Wert e wird ausgewählt, wobei d ein Teiler aus x+1 sein muss. da 161=7*23 Der zweite Teiler aus x+1 ist d. Es muss gelten: d*e=x+1 . Unzulässige Werte von d und e (z.B. d=e) werden als unsicher abgelehnt. sind 7 und 23 geeignete Kandidaten für e und d
Alice erhält :
N , e : public key von Alice d , N : secret key von Alice
Jeder kann Alice eine verschlüsselte Nachricht senden, aber nur Alice kann sie entschlüsseln. Das Verfahren verwendet große Primzahlen. Seine Sicherheit basiert auf der Schwierigkeit, gro-ße Zahlen zu faktorisieren.
RSA-Verschlüsselung
Die Rechenvorschrift für dieVerschlüsselung lautet:
c=ke mod n
c steht für Ciphertext k steht für Klartext e und n sind der Public Key des Empfängers.
RSA-Entschlüsselung
Die Rechenvorschrift für die Entschlüsselung lautet:
k=cd mod n
c steht für Ciphertext k steht für Klartext d und n sind der Secret Key des Empfängers
Die Mathematik ist exakt die gleiche wie bei der Verschlüsselung!
Anmerkung
In einigen Veröffentlichungen wird beschrieben, die Stärke des RSA-Algorithmus basiere auf der Tatsache, dass es schwierig sei, große Primzahlen zu faktorisieren. Dies ist ein Schreibfehler, denn Primzahlen allgemein, groß oder klein, haben nur zwei Faktoren ;-) Gemeint ist, dass es schwierig ist, große Zahlen zu faktorisieren und der Modulus (p*q) ist eine solche große Zahl.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 19 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Faktorisierungsverfahren
Das Faktorisierungsproblem für ganze Zahlen ist eine Aufgabenstellung aus dem mathe-matischen Teilgebiet der Zahlentheorie. Dabei soll zu einer zusammengesetzten Zahl ein nichttrivialer Teiler ermittelt werden. Ist beispielsweise die Zahl 91 gegeben, so sucht man eine Zahl wie 7, die 91 teilt. Entsprechende Algorithmen, die dies bewerkstelligen, bezeich-net man als Faktorisierungsverfahren. Durch rekursive Anwendung von Faktorisierungsver-fahren in Kombination mit Primzahltests, kann die Primfaktorzerlegung einer ganzen Zahl berechnet werden.
Bis heute ist kein Faktorisierungsverfahren bekannt, das nichttriviale Teiler und damit die Primfaktorzerlegung einer Zahl effizient berechnet. Das bedeutet, dass ein enormer Re-chenaufwand notwendig ist, um eine Zahl mit mehreren hundert Stellen zu faktorisieren. Dies wird in der Kryptografie ausgenutzt, wo es zum Entschlüsseln von Nachrichten not-wendig ist solche Zahlen zu faktorisieren. Dabei kommt zusätzlich zum Tragen, dass man mittels eines Primzahltests ziemlich einfach feststellen kann, ob eine Zahl eine Primzahl ist.
In der theoretischen Informatik werden Probleme in Komplexitätsklassen eingeteilt, die dar-über Aufschluss geben, welchen Aufwand die Lösung eines Problems erfordert. Beim Fak-torisierungsproblem für ganze Zahlen ist nicht bekannt welcher Komplexitätsklasse es an-gehört. Das heißt, dass es zumindest theoretisch möglich ist, dass irgendwann ein Algo-rithmus entdeckt wird, der ganze Zahlen mit überschaubaren Aufwand faktorisieren kann.
Die besten bekannten Algorithmen sind das 1981 von Carl Pomerance erfundene quadrati-sche Sieb, das um 1990 von mehreren Mathematikern (u.a. Pollard, A. Lenstra, H.W. Lenstra Jr., Manasse, Pomerance) gemeinsam entwickelte Zahlkörpersieb und die Metho-de der Elliptischen Kurven, die 1987 von Hendrik W. Lenstra, Jr. vorgestellt wurde.
Den aktuellen Forschungsstand auf dem Gebiet der Faktorisierungsverfahren zu verfolgen, ist Ziel der RSA Factoring Challenge. Daraus ergeben sich Anhaltspunkte für die notwendi-ge Größe der im RSA-Kryptosystem verwandten Semiprimzahlen.
In der Praxis wird man, um eine Zahl zu faktorisieren, wie folgt vorgehen:
Durch Probedivision kleine Faktoren finden/entfernen.
Mit Hilfe eines Primzahltests herausfinden, ob die Zahl eine Primzahl oder eine Primpotenz ist.
Mit der Methode der Elliptischen Kurven nach vergleichsweise kleinen Primfaktoren (<1030) suchen.
Mit dem Quadratischen Sieb (für Zahlen mit weniger als 120 Dezimalstellen) oder dem Zahlkörpersieb faktorisieren.
Die ersten beiden Schritte werden dabei gelegentlich vertauscht.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 20 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2.4 Digitale Signatur
Bei Informationsaustausch über unsichere Kanäle besteht folgende Problematik:
● Wer bestellt in meinem E-Shop ?
● Wer schickt mir eine E-Mail ?
● Hat er wirklich das geschrieben was ich lese ?
● Woher kommt das Applet, das gerade auf meinen PC geladen wird ?
● Ist das Update wirklich das “richtige, unmanipulierte” Original ?
● Wohin wird meine Kreditkartennummer übermittelt ?
● Wer gibt einer Wahl gerade seine Stimme ab ?
● Stammt der Inhalt von “www.admin.ch” wirklich von unserer Regierung ?
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 21 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Ausgehend von seinem Grundprinzip ist das Internet nicht sicher. Gefahren wären da zum Bei-spiel.:
● Mitlesen von Daten (Sniffing)
● Vortäuschen falscher Identitäten (Spoofing)
● Angriffe auf die Verfügbarkeit (Denial-of-Service)
● Übertragen von Programmen mit Schadfunktion (Viren, Würmer...)
● Menschliches Fehlverhalten (Preisgabe von geheimen Daten)
Um sicher zu Kommunizieren müssen folgende Ziele verfolgt werden:
● Authentisierung Sicherstellung der Identität eines Kommunikationspartners
● Vertraulichkeit Zugänglichkeit der Nachrichteninhalte nur für einen bestimmten Empfängerkreis
● Integrität Schutz vor Verfälschung von Nachrichten bei der Übermittlung
● Autorisierung Prüfung der Zugriffsberechtigung auf Ressourcen
● Verfügbarkeit Schutz vor Verlust von Daten, Sicherstellung des laufenden Betriebs
● Verbindlichkeit Sicherer Nachweis der Absendung/des Empfangs von Nachrichten
Der Ablauf einer digitalen Signatur
Soll sichergestellt werden, dass eine Nachricht auch wirklich von einem Sender stammt, wird digital signiert. Dabei wird vor dem Versenden der Nachricht von dieser einen Haschwert ermit-telt. Dies ist eine Art Prüfsumme, und hat immer dieselbe Länge. Die Nachricht geht unverschlüsselt übers Netz. Der Haschwert der Originalnachricht wird aller-dings mit dem Privat-Key des Senders verschlüsselt. Der Empfänger erhält die Nachricht im Klar-text und berechnet vorerst einmal den Haschwert. Ausserdem entschlüsselt der Empfänger nun mit dem Public-Key des Senders den verschlüsselten Haschwert. Beide Haschwerte sollten übereinstimmen. Andernfalls wurde die Nachricht irgendwo auf dem Weg zum Empfänger verän-dert.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 22 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Der Hash-Algorithmus
● Der Hash-Algorithmus bildet einen beliebig langen Nachrichtentext auf einen Wert vorge-gebener (kurzer) Länge an (Hashwert, “Prüfsumme”)
● Aus dem Hashwert kann die ursprüngliche Nachricht nicht errechnet werden (Irreversibili-tät)
● Die Konstruktion von Nachrichten mit gleichem Hashwert muss praktisch unmöglich sein
● Die zufällige Übereinstimmung von Hashwerten beliebiger Nachrichten ist unwahrschein-lich (Kollisionsresistenz, Integrität prüfbar)
● Die Hashwertbildung und anschliessende Verschlüsselung gewährleistet eine sichere Identifizierung des Absenders eines Dokumentes
● Die Hashwertbildung und anschliessende Verschlüsselung gewährleistet eine Sicherheit vor nachträglichen Manipulationen des Dokumentes
● Elektronisch signierte Dokumente sind mit unterschriebenen Papierdokumenten gleich gesetzt! Die Rechtssprechung anerkennt heute auch digitale Unterschriften.
● Bekannte Haschfunktionen sind MD5, SHA-1, Tiger und RIPEMD
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 23 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Wer traut wem?
In der heutigen globalisierten Geschäftswelt ist es nicht immer mehr möglich, seinen Kommuni-kationspartner persönlich zu kennen. Man muss sich auf die öffentlichen Schlüsseln der Teil-nehmer verlassen können. Dazu gibt es zwei Ansätze: zentrale Struktur und dezentrale Struktur
Public Key Infrastruktur
• OpenPGP (ein dezentraler Standard) Anfangs 90‘ Jahre durch Phil Zimmermann entwickelt : Jeder Teilnehmer am Verschlüsselungssystem, der ein gültiges Schlüssel- paar besitzt, kann die Echtheit anderer Schlüssel durch seine Unterschrift bestätigen.
• X.509 (zentral und hierarchisch organisiert) der Besitzer hat seine Identität/Glaubwürdigkeit durch ein X-509 Zertifikat von einer CA (=Certification Authority) bescheinigen lassen Das heisst : Personenangaben werden mit dem Schlüsselpaar ge- koppelt (Elektronischer Ausweis), ausgestellt von einer vertrauens- würdigen Instanz TC (=Trust Center) oder CA
11. Aufgabe: TC’s bzw. CA's (X.509)
● Zertifikate ausstellen : Korrekte Identifikation des Teilnehmers, Zertifizieren von User, Server, Sub CA's Erstellung des Zertifikates durch digitale Signatur über Identifikationsdaten und öffentli-chen Schlüssel eines Teilnehmers
● Bei Ausgabe eines Zertifikates an einen Teilnehmer ist dieser über Funktionalität und Ge-fahren von zertifizierten Signaturschlüsseln zu unterrichten
● Veröffentlichen der Public-Keys der User
● Publizieren eigenes Zertifikat
● Verwalten bzw. Archivierung angelaufener Zertifikate
● Zertifikate zurückziehen oder für ungültig erklären
● Festlegung der Gültigkeitsdauer von Zertifikaten
● Zeitstempeldienst Absicherung im Falle des Diebstahls des geheimen Schlüs-sels.Nachweis einer zeitpunktsbezogenen Willensbekundung. Nachweis und Sicherheit, dass die digitale Signatur nicht nach Ablauf der Gültigkeit des Zertifikates erstellt wurde.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 24 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
2.5 Schwachstellen von digitaler Signatur mit RSA
Chosen Cyphertext
Der Ablauf:
1. Mallory fängt verschlüsselte Nachricht an Bob ab und besorgt sich den Public-Key von Bob.
2. Mallory wählt Zufallszahl r (r<n und teilerfremd zu n)
3. Mallory : x=re mod n (e=Public-Key von Bob)
4. Mallory : y=x * c mod n (c=Nachricht)
5. Mallory überredet Bob dazu, die errechnete Nachricht y digital zu signieren.
6. Bob : u=yd mod n (d=Private Key von Bob)
7. Mallory : r -1 * u mod n = r -1 * yd mod n = r -1 * xd * cd mod n = r -1 * (re)d * cd mod n = r -1 * r * cd mod n
8. Die Exponenten e und d heben sich gegenseitig auf wie auch r und r -1. Es bleibt übrig : cd mod n , somit die Klartextnachricht !!!
Fazit:
Unterschreiben sie nie irgendwelche binären Dateien unbekannten Inhalts mit ihrem pri-vate Schlüssel. Es könnte sich um einen Chosen-Ciphertext-Angriff handeln. (=Man in the middle-Attack)
Der Geburtstagsangriff
Idee : Zwei Dokumente mit gleichem Hashwert finden
Der Ablauf:
1. Mallory erstellt zwei Versionen eines Dokumentes DokuA „Alice an Bob“ und DokuB „Alice an Mallory“
2. Mallory erstellt von beiden Dokumenten verschiedene Varianten mit gleichem Inhalt aber mit geringfügigen Aenderungen (zB. Leerschläge etc.)
3. Mallory sucht DokuA und DokuB Varianten mit demselben Hash- wert (Wahrscheinlichkeit für Treffer ist relativ hoch)
4. Mallory legt Alice die gefundene Variante von DokuA zur Unter- schrift vor.
5. Alice unterschreibt die DokuA für Bob
6. Mallory trennt nun die Signatur von DokuA ab und fügt sie DokuB an.
7. DokuB ist nun ebenfalls gültig !
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 25 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Fazit:
Unterschreiben Sie niemals ein Dokument, (auch wenn es für sie im Klartext abgefasst ist), das sie nicht selber verfasst haben. Es sei denn, sie nehmen vor der Unterzeichnung einige subtile Änderungen vor. ZB. Vor der Unterzeichnung Einfügen von Leerzeichen; Damit ändern sie wiederum den Haschwert der ihnen vorgelegten Daten und machen den Geburtstagsangriff zunichte.
2.6 Hybride Verfahren
Bei hybrider Verschlüsselung werden die Vorteile von beiden Verfahren, symmetrische und asymmetrische, ausgenutzt :
• Asymmetrisches oder Public-Key-Verfahren für Schlüsselmanagement, zB. RSA
• Symmetrisches Verfahren zum Versenden der eigentlichen Nachricht
Für weitere Experimente steht Ihnen auf dem TBZ-Client „CrypTool.exe“ zur Verfügung!
12. Aufgabe: Asymmetrischem Kryptoverfahren
Sie werden PGP auf Ihrem PC installieren. Dazu bedienen Sie sich Virtual-PC. Installieren Sie Windows XP und danach PGP V8. PGP finden Sie gezippt auf dem Schü-ler-ReadOnly-Pool (M114) Studieren Sie die Manuals und Anweisungen, die Sie dazu auf dem Internet finden. Nun suchen Sie sich ein Partner aus, mit dem Sie verschlüsselte Texte austauschen wer-den. Dazu müssen Sie sich vorerst Ihre Schlüssel generieren und anschliessend die Public-Keys gegenseitig bekannt machen. Ziel ist, dass jeder Gruppe zwei Verschlüsselungs- und Entschlüsselungsvorgänge durch-gespielt hat. Zusatzaufgabe: Versuchen Sie, anstatt die Botschaft zu verschlüsseln, diese mit einer digi-talen Signatur zu versehen. Die Aufgabe ist erfüllt, wenn Ihr Partner die Richtigkeit Ihres Dokumentes anhand der Signatur verifizieren kann.
Sie dokumentieren alle Arbeiten in einem Journal, das Sie Am Ende der 4 Lektionen abge-ben werden.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 26 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
3 Digital DigitalDigital -Rights RightsRights-Managemen Managemen Management-Systeme (DRMS) Systeme (DRMS) Systeme (DRMS) Systeme (DRMS)
Einer der Hauptvorteile digitaler Daten ist die Möglichkeit, sie ohne jeden Qualitätsverlust ohne nennenswerten Aufwand („Mausklick genügt“) zu marginalen Kosten kopieren zu können. Dies ist aber nicht immer erwünscht. Insbesondere Urheber und Verwerter haben häufig ein Interesse daran, die Verbreitung und Verwendung ihres geistigen Eigentums auch nach einer Weitergabe zu kontrollieren oder zu beschränken. Ein DRM-System (DRMS) soll dabei helfen, indem es die Verwendung von Daten nur in dem vom jeweiligen Rechteinhabern definierten Rahmen (Lizenz) ermöglicht.
Mechanismen der digitalen Rechteverwaltung sind allgemein jedoch stark umstritten. Be-fürworter sehen in Systemen der digitalen Rechteverwaltung hauptsächlich die Eröffnung neuer Geschäftsmodelle mit bedarfsgerechterer Abrechnung (Pay Per View) sowie den po-tentiellen Wegfall von Pauschalabgaben auf Leermedien wie CD-Rohlinge und der damit einhergehenden Entlastung der Verbraucher. Zudem können DRMS (DRM-Systeme) auch zum Schutz kritischer Daten wie z. B. Firmeninterna eingesetzt werden (Enterprise Rights Management). Kritiker warnen vor allem vor Datenschutzproblemen und möglichen Ein-schränkungen bei der Benutzerfreundlichkeit, Archivierung und fairen Nutzung.
Zu einem ernsten Problem aus Sicht vieler Vertreter der Musikindustrie und Verwerter wur-de die beliebige Kopierbarkeit von digitalen Inhalten erstmals Mitte der 90er Jahre, als CD-Brenner für Endverbraucher erschwinglich und Personal Computer leistungsfähig genug für den Umgang mit im MP3-Format komprimierter Musik wurden. Ende der 90er Jahre erfuh-ren außerdem die so genannten Internet-Tauschbörsen immer stärkeren Zulauf, da Inter-net-Benutzer dort prinzipiell kostenlos Dateien von der Festplatte anderer Benutzer kopie-ren können. Meist handelt es sich dabei um urheberrechtlich geschützte Musik, Filme oder Software. Dies führte laut Angaben der Medienindustrie zu teils erheblichen Umsatzrück-gängen. Die durch das Internet ermöglichten neuen digitalen Vertriebswege wurden aber aufgrund der unbegrenzten Vervielfältigungsmöglichkeiten lange Zeit nicht von den Medi-enunternehmen genutzt. Durch die wachsende Bedeutung des Internet wurden die Firmen jedoch zunehmend in Handlungszwang gebracht, der sich in der Entwicklung von DRM-Systemen (genauer Multimedia Rights Management) niederschlug. Erst im Jahr 2003 ge-wann schließlich mit der Eröffnung des iTunes Music Store ein Vertriebsweg mit integrierter digitaler Rechteverwaltung an kommerzieller Bedeutung.
Anwendung
DRM wird derzeit hauptsächlich bei digitalen Inhalten wie Filmen oder Musik eingesetzt. Am weitesten verbreitet sind die DRMS „Windows Media DRM“ von Microsoft, das OMA DRM der Open Mobile Alliance und „Fairplay“ von Apple. Diese ermöglichen eine genaue Einstel-lung der Berechtigungen und können für verschiedene Audio- und Videodateien verwendet werden. Die meisten Onlineshops wie Napster und Musicload, aber auch „Video-on-Demand“-Dienste verwenden vornehmlich das DRM-System von Microsoft. Das OMA DRM wird in fast jedem Mobiltelefon für Klingeltöne, Bilder, aber auch für mobile Musik- und Fernsehübertragungen (mobile TV) eingesetzt. Häufig werden die Systeme des OMA DRM und des Windows Media DRM kombiniert, um eine Interoperabilität zwischen Mobiltelefo-nen und PCs zu ermöglichen.
In Zukunft könnten DRMS auch in vielen anderen Bereichen, wie im Automobilbereich (Softwareschutz, Online-Navigation) oder im Bereich eingebetteter Systeme, eine größere Rolle spielen.
Binärcodes, Kompression und Verschlüsselung Modul 114
Kryptografie
Technische Berufsschule Zürich Seite 27 Version 1.7
ABTEILUNG INFORMATIONS-TECHNIK
Technische Umsetzung
DRM-Systeme verwirklichen die Idee der Zugriffskontrolle digitaler Inhalte mit Hilfe krypto-grafischer Verfahren. Realisiert wird dies, indem ein beliebiger digitaler Inhalt durch Ver-schlüsselung eindeutig an eine Lizenz gebunden wird. Ohne die zum digitalen Inhalt gehö-rige gültige Lizenz kann der Benutzer zwar das Gerät oder den Datenträger erwerben, nicht jedoch auf den Inhalt zugreifen.
Der Inhalteserver verwaltet die zu schützenden digitalen Inhalte und verschlüsselt diese mit Hilfe des DRM-Verpackers zur Verwendung in einem DRMS, wodurch die Inhalte vorerst unlesbar werden. Der Lizenzserver erzeugt auf Anforderung die erforderlichen Lizenzen zusammen mit den zugehörigen Schlüsseln für die Benutzerauthentifizierung und Inhalte-entschlüsselung, welche aus den entsprechenden Kennungen (Benutzer- oder Gerätken-nung, Inhaltekennung) und den Beschreibungen der Rechte berechnet werden. Möchte der Benutzer auf einen per DRM geschützten Inhalt zugreifen, fordert die DRM-Steuerung vom Lizenzserver die zur Wiedergabe notwendige Lizenz an. Werden Authentizität und Integrität des Wiedergabeprogramms verifiziert, werden die Inhalte mit dem in der Lizenz enthalte-nen Schlüssel entschlüsselt, auf diese Weise wieder lesbar gemacht und an das Wieder-gabeprogramm weitergegeben.
In Zukunft können Techniken des Trusted Computing verwendet werden, um die Einhal-tung der Rechte zu gewährleisten.
du hast
deine mama betrogen.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 1
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
HTTP Protokoll
1 Ablauf einer HTTP - Anfrage/Antwort Sequenz
Basierend auf: Sascha Kerskens Apache 2
Das TCP/IP-Anwendungsprotokoll HTTP (Hypertext Transfer Protocol) bildet die Basis der Kommunikation
zwischen Webserver und Browser. Es handelt sich um ein klartextbasiertes Protokoll mit wenigen Client-
Befehlen und definierten Server-Antworten
Die aktuelle Version ist HTTP/1.1; ihre Spezifikation steht in RFC 2616.
HTTP ist ein typisches Request/Response-Verfahren (Anfrage und Antwort). Der Ablauf einer solchen HTTPAnfrage
und -Antwort ist immer derselbe:
1. Der Browser ermittelt aus dem URL den Hostnamen des angesprochenen Servers und stellt eine
TCP-Verbindung zu diesem her. Standardmässig wird der TCP-Server-Port 80 gewählt, ansonsten
die Portnummer, die in dem URL steht. Angenommen, der angeforderte URL ist
http://www.mynet.de/seiten/info.html
Dann ist der Server www.mynet.de Der Browser ermittelt über DNS die IP-Adresse dieses Hosts
und stellt eine Verbindung zu dessen Port 80 her.
2. Nachdem die Verbindung hergestellt ist, übermittelt der Browser eine Anfrage an den Server.
Die erste Zeile enthält den HTTP-Befehl, den Pfad des angesprochenen Dokuments und die Protokollversion.
In weiteren Zeilen folgen optionale Header-Felder nach dem Schema Feldname: Wert, z.B.
Browser-Version, Hostname des anfordernden Rechners oder URL des Dokuments, in dem sich der
angeklickte Hyperlink befand (den so genannten Referer).
Bestimmte HTTP-Anfragen enthalten nach einer Leerzeile auch noch einen Body, in dem zusätzliche
Daten geschickt werden.
Der einfachste HTTP-Befehl (und der einzige in der ursprünglichen Version HTTP/0.9!) ist GET.
Er bedeutet ganz einfach, dass ein bestimmtes Dokument geliefert werden soll.
Gemäss dem Beispiel aus Punkt 1 wird hier der folgende GET-Befehl betrachtet:
GET /seiten/info.html HTTP/1.1
Hinweis: Die zugehörigen Header-Optionen werden weiter unten genauer erläutert.
3. Der Server nimmt die GET-Anfrage entgegen und muss je nach Dateityp des angeforderten Dokuments
unterschiedlich verfahren: Wenn es sich um ein statisches Dokument handelt (was für dieses
Beispiel der Einfachheit halber angenommen werden soll), kann er es einfach ausliefern. Handelt
es sich dagegen um die Adresse eines serverseitigen Skripts, muss er zunächst das zuständige Programm
aufrufen, dessen Ausgabe entgegennehmen und diese genau wie ein statisches Dokument
an den Client liefern.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 2
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Bevor der Server das Dokument (resp. den Inhalt) sendet, schickt er eine Statusmeldung und einen
HTTP-Header mit diversen Angaben. gefolgt von einer Leerzeile. Die Statusmeldung in der ersten
Zeile der ausgegebenen Daten besteht aus der HTTP-Version, einer standardisierten Statuscodenummer
und deren Textauflösung. Die beiden häufigsten Statusmeldungen dürften 200 OK (Dokument
ist vorhanden und wird mitgeliefert) und 404 Not Found (Dokument existiert nicht) sein. In
diesem Beispiel soll gelten, dass das Dokument gefunden wurde. Die erste Zeile der Antwort lautet
also:
HTTP/1.1 200 OK
In der nächsten Zeile beginnt der HTTP-Header. Die Mindestanforderung für den Header einer
HTTP-Antwort ist die Angabe des MIME-Types des gelieferten Dokuments. Im Fall eines
HTML-Dokuments sieht die entsprechende Header-Zeile so aus:
Content-Type: text/html
Weitere häufig verwendete Header-Felder enthalten beispielsweise das Änderungs- und das Verfallsdatum
des Dokuments oder die Versionsangabe des Servers oder Cookies. Sie werden weiter
unten ausführlich beschrieben. Der Body der HTTP-Antwort, im vorliegenden Beispiel also das eigentliche
Dokument, muss durch eine Leerzeile vom Header getrennt werden.
4. Der Client nimmt die HTTP-Antwort des Servers entgegen. Er interpretiert zunächst die empfangenen
Header-Daten und anschliessend das eigentliche Dokument. Bei einem HTML-Dokument
hat dies meist zur Folge, dass er zahlreiche weitere HTTP-Anfragen stellen muss, um die in das
Dokument eingebetteten Bilder und Multimedia-Dateien anzufordern.
Formal sind sowohl die HTTP-Anfrage als auch die Server-Antwort RFC-822 kompatible Nachrichten.
Dieses Format wurde ursprünglich für E-Mails entwickelt. Es besteht aus beliebig vielen
Header-Zeilen mit dem Format Headername; Wert; der Body (Nachrichteninhalt) wird durch eine
Leerzeile von den Headern getrennt.
Das RFC-822-Format wurde später durch MIME erweitert, um E-Mails in anderen Formaten als
reinem Text und mit Dateianhängen versenden zu können. Eine MIME-Nachricht benötigt das zusätzliche
Header-Feld Content-Type, in dem der Datentyp des Body-Inhalts angegeben wird.
2 Die HTTP-Client-Anfrage
Neben dem bereits erwähnten GET gibt es noch einige andere HTTP-Befehle oder Client-Methoden. Die meisten
von ihnen wurden mit HTTP/1.0 eingeführt; einige wenige dagegen erst mit HTTP/1.1.
In der nachstehenden Tabelle sehen Sie zunächst eine Übersicht über alle HTTP-Methoden. Anschliessend werden
einige von ihnen genauer erläutert und durch Beispiele verdeutlicht.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 3
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Tabelle Übersicht über die HTTP-Methoden:
http-Methode Seit Version Bedeutung
GET 0.9 Dokument anfordern
HEAD 1.0 Nur Header anfordern
POST 1.0 Dokument anfordern und umfangreiche Formulardaten senden
PUT 1.0 Dokument auf dem Server ablegen
DELETE 1.0 Dokument vom Server löschen
LINK 1.0 Verknüpfung erstellen
UNLINK 1.0 Verknüpfung löschen
TRACE 1.1 Proxies im Header zeigen
CONNECT 1.1 Proxy-Zugriff auf gesicherte Server
OPTIONS 1.1 Liste von Optionen anfordern
Die »Vorabversion« HTTP/0.9 unterstützte einzig und allein GET-Anfragen ohne zusätzliche Header.
Die wichtigste Neuerung von HTTP/1.1 gegenüber der Version 1.0 waren nicht die drei zusätzlichen Anfragemethoden
(die nicht häufig verwendet werden). Viel bedeutender ist die neu geschaffene Möglichkeit, die
HTTP-Verbindung zu einem bestimmten Server nach Abschluss einer Dokumentanforderung offen (persistent)
zu halten. Diese Option ist nützlich, wenn ein HTML-Dokument zahlreiche Bilder enthält, die vom selben Server
stammen und ebenfalls per HTTP-Anfrage angefordert werden müssen. Wenn jeweils die Zeit für den Verbindungsaufbau
wegfällt, wird die Seite schneller geladen.
In Version1.1 wurde mit dem Header-Parameter Host: auch die Möglichkeit geschaffen, mehrere Sites (Domains)
einer IP-Adresse zuzuordnen (virtuelle Hosts) und damit IP-Adressen zu sparen.
Das Syntaxschema jeder HTTP-Anfrage sieht folgendermassen aus:
Methode Dateipfad HTTP/Version [Headername: Wert ..][Leerzeile, Body]
Die eckigen Klammern bedeuten, dass die jeweiligen Teile optional sind. Falls die Methode einen Body besitzt,
muss er gemäss RFC 822 auf jeden Fall durch eine Leerzeile vom Header getrennt werden. Erforderlich ist er
auf jeden Fall bei POST und PUT.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 4
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
3 Die Methode GET
Die wichtigste HTTP-Methode überhaupt ist GET. Sie dient dazu, den Webserver zur Auslieferung eines Dokuments
oder der Ausgabe eines serverseitigen Programms aufzufordern.
Eine GET-Anfrage besteht nur aus dem Befehl selbst und einigen optionalen Header-Feldern, besitzt aber
keinen Body. Wenn ein Browser beispielsweise das Dokument info.html im Webserver-Verzeichnis seiten anfordern
möchte, sieht die Anfrage etwa so aus:
GET /seiten/info.html HTTP/1.1 Befehlszeile
Accept: */*
Accept-Language: de, en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1)
Host: www.mynet.de
Connection: Keep-Alive
Header
Die Headerdaten bedeuten Folgendes:
Accept: * / *.
Der Browser akzeptiert Dokumente mit beliebigem MIME-Type (* / * bedeutet: beliebiger
Typ/beliebiger Untertyp).
Accept-Language: de. en–US.
Der Browser bevorzugt Dokumente in den Sprachen Deutsch und US-Englisch (in dieser Reihenfolge).
Accept-Encoding: gzip. deflate.
Neben unkomprimierten Daten unterstützt der Browser auch Dateien, die mit GZIP beziehungsweise
ZIP (deflate) komprimiert sind.
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1).
Versionsangabe des Browsers. Dies dient dem Erstellen der bekannten Browser-Statistiken und
ermöglicht es Webentwicklern, an verschiedene Browser angepasste Versionen von Dokumenten
anzubieten. In diesem Beispiel handelt es sich um den Internet Explorer 9.0 unter Windows 7.
Host: www.mynet.de.
Zur Unterscheidung virtueller Hosts (mehrere Sites mit gleicher IP-Adresse). Da die IPDatagramme
nur die IP-Adresse, aber nicht den Hostnamen enthalten, weiss der Server nur durch
dieses Header-Feld, welche konkrete Website gemeint ist.
Connection: Keep-Alive.
Die HTTP-Verbindung soll nach der Beantwortung der Anfrage offen gehalten werden (nur
HTTP/1.1). Der Server kann allerdings nicht dazu gezwungen werden, die Verbindung beizubehalten;
es handelt sich nur um eine Art Empfehlung.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 5
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Wenn die Anfrage erfolgreich beantwortet wird, könnte die Antwort des Servers so aussehen:
HTTP/1.1 200 OK Antwort
Date: Thu, 26 Apr 2011 13:50:25 GMT
Server: Apache/2.4.1
Last-Modified: Fri. 21 Nov 2010 01:45:53 GMT
ETag: "2e986a-b20-fe93242e"
Content-Length: 1936
Connection: close
Content-Type: text/html
Header
-- Leerzeile --
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//Transitional//EN">
<html> <head> […]
Body
Die Headerdaten bedeuten Folgendes:
Date: Thu, 26 Apr 2011 13:50:25 GMT.
Gibt Datum und Uhrzeit auf dem Server inklusive Zeitzone an.
Server: Apache/2.4.1.
Servertyp und Version des Servers (aus Sicherheitsgründen meist ohne Version).
Last-Modified: Fri, 21 Nov 2010 01:45:53 GMT.
Datum und Uhrzeit der letzten Änderung der Seite. Diese Angabe ermöglicht es dem Browser beispielsweise,
zu entscheiden, ob die Kopie der Seite in seinem Cache noch aktuell ist.
ETag: "2c986a-b20-fc93242e".
Das ETag (Entity-Tag) wird vom Server erzeugt, wenn er entsprechend konfiguriert ist. Es bestätigt
die Identität eines Dokuments über den URL beziehungsweise den Pfad hinaus. Dies ist nützlich
für Caching- und Proxy-Zwecke.
Content-Length: 1936.
Länge des Bodys in Bytes. Der Browser kann anhand dieser Angabe überprüfen, ob die Lieferung
vollständig ist.
Connection: close.
Der Server schliesst die Verbindung nach Abschluss dieser Anfrage.
Content-Type: text /html.
Der MIME-Type des Dokuments ist HTML, Haupttyp Text, Untertyp HTML.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 6
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Der Browser kann über eine GET-Anfrage auch Formulardaten übermitteln, das heisst, die Eingabe in ein
HTML-Formular wird zusammen mit der Anfrage gesendet.
In der Formulardefinition im HTML-Dokument kann zu diesem Zweck festgelegt werden, ob das Formular
mittels GET oder POST übertragen wird.
Bei der Formulardatenübertragung mit GET werden die Formulardaten hinter einem? an den angeforderten
URL angehängt.
Wenn ein HTML-Formular seine Daten per GET versenden soll, benötigt das zuständige <form>-Tag ein Attribut
namens method mit dem Wert "GET". Zum Beispiel wird das folgende Formular mittels GET an das PHPSkript
test. php versandt:
<form action=“test.php“ methode=“GET“>
…
</form>
Die Befehlszeile der HTTP-Anfrage, die beim Absenden dieses Formulars generiert wird, sieht so aus:
GET /test.php?Formulardaten HTTP/l.l
Der Anhang hinter dem Fragezeichen wird als Query-String bezeichnet. Die einzelnen Formularfelder haben
die Form Name=Wert und werden durch &-Zeichen oder Semikola (;) voneinander getrennt. Zusätzlich müssen
die eigentlichen Formulardaten URL-codiert werden, weil zahlreiche Zeichen in URLs nicht zulässig sind:
Leerzeichen werden durch + ersetzt; fast alle Zeichen, die keine Buchstaben oder Ziffern sind, werden durch ein
%-Zeichen und ihren hexadezimalen ASCII- beziehungsweise ANSI-Code ersetzt. Betrachten Sie beispielsweise
folgende Formularfelder:
user=Peter Müller
age=35
place=Köln
Angenommen, das Formular wird an das PHP-Skript guest.php im Server-Verzeichnis gb versendet. Dann sieht
die eigentliche Befehlszeile der entsprechenden GET-Anfrage so aus:
GET /gb/guest.php?user=Peter+M%FCller&age=35&place=K%F6ln HTTP/l.1
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 7
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
4 Die Methode POST
POST ist die bevorzugte Methode zur Übermittlung von Formulardaten an den Server. Anders als bei GET werden
die Daten nicht an den URL des angesprochenen Skripts angehängt, sondern im Body der HTTP-Anfrage
übertragen. Dies hat wichtige Vorteile:
Die Datenmenge kann beliebig gross sein. Bei GET ist sie auf 2000 Zeichen beschränkt, da dies die
maximale Länge für URLs ist.
Die Formulardaten müssen nicht zwangsläufig URL-codiert werden wie bei GET. Statt dessen
kann wie bei einer HTTP-Antwort ein Content -Type-Header angegeben werden - dies erledigt der
Browser automatisch, wenn die HTML-Formulardefinition ein Attribut namens enctype enthält,
das den entsprechenden MIME-Type angibt, zum Beispiel
<form action="test.php" method="POST" enctype="application/x wwwform-
urlencoded"> ….
</form>
Diese Angabe sorgt für die standardmässige URL-Codierung. Eine interessantere Variante ist der
MIME-Type multipart/form-data. Dabei handelt es sich um eine MIME-Multipart-Nachricht,
die einer E-Mail mit Attachments (multipart/mixed) ähnelt. Formulardaten in diesem Format können
aus mehreren Teilen mit jeweils eigenem Content - Type-Header bestehen. Dies ermöglicht vor
allem Datei-Uploads per HTML-Formular.
Wenn ein serverseitiges Skript per POST-Anfrage angefordert wird, ist garantiert, dass es bei jedem
Aufruf neu ausgeführt wird. Am separaten Versand der Daten im Body der HTTP-Anfrage
bemerken der Browser und die eventuell beteiligten Proxy-Server, dass diese Daten auf jeden Fall
an das eigentliche serverseitige Programm ausgeliefert werden müssen.
GET-Anfragen hängen die Formulardaten dagegen wie erwähnt an den URL an, so dass es sich
formal gar nicht um Datenversand handelt. Bei serverseitigen Anwendungen ist es aber oft wichtig,
dass sie auch wirklich bei jedem Aufruf ausgeführt werden, weil sie meist auch etwas hinter den
Kulissen erledigen - zum Beispiel Daten in einer Datenbank ergänzen.
Aus diesem Grund wird bei einer GET-Anfrage, die ein serverseitiges Skript aufruft, oft eine durch
Programmierung erzeugte Zufallszahl oder Datum und Uhrzeit als Pseudoparameter angefügt: Da
sich auf diese Weise unterschiedliche URLs wie script. php?dummy=52784 oder script.
php?dummy=2003_1L 30_15_45 ergeben, kommt kein Browser oder Proxy-Server auf die Idee,
einen weiteren Aufruf des Skripts für ein bereits im Cache befindliches Dokument zu halten.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 8
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Nehmen Sie als Beispiel an, die drei folgenden Formularfelder sollten mittels POST an das serverseitige Skript
bestell.php im Verzeichnis pizza versandt werden:
groesse=m
belag=funghi
extra=Bitte schneiden!
Das zugehörige HTML-Formular ist folgendermassen definiert:
<form action="bestell.php" method="POST" enctype="application/x www-formurlencoded">
....
</form>
Beim Absenden des Formulars wird aus diesen Angaben die folgende POST-Anfrage erzeugt (das enctype-
Attribut sorgt auch hier für eine URL-Codierung der Formulardaten):
POST /pizza/bestell.php HTTP/1.1 Befehlszeile
Accept: */*
Accept-Language: de, en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1)
Referer: http://www.mynet.de/pizza/bestell.html
Host: www.mynet.de
Content-Length: 47
Content-Type: application/x-www-form-urlencoded
Header
-- Leerzeile --
groesse=m&belag=funghi&extra=Bitte+schneiden%21
Body
Die meisten der diversen Header-Felder wurden bereits erläutert.
Bemerkenswert ist, dass in dieser Anfrage Content-Type und Content-Length vorkommen, die bei Anfragen wie
GET oder HEAD nur in der Antwort vorkommen. Sie beschreiben wie bei einer HTTP-Antwort den (in diesem
Fall aus der enctype-Angabe im <form>-Tag stammenden) Datentyp und die Länge des Body-Inhalts.
Der Header Referer gibt an, von welchem Dokument die Anfrage ausging, das heisst, auf welcher Seite der Hyperlink
angeklickt oder das Formular abgeschickt wurde.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 9
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Wenn der Server eine POST-Anfrage erhält, reicht er die erhaltenen Formulardaten an das im URL angegebene
Skript weiter. Der Server antwortet im Erfolgsfall wie bei einer GET-Anfrage mit einer HTTP-Antwort mit dem
Statuscode 200 und einem Body, der ein Dokument enthält, das der Browser daraufhin anzeigt, zum Beispiel
HTTP/1.1 200 OK Antwort
Date: Thu, 26 Apr 2011 19:50:25 GMT
Server: Apache/2.4.1
Last-Modified: Fri. 21 Nov 2008 07:28:34 GMT
ETag: "394bcd-2c2-6d94b63a"
Accept-Ranges: bytes
Connection: close
Content-Length: 2782 Content-Type: text/html
Header
-- Leerzeile --
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//Transitional//EN">
<html>
<head>
[…]
Body
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 10
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
5 Laborübung: Network Analyzer / Packet Sniffer
Zeitaufwand: ca. 60 Min.
Einführung
Der Network-Analyzer / Paket Sniffer ist eines der wichtigsten Tools eines Netzwerktechnikers und zwar nicht
um in den Daten anderer rum zu schnüffeln, sondern um bei Problemen die Pakete und die Vorgänge im Netz
bis in letzte Detail analysieren zu können. Der Analyzer kennt alle verschiedenen Header und Headerfelder der
unterstützen Protokolle und stellt diese möglichst leicht lesbar dar. Die Interpretation diese Werte bleibt jedoch
dem Menschen überlassen, das heisst zur Fehlerbehebung müssen sie selber die korrekten Werte kennen!
Durch einen speziellen Modus der Netzwerkkarte (Promiscous Mode) zeichnet der Network-Analyzer nicht nur
die Datenübertragung des eigenen PCs auf, sondern sämtliche Pakete, die er auf dem Kabel sieht. Da in einem
produktiven Netz oft sehr viele Daten übertragen werden, sind Filter ein wichtiges Feature von Analyzern. Damit
definieren Sie, welche Daten für Sie interessant sind und aufgezeichnet werden (z.B. nur bestimmten Protokolle
oder Adressen).
Ziele
Sie verstehen, wozu ein Network-Analyzer dient und wie man ihn einsetzt.
Sie können mit einem Network-Analyzer Daten aufzeichnen, die verschiedenen Header in den aufgezeichneten
Daten erkennen und den OSI-Layers und Protokollen zuordnen.
Sie können die Filter eines Network-Analyzers so konfigurieren, dass nur Pakete, die den Vorgaben
entsprechen, aufgezeichnet werden, beispielsweise HTTP-Pakete.
Voraussetzungen
Sie kennen den Aufbau des OSI-Schichtmodells und können ein Protokollposter (Übersicht in der die Protokolle
den Layers zugeordnet sind) lesen.
Werkzeuge / Vorbereitung
Vernetzter Windows oder Linux PC mit installiertem Network-Analyzer (z.B. Wireshark + Win-
Pcap).
Protokollposter, um die Protokolle zuzuordnen.
Aufgabe
Lernen Sie die Bedienung eines Network-Analyzers kennen. Identifizieren Sie in einem aufgezeichneten Paket
die Header der Protokolle in den verschiedenen Layers. Da Sie in einem produktiven Netz immer sehr viele
Datenpakete aufzeichnen, ist es schwierig, die für Sie interessanten Pakete zu finden. Konfigurieren Sie zu dieINFORMATIONS-
TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 11
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
sem Zweck die Filter des Network-Analyzers. Führen Sie die im Abschnitt „Vorgehen“ beschriebenen Schritte
durch und dokumentieren Sie diese mit Printscreens. Beantworten Sie anschliessend die Kontrollfragen.
Abgabe Dokumente
Antworten zu den Kontrollfragen aus diesem Dokument
Dokumentation der Network-Analyzer-Beispiele mit Printscreens
Abgabetermin
Siehe BSCW
Vorgehen
Lesen Sie zuerst das Dokument HTTP-Protokoll als Einleitung zu dieser Laborübung durch. Starten Sie den
Network-Analyzer. Starten Sie den Capture-Vorgang (Aufzeichnung). Nachdem Sie einige Pakete aufgezeichnet
haben. Schauen Sie sich die Pakete an, die mit HTTP bezeichnet sind.
Konfigurieren Sie nun den Filter des Network-Analyzers so, dass Sie nur noch HTTP-Pakete, die von und zu
Ihrem PC gehen, sehen. Dazu müssen Sie die Dokumentation/Help studieren.
Beschreiben Sie den Ablauf einer HTTP-Anfrage mit der entsprechenden Antwort an einen von ihnen gewählten
Webserver, beispielsweise wikipedia oder google.
Rufen Sie eine Website bei der Sie sich einloggen müssen auf, beispielsweise BSCW.
INFORMATIONS-TECHNIK
Modul 239
Internetserver in Betrieb nehmen
http Protokoll 12
M239_HTTP_Protokoll_mit_Labor_v1.5.docx / ren suk / 26.04.2012
Kontroll-Fragen
Was für verschiedene Fenster sehen Sie in ihrem Netzwerk-Analyzer und was stellen diese dar?
Wie überprüfen Sie ihren Filter?
Welche Statuscodes liefert ihnen der Webserver?
Welche Informationen gibt ihr Browser im Internet bekannt?
Könnte dies ein Problem sein?
Wie werden Logins und Passwörter übermittelt?
Welche Konsequenzen ziehen Sie daraus?
Ergeben sich Konsequenzen aus diesen Erkenntnissen?
type in youtube; markus schulz - destiny
thank me later
What in the fuck is this thread. TLDR.
Sorry you had your heart broken op.