Share via


Output previsto (esempio CNG)

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:

CNG Output

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)

Servizi di crittografia