Zabezpečená middleware komunikace



Podobné dokumenty
ECR brána - rozhraní ECR obálka 2.0

Zabezpečení webových služeb

Distribuované systémy a výpočty

XML Signatures. Autor

XML a bezpečnost. Dagmar BRECHLEROVÁ. KIT PEF ČZU a EUROMISE, Praha Dagmar.Brechlerova@seznam.cz

ECR BRÁNA - ROZHRANÍ ECR OBÁLKA 2.0. Verze dokumentu: 1.1 Datum vzniku: Počet stran: 16

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

OpenSSL a certifikáty

Pokročilé Webové služby a Caché security. Š. Havlíček

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

Bezpečnost vzdáleného přístupu. Jan Kubr

Vytváření a použití knihoven tříd

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

Specifikace integračního rozhraní

Další XML technologie

SSL Secure Sockets Layer

Útoky na HTTPS. PV210 - Bezpečnostní analýza síťového provozu. Pavel Čeleda, Radek Krejčí

Vybrané technické informace pro předávání účetních záznamů do centrálního systému účetních informací státu

JSON API pro zjišťování cen MtG karet

Platební systém XPAY [

Komprese a dotazování nad XML dokumenty

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Použití čipových karet v IT úřadu

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

8 Třídy, objekty, metody, předávání argumentů metod

Šifrování ve Windows. EFS IPSec SSL. - Encrypting File System - Internet Protocol Security - Secure Socket Layer - Private Point to Point Protocol

POPIS STANDARDU. Norma název (cz):dopravní a cestovní informace (TTI) TTI zprávy pomocí celulárních sítí Část 6: Vnější služby (ISO/DTR :2000)

Systém IZIP. internetový přístup ke zdravotním informacím pacienta. Elektronická zdravotní knížka. .:. Jiří Venclík.:.

Analyzátor bezdrátových sítí

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Referenční rozhraní národního konektoru Národního kontaktního místa pro ehealth úloha pacientský souhrn


Bezpečnost elektronických platebních systémů

Elektronická komunikace s CSÚIS. Jak to řeší Fenix

Od CGI k FastCGI. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Programování v C++ 2, 4. cvičení

InternetovéTechnologie

BUSINESS 24 Databanking

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Adobe Inteligentní elektronické dokumenty a jejich uplatnění v práci úřadu

Softwarové komponenty a Internet

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Experimentální systém pro WEB IR

A. Datové prvky a jejich struktura Identifikátory Identifikace ÚJ Identifikace ZO Identifikace CSÚIS Záhlaví...

(5) Klientské aplikace pro a web, (6) Elektronický podpis

Webové služby. Martin Kuba Superpočítačové centrum Brno Masarykova univerzita

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

Time-Stamp. protokol

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

UJO Framework. revoluční architektura beans. verze

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Robot Operating System. Ing. Zdeněk Materna,

Certifikační prováděcí směrnice

Specifikace exportního rozhraní z aplikace

Elektronický podpis. Marek Kumpošt Kamil Malinka

Správa webserveru. Blok 9 Bezpečnost HTTP. 9.1 Úvod do šifrování a bezpečné komunikace Základní pojmy

DNSSEC Pavel Tuček

RMI Remote Method Invocation

Dědění, polymorfismus

Typy samostatných úloh PSI 2005/2006

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Šifrování ů pro business partnery

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Remote Method Invocation RMI

Projekt JetConf REST API pro vzdálenou správu

ERP-001, verze 2_10, platnost od

České vysoké učení technické v Praze FAKULTA INFORMAČNÍCH TECHNOLOGIÍ katedra počítačových systémů DNSSEC. Jiří Smítka.

Programování v C++ 1, 5. cvičení

Dokumentace pro výrobce SW DIS13 - WS

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

PREPROCESOR POKRAČOVÁNÍ

Server-side technologie pro webové aplikace

pomocí S/MIME ezprava.net s.r.o. 21. ledna 2015

Tvorba informačních systémů

Správa paměti. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta, 2016

Jen správně nasazené HTTPS je bezpečné

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

typová konverze typová inference

Informatika / bezpečnost

Funkční specifikace ABOKWS. Aplikační rozhraní elektronického bankovnictví ABO-K. Verze 0.5

Bezpečnost internetového bankovnictví, bankomaty

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

ISDOC Národní standard pro elektronickou fakturaci

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Java a XML. 10/26/09 1/7 Java a XML

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

PV157 Autentizace a řízení přístupu

Programátorské večery. Tomáš Herceg Microsoft Student Partner

Jazyk C# a platforma.net

Transkript:

České vysoké učení technické v Praze F a k u l t a e l e k t r o t e c h n i c k á Zabezpečená middleware komunikace autor: František Hlavan vedoucí práce: Ing. Jan Kubr Katedra počítačů leden 211

Cíle diplomové práce 1. Prozkoumat možnosti zabezpečení middlewareových technologií. 2. Navrhnout a implementovat knihovnu umožňující zabezpečení komunikace XML-RPC. 3. Demonstrovat použití knihovny na vhodné aplikaci. 2/1

Výchozí předpoklady Protokoly, standardy: Protokol XML-RPC (www.xml-rpc.com) W3C XML Signature, XML Encryption a XML Key Management Specification (XKMS) (W3C XML-Security) JAVA implementace: Apache XML-security (santuario.apache.org) XML podpis a XML šifrování OpenXKMS (xkms.sourceforge.net) - XKMS implementace XML-RPC: RoX RPC over XML (rox-xmlrpc.sourceforge.net) Merqueé (Redstone) Apache XML-RPC 3/1

Zabezpečení na úrovni zpráv CA PKIX RPC klient XKMS 2. server RPC server XKMS klient XKMS klient XML-RPC klient RPC Request RPC Response XML-RPC server 4/1

Knihovna sec-middleware 5/1

EncryptedData XML Šifrování, XML Podpis Signature EncryptionMethod ds:keyinfo EncryptedKey CipherData CipherValue KeyName CipherData EncryptionProperty CipherReference SignatureMethod SignedInfo Reference Transforms DigestMethod KeyInfo SignatureValue CanonicalizationMethod DigestValue //podpis, šifrování void dosign(document, String, String, boolean) void doencrypt(document, String, String) void doencryptsymkek(...) void doencryptasymkek(...) void dosignandencrypt(document, String, String, boolean, String, int, String) 3 x přetížená metoda EncryptionMethod //ověření podpisu, dešifrování void doverificationsign(document) void dodecrypt(document) void dodecryptandverificationsign(document) CipherValue //management klíčů - PKI void registerkeyxkms(...) void validatecertxkms(...) class SecurityWrapper 6/1

Použití v RoX (RPC over XML) inicializační část klienta / serveru KeyStoreHandler keystore = new KeyStoreHandler( ); keystore.setfileforjks(...); keystore.setfileforjceks(...); XmlSigner dsig = new XMLSigner( ); XmlEncryptor enc = new XmlEncryptor( ); XkmsClient xkms = new Xkms(...); SecOptions secureopts = new SecOptions(...); secureopts.setkeystore(keystore); secureopts.setdsign(dsig); secureopts.setenc(enc); secureopts.setxkms(xkms); client.setsecurexmlrpc(secureopts); RPC volání a odpověď JAVA objekt Java Objekt XML XML modul Sec-middleware XML-Sec zabezpečené XML-RPC přenos HTTP XML-Sec client.execute(namerpc, paramsrpc); Socket 7/1

XML-RPC komunikace - nezabezpečená, zabezpečená SSL a XML Security XML-RPC 9 8 7 6 5 4 3 2 1 4 1 2 2 2 8 3 6 4 4 5 2 data [Bytes] no Security XML Sec XML-RPC 9 8 7 6 5 4 3 2 1 4 1 2 2 2 8 3 6 4 4 5 2 data [Bytes] SSL XML Sec 35 3 25 2 15 XML-RPC XML-RPC 5 5k 65k 125k 185k 245k data [Bytes] XML Sec no Security 6 5 4 3 2 5k 65k 125k 185k 245k data [Bytes] XML Sec no Security XML-Security SSL nezabezpečená Potvrdil se předpoklad, že XML Security není rychlejší oproti SSL. 8/1

Porovnání typů XML-RPC XML-RPC s XML Sec 25 2 15 5 4 1 2 2 2 8 3 6 4 4 5 2 data [Bytes] sendints sendby tes XML-RPC s XML Sec 2 18 16 14 12 8 6 4 2 4 1 2 2 2 8 3 6 4 4 5 2 data [Bytes] sendints sendby tes XML-RPC s XML Sec XML-RPC s XML Sec 3 25 2 15 5 2 6 14 18 22 26 prvků sendstruct sendarray 35 3 25 2 15 5 2 6 14 18 22 26 prvků sendstruct sendarray Obr. 5.3 Obr. 5.4 JAVA typ XML-RPC typ sendbytes byte[ ] <base64> sendints int[ ] <array> <int>25</int>... </array> Arrays.copyOfRange (polea,, lenint); JAVA typ sendarray int[ ] sendstruct TreeMap XML-RPC typ <array> </array> <struct> </struct> 9/1

Souhrn zjednodušení přístupu k XML-Security má jednodušší rozhraní oproti SSL univerzální použití - zabezpečuje libovolný XML dokument zachována širší nabídku šifrovacích algoritmů možnost kombinovat podpis, šifrování, podpis a šifrování možné další rozšíření - budoucnost

Děkuji za pozornost.

dotazy oponenta: (1) Použití pro SAX analyzátor (embedded)? sec-middleware knihovna nelze použít, protože XML podepisování a šifrování vyžaduje DOM model. XML Signature počítá se otisk (SHA alg.), data celá v paměti XML Encryption používá blokové šifrovací algoritmy Proudové šifrování - standard nespecifikuje, ale nezakazuje jeho implementaci (kap. 5.3, XML Encryption Syntax and Processing). RC4 implementace v bouncycastle.org jako ARC4. (2) Velikost přenesených dat SSL (5781B)? Bylo určeno k metodě sendbytes( pole byte ). SSL problém: (XML-Request + HTTP hlavička) > 8 KB,spojení se zaseklo nebo rozpadlo. (3) Počet měření pro grafy? (4) Nárůst zpoždění na počátcích grafů obr. 5.3? Arrays.copyOfRange (polea,, lenint);