Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробити спосіб контролю легальності взаємодії двох додатків

Реферат Розробити спосіб контролю легальності взаємодії двох додатків





дин з додатків буде працювати в якості веб-Срвіс (сервер), а інше в якості клієнта даного веб - сервісу.

Так само в даному прикладі відсутня необхідність запуску другого додатка або отримання доступу його функціоналу в рамках роботи іншої програми. Для вирішення цих завдань найкраще було б скористатися технологією OLE/ActiveX, яка робить можливим зв'язування і впровадження об'єктів в інші документи та об'єкти.


Питання безпеки


Т.к. завдання полягає в розробці не просто двох додатків, взаємодіючих між собою, а в розробці способу контролю легальності даної взаємодії, було вирішено скористатися можливостями криптографічних функцій фреймворку .NET.

Для забезпечення цілісності даних ми будемо використовувати криптографічні цифрові підписи використовують алгоритми з відкритим ключем. При підписуванні даних за допомогою цифрового підпису, інша сторона може перевірити підпис і переконатися в тому, що дані надійшли з відповідного джерела і не були змінені після підписування. Цифрові підписи зазвичай застосовуються до хеш-кодами, які є відображеннями деяких масивів даних більшого розміру.

Використання цифрових підписів у нашому прикладі вирішує відразу дві проблеми безпеки. По-перше застосування хешування до вихідного XML файлу гарантує цілісність даних і запобігає можливість їх зміни третьою стороною. Хеш функції являють собою певну послідовність символів, сформовану хеш-алгоритмом на основі вихідних даних. У результаті зміни навіть одного символу у вихідних даних призводить до отримання зовсім відмінної хеш-функції. Дана особливість дозволяє бути впевненим у тому, що дані відповідають хеш-функції.

Друга проблема - неможливість бути впевненим, що дані отримані від нашого першого застосування. Зловмисник може зробити підміну даних та хеш-функції на свої, тоді порівняння хеш-функцій не виявить порушення цілісності. Перший додаток шифрує хеш-функцію ассімітрічность алгоритмом застосовуючи свій закритий ключ. Другий додаток дешифрує отримані дані використовуючи відкритий ключ першого застосування і порівнює отриману хеш-функцію з обчисленої на основі отриманих даних. У разі їх збігу з'являється повідомлення про пройдену перевірці. Застосування цифрових підписів дозволяє однозначно ідентифікувати автора.


Додаток


Приклад XML файлу

lt;? xml version= 1.0 ? gt;

lt; numbers gt;

lt; firstEl gt; 123 lt;/firstEl gt;

lt; secondEl gt; 33 lt;/secondEl gt;

lt; Signature xmlns= # justify" gt; lt; SignedInfo gt;

lt; CanonicalizationMethod Algorithm= # justify gt; lt; SignatureMethod Algorithm= # justify gt; lt; Reference URI= gt;

lt; Transforms gt;

lt; Transform Algorithm= # justify" gt; lt;/Transforms gt;

lt; DigestMethod Algorithm=laquo;#raquo;justify"gt;lt;DigestValuegt;fRa5HLoE4P8k2Bqq9/aVheND5RY=lt;/DigestValuegt;

lt;/Reference gt;

lt;/SignedInfo gt;

lt;SignatureValuegt;pV16GUJMtAYQq/qkx4EBWqhb2jyuLx1ni6z20Lp0jA16VZoU1Ltemi6MviNLm4UMbi7boSGG7bN27+vrFZJUv5o+zJBE7sC/fiZkNgQ3xQOC4cxLyrRWeuqobbWDuuut1ayG13m1hzpzWd4uxAKpnmPmMkgM3z2+BNvTUtc0RM4=lt;/SignatureValuegt;

lt;/Signature gt;

lt;/numbers gt;

Вихідний код першої програми

namespace WindowsFormsApplication5

{partial class Form1: Form

{XmlDocument doc=new XmlDocument (); Form1 ()

{();

} void button1_Click (object sender, EventArgs e)

{(saveFileDialog.ShowDialog () == DialogResult.OK)

{firstNumber=Convert.ToInt32 (textBox1.Text); secondNumber=Convert.ToInt32 (textBox2.Text); newDec=doc.CreateXmlDeclaration ( 1.0 raquo ;, null, null) ;. AppendChild (newDec); newRoot=doc.CreateElement ( numbers ); firstEl=doc.CreateElement ( firstEl ) ;. InnerText=firstNumber.ToString () ;. AppendChild (firstEl); secondEl=doc.CreateElement ( laquo ; secondEl ) ;. InnerText=secondNumber.ToString () ;. AppendChild (secondEl);

doc.AppendChild (newRoot);

//Створення контейнера ключів

CspParameters cspParams=new CspParameters () ;. KeyContainerName= XML_DSIG_RSA_KEY raquo ;;

//Створення та збереження в контейнері ключа

RSACryptoServiceProvider rsaKey=new RSACryptoServiceProvider (cspParams); (doc, rsaKey); tr=new XmlTextWriter ...


Назад | сторінка 5 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Комп'ютерні дані: типи даних, обробка та управління
  • Реферат на тему: Розробка мережі передачі даних Нурінского РУТ Карагандинської області на ос ...
  • Реферат на тему: Додаток для роботи з базою даних
  • Реферат на тему: Створення бази даних критичних властивостей речовин в редакторі баз даних M ...
  • Реферат на тему: Додаток для роботи з базою даних (dBase)