D-FOAF Distributed Identity Management With Access
D-FOAF Distributed Identity Management With Access
1 Introduction
The Internet provides a large number of different services. Usually services re-
quire authentication of their customers. Two most common examples that re-
quire user authentication are access control to services or resources, and person-
alisation of aservices. The usuability of services suffers greatly from the fact the
usually no single sign in facility is available.
?
The support of Enterprise Ireland, through its Informatics Commercialisation initia-
tive, for the eLITE Industry Led Research Project in eLearning is gratefully acknowl-
edged. This material is also partially based upon works supported by KBN, Poland
under grant No. 4T11C00525, and partially by a grant of the Interoperable EHR Re-
search and Development Center(A050909), Ministry of Health & Welfare, Republic
of Korea. The authors would like to acknowledge Stefan Decker, Marco Neumann,
John Breslin, the DERI Semantic Web Cluster and the Corrib.org working group
for fruitfull discussions.
The proliferation of Internet services introduces many problems like no single
identity for Internet users or no scalability in trust and access rights manage-
ment. Some of those problems has been so far addressed in a number of ongoing
projects.
The main difference between the Internet and real world services are autho-
risation procedures. In the real world each person has a single identity expressed
with a number of credentials like ID card, passport or driving license. This allows
real world service providers to easily confirm the authentity of the presented cre-
dentials In the Internet, each user has to deal with a number of identities with
different credentials like login-password pair. Since the is no notion of single iden-
tity service providers are usually inclined to introduce new credentials for each
user. As a result the trust to each user is build within each service separately.
Approaches like Microsoft Pasport [?], Sxip [?] or Liberty Alliance Project [?]
are aiming to provides a solution to the single-sign-on problem. Due to various
problems none of those projects has been widely adopted by service providers so
far, making them useless for the majority of Internet users with the ever growing
number of service.
Most of online services are usually based on very simple user profile manage-
ment implementations that do not address problems stated above. Access rights
are based on predefined, fixed list of groups and neither allow finer granularity
nor trust delegation.
The notion of social networking emerged in the Internet with online com-
munity portals like Orkut that allow users to control access to the information
based on the structure of the social network. Each user can restrict access to
some parts of his/her profile information delegating trust within given number
of degrees of separation.
One of possible scenarios where both distributed identity and the trust dele-
gation is utilised is W3C information management. W3C consists of a growing
number of member organisations. Each W3C Member has one Advisory Com-
mittee Representative (AC Rep). This person knows enough about the Member
organisation’s structure and forwards detailed technical reviews to the proper
person. The AC Rep receives official notices from W3C. Acting as a gatekeeper,
the AC Rep responds to, or delegates response to W3C Calls. The AC Rep
appoints participants in W3C Working Groups.
Trust delegation When AC Rep has to grant access to some W3C services or
resources, he/she needs to either add given person to an access control list or add
this person to a group that already has access to the resource. In the constantly
growing, evolving and changing research organisation managing access rights in
that way maybe time consuming.
In this section we describe how AC
Rep could delegate access rights without
constant alteration of the ACLs or access
groups.
AC Rep can define access rights group
as a subgraph of social network within 2
degrees of separation from him/her. This
allows his/her direct collaborators to del-
egate the access rights to W3C resources
and services one step forward in the so-
cial network (see Fig. ??). This way AC
Rep does not have to alter the access Fig. 1. W3C Scenario - Access rights
rights list for every new member. It is delegation within the community
enough when at least one of existing mem-
bers establish friendship relation. The new member cannot delegate the access
rights any further, though.
Many W3C Member organisations can take part in different W3C Working
Groups. Access rights delegation based on the friendship relations may introduce
security threats, by allowing people from different working groups to access re-
sources allowed to other working groups. People affiliated with W3C Member
can defined their friendship relations within working group contexts. But do not
share access rights beyond working groups even though some of them stay in the
direct friendship relation (see Fig. ??).
The third step of user rights’ computing can result in a huge digraph and ex-
pensive overload of the network. To perform the third step as rarely as possible
a caching algorithm must be introduced (see Def. ??). The goal is to remem-
ber the result of the complex distance computing. Remembering all information
gathered from other services would provide a lot of redundancy and could result
in data inconsistency. The local cache keeps only paths between two nodes in the
digraph DSN which could be used in the first or the second step of distributed
user rights computing.
System creates a cache (see Fig. ??) by adding new paths to local store. Registra-
tion servers of all users that were represented by outgoing vertexes in the added
path, are notified about the caching procedure. If some friendship information
about the user has been changed, RSSN sends update notification to services
that maintain the cached information. The service that receives this notification
invalidates cached path starting from the node representing the user on whom
the information has been changed.
5 D-FOAF - a Distributed Identity Management System
on Social Networks
The concept of a distributed identity manage-
ment system has been implemented in the FOAF-
Realm project [?,?]. FOAFRealm delivers a plug-in
for Tomcat [?] JSP container and utilises FOAF [?]
metadata extended with concepts required by dis-
tributed user profile management on social networks.
The main feature of FOAFRealm is the implemen-
tation of org.apache.catalina.Realm and
org.apache.catalina.Valve interfaces that intro-
duce the concept of Community Driven Access Con-
trol (see Def. ??) and Distributed Community Driven
Fig. 6. Architecture of the
Identity Management (see Def. ??) to J2EE web
D-FOAF system
applications. The use of FOAFRealm core features
like authorisation and access rights management is transparent to the web ap-
plication builder. FOAFRealm encodes access control definitions in a form of
literals that are understood by Tomcat as realm group definitions but are pro-
cessable by FOAFRealm. Example ?? shows how the Social Networked Access
Control List (see Def. ??) is encoded in FOAFRealm.
5.1 Architecture
D-FOAF, Distributed FOAFRealm, utilises the HyperCuP P2P infrastructure
to connect and exchange information between FOAFRealm instances. There are
four major features supported by D-FOAF:
– Distributed user authentication (see section ??)
– Distributed identity management (see section ??)
– Secure distributed computing of distance and friendship level between users
(see section ??).
– Social semantic collaborative filtering [?]
The current implementation of FOAFRealm consists of four layers (see Fig. ??):
– The distributed communication layer provides access to a highly scalable
HyperCuP [?] Lightweight Implementation [?] of a P2P infrastructure to
communicate and share the information with other FOAFRealm implemen-
tations.
– FOAF and collaborative filtering ontology management. It wraps the actual
RDF storage, providing simple access to the semantic information from the
upper layers. The Dijkstra algorithm for calculating distance and friendship
quantisation is implemented in that layer.
– Implementation of the Realm and Valve interfaces to easily plug-in the
FOAFRealm into the Tomcat-based web applications. It provides authen-
tication features including autologin based on cookies.
– A set of Java classes, tagfiles and JSP files plus a list of guidelines that can be
used while developing a user interface in personal web applications. This layer
includes general user interface implementations for user profile management,
social semantic collaborative filtering and multifaceted browsing.
5.4 Evaluation
The six degrees of separation [?,?] theory began the research and development of
social networks. The number six derives from an experiment performed in 1967
by social psychologist Stanley Milgram [?].
Because the Milgram’s experiment had been rather small, it was questioned.
As a result some sociologists [?] recruited over 60,000 participants from 166
different countries and they performed tests on the Internet environment.
The first website called HotLinks which utilised the concept of the six degrees
of separation was published in 1998, and was available for four years. Then, the
members were moved to Friendster [?] network, which was founded in 2002. Since
winter 2002 Friendster network is becoming more and more popular. There are
more than 21 million members at the moment.
Nowadays, there are a few dozen networks that take advantage of six degrees
phenomena. They differ in many ways. For example, Hungarian WIW [?] and
Orkut [?] projects require an invitation in order to join the network, which
guarantees that at least one relationship with community for new members,
while it is not necessary in Friendster mentioned above. In addition, we noticed
recently a large grow of business oriented networks, like e.g. LinkedIn [?] and
Ryze [?], that manage professional contacts, enabling users to find employer or
employee.
Complexity[?] is an on-Line journal. An special issue published in August
2002 was dedicated to the role of networks and network dynamic. Although, the
focus was on showing complexity for different levels of network architecture, a
large part of the journal was related to social networks. The mentioned issues
were helpful in comprehension of network-based analyses and explanations.
The scope of social networks is much wider. Recently, the idea was adopted
in order to protect from spam, which becomes such a ubiquitous problem. Intro-
ducing reputation networks and taking advantage of Semantic Web, TrustMail
project [?] extends the standard social network approach. Moreover, various al-
gorithms were considered and a prototype email client was created and tested.
It resulted in highly accurate metrics. Additionally, valid e-mails from unknown
users can be received, because of connection in the social network.