Поделиться через


Ожидаемый выводимый результат (пример CNG)

Пример защищенного обмена данными с шифрованием CNG состоит из трех приложений, в каждом из которых выводится большой объем текстовой информации.Кроме того, пример включает пять версий, выводимые данные каждой из которых различны.Дополнительные сведения об этих приложениях и их версиях см. в разделах Пример защищенного обмена данными с шифрованием CNG и Общие сведения об исходном коде.

Этот раздел состоит из следующих подразделов, в которых представлены отдельные фрагменты выводимых данных.

  • Алиса, меню параметров

  • Версии 1–5 без перехвата и подробного вывода

  • Версия 3 с перехватом, без подробного вывода

  • Версии 4–5 с перехватом и подробным выводом

В примерах выводимых данных двоеточие, после которого стоит знак больше (:>), означает приглашение.Многоточиями (...) помечены пропуски выводимых строк, которые не изменились по сравнению с предыдущим фрагментом результатов.

На следующем рисунке показаны все три окна консоли в начале сеанса.

Выходные данные CNG

Алиса, меню параметров

В следующем фрагменте показано меню параметров, которое отображается в окне Алисы в начале сеанса.

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

Версии 1–5 без перехвата и подробного вывода

В этом разделе показан фрагмент текста, созданного приложением Alice.exe при выполнении версий 1–5 в режиме без перехвата со стороны Мэллори и без подробного вывода.

Алиса, версия 1

Ниже показано, что происходит, когда Алиса и Боб просто обмениваются сообщениями без шифрования, цифровых подписей и перехвата со стороны Мэллори.

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....

Алиса, версия 2

Ниже показано, что происходит, когда Алиса и Боб обмениваются сообщениями с использованием ключей шифрования.

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.-----------------------------------------------------------------------
...

Алиса, версии 3–5

Ниже показано, что происходит, когда Алиса и Боб подписывают свои ключи и сообщения цифровыми подписями.Поскольку флаг fMallory имеет значение false (т. е. никто не вмешивается в обмен сообщениям), результат почти не отличается от предыдущего сценария.

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:
-----------------------------------------------------------------------
...

Версия 3 с перехватом, без подробного вывода

В этом разделе показано, что происходит, когда флаг fMallory имеет значение true.Обратите внимание на адрес, который Боб получает от Алисы.Сравните его с адресом, который Боб получил в предыдущем разделе.Можно видеть, что Мэллори перехватил адрес и немного изменил его.

Мэллори может перехватывать сообщения, хотя Алиса и Боб снабжают каждое сообщение цифровой подписью.Это связно с тем, что они передают ключ цифровой подписи по тому же незащищенному каналу, что и ключ шифрования.Мэллори может перехватить оба ключа.Он использует ключи шифрования, чтобы шифровать свои сообщения, и ключ цифровой подписи, чтобы подписывать их.Поскольку Алиса и Боб используют те же самые ключи, они не подозревают об утечке информации.

Боб, версия 3

Следующий текст отображается в окне консоли Боба.В нем показаны сообщения, которые Боб получает от Мэллори.

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.-----------------------------------------------------------------------...

Мэллори, версия 3

Следующий текст отображается в окне консоли Мэллори.Он позволяет понять, как Мэллори перехватывает и подменяет сообщения Алисы и Боба.

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!-----------------------------------------------------------------------
...

Версии 4–5 с перехватом и подробным выводом

В версиях 4 и 5 Алиса отправляет Бобу секретный ключ цифровой подписи, с помощью которого они подписывают свои сообщения.Мэллори не знает о закрытом канале, по которому Алиса передает Бобу ключ.Поэтому он продолжает использовать ключ цифровой подписи, который он перехватил на открытом канале.

Боб, версия 4

В этом разделе показана подробная версия выводимого текста.В нем можно увидеть зашифрованный ключ цифровой подписи, ключ шифрования сообщения и зашифрованные сообщения.Кроме того, эта версия включает предупреждения безопасности, которые создаются при обнаружении непроверенной цифровой подписи.

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.-----------------------------------------------------------------------

Боб, версия 5

Как и в предыдущем случае, в этой версии для подписывания ключа шифрования сообщений используется секретный ключ цифровой подписи.Кроме того, в этой версии в случае появления ошибки безопасности закрывается сеанс.

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

См. также

Основные понятия

Пример защищенного обмена данными с шифрованием CNG

Службы криптографии