Security System for Ad-hoc Wireless Networks

Authors Avatar

Security System for Ad-hoc Wireless Networks

based on Generic Secure Objects

Matei Ciobanu Morogan

2005

Ph.D. Thesis

Kungliga Tekniska Högskolan

Submitted as the partial fulfillment of requirements for the degree of Doctor

of Philosophy at the Department of Computer and System Sciences,

Kungliga Tekniska Högskolan

Department of

Computer and Systems

Sciences

Doctoral Dissertation

Department of Computer and System Sciences

Stockholm University / Royal Institute of Technology

ISBN 91-7178-019-X

i

Abstract

As computing devices and wireless connectivity become ubiquitous, new usage

scenarios emerge, where wireless communication links between mobile devices

are established in an ad-hoc manner. The resulting wireless ad-hoc networks

differ from classical computer networks in a number of ways, lack of permanent

access to the global network and heterogeneous structure being some of them.

Therefore, security services and mechanisms that have been designed for

classical computer networks are not always the optimal solution in an ad-hoc

network environment.

The research is focused on analyzing how standard security services that are

available in classical networks can be provided in an ad-hoc wireless network

environment. The goal is to design a security system optimized for operation in

ad-hoc wireless networks that provides the same security services –

authentication, access control, data confidentiality and integrity, nonrepudiation

– currently available in classic wired networks.

The first part of the thesis is the design and implementation of a security

platform based on generic secure objects. The flexible and modular nature of this

platform makes it suitable for deployment on devices that form ad-hoc

networks – ranging from Java-enabled phones to PDAs and laptops.

We then investigate the problems that appear when implementing in ad-hoc

networks some of the security technologies that are standard building blocks of

secure systems in classical computer networks. Two such technologies have been

found to present problems, namely the areas of certification and access control.

In a series of articles, we have described the problems that appear and devised

solutions to them by designing protocols, techniques and extensions to standards

that are optimized for usage in the ad-hoc network environment.

These techniques, together with the functionality provided by the underlying

security platform, are used to implement all standard security services –

confidentiality, authentication, access control, non repudiation and integrity,

allowing to integrate ad-hoc networks into the existing security infrastructure.

ii

iii

Acknowledgements

I would like to take this opportunity to express my gratitude to all the people at

DSV for a great environment during the entire time I have worked on this thesis.

Most notably, heartfelt thanks to my two supervisors: to Sead Muftic for his

guidance, ideas and comments, and to Louise Yngström for her great support and

encouragement. To the group at K2LAB that provided many interesting ideas on

mobile applications: Carl-Gustaf Jansson, Fredrik Kilander, Patrik Werle, Martin

Jonsson and all the others. My thanks to my fellow doctoral candidates Jeffy

Mwakalinga and Kasun DeZoysa; and to my colleagues and friends Anette

Hulth, Fresia Pérez, Atelach Alemu and Christian Schulte for their fascinating

insights.

iv

v

Contents

CHAPTER 1: INTRODUCTION ................................................................................ 1

1.1 BACKGROUND ......................................................................................................... 2

1.2 SECURITY ISSUES..................................................................................................... 3

1.3 RESEARCH FOCUS AND LIMITATIONS ....................................................................... 4

1.4 RELATED RESEARCH................................................................................................ 6

1.5 RESEARCH METHOD ................................................................................................ 9

1.6 RESEARCH RESULTS ................................................................................................ 9

1.6.1 Part 1: Modular Security Platform based on Generic Secure Objects ........... 9

1.6.2 Part 2: Certificate Management in Ad Hoc Networks .................................. 10

1.6.3 Part 3: Access Control for Documents in Ad-hoc Networks......................... 11

1.7 VALIDATION OF RESULTS ...................................................................................... 13

PART 1 : GENERIC SECURITY OBJECTS - A COMPREHENSIVE JAVA

SECURITY SYSTEM FOR OPEN NETWORKS.................................................... 15

CHAPTER 2: SECURITY OBJECTS – CONCEPTS AND PRINCIPLES.......... 19

2.1 INTRODUCTION ...................................................................................................... 19

2.2 ADVANTAGES OF SECURITY OBJECTS.................................................................... 20

2.2.1 Security Functionality.................................................................................... 20

2.2.2 Compatibility and Scaling ............................................................................. 20

2.2.3 Rapid development and broader applicability .............................................. 21

2.2.4 Commercial Off-The Server Systems............................................................. 22

2.2.5 Evaluation and Validation............................................................................. 22

2.3 RELATED RESEARCH ............................................................................................. 23

2.4 APPLICATION SCENARIOS ...................................................................................... 24

CHAPTER 3: SPECIFICATION OF GENERIC SECURITY OBJECTS ........... 31

3.1 IDENTIFICATION AND AUTHENTICATION OBJECTS ................................................. 34

3.2 CRYPTOGRAPHIC KEY OBJECTS............................................................................. 38

3.3 CERTIFICATION OBJECTS ....................................................................................... 38

3.4 SECURE SESSION OBJECTS..................................................................................... 41

3.5 ACCESS CONTROL AND AUTHORIZATION OBJECTS................................................ 42

3.6 SMART CARD OBJECTS .......................................................................................... 43

CHAPTER 4: PROTOCOLS AND USAGE OF SECURITY OBJECTS ............. 45

4.1 LOCAL LOGIN ........................................................................................................ 45

vi

4.2 CREATING A SECURE SESSION ............................................................................... 47

4.3 CREATING AN ENCAPSULATED OBJECT ................................................................. 49

4.4 USING ACCESS CONTROL ...................................................................................... 53

4.5 EVALUATION OF THE SYSTEM................................................................................ 54

4.6 FULFILLMENT OF THE REQUIREMENTS................................................................... 56

PART 2 : CERTIFICATES IN AD HOC WIRELESS NETWORKS.................... 57

CHAPTER 5: CERTIFICATE MANAGEMENT IN AD HOC NETWORKS ..... 61

5.1 INTRODUCTION ...................................................................................................... 61

5.2 SCENARIO.............................................................................................................. 63

5.3 ONLINE OPERATION OF CERTIFICATION SYSTEMS................................................... 63

5.4 SOLUTIONS FOR OFFLINE OPERATION..................................................................... 64

5.5 CHANNELLING UPDATE INFORMATION................................................................... 65

5.6 CONCLUSIONS........................................................................................................ 69

CHAPTER 6: CERTIFICATE REVOCATION SYSTEM BASED ON PEER-TOPEER

CRL DISTRIBUTION ..................................................................................... 71

6.1 INTRODUCTION ...................................................................................................... 71

6.2 CERTIFICATE REVOCATION LISTS.......................................................................... 72

6.2.1 Basic CRL Scheme......................................................................................... 72

6.2.2 Delta CRLs .................................................................................................... 73

6.2.3 Over-issued Delta CRLs ................................................................................ 73

6.2.4 Indirect CRL .................................................................................................. 74

6.2.5 Freshest CRL ................................................................................................. 74

6.3 TECHNIQUES FOR OFF-LINE VERIFICATION OF REVOCATION................................. 75

6.3.1 Distribution Points for Multiple CRLs .......................................................... 75

6.3.2 Peer-to-peer CRL exchange .......................................................................... 77

6.4 CONCLUSIONS........................................................................................................ 78

PART 3: ACCESS CONTROL FOR DOCUMENTS IN AD-HOC NETWORKS

....................................................................................................................................... 81

CHAPTER 7: ACCESS CONTROL FOR DOCUMENTS IN AD-HOC

NETWORKS................................................................................................................. 85

7.1 INTRODUCTION ...................................................................................................... 85

7.1.1 Scenario......................................................................................................... 86

7.1.2 Existing approaches to access control in distributed systems....................... 86

7.1.3 Implicit versus explicit access control........................................................... 87

7.2 TECHNIQUES FOR ACCESS CONTROL FOR DOCUMENTS IN AD-HOC NETWORKS ....... 88

7.3 CONCLUSIONS........................................................................................................ 91

CHAPTER 8: ACCESS CONTROL SYSTEM BASED ON ENCAPSULATED

DOCUMENTS.............................................................................................................. 93

8.1 INTRODUCTION ...................................................................................................... 93

8.1.1 Requirements for a distributed access control system .................................. 94

8.1.2 Model of the access control system ............................................................... 94

8.2 ACCESS CONTROL FOR XML DOCUMENTS............................................................ 96

8.2.1 Encapsulated Access Control for XML Documents ...................................... 97

vii

8.2.2 Access control process .................................................................................. 98

8.2.3 Security of the system .................................................................................... 99

8.3 ACCESS CONTROL FOR PKCS#7 DOCUMENTS....................................................... 99

8.3.1 Extending the PKCS#7 standard ................................................................. 100

8.3.2 Access control process ................................................................................ 102

8.3.3 Security of the system .................................................................................. 103

8.4 CONCLUSIONS...................................................................................................... 104

CHAPTER 9: ENFORCING ACCESS CONTROL POLICIES IN AD-HOC

NETWORKS............................................................................................................... 107

9.1 INTRODUCTION .................................................................................................... 107

9.1.1 Model of the access control system ............................................................. 107

9.2 THE TRUSTED DECISION ENGINE......................................................................... 109

9.3 CONCLUSIONS...................................................................................................... 111

CHAPTER 10 : CONCLUSIONS AND FUTURE DIRECTIONS OF RESEARCH

..................................................................................................................................... 113

10.1 CONCLUSIONS.................................................................................................... 113

10.2 FURTHER RESEARCH.......................................................................................... 114

10.2.1 Moving to a Component Based Design .................................................... 114

10.2.2 Standardising the protocols....................................................................... 115

10.3.3 Deployment of the complete system........................................................... 115

APPENDIX: GENERIC SECURITY OBJECTS................................................... 117

A.1 IDENTIFICATION AND AUTHENTICATION OBJECTS .............................................. 117

A.1.1 DistinguishedName............................................................................ 117

A.1.2 UserIdentity........................................................................................ 118

A.1.3 AuthenticationObject..................................................................... 119

A.1.4 Login object.............................................................................................. 122

A.1.5 UserRegistration Object.............................................................. 123

A.2 CRYPTOGRAPHIC KEY OBJECTS.......................................................................... 124

A.2.1 AsymmetricKeyPair............................................................................ 124

A.2.2 PublicKey ............................................................................................... 125

A.2.3 PrivateKey............................................................................................. 125

A.2.4 SymmetricKey........................................................................................ 126

A.3 CERTIFICATION OBJECTS .................................................................................... 128

A.3.1 Certificate .......................................................................................... 128

A.3.2 CertificateChain .............................................................................. 130

A.3.3 CertificateRequest.......................................................................... 131

A.3.4 CertificationClient ....................................................................... 131

A.3.5 CRL.............................................................................................................. 132

A.4 SECURE SESSION OBJECTS .................................................................................. 133

A.4.1 EncapsulatedObject.......................................................................... 133

A.4.2 SecureSession...................................................................................... 136

A.5 ACCESS CONTROL AND AUTHORIZATION OBJECTS............................................. 137

A.5.1 Capability............................................................................................. 137

A.5.2 Attribute Certificate .................................................................. 137

viii

A.6 SMART CARD OBJECTS ....................................................................................... 139

A.6.1 SmartCard Object ................................................................................... 139

A.6.2 Terminal Object...................................................................................... 139

A.6.3 SCSession Object ................................................................................... 140

A.6.4 SCApplication Object.......................................................................... 140

REFERENCES ........................................................................................................... 143

1

Chapter 1:

Introduction

As computing devices and wireless connectivity become ubiquitous, new usage

scenarios emerge, where wireless communication links between mobile devices

are established in an ad-hoc manner. The resulting wireless ad-hoc networks

differ from classical computer networks in a number of ways, lack of permanent

access to the global network and heterogeneous structure being some of them.

Therefore, security services and mechanisms that have been designed for

classical computer networks are not always the optimal solution in an ad-hoc

network environment.

The standard security services for computer networks have been well defined and

researched. The ISO standard defines five such services: Privacy, Authentication,

Access Control, Non-Repudiation and Availability. The existing implementations

of these services are generally optimized for a classical network environment.

These solutions do not always work, or may be very inefficient in ad-hoc

wireless environments. The result is that communications in ad-hoc networks is

either unsecure or poses stringent limitations on the functionality of the

networks, for example by requiring access to an on-line server for specific

transactions.

Our research is focused on analyzing how standard security services that are

available in classical networks can be provided in an ad-hoc wireless network

environment. The goal is to design a security system optimized for operation in

ad-hoc wireless networks that provides the same security services –

authentication, access control, data confidentiality and integrity, non-repudiation

– now available in classic wired networks.

Not being dependent on an existing Internet infrastructure, ad-hoc network

techniques can be more robust than the corresponding techniques used in wired

networks. This robustness can make them useful even in the classical network

scenario, even though in certain situations it can come with a price in overhead

and load.

2

In the remains of this chapter we will give a background on ad-hoc wireless

networks (section 1.1), followed by the security issues related to them in section

1.2. The focus of our research is defined in section 1.3, followed by an overview

of the related research area in section 1.4. The methods used for the research and

for finding the solutions are described in section 1.5. Finally, section 1.6 presents

a short overview of each part of the thesis.

1.1 Background

An ad-hoc wireless network is a network created dynamically by two or more

users using mobile devices. Configuration, topology and functionality of a

network are based on the proximity of users, since users present in a certain area

constitute a particular network [Johnson 1994, Meier 2001]. In such

environments especially interesting are group applications, where users

dynamically join, establish, and leave an application group [Prakash 1998].

Networks and groups are established and terminated dynamically.

Ad-hoc wireless networks differ from wired local area networks in several

important aspects [Roman 1997]. One aspect is that access to the global network

can not always be established, either because of lack of coverage or because of

high cost of communications. Therefore, transactions and control mechanisms in

such networks must be as independent from outside resources as possible.

Another specific aspect is unpredictability of the network, that is, devices which

form it are not pre-registered or known in advance. A network is formed

dynamically by users and devices in proximity. For instance, when several

people meet in a public place, a network would be formed by their PDA:s,

mobile phones, laptops, and maybe some public terminal in their vicinity.

Finally, the control of devices in the network can not be as strict as in wired

LANs. In wireless networks it is quite easy to connect from the outside without

knowledge of other users, since proximity is quite difficult to specify and use as

an access control criteria.

In conclusion, the following aspects are key differences between ad-hoc

proximity networks and classic, wired LANs:

- Access to servers or resources in the global network may be expensive or

impossible.

- Network configuration is unpredictable, due to unknown and unregistered

users.

- Access to a network is open to all devices and users in physical proximity.

- Devices that form an ad-hoc network, ranging from mobile phones to laptop

computers and networked speaker systems, are usually heterogeneous with

limited computing and memory resources.

3

- Devices that form ad-hoc networks are more exposed to failure and theft than

wired stationary computers.

1.2 Security Issues

Because of specific characteristics of formation and usage of ad-hoc proximity

networks, security for such networks is more important and also not completely

equivalent to security in standard wired LANs.

We can broadly define three groups of security issues for ad-hoc proximity

networks. The first is that standard, low-level network protocols, like routing,

node and service discovery, multicast and broadcast messages, would not work,

or would be very vulnerable in mobile ad-hoc networks due to the dynamic and

collaborative nature of this environment.

The second is that classical security services and mechanisms for computer

networks may not work in ad-hoc networks or may pose constraints that highly

reduce their functionality. Due to openness of wireless networks, there is also a

need to use security at much larger scale, since devices are no longer in a safe

environment protected by other security solutions (e.g. firewalls, steel locks).

The third group of issues emerges from the fact that ad-hoc proximity networks

provide different kinds of usage and access to computing devices which do not

exist in classical networks (for example, users sharing a screen/panel or other

resources). These usages require novel security solutions and protocols different

from the ones already existing.

Security issues related to the first group are:

- Routing protocols, dealing with malicious and / or selfish node behaviour

in multi-hop routing.

- Broadcast / multicast message security

- Discovery of services: in a wired network, a computer can broadcast an

inquiry for a certain service (i.e. a name server). Since the configuration of

the network is controlled by the administration, the response it gets is

usually not subjected to a very strong control. In a wireless ad-hoc

network however it can no longer be asserted that all parties in the

network are “friendly”.

The following security issues are important in the second group:

- Secure server-less protocols and other forms of peer-to-peer operations:

the parties in an ad-hoc network may not be able to access certain security

4

servers/security services on the Internet for some periods of time, but

security should still function within the network.

- Protection of data stored in devices: devices are much more likely to be

stolen or physically damaged than stationary computers in a network.

Some issues in the third group are:

- Privacy control (a computer may leave a trace which interferes with the

user’s privacy)

- More flexible and fine-grained authorization system, as the complexity of

the access decisions increases, depending on user domain, physical

location, peer user’s domain and so on.

- Various forms of secure (group) transactions between parties.

The list of issues in all three groups is not exhaustive. They represent just some

of the issues that need to be addressed in a security system for ad-hoc wireless

networks. Other issues may also become significant, especially in the third

group, as the networks evolve with new devices and applications. As new

functions and applications are introduced, specific security mechanisms and

solutions will be needed to secure them.

1.3 Research focus and limitations

A security system for ad-hoc networks has to be based on different requirements

than systems for classical networks and take into account specific limitations of

ad-hoc networks, as outlined in the previous section.

The area that is investigated in this thesis is implementation of standard security

services such as authentication, authorization, access control and non-repudiation

in an ad-hoc network environment, that is, to provide solutions to the second

group of security issues as they are described in section 1.2.

Furthermore, we need to specify the type of scenario these solutions are designed

for. The term mobile ad-hoc networks currently encompasses a large variety of

situations, the main differences between them being related to device power and

connectivity, and the security solutions need to be adapted for the respective

scenario. One such example is sensor networks, where devices have very little

computing and battery power, and have no other connection than one node to

another. The scenario this thesis focuses on is a network made of devices with

varying computational capabilities – e.g. PDAs, laptops, mobile phones, various

media devices – that can connect to each other in a dynamic manner. On-line

access may be very expensive for the entities in the ad-hoc network (e.g. cellular

data network) or it may not be available at all [Roman 1997], but they – or at

5

least some of them – also get connected to the network infrastructure

occasionally.

The goal of this research is to find conceptual solutions to the specific security

issues of mobile ad-hoc networks and then to design a security system based on

these principles. The scope of the design is to create security mechanisms,

services and protocols that are optimized for usage in an ad-hoc wireless network

environment as the one described above. The design will be based on the concept

of generic secure objects [Muftic 2001], which has been shown to be particularly

suited to the requirements of such environments [Morogan 2000].

Our approach can be seen as a layered model (Figure 1.1). The lowest layer is the

security platform – a collection of objects implementing basic security

functionality such as encryption, digital signatures and encapsulation. The middle

layer deals with the specific protocols and functionalities of the system, and is

based on the bottom layer. On the top, there is the policy of the system, a set of

rules that decide the operation of the protocols in different situations.

For the bottom layer of our pyramid, we have designed a security platform based

on generic secure objects (GSO). These are software objects with specific

security functionalities that can be used in various contexts to implement security

services. They are particularly suitable for designing and implementing security

services for ad-hoc networks, due to their small size, mobility, portability, high

flexibility, and functionality. Security functions can easily be implemented by

using objects in different configurations. Also, generic secure objects simplify

the deployment of the system on different hardware platforms with different

operating systems and computing resources.

The second layer of the model provides standard network security services and

protocols for the wireless ad-hoc environment. By analyzing the characteristics

of these networks outlined in section 1.1, we have identified two security areas

where the techniques used in classical networks present problems in wireless adhoc

networks. These areas are certificate management and access control, where

the lack of on-line access makes the existing solutions unworkable or inefficient.

In a series of articles, we have investigated problems related to these two areas,

and we have proposed solutions to optimize them for this particular environment.

The resulting techniques, together with the functionality provided by the

underlying GSO platform, are used to implement all standard ISO security

services – confidentiality, authentication, access control, non repudiation and

integrity.

6

Generic Security Objects

Protocols and

Services

System

Policy

Figure 1.1 : General model of security system

The third layer contains the security policies that define the operation of the

system. The solutions we propose require a security policy that is more flexible

than what is necessary in classical networks. To improve the efficiency of the

security services, a balance between risk and usability has to be specified in the

security policy for each particular situation. However, there are many existing

systems and results (a good overview in [SCC 1997] and [Sterne 1991]) that can

accommodate complex and flexible security policies. System policy is therefore

not within the scope of our work. It could be an interesting direction for further

research to study the implementation and design of security policies optimized

for ad-hoc networks.

1.4 Related research

The area of security in wireless ad-hoc networks has been in expansion during

the last years. It is now possible to identify several sub-areas that have received

lots of attention lately.

One such sub-area is related to the security of the link and network layer –

mainly secure routing protocols. This has been historically the first to emerge,

and there are many interesting results: [Buchegger 2001, Buchegger 2002,

Brinkley 2001, Burmester 2004, Capkun 2003, Carter 2002, Dahill 2002, Hu

2002, Hu 2003a, Hu 2003b, Lee 2002, Papadimitratos 2002, Sanzgiri 2002, Yi

2001, Zhu 2003a].

Security in sensor networks is another area where a lot of research is being done.

Sensor networks are a particular case of wireless ad-hoc networks where the

devices forming the network are small and inexpensive sensors with short-range

communication capabilities and limited computational resources. Interesting

research and overviews related to sensor network security can be found in

[Carman 2000, Carman 2002, Chan 2003, Deng 2002, Deng 2003, Gruteser

2003, Eschenauer 2002b, Liu 2003, Di Pietro 2003, Perrig 2000, Perrig 2001,

Slijepcevic 2002, Zhu 2003].

7

Yet another area of research is related to security issues specific to the

environment of wireless ad-hoc networks, mainly various group communication

schemes ([Kaya 2003, Mäki 2000, Yasinsac 2002, Prigent 2003]). Related to

group communication is the issue of key management and distribution in ad hoc

networks. Several papers ([Asokan 2000, Carman 2002, Hietalahti 2001, Khalili

2003, Zhu 2003b]) propose various key distribution schemes suitable for use in

this environment.

The problems related to intrusion detection in ad hoc networks are described in

[Brutch 2003], while some solutions are proposed in [Huang 2003] and

[Kachirski 2002].

The area that is the current focus of our research regards the implementation in

the environment of wireless ad-hoc networks of security services that exist in

classical wired networks. Such services include authentication, certification,

authorization and access control. The differences between the two environments

([Roman 1997]) make implementation of these services a less than trivial matter.

Various solutions have been suggested for authentication and certification in adhoc

wireless networks. One of the most difficult problems with using certificates

for authentication in ad-hoc networks is related to the revocation of existing

certificates. [Eschenauer 2002a] discusses the problem of certification in ad hoc

networks versus the Internet, and offers some solutions to establish trust without

using certificates. [Balfanz 2002] discusses different protocols for authentication

in ad-hoc networks, also without the use of certification, but based on

transmitting authentication information through a separate link (IR or contact

between the nodes). [Hubaux 2001] describes a system for ad hoc networks

similar to the PGP certification system ([Zimmerman 1995]) where certificates

are issued, stored and distributed by the users. [Burmester 1999] presents a

theoretical model for using certificates and multiple paths of verification. An

approach where the IP address of a node is calculated from its public key is

presented in [Montenegro 2002]. [Venkatraman 2000] proposes an authentication

scheme based on certificates, without mentioning the issues related to certificate

revocation. [Candolin 2002] is also based on certificates, but here the nodes in

the network may declare that other nodes have been compromised, thereby

providing some form of certificate revocation, raising instead the issue of node

misbehaviour and possibility of denial-of-service attacks based on maliciously

accusing other nodes. Another solution based on delegating the revocation

decision to the nodes is presented in [Crepeau 2003]. The authors here try to

make malicious accusations more difficult, but the scheme still rests on trusting a

network of nodes, and the revocation decision is still taken by the nodes, instead

of a central authority.

8

Other solutions for certification in ad-hoc networks are based on the idea of

threshold cryptography ([Shamir 1979, Chor 1985, Herzberg 1995, Shoup

2000]). [Zhou 1999] proposes using threshold cryptography for distributing the

responsibility of a CA to several nodes in the ad-hoc network. Various solutions

based on this idea are proposed and implemented in [Kong 2001], [Kong 2002],

[Luo 2002] and [Yi 2003]. The weakness of schemes based on threshold

cryptography is that on one hand they are computationally intensive, and on the

other they rely on the cooperation of nodes in the network. Another problem is

that for many applications, the enforcement of central policy decisions is

necessary, thereby making a cooperative CA unsuitable.

Our approach in the area has been to rely on an existing CA infrastructure in the

wired network, using certificates obtained on-line, and to find techniques for

distributing revocation lists through ad hoc networks. The techniques that we

suggest are peer-to-peer distribution of CRLs between nodes and distribution

points for all CRLs in a domain ([Morogan 2003b] and [Morogan 2003c]).

In the area of authorization and access control, there are some interesting

research results in distributed authorization systems which could be used in

wireless ad hoc networks. [Johnston 1996] proposes a system based on useconditions

certificates for the protected resources and credential certificates for

users. A policy engine compares the two and issues a ticket for the resource

access controller. Another paper ([van Doorn 1996]) describes the design and

implementation of secure network objects, and provides security for objectoriented

network communication. The design accommodates both ACLs

[Lampson 1974] and capabilities [Dennis 1966].

[Thompson 1999] describes the implementation of an access control system

based on use-condition certificates for the resources and attribute certificates for

the users. In this system, resources reside or are represented by servers. To access

them, a client connects to the specific server and authenticates herself. The server

then fetches the access policies, in the form of Use-Condition certificates, from

their prespecified locations, then checks user’s attribute certificates to see if they

fit the specified conditions.

The XML Access Control Language (XACL) provides a way to embed access

control information in XML documents ([Hada 2000]), and [Damiani 2000]

present an access control system that allows definition of access restrictions

inside the XML documents.

All the above systems use a form of capabilities on the user side and conditions

on the resource side, and as a result they are very flexible. They are also based on

accessing a server trusted by the security administration, and that makes access

9

control decisions, an approach that due to its reliance on centralized network

resources is not suitable for ad-hoc networks.

Our research in the area of access control in ad hoc networks has concentrated on

the issue of documents residing on the devices that form the network. In a wired,

centralised network these documents would reside on a secure server which

would enforce the access control policy for each document. In an ad hoc network

however access to a central server is not possible, and peer-to-peer transmission

of documents has to be used instead. To enforce an access control policy even in

this case, we choose to have the documents cryptographically encapsulated at all

times and only readable by special trusted decision engines, hardware devices

(e.g. smart cards) that can take access control decisions on behalf of the domain

authority ([Morogan 2003d, Morogan 2004]).

1.5 Research Method

The method we employed in our research was to study existing implementations

of the security services, and analyze the problems that would arise by applying

them in ad-hoc wireless networks. Once such problems were identified,

workarounds were sought. After finding a workable solution to a problem, it was

analyzed from the point of view of security, efficiency in the ad-hoc

environment, and compatibility with the classical network environment and

existing standards. The research is goal-oriented in the meaning that the sought

results are software implementations or protocol standards that provide the

necessary security functionality in the ad-hoc network environment. These

results are further tested by releasing them for review to the security community,

and by creating test implementations.

1.6 Research Results

In this section we will present a short summary and the contributions of each part

of the thesis.

1.6.1 Part 1: Modular Security Platform based on Generic Secure Objects

The first part of our work presents the design and implementation of a security

system based on Generic Secure Objects (GSO). The concept is to have a number

of objects that provide advanced security functionality in a modular form. They

are designed to be transparently interoperable, so that new functionality can be

obtained by combining existing GSOs. The system is a platform on which higher

level security services can be implemented.

The advantages of this approach are modularity, ease of use and flexibility. The

system is modular, since only the required objects for a specific application are

10

necessary – something that is important in systems with limited resources. The

objects provide a high level of abstraction, making it easy to implement new

security functionality and to use this functionality in general applications,

therefore making application development quicker and less error-prone. Finally,

new functionality can be created as needed by combining the basic objects,

making for a flexible system.

Apart from basic security functionality, GSOs provide high-level security

functions, such as: local authentication of the user, smart card handling,

establishment of secure sessions, modules for access control and public key

infrastructure [Morogan 2000].

1.6.2 Part 2: Certificate Management in Ad Hoc Networks

With the GSO platform in place, many security protocols and services become

available in the ad-hoc network environment. The platform can handle all needs

for encrypted communication, key exchange, signatures and creation of secure

communication channels between devices. It also supports public key certificate

usage and handling while connected to a classical network. In this section we

discuss certificate usage and handling in an ad-hoc network scenario.

Public key certificates are widely used in network security systems as a proof of

identity or proof of capabilities and rights. They are an important enabling

technology for the implementation of several security services – authentication,

non-repudiation and access control.

For usage in a global network, certificates need Public Key Infrastructure (PKI),

a hierarchy of certification authorities that guarantee the validity of the

certificates. The technology of certificates and PKI works within the environment

of traditional wired networks. Here we analyze the problems in ad hoc wireless

networks, and we propose some potential solutions. From the point of view of

certificate usage, the most important limitation of wireless ad-hoc networks is the

lack of permanent access to the global network.

Our presumption is that devices that form wireless ad-hoc networks also get

connected to the Internet, but not necessarily at the same time. Therefore, most

certificate management functions – e.g. request and receive new certificate – can

be performed while being on-line. Verification of peer certificates however

cannot be delayed or performed in advance – it must be performed on the spot,

without regards to the availability of on-line access.

Analyzing the sequence of actions needed to establish a certificate’s validity, we

find two steps that are dependent on on-line access: verification of the Issuer

Certificate Authority (CA) and verification of the revocation status of the

certificate.

11

Verification of the Issuer CA can be performed off-line if the certificate owner

can provide a certificate chain, certifying the chain of CAs up to the top CA.

Since this certificate chain can be cached by the certificate owner, this problem is

easily solved.

Verification of revocation status is a more difficult problem to solve in an ad-hoc

environment. All certificates have a certain validity period, but for various

reasons they can be revoked before they expire (the keys can be compromised, or

the role of the owner can change). When receiving a certificate, apart from

verifying its correct signature and that it is within the validity period, one has

also to verify that it has not been revoked under the time. This is done by

downloading an up-to-date Certificate Revocation List (CRL) from the issuer of

that certificate. These CRLs are updated at regular intervals. Devices can cache

CRLs, but if the CRL validity time is short, the window of off-line usage will

also be very limited.

To solve these issues, a CRL distribution scheme optimized for wireless ad-hoc

networks is presented [Morogan 2003c]. The scheme is based on a combination

of over-issued delta CRLs and indirect CRLs, and also on two special techniques:

a distribution point for all CRLs in a domain, and peer-to-peer exchange of CRLs

between users in an ad-hoc network.

Having a number of distribution points in a network that can all distribute all

CRLs in the domain makes caching of CRLs by users feasible. The usage of

over-issued delta CRLs contributes to a long window of off-line usage. Once offline,

clients with fresh CRLs can distribute these to other clients using the peerto-

peer CRL distribution protocol that we present.

Yet another technique for optimization of off-line usage window is to allow

applications to specify their own requirements for the freshness of CRL

information [Morogan 2003b]. In this way, it becomes possible to vary the

timeliness requirements between applications and even within an application

between different transactions, so that the whole system doesn’t need to stop

working after a short time off-line just because one application has extreme

timeliness requirements.

All these techniques together form a CRL distribution scheme that is much less

reliant on centralized servers in the network, and that can provide improved offline

behavior, making it optimal for usage in ad-hoc wireless networks.

1.6.3 Part 3: Access Control for Documents in Ad-hoc Networks

With the GSO platform and the optimized certificate verification protocols, most

of the security services available in classical networks become available in ad12

hoc wireless networks as well. These services include authentication,

confidentiality, integrity and non-repudiation. In this section we investigate the

issues related to the implementation of an access control system for documents in

wireless ad-hoc networks.

Taking into consideration the particularities of this environment, we have set up a

number of requirements for such a system:

An access control system for wireless ad-hoc network should be selfsufficient,

in the meaning that an access control decision can be taken without

access to network resources.

It has to protect documents at all times, even when stored on a device, and it

should be enforced when a document is sent from one user to another.

It has to support complex access control policies that can take into account

factors such as the current location, domain of the user and of the peer.

To satisfy these requirements, we have designed an access-control system based

on encapsulated documents and trusted decision engines [Morogan 2003d]. The

idea is to separate the access decision functionality from enforcement and

storage. Documents move freely through the network, being protected by

cryptographic encapsulation techniques. Their content is not accessible by users

in this form. They contain, also inaccessible to the users, a set of use conditions

or access control policies. These policies can be specified in one of the several

existing access control policy languages.

To gain access to the contents of a document, a user needs to employ the services

of what we call a “Trusted Decision Engine” (TDE). TDEs are small servers that

are available on trusted servers throughout the network or on trusted hardware on

the client machine. Their role is to decrypt the access control policy from a

document and, based on the extracted policy, on the general system policy and on

the users’ credentials, take an access decision. If the decision is to allow the

requested access, the key needed to decrypt the requested data is given to the

user.

One advantage of this approach is that the TDEs can be made fairly compact,

making it feasible to implement them on trusted hardware such as a smartcard or

an i-button [Morogan 2003a]. Another advantage is that documents are protected

through cryptographic encapsulation and therefore safe even in the case the

device where they are stored is stolen, or if files are exchanged directly between

users.

We further describe the extensions needed to the XML document standard to

make them compatible with policy encapsulation and TDEs.

13

There are XML extensions that allow encryption and signature of the whole

document or parts of it. Another extension exists for attaching access control

policies to XML documents or parts of them. The scheme we propose provides a

way to encapsulate these policies together with the content they protect, and

make them accessible only to TDEs. In this way, a user can get access to the

encrypted data of an XML document based on her credentials, by submitting a

request to a local TDE.

1.7 Validation of Results

A fundamental aspect of designing security algorithms and protocols is analysing

the results and making sure that they don’t have weaknesses or exploits that

could be used by a potential attacker.

For the protocols described in this thesis, we have identified the attacks and

threats that we considered relevant and analysed how the protocols counter them.

Further the protocols have been released for review by the cryptographic

community through publication.

Another important technique for increasing the security of a new design is to use

as much as possible existing, proven technology. By basing the protocols

presented here on existing cryptographic standards and technologies

(encapsulation protocols [PKCS7], XML [Bray 2000], public key infrastructures

[PKIX], smart cards [SCBasics]) the possibility of successful exploits is reduced,

at the same time making an analysis of the novel aspects feasible.

14

15

Part 1 :

Generic Security Objects - A

Comprehensive Java Security System for

Open Networks

16

17

This part is based on the Licentiate Thesis presented in November 2000 with the

title “Generic Security Objects - A Comprehensive Java Security System for

Open Networks”. It presents the design and implementation of a security system

based on generic secure objects (GSO). The concept is to have a number of

objects that provide advanced security functionality in a modular form. They are

designed to be transparently interoperable, so that new functionality can be

obtained by combining existing GSOs. The system is a platform on which higher

level security services can be implemented.

The advantages of this approach are first of all modularity, ease of use, and

flexibility. The system is modular, since only the required objects for a specific

application are necessary – something that is important in systems with limited

resources. The objects provide a high level of abstraction, making it easy to

implement new security functionality and to use this functionality in general

applications, therefore making application development quicker and less errorprone.

Finally, new functionality can be created as needed by combining the

basic objects, making for a flexible system.

The system was implemented on the Java platform. Apart from basic security

functionality, it contains objects that provide high-level security functions, such

as: local authentication of the user, smartcard handling, establishment of secure

sessions, modules for access control and public key infrastructure.

The GSO system implementation provides a good platform for implementing

and testing higher level protocols in wireless ad-hoc environments.

18

19

Chapter 2:

Security Objects – Concepts and Principles

2.1 Introduction

The primary objective of this part of the thesis is to design and implement a

security platform in open computer networks, distributed systems, mobile

environments, and in heterogeneous application environments through use of

generic secure objects. Such objects may provide multiple benefits through their

enhanced and flexible functionality, mutual compatibility and scaling, rapid

development facilities, and simplified evaluation/verification procedures. By

generic secure objects we mean software objects with different security

functionalities that through transparent methods can be used in various contexts.

The research addresses three important aspects of generic secure objects:

description of secure objects to cover the full functionality of a global and

integrated security system;

design of various constructors and methods for secure objects; and

specification of a scenario for the usage of secure objects.

The research has created an initial theoretical basis and a practical platform for

further design and development of secure objects and secure applications based

on such objects. The main scope of this design is to provide flexibility and ease

of use. It provides a different, higher level of abstraction when working with

security mechanisms than other systems. The objects are designed to be

intercompatible and provide very rich functionality – making it easy to combine

them into other objects and create new protocols. Also, it is a goal of this work to

provide a platform that is complete and flexible enough to be applied on a wide

range of devices. This platform is the basis on which more advanced algorithms,

introduced in part 2 and 3 of the thesis, are built.

20

2.2 Advantages of Security Objects

The concept of generic secure objects and their partial implementation performed

in the course of this research clearly demonstrate the following advantages and

benefits of such objects:

Their security functionality, since many security functions may be

implemented by simple instantiation of pre-established secure objects;

Compatibility and scaling of secure applications created with generic

secure objects, since the core technologies for such applications are

uniform technical concepts, platforms, and components;

Rapid development and broader applicability, since re-use of generic

objects is suitable for fast development of secure applications for different

user environments and for different technical platforms;

Creation of Commercial Off-The Server environments, i.e. through remote

invocations from specialized security servers, secure objects are available

through Commercial Off-The Server arrangements;

Evaluation and validation of secure objects is simplified, since users can

use instances of secure, already evaluated and verified objects.

2.2.1 Security Functionality

Complex security services and protocols can be implemented by simply

instantiating existing security objects. New services are also easy to implement,

since objects can be combined and used as a basis for more complex objects. For

this, it is necessary that objects share a common set of interfaces, so that values

can be passed between objects or objects can directly work with other objects.

2.2.2 Compatibility and Scaling

It happens very often that systems that were originally designed for one task are

used for something completely different and at a totally different scale after they

are released [Foote 1996]. The Web standard is one example, originally designed

to distribute scientific papers at CERN and now used to exchange all possible

kinds of information over the whole world.

A system must be able to change and evolve in order to deal with the always new

requirements that come up. An electronic commerce client, for example, could be

developed to use password-based authentication. During its use, however, it may

become necessary to upgrade the authentication system to use smart cards, and

then later maybe to use biometrics authentication technology.

A system based on generic secure objects can be created so that it is flexible

enough to deal with the changing requirements. Software based on it would be

21

easily scalable, since a component that does not scale well can be replaced by

another one that does. It would also be flexible, adding new protocols and

functions by just adding or replacing components.

2.2.3 Rapid development and broader applicability

As applications become more and more network dependent, the security risks

they face are getting more serious. Security issues are also of prime importance

to distributed systems and applications, something that is going to become very

common with the emergence of wireless mobile computing and the usage of thin

clients. The privacy of the individual is therefore becoming very exposed,

especially since people start to depend more and more on computers.

Consequently, most applications should incorporate security features. There is an

important difference between this and the current situation. Right now, the only

applications that contain security features are the ones that are specially exposed

to attacks, like for example programs concerned with transfer of banking data or

with access to secret documents. These applications are developed by

programmers specialized in computer security, who possess a great knowledge of

the techniques and protocols involved. The rest of the programs and systems are

very weakly protected, something that cannot be accepted on a large scale.

However, even with the need of security becoming standard for all applications,

it is not feasible to require that every developer has the deep knowledge required

for developing a strong security application. This is one reason for using already

built security objects.

Generic security objects can perform complex tasks, yet present a simple and

straight-forward interface to the developer, who doesn't need any knowledge of

what is going on inside. Making security functions simple to use not only makes

development cheaper and less prone to errors, but it is also more likely to

increase the number of applications to implement security. Applications that

Join now!

don't have a direct and obvious need for security functions usually don't have

them. While this may not have a direct effect for one application, it lowers the

general level of security of the whole system. For example, maybe it is not so

important that the files written by a word processor are protected, but if all the

files of a system are open to reading, information may be inferred from them.

Also it would draw the attention to the few files that are not encrypted as being

of much importance [Denning 1982, Morgenstern 1987, Smith 1988]. If on the

...

This is a preview of the whole essay