Očekávaný výstup (Příklad Kryptografické služby nové generace (CNG))
Příklad zabezpečené komunikace kryptografických služeb nové generace (CNG) se skládá ze tři aplikací, z nichž každá vytváří velké množství textového výstupu. Navíc příklad obsahuje pět verzí, které vytváří různý výstup. Další informace o těchto aplikacích a verzích naleznete v tématu CNG Secure Communication Example a Source Code Overview.
Toto téma se skládá z následujících částí, které zobrazují vybrané části výstupu:
Alice, nabídka možností
Verze 1-5 bez zachycení, režim bez komentáře
Verze 3 se zachycením, režim bez komentáře
Verze 4-5 se zachycením, režim s komentářem
V části výstupu označuje dvojtečka následovaná znakem větší než (:>) dotaz. Výpustky (...) označují kde řádky výstupu byly vynechány, pokud zůstaly beze změn od předchozího bloku výstupu.
Následující ilustrace znázorňuje všechny tři okna konzole na začátku relace:
Alice, nabídka možností
Následující výstup zobrazuje nabídku možností, která se Alici zobrazí na začátku relace.
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
Verze 1-5 bez přerušení, režim bez komentáře
Tento oddíl zobrazuje části výstupu generované pomocí Alice.exe, verze 1 až 5, pokud vyberete režim bez komentáře a vypnete zachycení pomocí příznaku Mallory.
Alice, verze 1
Následující výstup zobrazuje co se stane, když se Alena a Bob zabývají výměnou základních zpráv bez šifrování, digitálních podpisů nebo zachycení.
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, verze 2
Následující výstup zobrazuje co se stane, když Alice a Bob používají kryptografické klíče k šifrování jejich zpráv.
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, verze 3-5
Následující výstup zobrazuje co se stane, když Alice a Bob podepíší své klíče a zprávy digitálními podpisy. Protože příznak fMallory má hodnotu false (to znamená, že zde není žádné zachycení), tak je výstup téměř stejný jako v předchozím oddíle.
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:
-----------------------------------------------------------------------
...
Verze 3 se zachycením, režim bez komentáře
Tato verze ukazuje co se stane, když je příznak fMallory nastaven na hodnotu true. Pečlivě si prohlédněte adresu, kterou Bob obdrží od Alice. Porovnejte ji s adresou, kterou Bob obdržel v minulém oddíle. Uvidíte, že příznak Mallory zachycuje adresu a mírně ji změní.
Mallory je schopen zachytit zprávy, ačkoliv Alice a Bob poslali společně s každou zprávou digitální podpis. To proto, že poslali klíč digitálního podpisu prostřednictvím stejného nezabezpečeného kanálu jako kryptografický šifrovací klíč. Mallory je schopen zachytit oba klíče. Používá kryptografické klíče k šifrování jeho zpráv a klíč digitálního podpisu k podepsání zpráv. Protože Alice a Bob používají stejné klíče, nikdo se nestane podezřelým.
Bob, verze 3
Následující výstup je z okna konzole, která patří Bobovi. Zobrazuje zprávy, které Bob obdrží od Mallory.
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, verze 3
Následující výstup je z okna konzole, která patří Mallory. Zobrazuje, jak Mallory zachycuje a mění zprávy od Alice a Boba.
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! -----------------------------------------------------------------------
...
Verze 4-5 se zachycením, režim s komentářem
Ve verzích 4 a 5 Alice odesílá Bobovi soukromý klíč digitálního podpisu, který používají pro podepsání jejich zpráv. Mallory si není vědom soukromého kanálu, který Alice používá k odeslání klíče Bobovi. Proto pokračuje v používání klíče digitálního podpisu, který zachytil na veřejném kanále.
Bob, verze 4
Tento oddíl zobrazuje úplný, podrobný výstup. Můžete vidět šifrovaný klíč digitálního podpisu, šifrovací klíč zprávy a šifrované zprávy. Tato verze také obsahuje upozornění zabezpečení, které se zobrazí, když je zjištěn neověřený digitální podpis.
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, verze 5
Stejně jako v předchozí verzi, verze 5 používá soukromý klíč digitálního podpisu pro podepsání šifrovacího klíče zprávy. Kromě toho tato verze ukončí relaci co nejdříve po zjištění chyby zabezpečení.
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
Viz také
Koncepty
Příklad zabezpečené komunikace Kryptografické služby nové generace (CNG)