Erwartete Ausgabe (CNG-Beispiel)

Das Beispiel für sichere Cryptography Next Generation (CNG)-Kommunikation besteht aus drei Anwendungen, die jeweils große Mengen an Text ausgeben.Außerdem enthält das Beispiel fünf Versionen, die unterschiedliche Ausgaben erzeugen.Weitere Informationen über diese Anwendungen und Versionen finden Sie unter Beispiel für sichere Cryptography Next Generation (CNG)-Kommunikation sowie Quellcodeübersicht.

Dieses Thema besteht aus den folgenden Abschnitten, in denen ausgewählte Teile der Ausgabe angezeigt werden:

  • Alice, Optionsmenü

  • Versionen 1-5 ohne Abfangen, nicht ausführlicher Modus

  • Version 3 mit Abfangen, nicht ausführlicher Modus

  • Versionen 4-5 mit Abfangen, ausführlicher Modus

In den Ausgabeabschnitten wird eine Aufforderung durch einen Doppelpunkt gefolgt von einem Größer-als-Zeichen (:>) angegeben.Mit Auslassungspunkten (...) wird angegeben, wo Ausgabezeilen ausgelassen wurden, wenn diese gegenüber dem vorherigen Ausgabeblock nicht geändert wurden.

Die folgende Abbildung zeigt alle drei Konsolenfenster zu Beginn einer Sitzung:

CNG-Ausgabe

Alice, Optionsmenü

Die folgende Ausgabe zeigt das Optionsmenü, das Alice zu Beginn der Sitzung anzeigt.

Cryptography Next Generation Secure Communication Example
------------------------------------------------------------------
Please select a security model:
1 = Plaintext only.2 = Encrypt messages.3 = Encrypt messages, use public key to digitally sign messages.4 = Encrypt messages, use private key to digitally sign messages.5 = Encrypt messages, use private key to digitally sign messages
    and cryptographic keys.Causes Abort on security failures.x = Exit.:> 3
Include Mallory?y/n
:> y
Verbose output mode?y/n
:> y

Versionen 1-5 ohne Abfangen, nicht ausführlicher Modus

In diesem Abschnitt werden Teile der Ausgabe angezeigt, die von Alice.exe, Versionen 1 bis 5, generiert werden, wenn Sie den nicht ausführlichen Modus wählen und das Abfangen durch Mallory deaktivieren.

Alice, Version 1

Die folgende Ausgabe zeigt, was geschieht, wenn Alice und Bob Nachrichten ohne Verschlüsselung, digitale Signaturen oder Abfangen austauschen.

Cryptography Next Generation Secure Communication Example
Security Version: 1  Mode: Regular   Mallory: no   Signatures: no
-----------------------------------------------------------------------
Hi, I'm Alice Green.My sales associate is Bob White.I need to send him a customer order right now!:> Hi Bob.I have a new customer contact.Hi Alice.That is good news.Please send it to me.:> Here it is: Coho Winery, 111 AnyStreet, Chicago
   Thanks, I'll arrange to meet him....

Alice, Version 2

Die folgende Ausgabe zeigt, was geschieht, wenn Alice und Bob kryptografische Schlüssel verwenden, um ihre Nachrichten zu verschlüsseln.

Cryptography Next Generation Secure Communication Example
Security Version: 2   Mode: Regular   Mallory: no   Signatures: no
-----------------------------------------------------------------------
...-----------------------------------------------------------------------
Now Bob will publicly send me his public cryptographic key:
Listening...-----------------------------------------------------------------------
Now that our keys have been exchanged,
we can have an encrypted conversation:
-----------------------------------------------------------------------
:> Hi Bob.I have a new customer contact.Hi Alice.That is good news.Please send it to me.:> Here it is: Coho Winery, 111 AnyStreet, Chicago
   Thanks, I'll arrange to meet him.-----------------------------------------------------------------------
...

Alice, Versionen 3-5

Die folgende Ausgabe zeigt, was geschieht, wenn Alice und Bob ihre Schlüssel und Nachrichten mit digitalen Signaturen versehen.Da das fMallory-Flag false lautet (d. h. es findet kein Abfangen statt), ist die Ausgabe fast identisch mit dem vorherigen Abschnitt.

Cryptography Next Generation Secure Communication Example
Security Version: 3   Mode: Regular   Mallory: no   Signatures: yes
-----------------------------------------------------------------------
Hi, I'm Alice Green.My sales associate is Bob White.I need to send him a customer order right now!First, I will send Bob a digital signature key over a public channel.-----------------------------------------------------------------------
Now we will exchange our public cryptographic
keys through a public channel.First, I'll send Bob my key.Sending...-----------------------------------------------------------------------
Now Bob will publicly send me his public cryptographic key:
Listening...-----------------------------------------------------------------------
Now that our keys have been exchanged,
we can have an encrypted conversation:
-----------------------------------------------------------------------
...

Version 3 mit Abfangen, nicht ausführlicher Modus

Diese Version zeigt, was geschieht, wenn das fMallory-Flag auf true festgelegt wird.Schauen Sie sich die Adresse genau an, die Bob von Alice empfängt.Vergleichen Sie sie mit der Adresse, die Bob im vorherigen Abschnitt empfangen hat.Wie Sie sehen, fängt Mallory die Adresse ab und verändert sie ein wenig.

Mallory kann die Nachrichten abfangen, obwohl Alice und Bob eine digitale Signatur mit jeder Nachricht senden.Dies liegt daran, dass der digitale Signaturschlüssel über denselben nicht sicheren Kanal wie der kryptografische Verschlüsselungsschlüssel gesendet wird.Mallory ist in der Lage, beide Schlüssel abzufangen.Er verwendet die kryptografischen Schlüssel, um seine Nachrichten zu verschlüsseln, und den digitalen Signaturschlüssel, um die Nachrichten zu signieren.Da Alice und Bob dieselben Schlüssel verwenden, wird niemand misstrauisch.

Bob, Version 3

Die folgende Ausgabe stammt aus dem Konsolenfenster von Bob.Sie zeigt die Nachrichten, die Bob von Mallory empfängt.

Cryptography Next Generation Secure Communication Example
Security Version: 3   Mode: Regular   Mallory: yes   Signatures: yes
----------------------------------------------------------------------
Hi, I'm Bob White: My sales associate is Alice Green.I think she has a new customer contact for me!First, Alice will publicly send me a digital signature key.-----------------------------------------------------------------------
Now we will exchange our public cryptographic
keys through a public channel.First, Alice will send me her key.Listening...-----------------------------------------------------------------------
Next, I will send my public cryptographic key to Alice:
Sending...-----------------------------------------------------------------------
Now that our keys have been exchanged,
we can have an encrypted conversation:
-----------------------------------------------------------------------
   Hi Bob.I have a new customer contact.:> Hi Alice.That is good news.Please send it to me.Here it is: Coho Winery, 111 AnyStreet, Chicago
:> Thanks, I'll arrange to meet him.-----------------------------------------------------------------------...

Mallory, Version 3

Die folgende Ausgabe stammt aus dem Konsolenfenster von Mallory.Sie zeigt, wie Mallory die Nachrichten von Alice und Bob abfängt und ändert.

Cryptography Next Generation Secure Communication Example
Security Version: 2   Mode: Regular   Mallory: yes   Signatures: no
-----------------------------------------------------------------------
Hi, I'm Mallory, the man in the middle.I wonder what Alice and Bob are talking about.I think I'll listen in.-----------------------------------------------------------------------
Alice and Bob are going to exchange their
public cryptographic keys through a public channel.First, Alice will send Bob her key.Good.I just intercepted Alice's public key:
Next, I will send my MalloryAlice public cryptographic key to Alice:

Sending...Next, I will send my MalloryBob public cryptographic key to Bob:

Sending...Now I will receive Bob's public key:
Good.I just intercepted Bob's public key:
-----------------------------------------------------------------------
Now that they have exchanged their keys,
they can have a secure conversation:
-----------------------------------------------------------------------
From Alice:
   Hi Bob.I have a new customer contact.To Bob:
:> Hi Bob.I have a new customer contact.From Bob:
   Hi Alice.That is good news.Please send it to me.To Alice:
:> Hi Alice.That is good news.Please send it to me.From Alice:
   Here it is: Coho Winery, 111 AnyStreet, Chicago
To Bob:
:> Coho Winery, OneEleven EveryStreet, Chicago
From Bob:
   Thanks, I'll arrange to meet him.To Alice:
:> I think the address is wrong, but I'll keep trying.-----------------------------------------------------------------------
I am so clever!Here is what I received: Coho Winery, 111 AnyStreet, Chicago
and here is what I sent: Coho Winery, OneEleven EveryStreet, Chicago

They will never catch me!-----------------------------------------------------------------------
...

Versionen 4-5 mit Abfangen, ausführlicher Modus

In den Versionen 4 und 5 sendet Alice Bob einen privaten digitalen Signaturschlüssel, den sie zum Signieren ihrer Nachrichten verwenden.Mallory weiß nichts von dem privaten Kanal, den Alice zum Senden des Schlüssels an Bob verwendet.Deshalb verwendet er weiterhin den digitalen Signaturschlüssel, den er auf dem öffentlichen Kanal abgefangen hat.

Bob, Version 4

In diesem Abschnitt wird die vollständige, ausführliche Ausgabe angezeigt.Sie können den verschlüsselten digitalen Signaturschlüssel, den Schlüssel zur Nachrichtenverschlüsselung und die verschlüsselten Nachrichten sehen.Diese Version enthält außerdem Sicherheitswarnungen, wenn die nicht überprüfte digitale Signatur erkannt wird.

Cryptography Next Generation Secure Communication Example
Security Version: 4   Mode: Verbose   Mallory: yes   Signatures: yes
-----------------------------------------------------------------------
Hi, I'm Bob White: My sales associate is Alice Green.I think she has a new customer contact for me!First, Alice will publicly send me a digital signature key.Here it is:

☻???x???♥??♦ ?ie??t?VD?A?Y??▬☻§?Ed►??H?Hm2G¶?E??N?!`?☺¶^[←?↨?▬d?K9zdnJ
?☻?:↓?☺ ?L?K???C+♦??c?*7↓l?§??-??`L?h↓?GF?=???????????↔??&1|☺?????%?_????Now Alice privately sent me a digital signature key.I will use it instead.Here it is:

0??☻☺ 0►♠*?H?=☻☺♠♣+?♦ #♦??0??☻☺☺♦B☺??t
???♥??♦☺?V??)???s<m{sGM!?;~??d??Oc`♦?j??⌂§?d??b??????????,?♠  ??4?]???.??☺DN)3?=T↨??p>M???X?B????50??????E§?B?nr?z?/r??U????7,⌂?n?SL??,+
-----------------------------------------------------------------------
Now we will exchange our public cryptographic
keys through a public channel.First, Alice will send me her key.Listening...========  SECURITY ERROR!!===========
Cryptographic Key: Failure verifying digital signature.Here it is: an ECDH public KeyBlob
encoded within an XML string:

<ECDHKeyValue xmlns="http://www.w3.org/2001/04/xmldsig-more#">
  <DomainParameters>
    <NamedCurve URN="urn:oid:1.3.132.0.35" />
  </DomainParameters>
  <PublicKey>
    <X Value="5810718142462989354994453278603666484069278865008031317447
037792465942980799716553452148826647328907514445799324904361787703912513
195249832409677600954844765" />
    <Y Value="3280794663882281563639053942916365892460715799983953322007
508591453180081202861463948160922147015703385178443338980028430040655324
927942630539423460021361227" />
  </PublicKey>
</ECDHKeyValue>
-----------------------------------------------------------------------
Next, I will send my public cryptographic key to Alice:

Sending...Here it is: an ECDH public KeyBlob
encoded within an XML string:

<ECDHKeyValue xmlns="http://www.w3.org/2001/04/xmldsig-more#">
  <DomainParameters>
    <NamedCurve URN="urn:oid:1.3.132.0.35" />
  </DomainParameters>
  <PublicKey>
    <X Value="2455055322326895878650801953827546401118074905382497016837
137236585732889354895381530732942808710858667195863286496064074787137035
924365385948877294503335106" />
    <Y Value="1218921928274644208762495755994900948182290688858431853778
446672036473174952224569387259723200925573098776195363817761522302928910
53555717400648130000558239" />
  </PublicKey>
</ECDHKeyValue>
-----------------------------------------------------------------------
Now that our keys have been exchanged,
we can have an encrypted conversation:
-----------------------------------------------------------------------
   Incoming message:

??(??m?⌂4i?JOgion vector:  ?Ciphertext:
??∟↓[\▼?3♦Z GTGa>?&??,?x3f1Sh7L↓n?dc?I?A??\?P?l⌂X⌂@?V#??G??(O???6?♦☻)?PJ???@{N

   Signature:
?QF????¶☻       ~?YA?????oJ?7??{◄?oVg???L?→←3?⌂§?Y???Ca??S?Rl?v8(??????I0 ?♦?|???L9|??????????♦&)??gm??28?!??L?U?, ???N??@4??2§S

   Incoming decoded message:

   Hi Bob.I have a new customer contact.SECURITY WARNING!Received signature did not verify
-----------------------------------------------------------------------

:> Hi Alice.That is good news.Please send it to me.-----------------------------------------------------------------------
   Incoming message:

   Initialization vector:  ??4??♂??§??♫:(??Ciphertext:
?m?????y??x'~?<⌂yZ???G??Q????§????↕G??☼M?(?y[§▼→a?f%L??????←    ????y???&??z ?p?????[?p

   Signature:
 ???7[?ju???4??]???F?l?'-A??@?l??‼?¶F"k???g??♀{??S??????▲?t.?;???↕▬?u?♠♀
?!%}?????∟?☻?*?a?"◄o??▬??,?w??F▲k??Y∟?▲???j??T???↕♫2???Incoming decoded message:

   Coho Winery, OneEleven EveryStreet, Chicago
SECURITY WARNING!Received signature did not verify
-----------------------------------------------------------------------
:> Thanks, I'll arrange to meet him.-----------------------------------------------------------------------

Bob, Version 5

Wie in der vorherigen Version wird in Version 5 der private digitale Signaturschlüssel zum Signieren des Schlüssels zur Nachrichtenverschlüsselung verwendet.Außerdem wird in dieser Version die Sitzung beendet, sobald ein Sicherheitsfehler auftritt.

Cryptography Next Generation Secure Communication Example
Security Version: 5   Mode: Verbose   Mallory: False   Sign keys: true
-----------------------------------------------------------------------
Hi, I'm Bob White: My sales associate is Alice Green.I think she has a new customer contact for me!First, Alice will publicly send me a digital signature key.Here it is:
...Now Alice will privately sent me a digital signature key.I will use it 
instead.Here it is:
...-----------------------------------------------------------------------
Now we will exchange our public cryptographic
keys through a public channel
First, Alice will send me her key.Listening...========  SECURITY ERROR!===========
Cryptographic Key: Failure verifying digital signature.Contact your security administrator.TERMINATING SESSION

Siehe auch

Konzepte

Beispiel für sichere Cryptography Next Generation (CNG)-Kommunikation

Kryptografische Dienste