Top Banner
Marc de Graauw [email protected] Authentication & Digital Signature an overview
35

Authentication and Digital Signature - Marc de Graauw

Feb 11, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Authentication &

Digital Signature

an overview

Page 2: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Authentication

Page 3: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Authentication

• Smartcard (UZI pass) with:

– private key (RSA)

– X.509 certificate (includes public key)

• PKI-Government

• Personal pass

– guard safely

– no sharing

– PIN protected

Page 4: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

“Hello world”

SHA-1 hash: 5llABaWYz

xCrKIdjS...

RSA sig value: c9fVK7vYAdv

s2DRZVtS...

Private key: shhhh.....

Public key: MIICHzCCAY

ygAwIBAgI.....

“Hello world”

RSA sig value: c9fVK7vYAdv

s2DRZVtS...

OK

Sender Receiver

Page 5: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Page 6: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Security Services (X.800)

• Authentication

• Authorization

• Data Confidentiality

• Data Integrity

• Non-repudiation

Page 7: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Secure connection

Page 8: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Secure data

Page 9: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Security services

Secure

connection

Authentica

tion Token

Digital

Signature

Authentication √ √ √

Authorization

Confidentiality √

Integrity √ √

Non-

repudiation

Page 10: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Authentication with SSL

Page 11: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Page 12: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Page 13: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Page 14: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Security with SSL

• Works well only in simple scenario‟s

• There is no HL7v3 XML at the client

• The client is (relatively) unsecure

• SSL lays an impenatrable tunnel across

the instution‟s secure zone

• SSL from server to server is fine, but:

• provides no care provider authentication

Page 15: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Context: clients

• all hospitals, GP‟s, pharmacists, other healthcare pros

• clients: any kind of client

• latest .NET / Java

• older dev environments (Delphi, BV, etc.)

• thin client/browser

• XSLT heavy

• XML / no XML

• WS-* / no WS-*

• HL7v3 / no HL7v3

Page 16: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Context: HL7v3

• no HL7v3 at client (HL7v2, OZIS, other)

• not all data at client

– Act.id

– medication codes

– patient id (BSN) not yet, is reasonable demand

• destination not always known at client

• either: require all data available at client

• or: sign subset of data

Page 17: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

„Lightweight‟ authentication token

• X.509 style

– message id • nonce

• provides unique identification of message

• (if duplicate removal has already taken place)

– time to live • security semantics can expire

• time to store & check nonce

– addressedParty • replay against other receivers

Page 18: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

SSL security

• premises: – healthcare pro keeps smartcard + pin safe

– software to establish SSL tunnel not corrupted

– PKI, RSA etc. not broken

• assertion: – healthcare pro sets up SSL tunnel

• assumption: – messages going over SSL tunnel come from healthcare pro

• weakness: – insertion of fake messages in SSL tunnel

• measures: – abort SSL tunnel after period of inactivity, refresh regularly

Page 19: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Lightweight token security

• premises: – healthcare pro keeps smartcard + pin safe

– software to sign token not corrupted

– PKI, RSA etc. not broken

• assertion: – healthcare pro signed auth token

• assumption: – message and auth token belong together

• weakness: – fake message attached to valid token

Page 20: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Lightweight token security

• signedData: – message id

– notBefore / notAfter

– addressedParty

• coSignedData – patient id (BSN)

– message type (HL7 trigger event id)

• only possible to retrieve same kind of data for same patient at same time from same destination

• weakness: tampering with other message parameters

• for queries: acceptable (privacy not much more broken)

• for prescription: use full digital signature

Page 21: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Hospital workflow

• doctor makes round

• 360 seconds per patient

• nurse has file ready

• retrieval times are not acceptable

• pre-signing tokens and pre-fetching data

just in time

• possible with auth tokens, not (so much)

with SSL

Page 22: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

SOAP Envelope

SOAP Body

Authentication alternatives

HL7 payload

SOAP Header

Auth Token

Page 23: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

SOAP Envelope

SOAP Body

Authentication alternatives

HL7 payload

SOAP Header

Auth Token Auth Token

Auth Token

HL7 payload

HL7 payload

Page 24: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

HL7 Medical Application

HL7 Control Query Processing Application

HL7 Transmission Wrapper Adapter

HL7 Web Services Messaging Adapter

HTTP Client / Server

SOAP

Messages

HL7v3

Messages

HL7v3

Acts

HL7v3

Medical

Content

Page 25: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Authentication alternatives

• Authentication tokens in SOAP Headers

separate them from the content

• HL7 sometimes allows multiple payloads,

making this problem worse

• The token has to travel across layers with

the paylaod

• This violates layering principles

Page 26: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

WS-*

• WS-* is confused about whether it is a

document format or a message format

• document: relevant to the end user

• message: relevant to the mailman

• keep metadata with the document

• putting document metadata in SOAP

headers violates layering design principles

Page 27: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Digital Signatures

Page 28: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Some philosophy

• “The President of the United States is

John McCain”

• “Karen believes „the President of the

United States is John McCain‟ ”

• “John says that „the President of the

United States is John McCain‟ ”

• “Dr. Jones says: „Mr. Smith has the flu‟ ”

Page 29: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Signed Data

Page 30: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

<code code=”27”

codeSystem=”2.16.840.1.113883.2

.4.4.5” />

"Dissolve in water"

Page 31: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

XML fragment

Page 32: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

Digitally signed token

Page 33: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

What You See Is What You Sign

Page 34: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

<ws:SecToken>

HL7v3 bericht

Token & XML Signature

HL7v3 bericht

Certificate

Digest

Sig value

XML Signature

Getekende

gegevens

Prescription1

<ds:Signature>

<ds:SignedInfo>

<ds:KeyInfo>

Certificate

Digest

Sig value

Componenten

Getekende

gegevens

Prescription 1

HL7v3 bericht

Met WSS

<ds:Signature>

<ds:SignedInfo>

<ds:KeyInfo>

Certificate

Digest

Sig value

Getekende

gegevens

Prescription 1

SOAP envelope

body

HL7v3 bericht

Getekende

gegevens

Prescription 1

headers

In SOAP Headers

Reference

<ws:SecToken>

<ds:Signature>

<ds:SignedInfo>

<ds:KeyInfo>

Certificate

Digest

Sig value

Reference

Page 35: Authentication and Digital Signature - Marc de Graauw

Marc de Graauw

[email protected]

HL7v3 bericht

Meerdere Signatures, 1 certificaat Bericht + handtekening

<Signature1>

<SignedInfo>

Certificate A

Digest 1

Sig value 1

Getekende

gegevens 1

Prescription 1

Prescription 2

Getekende

gegevens 2

<Signature2>

<ds:SignedInfo>

Digest 2

Sig value 2

Certificate

Signature

Getekende

gegevens

HL7v3

Prescription

persisteren