Title: 8.5 AUTHENTICATION AND KEY DISTRIBUTION
18.5AUTHENTICATION AND KEY DISTRIBUTION
- Bassam Tork
- Dr. Yanqing Zhang
2Outline
- Concepts
- Authentication Protocols
- Design of Authentication Protocols
- Needham-Schroeder Protocol
- Kerberos Protocol Version V
- Research
- Case Study Key Distribution Framework for a
Mobile Agent Platform - References
3Overview Randy Chow et al,1997
- Authentication is the process of verifying the
identity of an object entity. - one-way verificationPassword verification.
- Two way authentication both communicating
entities verify each others identity. - This type of mutual authentication is important
for communication between autonomous principals
in a client/server or peer-to-peer distributed
environment.
4Orvveiew George Coulouris et al,2001
- Cryptography is used for authenticating
communication between pairs of principals. - If keys are held in private, a successful
decryption authenticates the decrypted message as
coming from a particular sender. -
5Authentication Protocols Randy Chow et al,1997
- Authentication protocols are all about
distribution and management of secret keys. - Key distribution in a distributed environment is
an implementation of distributed authentication
protocols.
6Design of Authentication Protocols Randy Chow
et al,1997
- Many authentication protocols have been proposed
- All protocols assume that some secret information
is held initially by each principal. - Authentication is achieved by one principal
demonstrating the other that it holds that secret
information. - All protocols assume that system environment is
very insecure and is open for attack. So any
message received by a principal must have its
origin authenticity, integrity and freshness
verified.
7Design of Authentication Protocols Randy Chow
et al,1997
- To achieve these goals, most protocols need to
rely on an authentication server. - Capable Authentication server delivers
good-quality session keys and distribute them to
the requesting principals securely. - Trustworthy Authentication server maintains a
table containing a name and a secret key for each
principal. The secret key is used only to
authenticate client processes to the
authentication server and to transmit messages
securely between client processes and the
authentication server.
8Design of Authentication Protocols Randy Chow
et al,1997
- Protocols are divided into two categories to
verify the freshness of a message. - First category uses nonce and challenge/ response
handshake to verify freshness. - Second category uses timestamps and assumes that
all machines in distributed system are
clock-synchronized.
9The Evolution of Authentication ProtocolsRandy
Chow et al,1997
- Needham-Schroeder Protocol.
- Kerberos protocol.
10Needham-Schroeder Protocol George Coulouris
et al,2001
- This original work includes secret-key protocol
and public key protocol - Public-key protocol does not depend on the
existence of authentication server and is hence
more suitable for use in networks with many
independent management domains. - Secret-key protocol provides a solution to
authentication and key distribution based on an
authentication server. -
11Needham-Schroeder Secret-key Protocol
http//en.wikipedia.org/wiki/Needham-Schroeder_p
rotocol, May 2008
- The protocol is based on the generation and
transmission of ticket by the authentication
server. - A ticket is an encrypted message containing a
secret key for use in communication between A and
B. - The protocol consists of 5 steps.
12Needham-Schroeder Secret-key Protocol
- A-gtS A, B, NA
- A requests S to supply a key for communication
with B - S-gtA NA, B, KAB, A, KAB KB KA
- S returns a message encrypted in As secret key,
containing a newly generated key KAB, and a
ticket encrypted in Bs secret key - A-gtB A, KAB KB
- A sends the ticket to B
- B-gtA NB KAB
- B decrypts the ticket and uses the new key KAB
to encrypt another nonce NB - A-gtB NB - 1 KAB
- A demonstrates to B that it was the sender of
the previous message by returning an agreed
transformation of NB
13Weakness
- If session key between A and B is compromised,
and the ticket to B is recorded, an intruder can
impersonate A by carrying out last 3 steps. - The weakness can be remedied by adding a
timestamp to message3, so that it becomes. A-gtB
A, t, KAB KB - B decrypts this message and checks that t is
recent. This is the solution adopted in Kerberos
14Kerberos Protocol V George Coulouris et
al,2001
- Based on Needham-Schroeder but uses timestamps
- It is included in the Distributed Computing
Environment (DCE) and in the windows 2000 as the
default authentication service. - A Kerberos server is known as a Key Distribution
Centre (KDC). - Each KDC has an authentication service (AS) and
a Ticket Granting service (TGS).
15Kerberos Protocol V George Coulouris et
al,2001
- Kerberos deals with three kinds of security
object - Ticket a token issued to a client by the
Ticket-Granting Service for presentation to a
particular server, verifying that the sender has
recently been authenticated by Kerberos. Tickets
include an expiry time and a newly generated
session key for the use by the client and the
server - Authenticator a token constructed by a client
and sent to a server to prove the identity of the
user. - It contains clients name and a timestamp and
is encrypted in the appropriate session key - Session key a secret key generated by Kerberos
and issued to a client for use when communicating
with a particular server.
16Kerberos Protocol V
- A Kerberos ticket has a fixed period of validity
starting at time t1 and ending at time t2. A
ticket for a client C to access a serve S takes
the form - C,S, t1, t2, Kcs Ks, which we denote as
ticket(C,S) Ks - The clients name is included in the ticket to
avoid possible use by impostors. - The protocol consists of 4 steps.
17Kerberos Protocol V
- Step A obtain Kerberos session key and TGS
ticket, once per login session - C-gtA C,T, n
- Client C requests the Kerberos authentication
server A to supply a ticket for communication
with the TGS T - A-gtC KcT, n, ticket(C, T) KT Kc
- A returns a message containing a ticket
encrypted in its secret key and a session key for
C to use with T.
18Kerberos Protocol V
- To obtain a ticket for any server S, C constructs
an authenticator encrypted in KcT of the form - C, t KcT, which we denote as auth(C) KcT
- Step B obtain ticket for a server S, once per
client-server session - C-gtT auth(C)KcT, ticket(C, T) KT, S, n
- C requests the ticket-granting server T to
supply a ticket for communication with another
server S - T-gtC Kcs, n, ticket(C,S) Ks KcT
- T checks the ticket. If it is valid T generates
a new session key Kcs and returns it with a
ticket for S (encrypted in the servers secret
key Ks).
19Kerberos Protocol V
- Step C issue a server request with a ticket
- C-gtS auth(C) Kcs, ticket(C, S) Ks, request,
n - C sends the ticket to S with a generated
authenticator for C and a request. - Step D Authenticate server (optional)
- S-gtC n Kcs
20Drawbacks http//en.wikipedia.org/wiki/Kerberos_
(protocol), October 2009
- Single point of failure It requires continuous
availability of a central server. When the
Kerberos server is down, no one can log in. - This can be mitigated by using multiple Kerberos
servers and fallback authentication mechanisms. - Kerberos requires the clocks of the involved
hosts to be synchronized. - The tickets have a time availability period and
if the host clock is not synchronized with the
Kerberos server clock, the authentication will
fail. - The default configuration requires that clock
times are no more than 10 minutes apart.
21 22- Case Study
- Key Distribution Framework for a Mobile Agent
PlatformLeila Ismail et al, 2008 -
23OutlineLeila Ismail et al, 2008
1-Definition 2-Security threats in a mobile agent
system. 3-The rationale beyond authentication for
mobile agents. 4-Present the requirements for key
distribution in a mobile agent system. 5-
Describe key distribution mechanisms. 6-Describe
the key distribution protocol for a mobile agent
platform and for the mobile agents. 7-
comparison with related works, conclusion. 8-Futur
e Work
24Definition
- A Mobile Agent is a process with its own code
and data that can migrate in the network from one
host (called agent server) to another to perform
a specific task on behalf of their users. - Mainly intended to address efficiency problems
of Distributed applications. - They reduce communication costs by moving
computation to or close - to the host on which the target data reside.
- Can move closer to potential resources for
access. - In addition agents communicate with each others
either locally or remotely. - In these scenarios, protection becomes an urgent
need.
25Example
The agent moves from one travel agency to
another. At each travel agency, the agent
compares the prices of the flights got from the
current agency with those got from the previous
agencies, selects the flight with the best price
and moves to the next agency
26Security Threats
- Spying and intercepting the agent (Man in the
Middle Attacks). - A competitor travel agency can modify to its
interest the intermediate results of the cheapest
price obtained by the mobile agent (agents
integrity). - An attacker can also modify the agents data
causing an error leading to a Denial of Service
attack (DOS). - This type of attack can be mounted through
vulnerable communication channels of the system.
An attack of this nature can happen during an
agents migration.
27Security Threats-cont.
- Spying and intercepting the agents itinerary.
- The itinerary of an agent is the list of agents
servers to visit. Knowing the agents itinerary,
a DOS attack can be mounted against the agent
itself. - A competitor travel agency for instance can
modify an agents itinerary so that the agent
would not visit other competitors. - The agents itinerary can be also be maliciously
modified so that to deviate the agent from its
destination. Thus forcing the agent to move to an
unknown agent server or to skip certain agents
server.
28Security Threats-cont.
- Masquerading. This type of attack consists of
bypassing the authentication mechanisms. - An agent pretends to be some other uthenticated
agent to obtain access rights. Gaining access,
the agent would then compromise the
confidentiality and the integrity of accessed
resources. - For example, an agent can pretend to be an
administrative agent so that to gain access to
flights prices and modify the prices to its
interest.
29Security Threats-cont.
- DOS attack against an agent server by the mobile
agent. - An agent executing on an agents server can clone
itself to an unlimited number of agents. It can
consume a huge number of CPU cycles, create a
huge number of processors, etc.
30Security Threats-cont.
- Repudiation The repudiation is the refusal to
admit responsibility of an action. - For instance, an agent (representing a user) can
refuse to admit a banking transaction which
involves fund transfer. - In case of collaboration between 2 agents, the
sender of the message can refuse to admit sending
the message and the receiver of the message can
refuse to admit of receiving a message.
31Security Threats-cont.
- Based on the above threats, we need to achieve
theses security issues - Protecting an agent server from a mobile agent.
This consists of protecting the receiving hosts
resources, such as file system, memory, CPU
cycles, and I/O channels. - In particular an agent must not be able to access
files ,memory for which it does not have access
rights. Also, an agent must not be able to run
forever on a receiving host.
32Security Threats-cont.
- Protecting cooperating agents. Agents can
communicate locally within an agents server or
remotely. Agents must authenticate each others
before communication takes place. - Protecting an agent from an agent server. This
problem consists of protecting an agent from an
malicious agents server that is executing it.
33Mobile Agents Authentication
- Authentication is the process of verifying the
identity of a principal for an eventual access
control. - In a mobile agent system, authentication is used
for 2 main reasons - Authenticating agent servers. This consists of
authenticating both the sender and the receiver,
so that to establish a mutual trust at the
platform level.
34Mobile Agents Authentication-cont.
- Authenticating mobile agents. It is necessary to
authenticate mobile agents so that to establish a
trust at the application level.
35Key Distribution Requirements.
- In designing the key distribution protocol, the
authors took into consideration the following
requirements - Security domain change The Certifiction
Authority (CA) of the receiving security domain
must be able to authenticate the agent which
comes from another security domain.
36Key Distribution Requirements-cont.
- Trust establishment The key distribution process
should start with a very high trust relationship
with the Certifiction Authority (CA) . - Secure key distribution The key distribution
process should be conducted in a secure manner
(e.g., trusted path). - Efficiency The key distribution process should
not consume a lot of resources, such as machines
CPUs and network bandwidth.
37Key Distribution Requirements-cont.
- Scalability The key distribution process must be
scalable enough, so that the mobile agent can
have the ability to roam widely. - Transparency The mobile agents should not
include a code which is proper to key
distribution. - This will ease programming as agents programmers
will concentrate on the programming logic rather
than the key obtaining issues. -
38Key Distribution Requirements-cont.
- Portability The protocol should not be platform
specific and should be ported to any mobile agent
platform. - Ease of administration The key distribution
protocol should not be a burden on the
administrator. The protocol is an automated
infrastructure that should require minimum
administrators intervention.
39Key Distribution Mechanisms.
- System Components
- A key distribution system for mobile agents
includes the following components - Agent An agent is a software component which
executes on behalf of a particular user who is
the user of the agent. - An agent can be mobile and move from one host
server to another under its own control to
achieve tasks on these hosts servers.
40Key Distribution Mechanisms.
Architecture of Key Distribution System in a
Mobile Agent Transform
41Key Distribution Mechanisms - cont. -System
Components-
- Agent Server Each host, as part of the mobile
agent platform, runs an execution environment,
the agent server. - Messaging System. A messaging system is part of
an agent execution environment. It provides
facilities for agents to communicate both locally
and remotely
42Key Distribution Mechanisms - cont. -System
Components-
- The CA. It is a trusted third party which
provides digital certificates for mobile agents,
users and agent servers. - All digital certificates are signed by the CA
for further verification of their authenticity
and validity.
43Key Distribution Mechanisms - cont. -System
Components-
- Keystore Each agent server has a local database
which is used to store and retrieve its own
private/public key pair and the digital
certificate. - It also stores the digital certificate of the
trusted CA and other agent severs, mobile agents,
and CAs with which the agent server has prior
communication. - Similarly, each CA has a local keystore .
44Key Distribution Mechanisms - cont. -System
Components-
- Security Domain A security domain consists of a
group of agent servers which are under one common
CA. In the security domain, the agent servers
have the digital certificate of their local CA
stored in their local keystores. - When a mobile agent moves, it can move within the
same security domain or changes a security domain.
45Key Distribution Mechanisms - cont. - Key
Authentication-
- Examples of entity impersonation threat
- Ex1 when a user agent assumes the identity of
another already authenticated user agent to
gain benefit from the communication. - Ex2 when an agent server assumes the identity of
another very credible agent server in order to
gain advantage over it.
46Key Distribution Mechanisms - cont. - Key
Authentication-
- To protect against such threat, public keys of
both user agents and agent servers must be
authenticated. - The most widely approaches, for solving the key
authentication problem - 1-ones based on the certifying authority model
(e.g. Secure Socket Layer/Transport layer
Security(SSL/TLS)) . - 2-The web-of-trust (e.g. pretty Good
Privacy(PGP). - The researchers adopted the certifying authority
model as a key - authentication method for trust establishment.
- They believe that this approach has an advantage
over the web of trust - because the web of trust relies on one to one
trust establishment between - entities, which cannot be achieved in a mobile
agent environment where - prior knowledge between communicating entities
may not exist.
47Key Distribution Mechanisms - cont. - Key
Authentication-
- For key authentication, the authers made the
- following assumptions
- Trust must be established between different CAs.
- Every mobile agent server must be pre-configured
with the digital certificate of the local CA
within the same security domain.
48Key Distribution protocol
Key Distribution Protocol for a Mobile Agent
Platform
49Key Distribution protocol
- The proposed key distribution protocol is
composed of the - following phases
- Pre-configuration Phase A domain administrator
reconfigures the local keystore of the agent
server with the digital certificate of the local
CA. - Initialization Phase An administrator starts a
mobile agent server which leads to the following
actions - 1) An agent server generates a private/public
key pair locally. 2) An agent server sends a
request which include the public key to the local
CA for certification. - 3) The local CA sends a response to the agent
server including the agent server digital
certificate, signed by the local CA.
50Key Distribution protocol cont.
- User Registration Phase An agent user can
register to an agent platform to be able to
configure and use its agents. - The following actions occur
- 1) A private/public key pair is generated
locally for the user. - 2) The agent server on which the user is
registered sends a request which includes the
user public key to the local CA for
certification. - 3) The local CA sends a response to the agent
server including the agent user digital
certificate, signed by the local CA.
51Key Distribution protocol cont.
- Agent Mobility Phase This phase details the
actions that the system takes when an agent moves
according to two scenarios - mobility within the same security domain
- mobility across domains as follows.
52Key Distribution protocol cont.- Agent
Mobility within Same Security Domain-
- Agent Mobility within Same Security Domain. In
this scenario, all the agent servers are under
the authority of the same CA. - 1) Sender agent server sends a SYNC request which
includes its identify and certificate to the
receiver agent server. - 2) Receiver agent server verifies the certificate
(VERIFY operation) using the certificate of the
CA in the local keystore. - 3) Receiver agent server sends an ACK response to
the sender agent server which includes the
receiver agent server identity and certificate. - 4) Sender agent server verifies the certificate
(VERIFY operation) using the certificate of the
CA in the local keystore. - 5) Sender agent server sends a message which
includes the agent, the agent identity and
certificate, signed by the local CA. - 6) Receiver agent server verifies the certificate
of the agent using the certificate of the CA in
the local keystore. - 7) Receiver agent server accepts or reject the
agent and informs the sender agent server of the
acceptance or rejection.
53Key Distribution protocol cont.- Agent
Mobility Across Security Domain-
- Agent Mobility across Security Domains. In this
scenario, agent servers are under the authorities
of different CAs - 1) Sender agent server sends a SYNC request
which includes its identify and certificate to
the receiver agent server. -
- 2) VERIFY operation (receiver side) works as
follows - - If the receiver agent server does not have the
certificate of the CA of the sender agent server,
then the receiver agent server sends a request to
its local CA. That message includes the sender
agent server identity and certificate. -
- -The Local CA of the receiver agent server sends
a response to the receiver agent server which
includes the sender certificate signed by the
receiver CA. - -If the receiver local CA does not have the
certificate of the sender local CA, then the
receiver local CA forwards the VERIFY request to
a higher authority CA and so on.
54Key Distribution protocol cont.- Agent
Mobility Across Security Domain-
- 3) Receiver agent server sends an ACK response
which includes its identity and certificate. - 4) VERIFY operation (sender side) works as
follows - -If the sender agent server does not have the
certificate of the CA of the receiver agent
server, then the sender agent server sends a
request to its local CA. That message includes
the receiver agent server certificate. -
- -The Local CA of the sender agent server sends a
response to the sender which includes the
receiver certificate signed by the sender CA. -
- -If the sender local CA does not have the
certificate of the receiver local CA, then the
sender local CA forwards the VERIFY request to a
higher authority CA and so on.
55Key Distribution protocol cont.- Agent
Mobility Across Security Domain-
- 5) Sender agent server sends to the receiver
agent server a message which includes the user
agent, the agent identity and certificate, signed
by the local CA. - 6) VERIFY operation (receiver side) works as
follows - -If the receiver agent server does not have the
certificate of the CA of the user agent server in
its local keystore, then the receiver agent
server sends a request to its local CA. That
message includes the agent certificate. - -The local CA of the receiver agent server sends
a response to it which includes the agent
certificate signed by the receiver CA. - -If the receiver local CA does not have the
certificate of the home agent local CA, then the
receiver local CA forwards the VERIFY request to
a higher authority CA and so on. - 7) Receiver agent server accepts or reject the
agent and informs the sender agent server of the
acceptance or rejection.
56Related Works
- Literature shows that many proposals have been
made, to handle how keys are named and bound to
individuals, and how servers manage key
distributions - Examples
- 1) Secure Shell(SSH)
- -Transmits the necessary key information during
connection setup. - -Key exchange is automatically done between a
client and a server. - - The administrator manually generates the
private/public key pair on the client machine - -and manually copy the client public key to all
the server with which the client will communicate.
57Related Works-cont.
- 2)EX2 Secure Socket Layer/Transport Layer
Security SSL/TLS) - -Transmits the necessary key information during
connection setup. - -Key exchange is automatically done between a
client and a server. - - The SSL/TLS uses the Diffie-Hellman key
exchange that allows 2 peers to exchange a
communication session (shared secret key) using
certificates already distributed to clients and
servers.
58Related Works-cont.
- Pretty Good Privacy (PGP)
- Simple Distributed Security Infrastructure/Simple
Public Key Infrastructure (SDSI/SPKI) . - These mentioned proposals assume that the clients
have a prior knowledge of the servers. -
- This approach is not applicable to a mobile agent
system where agents - Because agent servers have no prior knowledge of
each others or their certification authorities. - Therefore, the authors believe that the hierarchy
CA model is a natural choice for a key
distribution framework for a mobile agent
platform. - This is due to the the scalable nature of the
hierarchy CA model which makes no assumption
about the system communicating entities.
59Conclusion.
- The proposed a framework for key distribution
- in a mobile agent platform, took into account
- the dynamic nature of a mobile agent platform.
- 2-way authentication between the agent, (running
on behalf of its user) and the host. - the ease of use for both administrators and
agents users as it is automatically executed by
the underlying platform.
60Future Works.
- Considering the number of mobile agents, agent
servers, CAs, and the keystore performance based
on the the number and the sizes of the private
keys, public keys and certificates in the system,
for performance metrics.
61References
- 1 Randy Chow ,Theodore Johnson,Distributed
Operating Systems and Algorithms,
addison-wesley, 1997 - 2 George Coulouris, Jean Dollimore, Tim
Kindberg,DISTRIBUTED SYSTEMS CONCEPTS AND
DESIGN, addison-wesley, 2001 - 3 http//en.wikipedia.org/wiki/Needham-Schroeder
_protocol, October 2009 - 4 http//web.mit.edu/kerberos/, 2007/10
- 5 http//en.wikipedia.org/wiki/Kerberos_(protoco
l), October 2009 - 6 Leila Ismail, Ezedin Barka, Next Generation
Mobile Applications, Services and Technologies,
2008. NGMAST '08. The Second International
Conference on - 16-19 Sept. 2008 Page(s)281 287 .