Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Komu se nelení,
tomu se zelení.

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Web [ŽP: neomezená] (kategorie Programování) moderuje Kdokoliv.
Archiv
Domovská stránka aktualizována 28.7.2019 17:46
  
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: kaotsbz
[ 4075 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
rider Rider - Asociace chovatelů antropomorfních koní 26.7.2010 18:19  7366
Hlavní smysl běžné autentifikace je ověření, že ten Lojza co přišel dneska je ten samý Lojza, který tu byl minulý týden. Ty ve skutečnosti nepotřebuješ vedět kdo to je. Jen potřebuješ autentifikovat konkrétního uživatele. Lojza svěřil své přihlašování nějakému IdP, kterému věří a přenáší tedy zodpovědnost za svou bezpečnost na někoho třetího, který jej umí zabezpečit lépe, než nějaký, skoro nedůvěryhodný SP uživatelským jménem a heslem.

Ano, máš pravdu, že pro identifikaci a autentizaci mi stačí tohle. Jenomže Lojza si účet u IdP neudělá, protože nemá proč. Proč by zatahoval do věci další subjekt, který tam není potřeba? O tom je ten třetí zákon.

Prostředníka má smysl do toho zatahovat v okamžiku, kdy mi dá nějaké ověřené claimy, čímž zabrání např. vtipálkovi vyplnit registrační formulář e-shopu nesprávnými údaji, protože jeho adresa bude claimem, který IdP ověří.

Ale nehádej se tady se mnou a nepřesvědčuj mne. Naprogramuj to a přesvědč uživatele, aby to používali. Já ti jenom říkám, proč to nebude fungovat.

bredy 26.7.2010 16:16  7365
RiderZbytečně nafukuješ problém:

Nemohu si ale být jist, jaké claimy mi budou schopni dát a jak budou zajištěné.

Tohle ale v zásadě nepotřebuješ. Hlavní smysl běžné autentifikace je ověření, že ten Lojza co přišel dneska je ten samý Lojza, který tu byl minulý týden. Ty ve skutečnosti nepotřebuješ vedět kdo to je. Jen potřebuješ autentifikovat konkrétního uživatele. Lojza svěřil své přihlašování nějakému IdP, kterému věří a přenáší tedy zodpovědnost za svou bezpečnost na někoho třetího, který jej umí zabezpečit lépe, než nějaký, skoro nedůvěryhodný SP uživatelským jménem a heslem.

Ta je ovšem bohatě vyvážená komplikovanějším procesem přihlášení a registrace a nutností aby se uživatel *někde* nějak registroval a ideově souhlasil s tím, že tenhle účet třetí strany použije

Z mého pohledu je komplikovanější registrovat se v každém e-shopu, který navštívím jednou, maximálně dvakrát. Nehledě na to, že poskytuju osobní údaje, aniž bych měl jistotu, že ty osobní údaje nezneužije někdo třetí. Teď mi nejde o vlastní SP, ale vlivem okolností (jedná se o e-shop) použiji slabé heslo, které někdo uhodně a získá tak přístup k informacím, které by neměl vědět.

Druhá možnost je, že potřebuji mít uživatele nějak "předověřené", potřebuju, aby mi IdP dal nějaké konkrétní claimy a nějak se za ně zaručil

Nepotřebuješ. Smyslem autentifikace je ověřit uživatele podle jeho ID. Nepotřebuješ znát jeho adresu a bydliště. Nezajímá tě, zda ty informace jsou důkladně ověřené. Ty víš, že lojza přišel z počitače jidra.oprsalek.cz, ze tam má nějakého IdP a jaké má to IdP zabezpečení tě nezajímá. Pokud si Jindra a Lojza lezou do zelí tě jako SP nezajímá. Ty poskytuješ služby uživatelům na IdP jidra.oprsalek.cz.

Modelový příklad: provozuju e-shop a hodilo by se mi vědět, že uživatelem zadané jméno a adresa je skutečné, takže budu mít větší jistotu, že to není vtipálek

Proč chceš od systému něco, co ti na současném systému nic nezaručí? Jak zabráníš vtipálkovi vyplnit registrační formulář v e-shopu neplatnými údaji? Srovnávej srovnatelné. Přihlašování přes prostředníka řeší jiný problém, než ověření reálných osobních údajů uživatele. Ani to kolikrát není žádoucí!

Proto je ostatně SAML tak složitý - předpokládá se, že požadovaného efektu dosáhnu nikoliv programováním, ale parametrizací, nějakým hotovým řešením

Samozřejmě, autokololetadloponorka bude vždycky velice drahá a náročná na provoz a na řízení.

bude Aukro skutečně chtít být IdP?
Ale IdP a SP si nemusí lést konkurenčně do zelí. Třeba Aukro má plné právo nebýt IdP. Ale také to může být zajímavý způsob, jak při přihlašování k jinému aukčnímu serveru umístit do dialogu přihlašování display reklamu na aukce Aukra. Mimochodem, do minulého pátku jsem netušil, jak tahle display reklama řepí třeba na Seznamu.

Samozřejmě, že jak IdP tak SP mohou své protějšký omezit, IdP pomocí returnUrl a SP pomocí domény.
huh huh 26.7.2010 16:15  7364
Ty žiješ v moc enterprise světe :-) Já myslím, že praxe ukazuje, že vedle enterprise řešení má často šanci se uchytit i něco malého šikovného, viz třeba xml-rpc vs. soap, relax ng vs. xml schemata atd.

Já nepotřebuju integrovat moduly IS, ale jako obyčejná brambora bych klidně uvítal něco, abych třeba pro přihlášení přiblblé mailové konference se nemusel registrovat a vymýšlet heslo.

Tj. chci třetí stranu, která si (třeba zasláním dopisu) ověří, že adresa je skutečně funkční.

To je sice hezký, já bych chtěl třeba zlatý hodinky :-), ale Bredyho systém nemusí řešit všechny problémy světa.
rider Rider - Asociace chovatelů antropomorfních koní 26.7.2010 15:57  7363
Facebook login je případ specifický ve dvou ohledech:

1. Drtivá většina webů, které používají Facebook login ho nepoužívá pro klasickou autentizaci, ale protože jsou s Facebookem relativně těsně propojeny a integrovány, bez něj by neměly moc smysl. Typický příklad: NetworkedBlogs

2. Řada webů (třeba i ty pornosity) ho používá kvůli dolování dat, dostanou se tak k relativně cenným údajům.

Facebook login, stejně jako Microsoft Passport zase trpí na centralizaci. Oba jsou proprietální systémy, které stojí a padají na ochotě těch subjektů je podporovat.

Jenomže to je v zásadě jakýkoliv systém s prostředníkem - třetí stranou. Možná ne proprietární, ale rozhodně závislý na ochotě IdP jimi být a zůstat. Jako relying party mám tedy na výběr ze dvou možností a obě jsou špatné.

Buďto budu akceptovat zcela jakéhokoliv IdP, čímž si zajistím nezávislost na konkrétním subjektu. Nemohu si ale být jist, jaké claimy mi budou schopni dát a jak budou zajištěné. Jedinou výhodou pak představuje, že si uživatel nemusí pamatovat další heslo. Ta je ovšem bohatě vyvážená komplikovanějším procesem přihlášení a registrace a nutností aby se uživatel *někde* nějak registroval a ideově souhlasil s tím, že tenhle účet třetí strany použije (idea, že si rozjede vlastního IdP je spíš teoretická). V takovém případě tedy třetí strana nemá fakticky smysl a porušuje třetí zákon.

Druhá možnost je, že potřebuji mít uživatele nějak "předověřené", potřebuju, aby mi IdP dal nějaké konkrétní claimy a nějak se za ně zaručil. V tom případě nicméně potřebuju jednoho nebo více konkrétních IdP, na nichž se tím stávám fakticky závislým (i když používám otevřenou technologii). Tady má ověřování třetí stranou smysl, ale přesto naráží na řadu netechnických problémů: Např. kde takového IdP vzít a nekrást? Zadarmo to asi dělat nebude a je ekonomicky rozumné mu za to platit? Pokud to bude IdP mít jako "přidruženou výrobu", hrozí konflikt zájmů. Pokud to bude dělat jako obživu, asi brzo zhyne.

Modelový příklad: provozuju e-shop a hodilo by se mi vědět, že uživatelem zadané jméno a adresa je skutečné, takže budu mít větší jistotu, že to není vtipálek, kterému pošlu dobírku, která se vrátí jako nedoručitelná a budu s tím mít akorát vydání. Tj. chci třetí stranu, která si (třeba zasláním dopisu) ověří, že adresa je skutečně funkční. Hodilo by se mi, kdybych mohl jako IdP použít třeba Aukro, které u svých uživatelů adresu korespondenčně ověřuje. Jenomže: bude Aukro skutečně chtít být IdP? Když tím bude pomáhat své konkurenci? Budu já chtít, aby Aukro vědělo, kdo jsou moji zákazníci? Budou se moji zákazníci chtít přihlašovat účtem třetí strany? Vyplatí se nějaké nezávislé třetí straně provozovat takovou službu?

Význam technologií, jako je SAML, je spíše v jiných oborech, v uzavřených nebo polouzavřených systémech. Např. abych já, jako ISV mohl dodat aplikaci, která snadno půjde zapojit do infrastruktury odběratele. Nebo pokud chci dělat nějakou federated identity, třeba umožnit do extranetu přístup partnerům a podobné věci. Proto je ostatně SAML tak složitý - předpokládá se, že požadovaného efektu dosáhnu nikoliv programováním, ale parametrizací, nějakým hotovým řešením. Že to bude problém "IT Pro" ne "Developer". Od toho tady jsou programy jako ADFS (Active Directory Federation Services od Microsoftu), již zmiňovaný Shibboleth (což je open source v rámci projektu Internet2), Athens (používaná v UK) nebo Tivoli (od IBM).

bredy 26.7.2010 10:04  7362
RiderŘekl bych, že jsi podlehl přání otce myšlenky. Zajímavý je, že podle tebe nemají takové systémy šanci na úspěch, ale že dost lidí bez problémů používá Facebook login (a viděl jsem to i na pornositech), to ti asi uniklo. Bohužel, Facebook login, stejně jako Microsoft Passport zase trpí na centralizaci. Oba jsou proprietální systémy, které stojí a padají na ochotě těch subjektů je podporovat.
rider Rider - Asociace chovatelů antropomorfních koní 26.7.2010 02:39  7361
Můj systém tento zákon neporušuje, protože systém je založen na přihlášené přes prostředníka.
Ano. A to je důvod, proč se nerozšíří a nebude úspěšný. A také proč se nerozšířil a není úspěšný a masově používaný žádný systém přihlašování přes prostředníka. I to OpenID je mezi slepými jednooký králem, dohromady to nikdo nepoužívá.
bredy 23.7.2010 22:27  7360
Zákony identityNašel jsem někde český překlad těch zákonů, což zlepší porozumění, a vychází mi toto: (zdroj: http://is.muni.cz/th/173294/fi_b/bc.pdf)

1. Systémy pro práci s identitami smějí předat informace o uživateli pouze s jeho souhlasem. Uživatel tedy musí vědět, jaké informace o něm systém uchovává, komu a v jakém rozsahu je předává. Zároveň s jejich předáním musí explicitně souhlasit, jinak k předání informací o uživateli nesmí dojít.

Splněno. Uživatel má plnou kontrolu nad svým profilem. IdP může pomoci uživateli vybrat, které informace poskytne SP.

2. Systém, který uchovává a spravuje co nejméně identifikačních údajů, je z dlouhodobého hlediska nejstabilnější. Se zvětšujícím se množstvím spravovaných informací rostou náklady na jejich zabezpečení a každý systém by tak měl pracovat pouze s informacemi, které nutně potřebuje.

Jestli to dobře chápu, jde o to, aby uživatel měl představu o tom, které informace bude služba ke své činnosti potřebovat. Pravda, že tento bod zatím nesplňuji, protože SP nemá momentálně způsob jak IdP sdělit rozsah požadovaných informací, tedy uživatel musí předpokládat, že SP bude vyžadovat všechny informace a tedy je na něm rozhodnout, které poskytne. Zároveň IdP nemá řečeno, které informace jsou povinné. Teoreticky tedy uživatel nemusí poskytnout žádné informace výjma ProfileID, který slouží ke spárování uživatelského profilu IdP s identitou na straně SP.

3. Systém musí být navržen tak, aby přístup k informacím měli povoleny pouze takové subjekty, kterých se dané informace bezprostředně týkají.

Můj systém tento zákon neporušuje, protože systém je založen na přihlášené přes prostředníka. Není tam jediný subjekt, který by do systému neměl mít přístup. Nic o vedlejším kanále. Nic o tom, že by si SP a IdP neměly vyměňovat informace sloužící k ověření vlastní seance.

4. Systém musí umět podporovat tzv. ”všesměrové“ identity pro veřejné subjekty a ”jednosměrné“ identity pro soukromé subjekty. Za všesměrové identity považujeme takové subjekty, které veřejně informují o své identitě, např. certifikáty X.509 (obsahují veřejně dostupné informace, jejichž pravost potvrzuje certifikační autorita). Naproti tomu jednosměrné identity jsou subjekty, které prozrazují svoji identitu pouze subjektům, které si sami zvolí a tím chrání své soukromí.

Pokud to dobře chápu, z hlediska uživatele musí systém podporovat jak uživatele, kteří se rádi svou identitou chlubí a rádi mají někde potvrzeno, že jsou to oni, tak uživatele, kteří se chtějí jen přihlásit ke službě, ale nechtěji být zpětně identifikováni. Můj systém umožní slepé přihlášení, kde uživatel neposkytne své id SP ale pouze IdP, a IdP za něj vyrobí jednoznačnou identifikaci v rámci konkrétního SP. z té identifikace nelze zpětně dohledat, o koho se jedná.

5. Systém pro práci s identitami musí zajistit možnost spolupráce různých technologií od rozdílných poskytovatelů identit (tedy musí být decentralizovaný).

Splněno 100%.

6. Součástí identifikačního metasystému musí být uživatel. Interakce uživatele s tímto systémem musí být realizována pomocí jednotného a zabezpečeného rozhraní.

Pokud hovoříme o ochraně proti phishingu, jednotné rozhraní je v zásadě proti tomuto požadavku. Ideální je, pokud jednotné rozhraní používá konkrétní uživatel. To mu v tomto případě poskytuje právě jeho zvolený IdP. 100% splněno.

7. Systém musí uživateli poskytnout jednoduchý a konzistentní výběr identity závislý na kontextu probíhající komunikace. Rozhodnutí o výběru identity musí být vždy provedeno uživatelem.

Uživatel si může zvolit svého IdP a v rámci IdP pak nějakou vlastní identifikaci. V rámci probíhající komunikace si může uživatel vybrat profil, který ke komunikaci vybere. 100% splněno.

Co jsem nesplnil?
bredy 23.7.2010 21:56  7359
RiderOkaj dobrý. Já sám považuju ty zákony (po tom, co jsem si je zběžně přečetl) za jakési teoretické cvičení, něco jako desatero božích přikázání. Možná jsou ideálem, ale nikdy podle mne nebude možné je dodržet v plném rozsahu. Píšeš, že existují systémy, které je dokáží doržet ve větším rozsahu. Možná, otázkou je, za jakou cenu.

Kritizuješ nedodržení 3. zákonu, s poukazem, že někde se to dělá bez nutnosti mít 3. stranu. Je legrační kritizovat systém identifikace založené na ověření u 3. strany s tím, že identifikace přes 3. stranu není správná. To je to létání bez mávání křídel. Možná lze se vyhnout třetímu kanálu mezi SP a IdP. Opravdu? Co když ne. Co když ten kanál tam tedy přímo neexistuje, ale existuje tam virtuálně? I přesto, že tam namalovaný není, tak systémem redirectů se ve skutečností nějaká data mezi SP a IdP předávají, akorát, protože jdou přes UA, musí tam být dobré zabezpečené. Jsi si jist, že ani takový systém neporušuje 3. zákon? Opravdu? Akademická diskuze.

A stejně tak modla non-auditing IdP. Život je plný kompromisů. Můžeš mít maximální svobodu, ale budeš bojovat s podvodníky, nebo maximální ochranu, ale nebudeš svobodný. IdP ti dává ochranu, ale bere ti svobodu, umožňuje ti jí část sebrat (svobodu na určité soukromí). Ale nejsi úplně bez nástrojů, právě jedna svoboda ti zatím zůstává, vybrat si zvlastního uvážení IdP, případně se sám stát IdP a problém s non-auditing IdP jsi právě vyřešil. Problém není se identifikovat, problém je prokázat, že ta identifikace není podvržená.

Jak jsem napsal, je to teoretické cvičení, akademická diskuze, vhodná opravdu spíš do přednáškové síně vysoké školy. Praxe ale ukazuje, že dobrá a rychlá služba je drahá, že levná a rychlá služba není dobrá a že levná a dobrá služba není rychlá. Prostě tohle je systém, který by měl pomoci v rozšíření právě jednoduchou implementací za cenu nižší obecnosti. Jednou doufám, že už si nebudu muset pamatovat tisíce hesel na různé e-shopy, a že i na Lopuch se přihlásím jménem a heslem do Seznamu.

Konečně, i ono slavné OpenID porušuje značnou část těch zákonů. Dokonce bych řekl stejné množství jako moje řešení. Jen je navíc ještě komplikované.
rider Rider - Asociace chovatelů antropomorfních koní 23.7.2010 15:35  7358
No, mám pocit, že v této fázi už jakákoliv diskuze nemá smysl. Vymyslel jsi n+1 autentizační systém, který podle mého názoru nepřináší nic, co by tady už nebylo. Zároveň má problémy, které některé jiné systémy už nemají, protože je buďto považuješ za nedůležité (např. 3. zákon identity) a nebo je pokládáš za neřešitelné (např. non-auditing IdP).

Pokládat některé aspekty za nedůležité je tvé svaté právo (já zase pokládám za nedůležité jiné aspekty, jako například jednoduchost technické implementace), je možné, že se všichni ostatní mýlí a ty máš pravdu, v tom případě tvůj systém bude úspěšný.

Že pokládáš za neřešitelné jiné aspekty je trochu zarážející, vezmeme-li v úvahu že jiné systémy je rutinně řeší, ale je jistě tvou volbou nestudovat stávající situaci v oboru, do kterého ses rozhodl vstoupit.

Prostě to naprogramuj a zveřejni a uvidíš. IMHO po tom pes neštěkne, ale budu rád, když se budu mýlit.

bredy 23.7.2010 11:29  7357
Další problém tvého řešení je, že IdP je z principu vždycky Auditing IdP, neumožňuje implementovat Nonauditing IdP. Jinými slovy, můj identity provider ví, kam všude se s ním přihlašuju (protože je tady přímá komunikace mezi ním a SP). Což pro tyhle jednoduché věci taky není dobře.

IdP to bude vědět vždy. I když si budeme hrát na to, že nebude. Bude, minimálně proto, aby uživateli zobrazil informaci o tom, kdo po něm chce ověření. Protože uživatel musí mít jistotu, že to je tentýž kam se on chce přihlásit. Ze IdP ví, kam se nějaký uživatel přihlašuje je samořejmě pro někoho na škodu, otázkou je, zda IdP ví, kdo to je. Proti tomu mám tzv. aliasing, kdy uživatel má možnost si zřidit vlastní IdP delegováním procesu přihlášení na jiného IdP nebo podle SP i na různá IdP. Zřízení vlastního IdP pomocí delegování je jednoduché, protože na to není potřeba žádný skript, jen textový soubor na vhodné adrese.
bredy 23.7.2010 11:00  7356
RiderK slepému přihlášení. To ID nemusí být nutně stejné pro každého SP. Už proto, že SP se na IdP identifikuje nějakým svým jménem (většinou URL). Ano jistě, tato identifikace není ověřená, ale není jediná, další dodatečnou identifikací může být IP adresa požadavku (právě na tom druhém kanále), nebo klidně nějaká forma certifikátu (což může být rozšířený atribut akce login). Pokud jde o tu nejjednoduší identifikaci, tak ta se zobrazuje uživateli, takže si jí může zkontrolovat. Uživatel může každému SP poskytnout jiný profil s jinými osobními údaji a i s jiným profilem je spojeno jiné ID.

Požadavek třetího zákona je takový schizofremní. Asi jako kdyby řekl, že můžeš lítat, ale přitom se nesmíš mávat křídly. Budeme vymýšlet jak se drbat přes hlavu, abysme tomuto nesmyslnému požadavku vyhověli. Přitom IdP není jen tak "někdo třetí". Je to autorita, kterou si vybral uživatel, asi tak jako když si při obchodním jednání vybereš zástupce. Je to tvůj tajemník, někdo, komu věříš a kdo za tebe řeší věci, na které sám nestačíš. Původní požadavek je nesmyslný i z jiného důvodu. Jak SP tak UA potřebuje mít nějakou jistotu. SP musí mít jistotu, že nelžeš a UA musí mít jistotu, že SP tě správně identifikuje. A právě ten třetí IdP dává oběma stránám tuhle jistotu. Už proto má dost velký význam směr šipky v návrhu od SP do IdP, protože tím SP získává jistotu, že mu nelže ani UA ani IdP.

To že ví tvůj IdP, kam se přihlašuješ není na škodu. Protože IdP jsi si vybral ty. Pokud máš veřejnou IP adresu, není problém si zřídit IdP na svém počítači. A nebo prostě máš autoritu, která ti něco garantuje a svou identifikaci jí svěříš. Tohle není problém technologie, ale pouze důvěry mezi autoritami. Mimochodem myšlenka lokálního IdP je stará. Co taková služba IDENT, která se dnes z důvodů NATů a firewallů nepoužívá. Ale fungovala stejně. Po přihlášení se SP zpětným dotazem ověřoval, že jsi opravdu ten, za koho se vydáváš.

Ochrana proti phishinku: Ještě mám jeden nápad a to je využití cookies. Uživatel si na IdP nastaví kontrolní text, který se mu zobrazí při každém přihlašování. Tento text bude uložen buď přímo v cookie, nebo na serveru (v cookie bude hash). Podvržená stránka tuhle informaci nezíská, takže nebude moci zobrazit kontrolní text. Například jméno počítače, nebo nějaký pozdrav. Možností je i vlastní design stránky, nebo zvolený obrázek. Důležité je, aby tahle informace byla uložena v UA. Kontrolu pak provádí uživatel vizuálně. Jakákoliv jiná kontrola by vyžadovala spolupráci s UA, například že by prohlížeč mohl ověřit, že login stránka patří tomu IdP, do kterého se uživatel přes svoje ID přihlašoval. V tuto chvílí to zvládá jen člověk.

Nemohu říct "beru jakéhokoliv providera, který mi sdělí tenhle claim".

To samozřejmě jde. Při discovery fázi v bodě 2 může IdP dodat nějaké atributy, které SP může použít. Při té fázi totiž přímo komunikuje s IdP a může od něj požadovat prakticky cokoliv.
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 23.7.2010 06:45 - Oblíbené kluby (10:01) 7355
co vy na toPískoviště pro programátory - Zdroják
:-)
rider Rider - Asociace chovatelů antropomorfních koní 23.7.2010 01:57  7354
Trochu moc nám to košatí, doufám že na nic nezapomenu...

Myslím si, že hlavní rozpor mezi námi je v tom, že ty jako hlavní překážku rozšíření OpenID a podobných technologií vidíš obtížnou implementaci na straně SP a IdP a jako takovou se ji snažíš řešit. Já tento názor nesdílím. Myslím si, že pokud jediná výhoda, kterou tvůj systém nabídne, bude jednodušší implementace, nemá šanci na úspěch.

Problém spočívá ve třetím zákoně identity, tedy v tom, že do procesu autentizace by neměl být zatažen nikdo, kdo tam nezbytně nutně nepatří. Důvod neúspěchu první generace identity systémů (nejzářnějším případem je Passport, ale je jich spousta) je právě to, že lidé nechtějí do své komunikace zatahovat třetí stranu - ani z pozice koncového uživatele, ani z pozice SP. Pro velkou většinu aplikací je IdP jako třetí strana v podstatě zbytečný. Možnost být sám svým IdP je v tvém systému tak komplikovaná, že ji většina uživatelů nemá šanci využít. Smysl má IdP jako třetí strana v několika specifických případech, kde je ale obvykle vyžadována mnohem vyšší úroveň zabezpečení a kde není problém dostatečně robustní mechanismus implementovat.

Z mého pohledu jediným zajímavým momentem tvého návrhu je "slepé přihlášení". Z toho co jsi napsal nicméně předpokládám, že onen "jakýsi jednoznačný identifikátor tebou vybraného profilu" bude pro všechny SP stejný. Čímž se podle mého názoru výhoda anonymity dost ztrácí. Ono je dost jedno, jestli SP bude mít jako můj handle přímo moje ID nebo nějaký blábol, důležité je, aby se dva různí SP nemohli za mými zády domluvit a spojit si ta data. Mnohem rozumnější mi přijde implementace Personal Information Card, kde se jako identifikátor používá hash z PPID (jednoznačný identifikátor uživatele) a identity SP (podle certifikátu nebo hostname). To elegantně řeší soukromí i problém phishingu, protože každý SP dostane přímo technologicky jiný identifikátor. Viz čtvrdý zýkon identity - directed identities).

Další problém tvého řešení je, že IdP je z principu vždycky Auditing IdP, neumožňuje implementovat Nonauditing IdP. Jinými slovy, můj identity provider ví, kam všude se s ním přihlašuju (protože je tady přímá komunikace mezi ním a SP). Což pro tyhle jednoduché věci taky není dobře.

Další problém je v omezení volby IdP. Protože celá tahle záležitost není claim-based, mohu z pozice SP omezit přijímané IdP jenom na základě jejich doménového jména. Nemohu říct "beru jakéhokoliv providera, který mi sdělí tenhle claim".

Prostě mi přijde, že tvůj systém nenabízí oproti existujícím nic nového, kromě (možné) technologické jednoduchosti, ovšem výměnou za podporu jenom jediného scénáře.

bredy 23.7.2010 01:14  7353
Z jakého důvodu jsi pro porovnání zvolil zrovna ten v podstatě nejsložitější profil
No ten jednodychý mi přišel velmi nebezpečný. Už proto, že tam chybí ta přímá komunikace a je třeba se spoléhat na kanál přes UA. Jistě, pokud ty data zašifruju, tak to přenést mohu... ale už to je složité, protože se obě strany musí domluvit na šifře a to se může těžko dělat v případě, že se šifry časem mění a stárnou. A sami víme, jak flexibilní jsou právě drobní SP.
bredy 23.7.2010 01:12  7352
RiderPřímá komunikace mezi SP a IdP je tam právě proto, aby se ověřil relativně nezabezpečený kanal SP->UA->IdP. Protože právě tam může sedět muž mezi. Zabezpečení dodatečným kanálem je právě ta krása v jednoduchosti... konečně, dneska se to běžně používá u bank, kdy validačním kanálem je třeba SMSka. (PS: ty zákony jsem tak nějak prošel, ale raději, když mi přímo ukážeš, ve kterém zákoně se to píše)

Komunikace mezi SP->IdP může být samozřejmě podle potřeby šifrována, o použití šifrování rozhoduje IdP na základě svých možností, které umí implementovat. Stejně tak může být zabezpečený kanál mezi UA a IdP.

Ochrana proti phishingu na Webu tařka neexistuje, protože jakákoliv služba tě nakonec může redirectnout někam, kde to vypadá podobně, jak tam, kde jsi zvyklý, ale je to jen podvrh. Jedinou ochranou jsou ony známé prvky v prohlížeči, jako jinak podbarvený URL řádek, zvýraznění adresy atd, případně nějaké blacklisty, které obsahují seznamy podvodných stránek. Nejlepší ochranou je pak lokální klient, kalkulačka, nebo další kanál, třeba ta SMS.

Jistě, heslo tuhle nevýhodu nemá, ale uživatel z lenosti zadává všude stejné heslo, pak je otázkou, kde je větší nebezpečí.

Oproti OpenID by měla být výhoda ta, že je mnohem jednodušeji řešení, nevyžaduje žádné další zabezpečovací prvky (kromě standardních, běžných na každým apachovi), z hlediska klienta (SP) je snadno nasaditelný a umožňuje přihlášení bez nutnosti sdělit SP své plné ID, "slepé přihlášení" @domena.cz, kde plné prozrazení svého ID provedeš až na IdP a SP obrží pouze jakýsi jednoznačný identifikátor tebou vybraného profilu (nikoliv Tvé ID).

[ 4075 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt