A

Certificate

Path

Generation

Algorithm

for

Authenticated

Signaling

in

ATM

Networks

Jun

Xu

Mukesh

Singhal

Department

of

Computer

and

Information

Science

The

Ohio

State

University

Columbus

OH

fjun,singhalg@cis.ohio-state.edu

Abstract

ATM

Forum

specifies

public

key

cryptography

to

be

the

default

ATM

authentication

mechanism

and

directory

services

like

X.

to

be

the

infrastructure

for

public

key

distribution

and

certification

Authenticated

signaling

widely

acknowledged

as

a

necessary

security

feature

of

ATM

network

requires

the

signaling

message

to

be

authenticated

with

a

digital

signature

signed

by

the

private

key

of

the

calling

party

To

verify

the

digital

signature

the

called

party

needs

to

obtain

the

public

key

of

the

calling

party

and

a

proof

of

the

calling

party

's

ownership

to

that

public

key

In

X.

the

standard

form

of

such

a

proof

is

a

chain

of

public

key

certificates

called

the

certificate

path

between

two

parties

Certificate

exchange

protocol

-LRB-

CEP

-RRB-

proposed

by

ATM

Forum

requires

that

another

bi-directional

connection

be

established

between

two

parties

to

exchange

public

keys

and

certificate

paths

before

an

authenticated

connection

can

be

set

up

which

is

not

an

ideal

approach

We

propose

an

algorithm

which

is

embedded

into

ATM

routing

protocols

to

generate

a

certificate

path

inside

a

signaling

message

on-the-fly

as

the

signaling

message

travels

through

the

ATM

network

In

this

approach

all

that

a

calling

party

needs

to

know

for

authentication

purpose

is

its

own

public

key

certificate

and

the

ATM

network

builds

the

rest

of

the

certificate

path

for

it

Related

issues

like

distribution

of

public

key

certificates

and

optimization

of

CA

hierarchy

are

also

addressed

in

this

paper

This

work

was

partially

supported

by

NSA

Grant

Introduction

The

initial

design

of

TCP/IP

gave

little

consideration

to

security

issues

As

a

consequence

numerous

security

problems

associated

with

the

Internet

-LRB-

based

upon

TCP/IP

-RRB-

were

identified

-LSB-

-RSB-

and

adhoc

solutions

like

firewalls

were

employed

to

patch

these

holes

-LSB-

-RSB-

Unfortunately

of

these

solutions

is

a

panacea

In

an

effort

to

avoid

the

same

pitfalls

ATM

will

be

designed

to

provide

security

services

at

the

network

level

which

offer

an

efficient

and

unified

security

mechanism

to

be

used

by

applications

running

on

ATM

networks

-LSB-

-RSB-

One

of

such

services

to

be

provided

is

the

end-to-end

authentication

ATM

is

a

connection-oriented

network

that

is

a

connection

needs

to

be

established

between

two

parties

-LRB-

e.g.

end

systems

-RRB-

before

they

can

talk

to

each

other

The

first

type

of

connection

established

by

manually

configuring

the

routing

tables

of

the

intermediate

switches

is

called

permanent

virtual

connection

-LRB-

PVC

-RRB-

The

second

type

of

connection

known

as

switched

virtual

connection

-LRB-

SVC

-RRB-

is

established

automatically

through

a

signaling

protocol

Since

much

less

network

management

and

administration

is

required

to

set

up

and

maintain

SVC

it

is

more

convenient

and

flexible

than

PVC

and

thus

more

popular

To

establish

a

SVC

the

calling

party

needs

to

send

a

signaling

message

SETUP

to

the

called

party

If

the

call

can

be

accepted

the

called

party

will

send

a

signaling

message

CONNECT

back

to

the

calling

party

to

confirm

the

connection

-LSB-

-RSB-

To

guard

against

threats

like

impersonation

and

spoofing

SETUP

message

should

contain

authentication

information

that

the

called

party

can

use

to

verify

the

identity

of

the

calling

party

The

same

requirement

applies

to

CONNECT

message

if

mutual

authentication

is

required

This

problem

is

known

as

the

authenticated

signaling

-LSB-

-RSB-

Since

the

problem

and

solution

is

symmetric

for

SETUP

and

CONNECT

messages

when

mutual

authentication

is

required

in

the

following

discussion

we

will

focus

on

SETUP

signaling

message

only

Public

key

cryptography

-LRB-

e.g.

RSA

-RRB-

is

chosen

by

ATM

Forum

to

be

the

default

authentication

mechanism

for

ATM

networks

-LSB-

-RSB-

Authenticated

signaling

is

done

by

inserting

into

the

SETUP

message

a

digital

signature

which

is

signed

using

the

calling

party

's

private

key

and

is

verified

using

the

calling

party

's

public

key

For

this

scheme

to

work

the

called

party

needs

to

obtain

the

public

key

of

the

calling

party

To

guard

against

man-in-the-middle-attack

the

called

party

also

needs

to

obtain

a

proof

of

the

calling

party

's

ownership

to

the

public

key

known

as

the

public

key

certificate

-LSB-

-RSB-

Public

key

certificates

are

issued

to

each

party

by

a

trusted

third

party

called

certification

authority

-LRB-

CA

-RRB-

whose

public

key

is

known

to

every

party

-LSB-

-RSB-

A

public

key

certificate

contains

the

identity

of

the

party

its

public

key

and

some

other

information

like

its

lifespan

and

serial

number

It

is

signed

by

the

private

key

of

the

CA

so

that

no

one

can

forge

it

Each

party

can

verify

the

validity

of

the

certificate

using

the

public

key

of

the

CA

Due

to

scalability

requirement

a

large

network

usually

employs

multiple

CAs

each

of

which

issues

certificates

to

a

subset

of

nodes

-LRB-

e.g.

switches

end

systems

etc.

-RRB-

Based

on

the

way

how

these

CAs

are

organized

some

CAs

issue

certificates

to

other

CAs

For

example

in

X.

all

the

CAs

are

organized

in

a

hierarchy

such

that

a

higher

level

CA

issues

certificates

to

CAs

one

level

below

-LSB-

-RSB-

When

a

node

A

wants

to

talk

to

a

node

B

A

needs

to

obtain

B

's

public

key

certificate

If

B

's

certificate

is

signed

by

a

CA

C

whose

public

key

is

not

known

to

A

A

needs

to

obtain

the

certificate

of

C

as

well

This

process

repeats

until

A

obtains

a

certificate

signed

by

a

CA

whose

public

key

is

known

to

A

Such

a

list

of

certificates

that

chains

up

trust

relationships

is

called

a

certificate

path

Hence

authenticated

signaling

requires

the

called

party

to

obtain

and

verify

the

calling

party

's

certificate

path

and

vice

versa

The

ATM

Forum

proposes

the

certificate

exchange

protocol

-LRB-

CEP

-RRB-

for

this

purpose

-LSB-

-RSB-

The

basic

idea

behind

CEP

is

to

set

up

an

unauthenticated

bi-directional

connection

between

the

calling

and

the

called

party

to

exchange

certificate

path

information

There

are

several

drawbacks

associated

with

this

approach

First

the

called

party

does

not

necessarily

have

the

up-to-date

information

necessary

for

the

calling

party

to

compute

a

certificate

path

between

them

In

X.

with

hierarchical

certification

structure

such

information

is

a

certificate

path

from

the

root

CA

to

the

called

party

It

may

keep

changing

due

to

periodical

expiration

and

renewal

of

the

certificates

and

to

maintain

a

fresh

copy

of

it

at

each

party

may

not

be

a

trivial

task

Second

a

CEP

connection

is

needed

before

an

authenticated

connection

can

be

established

If

the

called

party

does

not

have

a

fresh

copy

of

the

certificate

path

additional

connections

are

needed

to

query

this

information

So

this

approach

incurs

considerable

overhead

when

the

connection

is

being

established

Finally

with

this

approach

it

is

hard

to

enforce

the

security

policy

all

connections

should

be

authenticated

since

CEP

connections

can

not

be

authenticated

Such

policy

is

useful

for

a

secure

ATM

subnet

protected

by

a

firewall

switch

which

is

equipped

with

a

high-speed

cryptography

hardware

and

thus

is

able

to

authenticate

all

incoming

SETUP

signaling

messages

-LSB-

-RSB-

To

overcome

the

drawbacks

associated

with

CEP

we

propose

an

algorithm

called

Certificate

Path

Generation

Algorithm

-LRB-

CPGA

-RRB-

that

can

be

readily

integrated

into

ATM

routing

protocols

to

generate

a

certificate

path

from

the

calling

party

to

the

called

party

on-the-fly

as

the

signaling

message

travels

through

the

network

In

our

approach

for

authentication

purpose

the

calling

party

needs

only

include

in

the

signaling

message

a

digital

signature

and

its

public

key

certificate

While

a

signaling

message

is

routed

through

the

network

involved

intermediate

switches

append

to

the

message

necessary

certificates

required

to

build

the

certificate

path

between

the

calling

and

the

called

party

When

the

message

arrives

at

the

called

party

the

certificate

path

has

been

built

In

the

next

section

we

describe

the

network

model

to

develop

necessary

background

In

Section

we

present

our

Certificate

Path

Generation

Algorithm

-LRB-

CPGA

-RRB-

and

dicuss

its

merits

Discussion

of

related

issues

is

covered

in

Section

Section

concludes

the

paper

The

Network

Model

and

Background

The

Network

Model

The

network

model

of

ATM

networks

under

consideration

is

depicted

in

Fig.

This

figure

shows

a

large

number

of

private

ATM

networks

interconnected

by

a

public

ATM

network

Carrier

Network

Carrier

Network

Carrier

NetworkCarrier

Network

Public

ATM

Network

B-ICI

Private

ATM

Network

ESES

ES

Private

ATM

Network

ES

Private

ATM

Network

Public

UNI

Private

UNI

ES

End

System

B-ICI

B-ISDN

Inter

Carrier

Interface

UNI

User

Network

Interface

Figure

The

network

model

which

consists

of

a

set

of

carrier

networks

connecting

with

each

other

through

BISDN

Inter

Carrier

Interface

-LRB-

B-ICI

-RRB-

Each

private

network

has

end

systems

attached

to

it

the

number

of

which

typically

ranges

from

several

to

tens

of

thousands

If

the

calling

and

the

called

parties

lie

in

the

same

private

network

the

signaling

message

is

routed

according

to

Private

Network-Network

Interface

-LRB-

P-NNI

-RRB-

Otherwise

the

signaling

message

needs

to

be

transported

across

the

public

network

Since

our

certificate

path

generation

algorithm

is

closely

related

to

P-NNI

we

give

an

overview

of

it

next

A

detailed

tutorial

on

this

topic

can

be

found

in

-LSB-

-RSB-

Of

course

the

most

complete

and

authoritative

treatment

of

this

subject

is

-LSB-

-RSB-

An

Overview

of

P-NNI

Hierarchical

Structure

P-NNI

is

a

set

of

protocols

used

to

route

signaling

messages

in

a

private

ATM

network

P-NNI

adopts

a

modified

link-state

algorithm

in

which

P-NNI

topology

state

packets

-LRB-

PTSP

-RRB-

that

carry

topology

and

connectivity

information

are

distributed

throughout

the

network

Based

on

such

information

a

switch

decides

how

to

forward

a

signaling

message

that

arrives

at

it

If

a

flat

structure

is

used

when

the

network

is

large

the

cost

to

distribute

connectivity

information

between

each

pair

of

connected

switches

will

be

prohibitively

high

For

scalability

reasons

P-NNI

adopts

a

hierarchical

structure

such

that

switches

are

organized

into

groups

and

a

higher

level

group

consists

of

groups

one

level

below

Only

aggregate

topology

and

connectivity

information

of

a

group

is

exchanged

with

other

groups

at

the

same

level

in

the

hierarchy

-LSB-

-RSB-

B

N

View

at

level

A

C

A.

A.

A.

A

B.

B.

B.

B

C.

C.

C.

C

A.

A.

A.

A.

A.

A.

A.

A.

A.

A

A.

A.

A.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

B.

y

B

C.

C.

C.

C.

C.

C.

C.

C.

C.

C.

C.

C.

C

N

View

at

level

View

at

level

Zoom

Zoom

N

Figure

P-NNI

hierarchical

structure

Fig.

shows

an

example

of

the

hierarchical

structure

in

a

private

ATM

network

Viewed

at

level

-LRB-

the

part

above

the

upper

zoom

line

-RRB-

the

network

N

contains

three

high

level

groups

-LRB-

A

B

and

C

-RRB-

called

logical

nodes

Logical

nodes

are

connected

to

each

other

through

logical

links

View

at

level

-LRB-

the

part

between

two

zoom

lines

-RRB-

zooms

the

view

at

level

and

shows

the

detailed

structure

inside

logical

nodes

A

B

and

C

and

logical

links

between

them

View

at

level

zooms

the

view

at

level

and

shows

the

details

of

the

network

N

down

to

the

lowest

level

At

this

level

each

logical

node

is

an

ATM

switch

and

each

logical

link

is

a

physical

link

For

example

A.

an

ATM

switch

is

one

of

such

lowest

level

logical

nodes

End

systems

is

attached

to

switch

A.

and

end

system

B.

y

is

attached

to

switch

B.

A

set

of

logical

nodes

at

the

same

level

are

organized

into

a

peer

group

A

peer

group

is

abstracted

into

a

logical

group

node

-LRB-

LGN

-RRB-

at

one

level

higher

in

the

hierarchy

For

example

in

the

view

at

level

A.

is

a

peer

group

consisting

of

three

logical

nodes

A.

A.

and

A.

While

in

the

view

at

level

A.

is

a

logical

node

in

peer

group

A

A

logical

link

may

be

one

physical

link

or

an

abstraction

of

many

physical

links

For

example

logical

link

B

-LCB-

C

is

actually

composed

of

two

physical

links

B.

-LCB-

C.

and

B.

-LCB-

C.

A

logical

node

inside

a

peer

group

that

has

a

logical

link

to

a

logical

node

in

another

peer

group

of

the

same

level

is

called

a

border

node

For

example

A.

is

a

border

node

at

level

and

A.

is

a

border

node

at

level

Such

border

nodes

know

that

they

have

connections

to

other

logical

nodes

and

play

an

important

role

in

routing

-LSB-

-RSB-

Logical

nodes

in

a

peer

group

exchange

full

connectivity

and

topology

information

with

each

other

A

logical

node

in

a

peer

group

only

floods

aggregate

topology

and

connectivity

information

inside

itself

to

other

group

members

-LSB-

-RSB-

So

a

node

knows

detailed

information

about

the

peer

group

-LRB-

denoted

by

P

the

parent

-RRB-

of

which

it

is

a

member

less

detailed

information

about

the

peer

group

-LRB-

denoted

by

G

the

grandparent

-RRB-

of

which

P

is

a

member

even

less

detailed

information

about

the

peer

group

of

which

G

is

a

member

and

so

on

For

example

the

topology

and

connectivity

information

node

A.

has

about

the

network

N

is

shown

in

Fig.

The

details

of

the

mechanism

to

exchange

such

kind

of

information

are

out

of

the

scope

of

this

paper

and

can

be

found

in

-LSB-

-RSB-

Each

peer

group

has

a

logical

node

that

represents

this

peer

group

as

a

logical

node

in

the

parent

peer

group

This

node

is

called

a

peer

group

leader

-LRB-

PGL

-RRB-

It

summarizes

the

topology

and

connectivity

information

inside

the

peer

group

to

be

exchanged

among

the

logical

nodes

of

the

parent

group

In

Fig.

each

blackened

logical

node

is

a

PGL

Hierarchical

Source

Routing

Based

on

the

knowledge

a

switch

has

about

the

whole

network

P-NNI

adopts

a

loose

source

routing

technique

called

hierarchical

source

routing

The

source

node

gives

a

general

direction

about

the

route

from

the

source

to

the

destination

The

direction

does

not

include

the

complete

route

due

to

the

limitation

of

the

source

's

knowledge

but

it

is

detailed

enough

so

that

intermediate

nodes

can

follow

the

direction

and

route

the

signaling

message

accordingly

In

P-NNI

such

a

direction

is

called

a

designated

transit

list

-LRB-

DTL

-RRB-

We

use

the

following

example

to

explain

the

format

and

meaning

of

a

DTL

If

A.

needs

to

send

a

signaling

message

to

B.

y

it

includes

in

the

message

the

DTL

-LRB-

-LSB-

A.

A.

A.

-RSB-

-LSB-

A.

A.

-RSB-

-LSB-

A

B

-RSB-

-RRB-

The

DTL

is

a

stack

that

contains

three

elements

with

the

leftmost

one

as

the

top

entry

The

first

element

which

contains

three

items

A.

A.

and

A.

specifies

a

path

to

route

the

message

inside

the

peer

group

A.

It

reads

follow

the

corresponding

physical

links

to

go

from

A.

to

A.

and

then

to

A.

Similarly

the

second

element

reads

follow

the

logical

link

A.

-LCB-

A.

inside

A

to

travel

from

A.

to

A.

and

the

last

element

reads

follow

the

logical

link

A

-LCB-

B

inside

N

to

travel

from

A

to

B

Given

the

information

node

A.

has

about

the

topology

of

the

network

N

-LRB-

shown

in

Fig.

-RRB-

the

DTL

is

the

best

that

A.

can

say

about

the

route

Each

element

contains

one

and

only

one

item

that

is

underscored

and

these

items

uniquely

identify

the

position

of

the

signaling

message

in

the

network

For

example

when

the

DTL

is

initially

created

B

N

A

C

Knowledge

at

level

A.

A.

A.

A.

to

A.

Knowledge

at

level

to

A.

Knowledge

at

level

A.

A.

A.

A

to

B

Figure

All

the

knowledge

that

A.

has

about

the

network

at

A.

items

A.

A.

and

A

are

underscored

denoting

that

the

signaling

message

is

now

at

A.

which

is

inside

A.

and

A

A

switch

routes

a

signaling

message

according

to

the

DTL

included

in

the

message

The

top

element

specifies

the

route

to

follow

when

the

message

travels

in

the

lowest

level

peer

group

the

members

of

which

are

ATM

switches

When

the

signaling

message

is

about

to

leave

a

peer

group

for

another

the

node

that

the

signaling

message

is

visiting

which

is

a

border

node

pops

it

from

the

DTL

because

it

is

no

longer

useful

When

the

signaling

message

enters

a

new

peer

group

the

node

at

which

the

signaling

message

arrives

also

a

border

node

figures

out

how

to

route

this

message

across

this

peer

group

-LRB-

if

the

destination

is

outside

the

peer

group

-RRB-

or

to

the

destination

-LRB-

if

the

destination

is

inside

this

peer

group

-RRB-

It

creates

a

new

element

which

specifies

the

route

and

pushes

it

to

the

DTL

When

the

message

travels

from

one

node

to

another

the

pointer

in

the

DTL

specified

by

the

underscored

items

in

each

element

is

updated

accordingly

We

use

the

term

source

switch

to

refer

to

the

switch

that

the

calling

party

is

attached

to

and

destination

switch

the

switch

that

the

called

party

is

attached

to

The

routing

of

a

signaling

message

across

the

network

consists

of

two

stages

In

the

first

stage

the

signaling

message

first

leaves

the

source

switch

If

the

destination

switch

lies

in

the

peer

group

-LRB-

denoted

by

-RRB-

that

contains

source

switch

as

one

of

its

logical

nodes

the

first

stage

finishes

Otherwise

the

message

is

routed

outside

If

the

destination

switch

does

not

lie

in

the

parent

peer

group

-LRB-

denoted

by

-RRB-

the

message

is

routed

outside

This

process

continues

until

the

signaling

message

enters

a

peer

group

-LRB-

denoted

by

Sn

-RRB-

that

contains

both

the

calling

and

the

calling

parties

At

this

moment

the

first

stage

finishes

and

the

second

stage

begins

In

the

second

stage

if

the

destination

switch

is

one

of

the

logical

nodes

of

Sn

the

signaling

message

is

routed

to

the

destination

switch

according

to

the

direction

specified

in

the

top

element

of

the

DTL

Otherwise

the

signaling

message

is

routed

to

the

logical

node

of

Sn

that

contains

the

destination

switch

-LRB-

denoted

by

Tm

-RRB-

and

enters

it

If

the

destination

switch

is

not

one

of

the

logical

nodes

of

Tm

the

signaling

message

is

routed

to

the

logical

node

of

Tm

that

contains

the

destination

switch

This

process

continues

until

the

message

is

routed

to

the

destination

switch

At

this

moment

the

second

stage

finishes

We

explain

the

two

stages

by

analyzing

how

a

signaling

message

travels

from

switch

A.

to

switch

B.

in

Fig.

In

the

first

stage

the

signaling

message

first

leaves

A.

the

source

switch

then

peer

group

A.

and

finally

peer

group

A.

Both

A.

and

A

contain

A.

At

this

point

the

signaling

message

enters

peer

group

N

which

contains

both

the

source

switch

A.

and

the

destination

switch

B.

Then

the

message

enters

peer

group

B

then

peer

group

B.

and

finally

B.

the

destination

switch

Both

B

and

B.

contain

the

destination

switch

B.

Note

that

such

a

sequence

is

independent

of

the

route

the

signaling

message

chooses

to

take

Certificate

Hierarchy

HG

E

I

F

C

DA

B

Figure

An

example

CA

hierarchy

ATM

Forum

specifies

the

X.

directory

service

to

be

the

default

infrastructure

for

public

key

distribution

and

certification

Here

we

briefly

introduce

the

basic

idea

and

notations

used

in

X.

to

make

our

discussion

later

easier

In

X.

CAs

-LRB-

Certification

Authority

-RRB-

are

organized

in

a

tree-like

hierarchy

and

Fig.

is

an

example

of

such

a

hierarchy

-LSB-

-RSB-

Each

leaf

node

is

a

principal

-LRB-

e.g.

end

systems

users

-RRB-

whose

public

key

is

to

be

certified

and

each

tree

node

is

a

CA

All

the

child

nodes

of

a

tree

node

register

their

public

keys

with

the

CA

that

the

tree

node

corresponds

to

Each

CA

keeps

a

directory

that

contains

the

certificates

of

all

the

nodes

registering

their

public

keys

with

it

and

a

certificate

of

the

public

key

of

its

parent

CA

if

it

is

not

the

root

CA

itself

The

former

are

called

forward

certificates

and

the

latter

is

called

a

reverse

certificate

X.

uses

notation

X

Y

to

denote

the

certificate

of

Y

issued

by

a

CA

X

In

Fig.

E

signs

the

certificates

for

A

and

B

and

its

own

certificate

is

signed

by

G

So

E

keeps

forward

certificates

E

A

and

E

B

and

a

reverse

certificate

G

E

E

G

G

I

I

H

H

F

and

F

C

is

the

certificate

path

from

C

to

A

This

certificate

path

allows

A

to

obtain

and

verify

C

's

public

key

Certificate

Path

Generation

Algorithm

-LRB-

CPGA

-RRB-

Section

discusses

the

CA

hierarchy

used

in

our

algorithm

which

is

isomorphic

to

the

P-NNI

routing

hierarchy

Section

shows

how

the

algorithm

constructs

certificate

paths

by

appending

appropriate

certificates

to

a

signaling

message

as

it

passes

through

the

network

Section

illustrates

the

operation

of

the

algorithm

by

giving

an

example

Section

discusses

the

advantages

of

the

algorithm

over

CEP

Section

discusses

authenticated

signaling

when

the

calling

and

the

called

party

are

in

different

private

ATM

networks

Organization

of

Certification

Authorities

Since

P-NNI

comes

with

a

nice

routing

hierarchy

our

algorithm

naturally

fits

into

it

by

making

the

CA

hierarchy

isomorphic

to

it

We

organize

CAs

in

such

a

way

that

there

is

a

CA

in

each

peer

group

to

certify

each

logical

node

in

that

group

-LRB-

certify

its

CA

if

it

is

a

peer

group

or

certify

it

if

it

is

a

single

switch

-RRB-

and

the

root

CA

is

the

CA

of

the

highest

level

peer

group

At

the

lowest

level

each

switch

functions

as

a

CA

that

certifies

all

the

end

systems

attached

to

it

For

example

Fig.

shows

the

CA

hierarchy

for

the

routing

hierarchy

shown

in

Fig.

We

use

CAP

to

denote

the

CA

of

a

peer

group

P

In

Fig.

the

certificate

path

that

needs

to

provide

to

B.

y

for

authentication

purposes

is

A

A

x

CAA

A

CAA

CAA

CAN

CAA

CAB

CAN

CAB

CAB

CAB

CAB

The

Algorithm

To

establish

an

authenticated

connection

the

calling

party

first

puts

a

signature

of

the

message

signed

using

its

private

key

and

its

public

key

certificate

into

the

signaling

message

Then

it

sends

the

message

to

the

source

switch

through

User

Network

Interface

-LRB-

UNI

-RRB-

The

source

switch

appends

its

forward

certificate

to

the

signaling

message

and

passes

the

signaling

message

to

the

next

switch

When

the

signaling

message

leaves

a

peer

group

that

contains

the

source

switch

the

border

node

of

the

peer

group

appends

to

the

signaling

message

the

forward

certificate

of

the

CA

of

the

peer

group

For

example

in

Fig

if

sends

a

signaling

message

to

B.

y

nodes

A.

and

A

append

CAA

CAA

CAA

CAA

CAB

CAB

CAB

CAB

CAC

CAC

CAC

CAC

CAN

A.

A.

A.

A.

B.

B.

y

Omitted

entries

are

donted

by

dots

C.

C.

C.

Figure

The

CA

hierarchy

for

network

N.

certificates

CAA

CAA

and

CAN

CAA

to

the

message

respectively

when

the

message

leaves

the

corresponding

peer

groups

When

the

signaling

message

enters

a

peer

group

that

contains

the

destination

switch

the

border

node

of

the

peer

group

appends

to

the

signaling

message

the

reverse

certificate

of

the

CA

of

the

peer

group

Continuing

with

the

example

of

Fig.

nodes

B

and

B.

append

certificates

CAB

CAN

and

CAB

CAB

to

the

signaling

message

respectively

when

the

message

enters

the

corresponding

peer

groups

When

the

destination

switch

receives

the

signaling

message

it

appends

its

reverse

certificate

the

signaling

message

When

the

signaling

message

arrives

at

the

called

party

the

signature

and

the

certificates

appended

to

the

signaling

message

look

like

EA

-LRB-

Msg

-RRB-

A

Sn

Sn

Tm

Sn

Tm

Tm

A

is

the

calling

party

and

EA

-LRB-

Msg

-RRB-

is

the

signature

of

the

message

signed

with

A

's

private

key

is

the

source

switch

and

and

Sn

are

the

CAs

of

the

peer

groups

the

signaling

message

is

leaving

in

the

first

stage

Each

Si

is

a

logical

node

of

the

peer

group

Si

i

n

Sn

is

the

peer

group

that

contains

both

the

source

and

destination

switches

Tm

Tm

and

are

the

peer

groups

that

the

signaling

message

is

enter

ing

in

the

second

stage

and

is

the

destination

switch

Each

Ti

is

a

logical

node

of

the

peer

group

Ti

i

m

and

Tm

is

a

logical

node

of

the

peer

group

Sn

When

the

signaling

message

arrives

at

the

called

party

it

is

authenticated

as

follows

Since

the

called

party

knows

the

public

key

of

it

verifies

the

certificate

to

obtain

the

public

key

of

Using

the

public

key

of

it

verifies

the

certificate

to

obtain

the

public

key

of

and

so

on

In

the

end

it

obtains

the

public

key

of

A

from

the

certificate

A

and

uses

it

to

verify

if

it

is

the

calling

party

A

who

signed

the

signature

EA

-LRB-

Msg

-RRB-

Once

this

is

done

the

signaling

message

is

authenticated

In

order

to

append

appropriate

certificates

to

the

signaling

message

when

the

message

leaves

or

enters

a

peer

group

the

border

nodes

of

the

peer

group

have

a

copy

of

the

forward

certificate

issued

to

its

CA

from

the

CA

of

its

parent

peer

group

The

border

nodes

also

keep

a

copy

of

the

corresponding

reverse

certificate

For

example

in

Fig.

node

A.

a

border

node

of

A.

keeps

the

certificates

CAA

CAA

and

CAA

CAA

How

border

nodes

obtain

fresh

copies

of

such

certificates

will

be

discussed

in

Section

The

pseudocode

of

the

algorithm

is

shown

in

CSP

like

syntax

as

follows

Algorithm

CPGA

begin

<the signaling message is leaving the source switch>

append

the

forward

certificate

of

the

source

switch

to

the

signaling

message

the

signaling

message

is

leaving

a

peer

group

that

contains

the

source

switch

append

the

forward

certificate

of

the

CA

of

the

peer

group

to

the

signaling

message

the

signaling

message

is

entering

a

peer

group

that

contains

the

destination

switch

append

the

reverse

certificate

of

the

CA

of

the

peer

group

to

the

signaling

message

<the signaling message arrives at the destination switch>

append

the

reverse

certificate

of

the

destination

switch

to

the

signaling

message

end

The

algorithm

is

executed

at

each

switch

that

a

signaling

message

traverses

The

DTL

contained

in

the

signaling

message

is

used

to

determine

whether

the

message

is

leaving

a

peer

group

that

contains

the

source

switch

-LRB-

the

second

condition

in

the

above

pseudo

code

-RRB-

or

is

entering

a

peer

group

that

contains

the

destination

switch

-LRB-

the

third

condition

in

the

above

pseudo

code

-RRB-

When

a

switch

is

about

to

pop

the

top

element

from

the

DTL

and

all

other

elements

in

the

DTL

have

their

first

items

underscored

this

means

the

message

is

leaving

a

peer

group

that

contains

the

source

switch

When

a

switch

is

about

to

push

a

new

element

into

the

DTL

and

all

other

elements

in

the

DTL

have

their

last

items

underscored

this

means

the

message

is

entering

a

peer

group

that

contains

the

destination

switch

An

Example

We

now

illustrate

the

algorithm

with

the

help

of

an

example

We

use

the

network

topology

shown

in

Fig.

Following

the

path

that

a

signaling

message

takes

from

to

B.

y

we

show

security-related

operations

at

intermediate

switches

The

calling

party

signs

the

message

using

its

private

key

appends

the

signature

and

its

public

key

certificate

A

A

x

to

the

signaling

message

and

then

signals

A.

through

UNI

-LSB-

-RSB-

When

A.

receives

the

signaling

message

it

appends

the

certificate

CAA

A

to

the

signaling

message

because

the

signaling

message

is

about

to

leave

the

source

switch

Then

it

sends

the

message

to

A.

When

A.

receives

the

signaling

message

of

the

four

conditions

in

the

algorithm

is

met

therefore

A.

does

not

perform

any

security-related

operations

and

simply

forwards

the

message

to

A.

When

A.

receives

the

signaling

message

it

finds

out

that

the

message

is

about

to

leave

the

peer

group

A.

which

contains

the

source

switch

A.

Hence

the

second

condition

in

CPGA

is

met

and

the

switch

appends

CAA

CAA

the

forward

certificate

of

the

CA

of

A.

to

the

signaling

message

It

then

sends

the

message

to

A.

The

border

node

of

A.

namely

A.

receives

the

signaling

message

Switch

A.

finds

out

that

nothing

needs

to

be

done

because

the

peer

group

that

the

message

is

entering

is

A.

which

does

not

include

the

destination

switch

B.

So

it

simply

forwards

the

message

to

A.

When

A.

receives

the

message

it

finds

out

that

the

message

is

about

to

leave

the

peer

group

A

which

contains

the

source

switch

Hence

the

second

condition

in

CPGA

is

met

and

A.

appends

the

forward

certificate

of

the

CA

of

A

CAN

CAA

to

the

signaling

message

It

then

sends

the

message

to

B.

When

B.

receives

the

signaling

message

it

figures

out

that

the

signaling

message

is

entering

the

peer

group

B

which

contains

the

destination

switch

B.

Hence

the

third

condition

in

CPGA

is

met

and

the

switch

appends

the

reverse

certificate

of

the

CA

of

B

CAB

CAN

to

the

signaling

message

It

then

sends

the

message

to

B.

When

B.

receives

the

signaling

message

since

of

the

four

conditions

in

the

algorithm

is

met

B.

does

not

perform

any

security

related

operations

It

simply

forwards

the

message

to

B.

which

finds

out

that

no

security-related

operations

need

to

be

done

and

simply

forwards

the

message

to

B.

B.

finds

out

that

no

securityrelated

operations

need

to

be

done

and

simply

forwards

the

message

to

B.

When

B.

receives

the

signaling

message

it

finds

out

that

the

message

is

entering

the

peer

group

B.

which

contains

the

destination

switch

B.

Hence

the

third

condition

in

CPGA

is

met

and

the

switch

appends

the

reverse

certificate

of

the

CA

of

B.

CAB

CAB

to

the

signaling

message

B.

then

sends

the

message

to

B.

B.

finds

out

that

it

is

the

destination

switch

so

it

appends

its

reverse

certificate

B

CAB

to

the

signaling

message

and

sends

the

signaling

message

to

B.

y

through

UNI

Upon

receipt

of

the

signaling

message

B.

y

extracts

from

it

the

complete

certificate

path

from

to

B.

y

consisting

of

the

certificates

appended

at

the

intermediate

switches

Since

it

knows

the

public

key

of

B.

it

can

verify

the

certificate

B

CAB

and

obtain

the

public

key

of

CAB

It

uses

the

public

key

of

CAB

to

verify

the

certificate

CAB

CAB

and

obtain

the

public

key

of

CAB

and

so

on

This

process

continues

until

B.

y

obtains

the

public

key

of

and

uses

it

to

verify

the

signature

signed

using

the

private

key

of

If

the

signature

is

proved

to

be

made

by

the

signaling

message

is

authenticated

When

mutual

authentication

is

required

the

CONNECT

message

sent

from

B.

y

to

will

be

processed

in

the

same

way

as

the

SETUP

message

Advantages

over

CEP

The

algorithm

has

several

advantages

over

CEP

which

are

listed

as

follows

ffl

First

all

the

information

an

end

system

needs

to

know

for

authenticated

signaling

is

reduced

to

a

minimum

its

public

key

certificate

This

greatly

reduces

the

complexity

of

the

network

software

at

end

systems

ffl

Second

no

CEP

connection

is

needed

before

an

authenticated

connection

can

be

established

So

the

response

time

for

an

authenticated

signaling

is

reduced

at

least

by

a

factor

of

two

ffl

Third

since

all

signaling

messages

are

authenticated

we

can

enforce

the

security

policy

all

connections

must

be

authenticated

which

is

useful

in

implementing

the

ATM

firewalls

-LSB-

-RSB-

Authenticated

Signaling

across

Public

ATM

Networks

The

certificate

path

generation

algorithm

-LRB-

CGPA

-RRB-

we

discussed

in

Section

works

when

both

the

calling

and

the

called

parties

are

in

the

same

private

ATM

network

When

two

end

systems

are

attached

to

different

private

networks

the

signaling

message

between

them

must

be

carried

across

a

public

network

In

this

section

we

show

how

this

algorithm

can

be

augmented

to

bridge

the

certificate

path

across

a

public

network

In

Fig.

two

private

networks

and

are

connected

to

the

public

network

through

public

User

Network

Interface

-LRB-

UNI

-RRB-

and

respectively

The

border

switch

in

private

network

that

is

directly

attached

to

the

public

network

is

and

in

private

network

End

system

is

attached

to

network

and

it

intends

to

establish

a

connection

with

end

system

which

is

attached

to

network

Both

and

use

the

CA

hierarchy

and

CPGA

algorithm

we

proposed

in

Section

The

root

CAs

of

and

Public

ATM

Network

Public

UNI

Private

UNI

Figure

Authenticated

signaling

across

a

public

network

are

and

respectively

In

the

following

we

describe

two

possible

approaches

to

route

signaling

message

from

to

and

discuss

how

to

build

a

certificate

path

across

the

public

network

in

both

cases

The

first

approach

is

called

permanent

virtual

path

tunneling

-LSB-

-RSB-

In

this

approach

a

permanent

virtual

path

-LRB-

PVP

-RRB-

is

set

up

between

and

more

specifically

between

and

across

the

public

network

Signaling

request

from

is

first

routed

to

border

switch

of

network

then

tunneled

within

the

PVP

through

the

public

network

to

border

switch

of

network

and

finally

routed

to

Using

CPGA

if

and

are

considered

peer

logical

nodes

connected

by

a

logical

link

-LRB-

the

PVP

-RRB-

when

the

signaling

message

is

routed

from

to

the

certificate

path

from

to

is

built

and

when

the

message

is

routed

from

to

the

certificate

path

from

to

is

built

What

is

missing

from

the

certificate

path

between

and

is

a

certificate

path

from

to

Our

solution

to

this

problem

is

to

let

issue

the

certificate

to

and

vice

versa

When

the

signaling

message

is

routed

to

and

is

about

to

be

tunneled

through

the

public

network

will

append

to

signaling

message

the

certificate

which

glues

up

the

certificate

paths

built

in

and

Therefore

all

and

need

to

do

for

authenticated

interconnection

is

to

let

the

root

CAs

certify

each

other

when

the

PVP

is

set

up

The

other

approach

works

if

the

public

network

supports

switched

virtual

connection

-LRB-

SVC

-RRB-

through

public

UNI

-LSB-

-RSB-

In

this

approach

the

P-NNI

signaling

request

from

the

switch

that

end

system

is

attached

to

is

mapped

to

a

public

UNI

signaling

request

at

border

switch

and

the

public

ATM

network

will

route

this

signaling

request

all

the

way

to

border

switch

map

it

back

to

a

P-NNI

signaling

request

and

route

it

to

the

switch

that

end

system

is

attached

to

-LSB-

-RSB-

This

approach

is

preferred

since

it

allows

more

flexibility

and

ubiquitous

communication

needs

But

up

to

now

SVC

signaling

is

not

provided

in

public

ATM

networks

because

B-ICI

between

the

carrier

networks

does

not

support

any

control

plane

functions

-LSB-

-RSB-

However

since

future

version

of

B-ICI

is

expected

to

support

SVC

signaling

across

it

we

assume

that

SVC

support

will

be

available

soon

-LSB-

-RSB-

Under

this

assumption

the

alternative

approach

works

as

follows

Each

public

UNI

between

a

private

network

and

the

public

network

is

assigned

a

unique

E.

address

E.

addressing

scheme

was

originally

used

in

telephone

networks

and

now

used

in

public

ATM

networks

It

is

different

from

NSAP

the

addressing

scheme

used

in

private

ATM

networks

When

the

signaling

message

from

is

routed

to

will

map

it

into

a

signaling

message

from

-LRB-

the

public

UNI

between

network

and

the

public

network

-RRB-

to

-LRB-

the

public

UNI

between

network

and

the

public

network

-RRB-

that

uses

the

E.

address

of

as

the

destination

When

the

signaling

message

is

routed

to

will

map

it

back

to

a

signaling

message

destined

for

The

public

ATM

network

is

expected

to

provide

a

directory

service

to

enable

query

the

E.

address

of

according

to

the

NSAP

address

of

-LSB-

-RSB-

When

a

private

network

is

connected

to

the

public

network

it

registers

its

NSAP

address

with

the

public

network

and

is

given

the

E.

of

the

public

UNI

it

is

attached

to

So

public

networks

know

the

unique

binding

between

a

NSAP

address

of

a

private

network

and

its

E.

address

Our

algorithm

will

be

enhanced

in

such

a

way

that

each

private

network

registers

the

public

key

of

its

root

CA

with

the

public

network

and

the

public

network

will

use

a

hierarchical

CA

structure

The

directory

service

is

enhanced

in

such

a

way

that

when

queries

for

the

E.

address

of

the

certificate

path

from

to

will

be

provided

to

as

well

Our

algorithm

is

enhanced

in

such

a

way

that

will

append

the

certificate

path

from

to

queried

from

the

directory

service

described

above

to

the

signaling

message

In

this

way

the

pieces

of

certificate

paths

built

in

and

get

glued

up

at

to

form

a

complete

path

certificate

Related

Issues

Dedicated

CA

Logical

Nodes

We

assumed

that

there

is

one

CA

in

each

peer

group

and

we

may

let

the

PGL

nodes

play

the

role

of

CAs

However

for

ease

of

administration

and

management

we

can

introduce

a

special

logical

node

called

dedicated

CA

logical

node

into

each

peer

group

to

act

as

the

CA

of

that

peer

group

Each

dedicated

CA

logical

node

consists

only

of

one

switch

This

switch

does

not

route

any

user

traffic

instead

it

is

dedicated

to

perform

the

functions

of

a

CA

for

that

peer

group

It

signs

and

distributes

the

public

key

certificates

of

fellow

logical

nodes

in

the

peer

group

Below

we

examine

the

functions

that

can

be

provided

efficiently

by

such

dedicated

CA

logical

nodes

Distribution

of

Public

Key

Certificates

In

X.

when

a

public

key

certificate

is

revoked

before

it

expires

each

party

has

to

be

notified

about

it

and

each

party

has

to

keep

a

list

of

all

the

revoked

certificates

If

we

shorten

the

lifespan

of

public

key

certificates

to

several

minutes

the

need

to

explicitly

revoke

a

certificate

is

generally

eliminated

In

our

approach

the

CA

node

simply

does

not

renew

the

certificate

that

has

been

revoked

For

this

scheme

to

work

there

are

two

requirements

First

the

clocks

among

the

switches

and

end

systems

should

be

synchronized

There

are

many

ways

to

synchronize

the

clocks

in

a

distributed

system

and

they

can

be

found

in

-LSB-

-RSB-

Second

the

CA

should

be

able

to

distribute

the

certificates

to

each

party

periodically

With

the

help

of

the

dedicated

CA

logical

node

the

distribution

of

certificates

is

straightforward

Since

PTSP

-LRB-

P-NNI

topology

state

packets

-RRB-

is

flooded

periodically

inside

the

peer

group

we

modify

its

format

to

include

a

number

of

slots

for

storing

public

key

certificates

The

PTSP

packets

sent

from

the

CA

logical

node

will

fill

in

these

slots

renewed

public

key

certificates

-LRB-

signed

by

the

CA

logical

node

-RRB-

of

the

fellow

logical

nodes

in

the

peer

group

Since

the

packet

will

be

flooded

inside

the

peer

group

each

logical

node

can

pick

up

its

own

certificate

We

assume

that

PTSP

packets

are

exchanged

every

L

-LRB-

secs

-RRB-

the

lifespan

for

the

certificate

of

each

party

is

a

constant

I

-LRB-

secs

-RRB-

and

there

are

N

slots

for

certificates

in

a

PTSP

packet

In

a

peer

group

consisting

of

P

logical

nodes

we

only

need

to

make

sure

that

L

P

N

I

so

that

the

certificate

of

each

party

is

renewed

promptly

In

this

way

the

public

key

distribution

is

seamlessly

built

into

the

P-NNI

When

a

PTSP

packet

containing

the

certificate

of

the

peer

group

-LRB-

as

a

node

in

parent

group

-RRB-

enters

the

peer

group

the

border

node

that

receives

the

PTSP

will

first

keep

a

copy

of

the

certificate

and

then

flood

it

within

the

peer

group

to

make

sure

that

every

other

border

node

gets

a

copy

In

such

a

way

each

border

node

in

a

peer

group

maintains

a

valid

copy

of

the

certificate

of

the

peer

group

-LRB-

as

a

logical

node

in

the

parent

peer

group

-RRB-

A

Variant

of

CA

Hierarchy

On

some

occasions

there

may

be

only

a

small

number

of

logical

nodes

in

a

peer

group

In

these

situation

we

can

remove

CAs

from

some

levels

and

compress

the

hierarchy

For

example

we

can

compress

the

CA

hierarchy

shown

in

Fig.

by

removing

CAs

from

A.

A.

C.

peer

groups

and

the

resulting

CA

hierarchy

is

shown

in

Fig.

The

modification

to

the

algorithm

is

that

the

border

nodes

will

append

a

certificate

if

one

of

the

four

conditions

is

met

and

the

peer

group

the

signaling

message

is

entering

or

leaving

has

its

own

CA

node

For

example

in

Fig.

there

is

no

CA

node

that

serves

A.

and

all

logical

nodes

in

A.

peer

group

are

served

by

the

CA

of

peer

group

A

CAA

This

optimization

shows

that

the

CA

hierarchy

need

not

be

isomorphic

with

the

P-NNI

routing

hierarchy

and

it

only

needs

to

be

compatible

Conclusion

Authenticated

signaling

in

ATM

networks

requires

that

the

called

party

obtains

a

certificate

path

between

the

calling

party

and

the

called

party

We

examined

that

although

CAN

CAA

CAB

CAC

A.

A.

A.

A.

B.

B.

y

Omitted

entries

are

donted

by

dots

C.

C.

C.

Figure

A

Compressed

version

of

CA

hierarchy

in

network

N.

CEP

-LRB-

Certificate

Exchange

Protocol

-RRB-

offers

a

solution

to

the

problem

it

suffers

from

certain

drawbacks

like

complexity

of

maintaining

certificate

paths

at

each

end

system

high

latency

in

establishing

an

authenticated

connection

etc.

In

this

paper

we

proposed

an

algorithm

to

generate

the

certificate

path

in

a

signaling

message

on-the-fly

while

the

signaling

message

travels

from

the

calling

party

to

the

called

party

Compared

to

CEP

the

proposed

algorithm

has

three

advantages

First

all

the

information

an

end

system

needs

to

know

for

authenticated

signaling

is

reduced

to

a

minimum

its

public

key

certificate

This

greatly

reduces

the

complexity

of

the

network

software

on

end

systems

Second

no

CEP

connection

is

needed

before

an

authenticated

connection

can

be

established

So

the

response

time

for

an

authenticated

signaling

is

reduced

at

least

by

a

factor

of

two

Third

since

all

signaling

messages

are

authenticated

we

can

enforce

the

security

policy

all

connections

must

be

authenticated

which

is

useful

in

implementing

the

ATM

firewalls

Though

our

algorithm

is

mainly

based

on

the

P-NNI

routing

hierarchy

it

is

not

restricted

to

private

ATM

networks

In

Section

we

examined

two

possible

ways

of

interworking

with

public

ATM

networks

and

show

how

to

extend

our

algorithm

to

work

in

each

case

Finally

we

discussed

the

related

issues

like

the

distribution

of

certificates

and

the

optimization

of

CA

hierarchy

References

-LSB-

-RSB-

A.

Alles

ATM

Internetworking

Internet

posting

Cisco

Systems

Inc.

May

-LSB-

-RSB-

U.

Black

ATM

Foundations

for

Broadband

Networks

Prentice

Hall

PTR

Englewood

Cliffs

NJ

-LSB-

-RSB-

D.

B.

Chapman

and

E.

D.

Zwicky

Building

Internet

Firewalls

O'Reilly

Associates

Sebastopol

CA

-LSB-

-RSB-

W.

R.

Cheswick

and

S.

M.

Bellovin

Firewalls

and

Internet

Security

Addison

Wesley

Reading

MA

-LSB-

-RSB-

ATM

Forum

-LCB-

Private

Network-Network

Interface

Specification

Version

-LRB-

PNNI

-RRB-

March

-LSB-

-RSB-

ATM

Forum

-LCB-

BISDN

Inter

Carrier

Interface

-LRB-

B-ICI

-RRB-

Specification

Version

December

-LSB-

-RSB-

ATM

Forum

-LCB-

ATM

User-Network

Interface

-LRB-

UNI

-RRB-

Version

September

-LSB-

-RSB-

ATM

Forum

-LCB-

Addendum

to

BISDN

Inter

Carrier

Interface

-LRB-

B-ICI

-RRB-

Specification

Version

-LRB-

B-ICI

Specification

Version

-RRB-

September

-LSB-

-RSB-

K.

Marzullo

and

S.

Owicki

Maintaining

the

Time

in

a

Distributed

System

ACM

Proceedings

of

the

Second

Annual

ACM

Symposium

on

Principles

of

Distributed

Computing

pp

Montreal

Quebec

CA

August

-LSB-

-RSB-

D.

L.

Mills

Improved

Algorithms

for

Synchronizing

Computer

Network

Clocks

IEEE/ACM

Transactions

on

Networking

vol

pp

June

-LSB-

-RSB-

B.

Schneier

Applied

Cryptography

-LRB-

ed

-RRB-

John

Wiley

Sons

Inc.

NY

-LSB-

-RSB-

W.

Stalling

Network

and

internetwork

security

principles

and

practice

Prentice

Hall

Englewood

Cliffs

NJ

-LSB-

-RSB-

D.

Stevenson

N.

Hillery

and

G.

Byrd

Secure

Communications

in

ATM

Networks

Communications

of

ACM

vol

pp.

February

-LSB-

-RSB-

T.

D.

Tarman

-LCB-

Editor

Sandia

National

Laboratories

Phase

I

ATM

Security

Specification

ATM

October

O B I O O O B I O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O B I O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O B O O O B O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B I O O B O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O

atm
authenticated signaling
certificate path