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. |