Академический Документы
Профессиональный Документы
Культура Документы
Outline
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
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.
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 clocksynchronized.
Needham-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.
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.
3. 4. 5.
Weakness
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->B: {A, t, KAB} KB B decrypts this message and checks that t is recent. This is the solution adopted in Kerberos
Kerberos 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).
Kerberos 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.
Kerberos 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.
Kerberos Protocol V
Step A: obtain Kerberos session key and TGS ticket, once per login session
1. C->A: C,T, n Client C requests the Kerberos authentication server A to supply a ticket for communication with the TGS T A->C: {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.
2.
Kerberos 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 3. C->T: {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 4. T->C: {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).
Kerberos Protocol V
Step C: issue a server request with a ticket 5. C->S: {auth(C)} Kcs, {ticket(C, S)} Ks, request, n C sends the ticket to S with a generated authenticator for C and a request.
Drawbacks
[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.
Research
Case Study: Key Distribution Framework for a Mobile Agent Platform[Leila Ismail & et al, 2008]
Definition
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.
Example
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
Security 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.
Security 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.
Security 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.
Security 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.
Security 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.
Security 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.
Security 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.
Key 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
Key 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.
Key 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 .
Key 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.
Key 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.
Key Distribution Mechanisms - cont. - Key AuthenticationTo 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.
Key Distribution Mechanisms - cont. - Key AuthenticationFor key authentication, the authers made the following assumptions: Trust must be established between different CAs. Every mobile agent server must be preconfigured with the digital certificate of the local CA within the same security domain.
- 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.
Related 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.
Related 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.
Related 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.
Conclusion.
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.
Future 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.
References
*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_(protocol), 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 .