An Authorization Service using.NET Passport ™ as underlying Authentication Scheme Bar-Hen Ron Hochberger Daniel Winter 2002 Technion – Israel Institute of Technology
Purpose Implementing a passport authentication service compliant with Microsoft unique password idea Creating participating sites which support multiple levels of access Finding an interesting real-world application and integrating it into the application
Design issues Support of multiple kind of servers (e.g. University, Bank…) A configuration s/w written for the use of a super-user who will parameterize the particular server he wants to build Ability for an administrator to dynamically change permissions at any time and for any kind of user
Database One database for the user’ s permissions, located in each server A standard data repository for each server (storing grades, cash etc…) Data repository Permissions repository
Authentication issues Use of.Net Passport authentication paradigm furnished by Microsoft: users have an account on Microsoft Passport: a universal login name and a password used for accessing each of the participating sites users are identified by a Unique Identity Number (UID) stored in a cookie on the user’ s local computer by Microsoft Each participating server knows and checks the UID stored in the cookie When the cookie is absent on the user’ s local computer, the server redirects the user to Microsoft Passport authentication site
Scenario New users are registered to a participating site by the administrator of this site only A user attempts to connect a given site by typing its IP address The remote server checks the presence of a cookie in the user’ s local computer cache: If there is a valid cookie in the user’ s computer, then the server connects the user to the site Otherwise, the user is redirected to Microsoft Passport’ s site, types its login and password, and if the authentication succeeds Microsoft sends him a cookie which can now be checked by the participating site The user can now surf the site according to its permissions
Tools and platform Environment: The application will be developed on.Net platform using the C# programming language Platforms: The application will be developed on Windows XP The servers will be installed on Windows XP, and possibly UNIX and Linux Database tools:
General design GUI SERVER Client Microsoft Passport Data repository Permissions repository