Rozproszone systemy internetowe 2. WS-Reliable Messaging

Podobne dokumenty
Model OSI. mgr inż. Krzysztof Szałajko

Rozproszone systemy Internetowe

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Web Services. Wojciech Mazur. 17 marca Politechnika Wrocławska Wydział Informatyki i Zarządzania

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Inteligentne kontrakty oparte o blockchain. Mateusz Zaborski

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Platforma epuap. Igor Bednarski kierownik projektu epuap2 CPI MSWiA. Kraków, r.

Protokoły koordynacji usług

Czym jest Internet Produktów?

Zdalne wywoływanie procedur RPC

Zdalne wywoływanie procedur RPC

Zaawansowane Aplikacje Internetowe

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Rozproszone systemy internetowe

Zdalne wywoływanie procedur RPC 27. października 2010

JPK VAT wysyłka za pośrednictwem profilu zaufanego z systemu epuap

SYSTEM ZARZĄDZANIA DANYMI OSOBOWYMI - INSTRUKCJA UŻYTKOWNIKA

ANALIZA BEZPIECZEŃSTWA SIECI MPLS VPN. Łukasz Polak Opiekun: prof. Zbigniew Kotulski

Integracja wirtualnego laboratorium z platformą e-learningową

Mechanizmy rozgłaszania niezawodnego

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

WS-Transaction (WS-TX) i transakcje z kontrolowaną przejrzystością

Gniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe

Automatyczne anulowanie zleceń w wyniku odłączenia od CCG

BMC Control-M Wybrane przypadki zastosowania

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Spis treúci. 1. Wstęp... 11

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP

Wywoływanie procedur zdalnych

Wywoływanie procedur zdalnych

Protokół DHCP. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Komponenty sterowane komunikatami

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Konsolidacja FP- Depozyty

SSL (Secure Socket Layer)

Sieci komputerowe. -Sterownie przepływem w WŁD i w WT -WŁD: Sterowanie punkt-punkt p2p -WT: Sterowanie end-end e2e

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Zdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

PROJEKT Z BAZ DANYCH

Projekt epuap obecny stan realizacji i plany na przyszłość

1 Wprowadzenie do J2EE

HL7 Clinical Document Architecture standard elektronicznej dokumentacji medycznej w Polsce

Silne uwierzytelnianie dla klienta indywidualnego

Nowe funkcje w programie Symfonia Faktura w wersji 2012

Faktura elektroniczna Radosław Kowalski Doradca Podatkowy

TCP/IP formaty ramek, datagramów, pakietów...

Klient-Serwer Komunikacja przy pomocy gniazd

Przesyłania danych przez protokół TCP/IP

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

Zdalne wywoływanie procedur RPC 27. października Dariusz Wawrzyniak (IIPP) 1

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Modelowanie i Analiza Systemów Informatycznych

Szczegółowy opis przedmiotu zamówienia:

System Obsługi Wniosków

Język BPEL. Bussiness Process Execution Language

Sieci komputerowe Warstwa transportowa

Data Governance jako część ładu korporacyjnego

EJB 3.0 (Enterprise JavaBeans 3.0)

Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

Instant Messaging with SIMPLE. Michał Albrycht

Podstawy Secure Sockets Layer

Wymiana opisu procesów biznesowych pomiędzy środowiskiem Eclipse i EMC Documentum

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Wymagania systemu OTAGO od systemów obsługi terminali płatniczych. Gdańsk,

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

ŚCIEŻKA KRYTYCZNA. W ścieżkach krytycznych kolejne zadanie nie może się rozpocząć, dopóki poprzednie się nie zakończy.

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Tworzenie zapytań do Microsoft SQL Server

Programowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1

Sieci komputerowe Mechanizmy sterowania przebiegiem sesji TCP w Internecie

Wywoływanie procedur zdalnych

1. WSTĘP 2 2. BEZPIECZEŃSTWO DOSTĘPU I KOMUNIKACJI 3 3. BEZPIECZEŃSTWO ZLECEŃ 6 4. PROCEDURA AKTYWACJI LOGI SYSTEMOWE DALSZE INFORMACJE 11

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]

Integracja komunikatora opartego o protokół XMPP z dużym portalem internetowym

Wybrane metody obrony przed atakami Denial of Service Synflood. Przemysław Kukiełka

mdokumenty start pilotażu

Wykorzystanie SAML 2.0 w systemie epuap

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

Podręcznik użytkownika AgentOptimed24

Spis treści. Rozdział 1 Strona tytułowa Rozdział 2 Programy Lekowe i Chemioterapia. mmedica - INSTR UKC JA UŻYTKO W NIKA

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Aukcja trwa od momentu, gdy informacje o przedmiocie są dostępne dla klientów, a kończy się wraz z wysłaniem opisanego dalej komunikatu FINISH_MSG.

Instrukcja użytkownika aplikacji modernizowanego Systemu Informacji Oświatowej

REGULAMIN KORZYSTANIA Z INTERNETOWEGO SYSTEMU OBSŁUGI KLIENTÓW

Zamawiający dysponuje szerokim spektrum rozwiązań infrastrukturalnych. Wykonawca uzyska dostęp do infrastruktury w niezbędnym zakresie.

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

Wymagania dla systemu HIS w zakresie komunikacji HL7. Serwer odbierający transakcje HL7. Klient wysyłający transakcje HL7

Transkrypt:

Rozproszone systemy internetowe 2 WS-Reliable Messaging

Wstęp Standard OASIS [Organization for the Advancement of Structured Information Standards] Elementy składowe systemu Reliable Messaging : Sekwencjonowanie komunikatów Semantyka dostarczania wiadomości Potwierdzenie dotarcia komunikatu Czy rzeczywiście potrzebujemy takiego mechanizmu? - dyskusja Implementacje na poziomie logiki biznesowej Integracja systemów 2

Model Initial Sender Application Source Ultimate Receiver Application Destination Send Deliver RM Source Transmit Receive RM Destination ACK 3

Oferta WS-RM AtLeastOnce RMS wysyła komunikaty dopóki nie otrzyma potwierdzenia, RMD przekazuje te komunikaty do aplikacji AtMostOnce RMS może wysyłać duplikaty, RMD filtruje je ExactlyOnce RMS musi wysyłac duplikaty, RMD musi przekazywać je do aplikacji dopóki nie stwierdzono poprawnego dostarczenia. InOrder komunikaty dostarczane są dokładnie w takiej kolejności w jakiej są wysyłane przez aplikację. 4

WS-RM a inne standardy Komunikat generowany przez usługę musi określać element wsa:action jako: http://docs.oasis-open.org/ws-rx/wsrm/200702/<na zwa dziecka elementu Body> Komunikaty, które nie zawierają treści (CreateSequence, SequenceAcknowledgement, AckRequested) - zamiast elementu dziecka wstawiamy nazwę operacji Inne: mozliwość przenoszenia nagłówków WS-RM w innych komunikatach skierowanych do właściwych punktów dostępu (piggy-backing) 5

Schemat komunikacji CreateSequence CreateSequenceResponse (ident) Sequence (ident,msgnum) Sequence (ident,msgnum) SequenceAcknowledgement (ident,range) Sequence (ident,msgnum,ackrequested) SequenceAcknowledgement (ident,range) TerminateSequence (ident) TerminateSequenceResponse(ident) 6

Tworzenie sekwencji 1 <wsrm:createsequence> <wsrm:acksto> EPR dla potwierdzeń </wsrm:acksto> <wsrm:expires> Czas aktywności sekwencji (PT0S) </wsrm:expires> <wsrm:offer> Proponowana sekwencja zwrotna <wsrm:identifier> Identyfikator </wsrm:identifier> <wsrm:endpoint> EPR sekwencji </wsrm:endpoint> zwrotnej <wsrm:expires> </wsrm:expires> <wsrm:incompletesequencebehavior > DiscardEntireSequence, DiscardFollowingFirstGap, NoDiscard </wsrm:incompletesequencebehavior > </wsrm:offer> </wsrm:createsequence> 7

Tworzenie sekwencji 2 <wsrm:createsequenceresponse> <wsrm:identifier> Identyfikator </wsrm:identifier> definiowany przez Destination <wsrm:expires> </wsrm:expires> <wsrm:incompletesequencebehavior > </wsrm:incompletesequencebehavior > <wsrm:accept> Akceptacja sekwencji zwrotnej <wsrm:acksto /> </wsrm:accept> </wsrm:createsequenceresponse> 8

Zamknięcie i przerwanie <wsrm:closesequence> <wsrm:identifier /> <wsrm:lastmsgnumber /> </wsrm:closesequence> <wsrm:closesequenceresponse> <wsrm:identifier /> </wsrm:closesequenceresponse> Zamiast Close może być Terminate Zamknięcie (Close) wymaga uzgodnienia stanu po obuu stronach LastMsgNumber - pomaga wykonać odpowiednie procedury dla niekompletnej sekwencji 9

Przekazywanie komunikatów <wsrm:sequence> <wsrm:identifier /> <wsrm:messagenumber /> </wsrm:sequence> <wsrm:ackrequested> <wsrm:identifier /> </wsrm:ackrequested> Komunikaty numerowane są od 1 Źródło zawsze może zażądać potwierdzenia <wsrm:sequenceacknowledgement> <wsrm:identifier /> <wsrm:acknowledgementrange Upper= Lower= /> <wsrm:none /> <!-- Nie otrzymano żadnych --> <wsrm:final /> <!-- Nie odbieramy więcej --> <wsrm:nack /> <!-- Brakuje nam --> </wsrm:sequenceacknowledgement> 10

Bezpieczeństwo WSRM nie definiuje wymagań dot. bezpieczeństwa ale dodanie tego mechanizmu nie powinno kreować dodatkowych możliwości ataku Retransmisje komunikatów vs ataki typu replay Integralność komunikatu może być warunkiem utrzymania kolejności Zagrożenia typu DoS kontekst sekwencji zużywa zasoby warto weryfikować tożsamości rozmówców Weryfikacja tożsamości zabezpiecza również przed przejęciem lub zerwaniem komunikacji 11

Przykład: implementacja Apache CXF <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:cxf="http://cxf.apache.org/core" xmlns:wsa="http://cxf.apache.org/ws/addressing" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager"> <cxf:bus> <cxf:features> <cxf:logging/> <wsa:addressing/> <wsrm-mgr:reliablemessaging> <wsrm-policy:rmassertion> <wsrm-policy:baseretransmissioninterval Milliseconds="4000"/> <wsrm-policy:acknowledgementinterval Milliseconds="2000"/> </wsrm-policy:rmassertion> <wsrm-mgr:destinationpolicy> <wsrm-mgr:ackspolicy intramessagethreshold="0" /> </wsrm-mgr:destinationpolicy> </wsrm-mgr:reliablemessaging> </cxf:features> </cxf:bus> </beans> 12