Output previsto (esempio CNG)
Aggiornamento: Luglio 2008
L'esempio di comunicazione protetta tramite Cryptography Next Generation (CNG) è costituito da tre applicazioni, ognuna delle quali produce una notevole quantità di testo come output. Inoltre, l'esempio include cinque versioni che producono output diversi. Per ulteriori informazioni su queste applicazioni e versioni, vedere Esempio di comunicazione protetta tramite CNG e Cenni preliminari sul codice sorgente.
Questo argomento è costituito dalle sezioni seguenti, in cui vengono visualizzate determinate parti dell'output:
Alice, menu di opzioni
Versioni 1-5 senza intercettazione, modalità non dettagliata
Versione 3 con intercettazione, modalità non dettagliata
Versioni 4-5 con intercettazione, modalità dettagliata
Nelle sezioni di output un segno di due punti seguito da un segno di maggiore (:>) indica un prompt. I puntini di sospensione (...) indicano le parti in cui sono state omesse le righe di output che non sono cambiate rispetto al blocco di output precedente.
Nella figura seguente sono illustrate le tre finestre della console all'inizio di una sessione:
Alice, menu di opzioni
Nell'output seguente viene mostrato il menu di opzioni che Alice visualizza all'inizio della sessione.
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
Versioni 1-5 senza intercettazione, modalità non dettagliata
In questa sezione sono visualizzate le parti dell'output generate da Alice.exe, versioni da 1 a 5, quando si sceglie la modalità non dettagliata e si disattiva l'intercettazione da parte di Mallory.
Alice, versione 1
Nell'output seguente viene mostrato quello che si verifica quando Alice e Bob avviano uno scambio di messaggi di base senza crittografia, firme digitali o intercettazione.
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, versione 2
Nell'output seguente viene mostrato quello che si verifica quando Alice e Bob utilizzano chiavi di crittografia per crittografare i messaggi.
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, versioni 3-5
Nell'output seguente viene mostrato quello che si verifica quando Alice e Bob applicano firme digitali a chiavi e messaggi. Poiché il flag fMallory è false (ovvero, non si verifica alcuna intercettazione), l'output è quasi identico a quello della sezione precedente.
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:
-----------------------------------------------------------------------
...
Versione 3 con intercettazione, modalità non dettagliata
In questa versione viene mostrato quello che si verifica quando il flag fMallory è impostato su true. Esaminare con attenzione l'indirizzo che Bob riceve da Alice. Confrontarlo con l'indirizzo ricevuto da Bob nella sezione precedente. È possibile rilevare che Mallory intercetta l'indirizzo e lo modifica leggermente.
Mallory è in grado di intercettare i messaggi anche se Alice e Bob inviano una firma digitale con ognuno di essi. Il motivo è che inviano una chiave di firma digitale attraverso lo stesso canale non protetto utilizzato per la chiave di crittografia. Mallory è in grado di intercettare entrambe le chiavi. Utilizza le chiavi di crittografia per crittografare i messaggi e la chiave di crittografia digitale per firmarli. Poiché Alice e Bob utilizzano le stesse chiavi, nessuno dei due è diffidente.
Bob, versione 3
L'output seguente proviene dalla finestra della console di Bob. Indica i messaggi che Bob riceve da 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, versione 3
L'output seguente proviene dalla finestra della console di Mallory. Indica che Mallory intercetta e modifica i messaggi di Alice e di Bob.
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!
-----------------------------------------------------------------------
...
Versioni 4-5 con intercettazione, modalità dettagliata
Nelle versioni 4 e 5 Alice invia a Bob una chiave di firma digitale privata, che entrambi utilizzano per firmare i messaggi. Mallory non è al corrente del canale privato utilizzato da Alice per l'invio della chiave a Bob. Pertanto, continua a utilizzare la chiave di firma digitale che ha intercettato sul canale pubblico.
Bob, versione 4
In questa sezione viene visualizzato l'output dettagliato completo. È possibile individuare la chiave di firma digitale crittografata, la chiave di crittografia dei messaggi e i messaggi crittografati. Questa versione include anche avvisi di sicurezza quando viene rilevata una firma digitale non verificata.
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, versione 5
Analogamente alla versione precedente, nella versione 5 viene utilizzata la chiave di firma digitale privata per firmare la chiave di crittografia dei messaggi. Inoltre, la sessione viene chiusa non appena viene rilevato un errore di sicurezza.
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
Vedere anche
Concetti
Esempio di comunicazione protetta tramite Cryptography Next Generation (CNG)
Cenni preliminari sulla crittografia
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Luglio 2008 |
Argomento aggiunto. |
Miglioramento delle informazioni. |