Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Використання електронного цифрового підпису у електронному документообігу

Тип роботи: 
Дипломна робота
К-сть сторінок: 
66
Мова: 
Українська
Оцінка: 

були змінені, поки вони передавалися, і що вони не відрізняються від тих, що відправник збирався відправити. 

Таким чином, стосуючись нашого приклада, можна бути упевненим, що запит про резервування за спеціальною ціною зі знижкою був уставлений дійсно партнером, і що ці дані не були змінені, поки вони передавалися. Проте, можливо ситуація, коли дані, передані по Інтернет, можуть бути переглянуті хакерами. Розглянемо, як ця проблема може бути вирішена за допомогою специфікації "Шифрування XML".
 
3.3 Шифрування XML
 
Специфікація шифрування XML задовольняє вимогам конфіденційності XML-повідомлень. Ця специфікація дозволяє реалізувати наступну функціональність:
•шифрування цілого XML-файлу; 
•шифрування будь-якого окремого елемента XML-файлу; 
•шифрування тільки змісту XML-файлу; 
•шифрування даних, відмінних від XML (наприклад, малюнка JPG); 
•шифрування вже зашифрованого елемента ("супершифрування"). 
 
 
3.4 Шифрування цілого XML-файлу
 
Давайте почнемо із шифрування цілого XML-файлу. Лістінг 6 - це приклад такого зашифрованого файлу [3]. При цьому вихідний XML-документ не показаний, оскільки він не потрібний, тому що шифрування XML-файлу своїм результатом має таку ж XML-структуру - за винятком зашифрованої величини, укладеної в елементі CipherValue.
 
Лістінг 6
<?xml version='1.0'?>
 <EncryptedData
    MimeType="text/xml">
    <EncryptionMethod
    <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:KeyName>MyKeyIdentifier</ds:KeyName>
    </ds:KeyInfo>
    <CipherData>
      <CipherValue>B457V645B45........</CipherValue>
    </CipherData>
 </EncryptedData>
 
Кореневий елемент EncryptedData несе зашифровані дані разом з такою необхідною інформацією, як алгоритм, використовуваний для шифрування. Цей елемент містить оголошення простору імен шифрування XML (http://www.w3.org/2001/04/xmlenc#) і атрибут MimeType, значення якого дорівнює text/xml. По цьому атрибуті одержувач цього зашифрованого XML-файлу може зрозуміти, що XML-файл був зашифрований, щоб створити структуру EncryptedData.
Перший нащадок кореневого елемента - елемент EncryptionMethod. Цей елемент містить атрибут Algorithm, що визначає алгоритм, використаний при шифруванні. Його значення дорівнює http://www.w3.org/2001/04/xmlenc#3des-cbc, що визначає алгоритм потрійний DES (Data Encryption Standard, Стандарт шифрування даних).
Елемент ds:KeyInfo той же самий, що і той, котрий використовувався при застосуванні специфікації "Цифровий підпис XML". Необхідно відзначити, що цей елемент був запозичений із простору імен цифрового підпису XML.
Елемент EncryptedData містить ще один дочірній елемент - CipherData, у якого у свою чергу мається дочірній елемент CipherValue. Цей елемент CipherValue несе зашифрований зміст (зашифровану версію XML-документа). Таким чином, результатом шифрування XML-файлу є зміст елемента CipherValue.
 
3.5 Шифрування окремого елемента
 
Як було сказано вище, структура EncryptedData несе зашифровані дані разом з необхідною інформацією. В основі шифрування одиночного елемента XML-файлу лежить аналогічний підхід. Розглянемо Лістінг 7, у якому зашифрований елемент GetSpecialDiscountedBookingForPartners з Лістінгу 1 отриманий простою заміною елементом EncryptedData.
 
Лістінг 7
<?xml version=”1.0”?>
 <SOAP-ENV:Envelope
    xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”>
    <SOAP-ENV:Body>
        <xenc:EncryptedData
             xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
             Type="http://www.w3.org/2001/04/xmlenc#Element">
             <xenc:EncryptionMethod
                 Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
             <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                 <ds:KeyName>MyKeyIdentifier</ds:KeyName>
             </ds:KeyInfo>
             <xenc:CipherData>
                   <xenc:CipherValue>B457V645B45........</xenc:CipherValue>
             </xenc:CipherData>
        </xenc:EncryptedData>
    </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>
 
Порівняємо елемент EncryptedData з Лістінгу 6 з елементом EncryptedData з Лістінгу 7. Неважко бачити, що мається одне розходження: замість атрибута MimeType Лістінгу 6 у Лістінге 7 з'явився атрибут Type. Значення цього атрибута дорівнює http:///www.w3.org/2001/04/xmlenc#Element, що означає, що зашифровано XML-елемент.
Таким чином, при шифруванні елемента XML-файлу варто використовувати ідентифікатор http:///www.w3.org/2001/04/xmlenc#Element як значення атрибута Type. У цьому випадку одержувач зашифрованого XML-файлу буде знати, що зашифровані дані повинні інтерпретуватися як XML-елемент у розшифрованій простій текстовій формі.
 
3.5.1 Шифрування змісту елемента
 
Розглянемо Лістінг 8, у якому зашифровано тільки зміст елемента GetSpecialDiscountedBookingForPartners - для цього цей зміст був замінений структурою EncryptedData. Цей прийом схожий на шифрування елемента (див. Лістінг 7). Відмінність полягає в тому, що цього разу значення атрибута Type тега EncryptedData дорівнює http://www.w3.org/2001/04/xmlenc#Content. Це значення говорить про те, що зашифровані дані повинні інтерпретуватися як зміст елемента.
 
Лістінг 8
<?xml version=”1.0”?>
 <SOAP-ENV:Envelope
    xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”>
    <SOAP-ENV:Body>
        <s:GetSpecialDiscountedBookingForPartners
           xmlns:s=“http://www.MyHotel.com/partnerservice/
            ID="GetSpecialDiscountedBookingForPartners">
            <xenc:EncryptedData
                 xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
                 Type="http://www.w3.org/2001/04/xmlenc#Content">
                 <xenc:EncryptionMethod
                     Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
           
Фото Капча