"Bezpieczne API, jak organizacja może minimalizować ryzyko korzystania z "web services" w sieci."...

Post on 26-May-2015

224 views 0 download

description

Summer Tech Days - Identity Management, 9.07.2013

Transcript of "Bezpieczne API, jak organizacja może minimalizować ryzyko korzystania z "web services" w sieci."...

<Insert Picture Here> <Insert Picture Here>

Bezpieczne API, jak organizacja może

minimalizować ryzyko korzystania z "web

services" w sieci.

WS Request

<soapenv:Envelope

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:alx="http://alx/">

<soapenv:Header/>

<soapenv:Body>

<alx:addInput>

<arg0>4</arg0>

<arg1>5</arg1>

</alx:addInput>

</soapenv:Body>

</soapenv:Envelope>

Confidentiality - Poufność

Integrity - Integralność

Avaliability - Dostępność

Narzędzia

• Uwierzytelnianie

• Autoryzacja

• Szyfrowanie

• Podpis cyfrowy

• Integralność

• Niezaprzeczalność

Jakie API ?

• Web Services Protocols: SOAP 1.1 & 1.2, SwA,

MTOM, Plain XML (POX), REST, Web 2.0 (Ajax,

JSON), UDDI, WSDL

• Transport Protocols: TCP, HTTP 1.0 & 1.1, JMS, MQ,

FTP, SFTP, SMTP, POP.

• Security and Policy Model: SSL, XML Encryption,

XML Signature, WS-Security (SAML, Kerberos,

Username, X.509 token profiles), WS-Policy, WS-

SecurityPolicy, WS-Trust, WS-SecureConversation,

WS-Addressing, WS-RM, XACML, XKMS, PKCS#1,

PKCS#7, PKCS#12, S/MIME., OAuth

Web

Service

Web

Service

OWSM

Agent

Architektura Referencyjna

DMZ

HTTP GET/POST

REST

XML

SOAP

JMS

Extranet

Pierwsza linia

obrony

Bezpieczaństwo

„Last mile”

Intranet

Web Client

(Browser)

Web Service

Client

Web Service

Client

Web Service

Client

Web Service

Client

OWSM

Agent

Service Bus

OWSM

Agent

OW

SM

O

WS

M

Web

Service

OWSM

Agent

Web

Service

OWSM

Agent

Web

Service

OWSM

Agent

Common Security Policies

OAG

API Security

• Bezpieczeństwo API

• Ochrona przed zagrożeniami Zagrożenia

• Kontrola dostępu i tożsamości

• Bezpieczeństwo danych („data redaction”)

• Zarządzanie API

• QOS

• Transformacje i „Routing”

• Audyt i Monitorowanie

• Zarządzanie kluczami do API

Bezpieczeństwo Web Service’ów

• Bezpieczeństwo warstwy transportowej

• Point to Point - SSL

• Standardowy mechanizm uwierzytelniania HTTP

• W SSL Brak informacji o użytkowniku aplikacji

• Poufność

• Integralność

Bezpieczeństwo Web Service’ów

Bezpieczeństwo warstwy wiadomość

• Wiadomość same się chronią

• Uwierzytelnianie, Poufność, Integralność

• Niezależne od warstwy transportowej

Uwierzytelnianie

• Dostępne tokeny

• Certyfikaty X.509

• Kerberos tickets

• UserID/Password

• SAML - Assertion

• ObSSO Cookie (Oracle Access Manager)

• Custom defined token

Uwierzytelnianie cd

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:alx="http://alx/">

<soapenv:Header>

<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">

<wsse:UsernameToken wsu:Id="UsernameToken-5" xmlns:wsu="http://docs.oasis-

open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

<wsse:Username>owsmuser</wsse:Username>

<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-

username-token-profile-1.0#PasswordText">abcd1234</wsse:Password>

</wsse:UsernameToken>

</wsse:Security>

</soapenv:Header>

<soapenv:Body>

<alx:addInput>

<arg0>5</arg0>

<arg1>8</arg1>

</alx:addInput>

</soapenv:Body>

</soapenv:Envelope>

Integralność

• Standard Podpisu wg. W3C - XML Signature

• Podpisywanie wybranych elementów

• Niezaprzeczalność - Non-repudiation

OWSM - Poufność

• Stadnard szyfrowania - W3C XML Encryption

• Szyfrowanie wybranych elementów

OWSM - Wydajność

Pamiętajmy !!!

Szyfrowanie i podpisywanie cyfrowe wymaga zasobów