DŮVĚRA Ů Ě A SÉMANTICKÝ É Ý WEB
Technologie sémantického webu (4.11.2010) Roman Špánek
Obsah 2
Úvod Ú Sémantický ý web,, bezpečnost p a důvěra Možné přístupy R t č í systémy Reputační té Závěr
Bezpečnost a budoucnost 3
Slibná myšlenka Sémantického webu Softwaroví agenti g Neomezená dostupnost „relevantních“ informací J k řešit Jak ř šit bezpečnost b č t a zajistit ji tit soukromí k í uživatelům? ži t lů ?
Důležité pojmy 4
Autentifikace – potvrzení identity Autorizace – p povolení nebo odmítnutí přístupu p p Integrita – předejít nedetekovaným modifikacím dat Důvěryhodnost – zamezení neautorizovaného čtení d t dat Audit – zachování evidence Administrace – konfigurace
Jak řešit bezpečnost? I 5
Silné kryptografické algoritmy pro zabezpečení vlastní komunikace na
úrovni kanálů zpráv p
Jak řešit bezpečnost? II 6
Využít existujících řešení, jako KERBEROS PKI PGP
Jak to bude fungovat v případě systému jako je (Sémantický) web?
Jak řešit bezpečnost? (pokr.) 7
C tedy potřebujeme?? Co
Bezpečnostní systém, který bude
Flexibilní Sémanticky bohatý Jednoduchý – automatizovatelný
Důvěra 8
Direct trust Hierarchical Trust Indirect trust W b off Trust Web T t PGP trust notion
Policy based based-existující existující mechanizmy 9
XML digital di it l signatures i t Definuje pravidla pro podpisování XML dokumentů Podporuje všechny dostupné technologie
XML encryption Definuje e uje pravidla p av d a pro p o kódování ódová XML M a parametrů pa a e ů záznamu á a u Podpora obecně dostupných technologií
X.509 Public Key Certificates Extensible Access Control Markup Language (XACML)
Policy language (jazyk pro popis politik)
XML digital signatures 10
Základní vlastností je schopnost podepsat pouze specifickou část XML dokumentu
Jak vytvořit XML Signature 11
SStanovíme, í které k é zdroje d budou b d podepisovány d á Vypočteme hash (otisk) pro každý zdroj
1. 2.
V l >
j6lwx3rvEPO0vKtMup4NbeVu8nk= UrXLDLBIta6skoV5/A8Q38GEw44=
element identifikuje algoritmus použitý pro výpočet ý č hash h h
Jak vytvořit XML Signature II 12
S Stanovit všechny h referenční f elementy l
Podepisování
element indikuje algoritmus použitý pro kanonizaci elementu <SignedInfo>. <SignedInfo> Element <SignatureMethod> element identifikuje algoritmus použitý pro výpočet hodnoty podpisu. element <SignedInfo>, hodnota podpisu je uložena v elementu<SignatureValue> l t <Si t V l >
Přidání informaci klíče
Pokud se má informace o použitém klíče uložit uložit, pak se použije element (např. X.509 certifikát pro odesílatele)
Jak vytvořit XML Signature III 13
Přiložit element Signature Uložit
elementy <SignedInfo>, <SignatureValue> a do <Signature> Element <Signature> obsahuje XML signature.
14
Ukázka dokumentu podepsaného pomocí XML Signature splatnost 16.2.2000 Poučená, a.s. Široká 21, Praha 1, 110 00 <dodavatel> XMLCompany, s.r.o. Dlouhá 12, Praha 1, 110 00 <polozka> <popis>Analýza nasazení XML v podnikovém IS 50000 <polozka> <popis>XML Editor - 10 licencí 128956 <polozka> <popis>Notebook microMini 89500
<Signature Signature xmlns xmlns="http://www.w3.org/2000/09/xmldsig#"> http://www.w3.org/2000/09/xmldsig# <SignedInfo> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/> > g p // g/ / / g / AOz+uJFiTA40hbArhXycZl5V0PM= <SignatureValue>IdPPqheBUJEz4dn8cdMUlzt2L49ZP0uKm5f0cFe+Fg3AtvGuclQjQA== <X509Data> <X509Certificate>MIIDHjCCAtwCBEOXYIkwCwYHKoZIzjgEAwUAMHUxCzAJBgNVBAYTAm N6MR… /
Verifikace XML signature 15
1.
2.
3 3.
Verifikace fk podpisu d v elementu l <SignedInfo> S d f pomocí vypočtení hash z <SignedInfo> (používáme algoritmus z <SignatureMethod>). <SignatureMethod>) Použijeme veřejný klíč pro ověření hodnoty elementu <SignatureValue> že je správný vůči elementu <SignatureValue>, <SignedInfo>. Pokud ověření proběhlo v pořádku, pak přepočítáme hash referencí elementu <SignedInfo> a porovnáme jej s hash pro každý element odpovídající elementu .
16
XACML eXtensible Access Control Markup Language
XACML definuje obecný pravidlový jazyk použitý k ochraně zdroje. Současně definuje jazyk pro rozhodování o přístupu. Značkovací jazyk byl standardizován OASIS. OASIS XACML popisuje: Jazyk
pro rozhodování o politikách Jazyk pro požadavek a odpověď
XACML (Příklady politik) 17
Tisková služba může přistupovat k tiskárnám a dočasným úložištím místo uživatele Primář má přístup ke všem záznamům pacientů poslaných na vyšetření ke specialistovi Kdokoliv může přistupovat k webovému serveru mezi 1 a 4 hodinou ráno …
Cíle XACML 18
Schopnost lokalizovat politiky v distribuovaném prostředí Schopnost federovat správu politik nějakého zdroje Schopnost delegace na základě politik Využitelnost v různých prostředích Typů
zdrojů, Subjekty, Akce Lokace a kombinace politik
XACML – Policy Enforcement Point
Subjekt (např. člověk, počítač, agent) chce provést akci nad konkrétním zdrojem. Subjekt odešle požadavek entitě chránící zdroj (např. souborový systém, webový server). T t entita Tato tit se nazývá ý á Policy Enforcement Point ( ) (PEP). http://sunxacml.sourceforge.net/
XACML – Policy Enforcement Point
PEP zformuluje dotaz (za použití XACML jazyku) založený na atributech: Subjekt Akce Zdroj Další relevantní informace
http://sunxacml.sourceforge.net/
XACML – Policy Development Point ◦
◦
◦
Obdrží a prozkoumá dotaz. Zí Získá ká použitelné žit l é politiky litik (napsané v jazyce XACML) XACML). Rozhodne zda by měl být přístup povolen. ◦
Vrací rozhodnutí PEP
http://sunxacml.sourceforge.net/
Policy based based-existující existující mechanizmy 22
Th Platform The Pl tf f Privacy for Pi P f Preferences (P3P) Definováno W3C pro popis zabezpečení (privacy) stránek, tak abyy p prohlížeče sami rozhodovali,, zda zabezpečení p koliduje s uživatelovými preferencemi nebo ne Standardní schéma pro data, které může webový server sbírat. sbírat Způsob jak připojit politiky pro webové stránky a cookies. XML formát p pro vyjádření yj politik. p Mechanizmus pro transport P3P politik pomocí HTTP.
Role Based Access Control (RBAC)
P3P architektuta a procesy 23
El Elementy t P3P web-context: b t t
Preference pro použití privátních dat vyjádřené webovými uživateli Preference je pravidlo nebo množina pravidel stanovených webovým uživatelem, která specifikuje, které akce uživatelům agent bude oprávněn udělat při komunikaci se službou (preference může být vyjádřena ve formě textu nebo lépe strojově zpracovatelném formátu) P ktik popisující Praktiky i jí í co jje plánováno lá á sta t daty d t dělat děl t P3P protokol umožňující přístup k takovým informacím obsahuje:
Webový prohlížeč vydávající požadavek na praktiky a webový server odpovídající na dotazy stanoviskem obsahujícím sérii tvrzení Stanovisko je popis dat, která bude webový server požadovat, co bude s daty webový server dělat a následky, které to bude mít pro uživatele
Funcionalita P3P je zabudován do webových prohlížečů, prohlížečů serverů serverů, případně do proxy serverů.
24
Zjednodušený popis základního procesu
Webový W b ý prohlížeč hlíž č se zabudovaným b d ý získá í ká od d P3P webového b éh serveru prohlášení Webový prohlížeč porovná prohlášení s uživatelovými preferencemi Pokud souhlasí, pak webový prohlížeč i server pokračují v komunikaci Pokud nesouhlasí, p pak může webovýý prohlížeč: p
Zkusit vyjednávat s webovým serverem, aby získal souhlas mezi prohlášením a uživatelovými preferencemi U Upozornit i uživatele ži l na neshodu, h d aby b uživatel ži l mohl: hl
Vydat svolení k další komunikaci přes nesouhlas prohlášení Zkusit získat další informace k p prohlášení serveru manuálně Zrušit další interakci se serverem
Systémy pro správu důvěry 25
Policy based Reputation based Social Networks based
Reputation based – existující mechanizmy (pokr.) 26
Virtuální organizace Virtuální komunity y Jde ttedy Jd d o vytvoření t ř í skupin k i uživatelů ži t lů a tyto t t pakk udržovat (spravovat) – umožnit jejich dynamický vývoj ý j
Reputation based – existující mechanizmy (pokr.) 27
Vytvoření Celá
řada postupů
Správa dynamického vývoje Největší
problém Nesmí degenerovat
Reputation and Trust 28
Reputace a důvěra hrají pilotní úlohu v lidské společnosti při navazování kontaktů a možné další vzájemné spolupráce Reputace: p jje názor veřejnosti j na osobu,, skupinu p lidí,, organizaci, zdroj ,… Na základě reputace pak odvodit důvěru jedné strany v jinou stranu v rámci určitého kontextu
Kde všude reputace? 29
P2P 2 sítě eCommerce (wBay, Amazon, uBid, and Yahoo) Redukují riziko podvodu, zlepšují spokojenost zákazníka či pomáhají redukovat možné transaction-specific rizika
Inauthentic h content (pollution) ( ll ) v sítíchh pro sdílení dl souborů Výběr nejlepšího zdroje dat Wikipedia pro určování kvality příspěvku …
Reputation based – existující í í mechanizmy h 30
Budovat důvěru mezi poskytovatelem dat, služeb a klientem na základě historických transakcí V současné době využívá řada webových portálů např. p eBay, y, aukro.cz,, …
Social-network based – existující mechanizmy 31
Využití metod z oblasti sociálních sítí pro budování důvěry Virtuální organizace Virtuální komunity Nová sociální stránka internetu – Social Web (F i d t MySpace, (Friendster, M S Li k dIN ) LinkedIN,…)
32
Základní stavební kameny pro Rep. Systémy
F Formulace. l
Kalkulace.
Abstraktní matematická formulace jak se bude odvozovat reputace na základě vstupních dat do použitelné metriky Vlastní algoritmus, g , kterýý bude počítat p reputaci p pro p danýý systém y či konfiguraci Konkrétní implementace pro cílové prostředí N Např. od kolika uzlů se musí získat hodnocení, aby šla spočítat reputace
Použití a šíření.
Mechanizmus definující, jak se ostatní uzly mohou k reputaci dostat.
33
Formulace 34
Př d ší je Především j tř třeba b rozlišovat: liš t
Zdroj vstupních dat
Typ informace
Manuální – je třeba specifikace, jak převést kvalitativní hodnocení do k tit ti íh (Bayesian kvantitativního (B i procedures, d F Fuzzy l ik ) logika) Automatické – z chování entity (počet chyb, využití uzlu jeho okolím,…) PPozitivníí Negativní Kombinace
M Metrika reputace
Binární Diskrétní (stupně reputace) Spojitá
Kalkulace 35
Není triviální …je třeba mít např. distribuovanou implementaci alg., třeba řešit odolnost kalkulace proti případné manipulaci se vstupními daty, … Struktura kalkulace: Centralizovaná (eBay) – single point of failure Distribuovaná
Kalkulace Deterministickýý model Pravděpodobnostní model (Markov models, Bayesian models,…)
Šíření reputace 36
St kt Struktura šíř šíření:í
Způsob šíření:
Deterministický D i i i ký (DHT (DHT,..)) Pravděpodobnostní (probabilistic broadcast,flooding,..)
Uložení:
Centralizované (klastry eBay) Distribuované (každý zel má část hodnot - distributed hash tables, robustnější)
Krátkodobé (volatilní paměti) Dlouhodobé (nevolatilní paměti – třeba řešit zabezpečení)
Redundance šíření:
Redundantní uložení, redundance zpráv při šíření, ..
Útoky na reputační systémy 37
Kvůli otevřenosti je možné mít útoky zevnitř i zvenku selfish nebo malicious Samostatně nebo skupiny útočníků
Typy útoků 38
Self-Promoting Whitewashing g Slandering O chest ated Orchestrated Denial of Service
Self promoting. Self-promoting. 39
Uzell se snaží podvrhnout d h svojí reputací, tím že si generuje pozitivní hodnocení či napadne šíření hodnocení Případně celá skupina útočníků zvyšuje svoje vlastní hodnocení Řešení: Vyžadovat důkaz provedených transakcí (dig. (dig podpisy), podpisy) znemožnit útočníkovi získat více identit (soc. sítě) Hledání skupin, p , které komunikujíj výhradně ý samyy se sebou (NP úplné)
Whitewashing. 40
Zneužít systém po krátkou dobu a pak využít slabinu systému a utéct následkům svého konání Např.
pomocí vstupu do systému s jinou identitou
Útok na formulaci (speciálně pro negativní hodnocení – nový člen má vysoké vstupní hodnocení)) Je třeba rozlišovat stáří jednotlivých hodnocení (zneužívání je krátké) –behavior oscillation
Slandering (pomluva). 41
Útočníci manipulují s reputacemi ostatních pomocí Ú podvržených hodnocení Především tam, kde je nedostatečné ověřování identit a citlivost na záporné p hodnocení Používat přísnější ověřování zpětného hodnocení
Orchestrated. 42
Skupina útočníků využije společné síly a kombinace více metod Útok na formulaci, ale i kalkulaci a šíření Např oscillation attack – útočníci rozdělení na Např. skupiny co mají různé role a různých časech. Jedna skupina se chová „dobře dobře“ a druhá zneužívá systém systém, pak se role prohodí a první skupina pomůže získat zpět dobré hodnocení skupině druhé. druhé
Denial of Service 43
Útok na kalkulaci či šíření, aby systém neodpovídal Ú Napadání p cest šíření reputací p (např. ( p p pokud se šíří pomocí nejdůvěryhodnějších cest) Počítání reputací v přesně určených časech Řešení: distribuovaná implementace a šíření
Obrana proti útokům 44
Sybil (více identit) Svazovat
dig. Identitu s fyzickou (IP,…) Vyžadovat od každé nové identity nějakou protislužbu (výpočetní výkon,…) Využít sociální sítě pro detekci uzlů s více identitami Využití grafových postupů
45
Zmírňování dopadu generování „pomluv“
Svazovat hodnocení s konkrétní transakcí pomocí dig. certifikátů a podpisů Problém jak zamezit šíření nepravdivého hodnocení pokud jej p j jg generuje j celá skupina p útočníků
Zmírňování dopadu šíření „pomluv „pomluv“ 46
Nenastává pokud máme jen přímé hodnocení, to však není možné ve větších systémech, kde ne všechny uzly spolu komunikují (symetricky) Využití y Bayesovského y frameworku,, kde pravděpodobnost, že uzel se bude chovat špatně je daná Beta rozdělením Koncepty z teorie řízení pomocí zpětné vazby
47
Preventing Short-term Abuse of the System
Zneužít systém a pak jej opustit a založit si novou identitu Řešení: Nové
identity mají nízkou reputaci Nové identity se musí chovat po určitý čas dobře, aby získaly vyšší reputaci Přísněji hodnotit špatné chování v blízké minulosti – behavior oscillation
DĚKUJI ZA POZORNOST