Ожидаемый выводимый результат (пример CNG)
Пример защищенного обмена данными с шифрованием CNG состоит из трех приложений, в каждом из которых выводится большой объем текстовой информации.Кроме того, пример включает пять версий, выводимые данные каждой из которых различны.Дополнительные сведения об этих приложениях и их версиях см. в разделах Пример защищенного обмена данными с шифрованием CNG и Общие сведения об исходном коде.
Этот раздел состоит из следующих подразделов, в которых представлены отдельные фрагменты выводимых данных.
Алиса, меню параметров
Версии 1–5 без перехвата и подробного вывода
Версия 3 с перехватом, без подробного вывода
Версии 4–5 с перехватом и подробным выводом
В примерах выводимых данных двоеточие, после которого стоит знак больше (:>), означает приглашение.Многоточиями (...) помечены пропуски выводимых строк, которые не изменились по сравнению с предыдущим фрагментом результатов.
На следующем рисунке показаны все три окна консоли в начале сеанса.
Алиса, меню параметров
В следующем фрагменте показано меню параметров, которое отображается в окне Алисы в начале сеанса.
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