Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if...

43
Securing Web Services Breno de Medeiros Department of Computer Science Florida State University Securing Web Services – p.1

Transcript of Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if...

Page 1: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Securing Web Services

Breno de Medeiros

Department of Computer Science

Florida State University

Securing Web Services – p.1

Page 2: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Securing Web Services

Most provably secure authentication/key-exchange protocolsassume a symmetric setup (both parties have certificates orpre-shared keys).

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.2

Page 3: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Securing Web Services

Most provably secure authentication/key-exchange protocolsassume a symmetric setup (both parties have certificates orpre-shared keys).

This setting is inadequate in the case of web services, as browsers do

not have client certificates.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.2

Page 4: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Securing Web Services

Most provably secure authentication/key-exchange protocolsassume a symmetric setup (both parties have certificates orpre-shared keys).

This setting is inadequate in the case of web services, as browsers do

not have client certificates.

Even if certificates were available to clients, they would notauthenticate the user, but the browser application. How would the user

authenticate itself from a different machine?

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.2

Page 5: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Securing Web Services

Most provably secure authentication/key-exchange protocolsassume a symmetric setup (both parties have certificates orpre-shared keys).

This setting is inadequate in the case of web services, as browsers do

not have client certificates.

Even if certificates were available to clients, they would notauthenticate the user, but the browser application. How would the user

authenticate itself from a different machine?

Browsers execute web-service protocols in an oblivious fashion (theydo not know which protocol they are executing, unlike say, an SSH

client).

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.2

Page 6: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Securing Web Services

Most provably secure authentication/key-exchange protocolsassume a symmetric setup (both parties have certificates orpre-shared keys).

This setting is inadequate in the case of web services, as browsers do

not have client certificates.

Even if certificates were available to clients, they would notauthenticate the user, but the browser application. How would the user

authenticate itself from a different machine?

Browsers execute web-service protocols in an oblivious fashion (theydo not know which protocol they are executing, unlike say, an SSH

client).

These features indicate the need for a browser model and for the useof web service-specific security models.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.2

Page 7: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Web Services-Federation PassiveRequestor Interop

Br o w s erU s er I D Su p p l i er I DC o n su m erG E T [r e s ou r c e ]R E D I R E C T [ p ar a m s ]E N D� o f� r e d ir e c tAu t h e n t i c a t e u s erP O S T [ p ar a m s ]P O S T R e tu r n r e su l t

s e cu r e c ha n n e l1s e cu r e c ha n n e l 2

W S F P I pr o t o c o l. I n t er r u p t e d l i n e s ar e mu l t i p l e� s t e p pr o c e s s e s s p e c i f i e di n t h e pr o t o c o l .

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.3

Page 8: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Proof structure

The proof structure for WS is based on the reactive systemsapproach described by Pfitzmann and Waider, and applied byBackes-Pfitzmann-Waidner to the Needham-Schroeder-Loweprotocol.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.4

Page 9: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Proof structure

The proof structure for WS is based on the reactive systemsapproach described by Pfitzmann and Waider, and applied byBackes-Pfitzmann-Waidner to the Needham-Schroeder-Loweprotocol.

First, an idealized model is created, where the real-worldoperations are substituted by a library of operations that areguaranteed to be secure. The security equivalence of real andideal systems follows from standard arguments.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.4

Page 10: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Proof structure

The proof structure for WS is based on the reactive systemsapproach described by Pfitzmann and Waider, and applied byBackes-Pfitzmann-Waidner to the Needham-Schroeder-Loweprotocol.

First, an idealized model is created, where the real-worldoperations are substituted by a library of operations that areguaranteed to be secure. The security equivalence of real andideal systems follows from standard arguments.

Second, a proof of security for the ideal protocol version isprovided. However, in the case of federated identity, security in theideal world is not immediate, as the protocol is very complex.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.4

Page 11: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser model, instantiated to afederated identity protocol

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.5

Page 12: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Peculiarities of the browser model

The browser leaks various types of information. For instance,information is often stored as cache cookies, cache entries, andhistory (and search history) entries.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.6

Page 13: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Peculiarities of the browser model

The browser leaks various types of information. For instance,information is often stored as cache cookies, cache entries, andhistory (and search history) entries.

In the attack model, the adversary is able to request all theinformation stored in the cache and cookies. This is useful tomodel insecure environments, such as when the user browsesfrom a public machine.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.6

Page 14: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Peculiarities of the browser model

The browser leaks various types of information. For instance,information is often stored as cache cookies, cache entries, andhistory (and search history) entries.

In the attack model, the adversary is able to request all theinformation stored in the cache and cookies. This is useful tomodel insecure environments, such as when the user browsesfrom a public machine.

The WSPFI protocol uses scripted POST forms in HTTP protocolresponses to re-direct the browser to other sites. (For instance, theIdentity Consumer C redirects the user to an Identity Supplier S.)Browsers generate extra information flows to servers. Theadversary is allowed to see these—which are often not-protectedeven if the forwarded channel is secure.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.6

Page 15: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 16: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 17: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Browser establishes channel to adr and sends path and query via POST message overthe channel.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 18: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Browser establishes channel to adr and sends path and query via POST message overthe channel.

Channel type is determined automatically by protocol name “http” or “https” in adr.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 19: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Browser establishes channel to adr and sends path and query via POST message overthe channel.

Channel type is determined automatically by protocol name “http” or “https” in adr.

Client posting:POST(path : URLPath, query : Σ∗, login : Σ∗, info_leak : (Σ∗

× Σ∗)∗).

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 20: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Browser establishes channel to adr and sends path and query via POST message overthe channel.

Channel type is determined automatically by protocol name “http” or “https” in adr.

Client posting:POST(path : URLPath, query : Σ∗, login : Σ∗, info_leak : (Σ∗

× Σ∗)∗).

If client posting follows a server POSTForm, then contents of query match. path is theresource to retrieve at the host.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 21: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Browser establishes channel to adr and sends path and query via POST message overthe channel.

Channel type is determined automatically by protocol name “http” or “https” in adr.

Client posting:POST(path : URLPath, query : Σ∗, login : Σ∗, info_leak : (Σ∗

× Σ∗)∗).

If client posting follows a server POSTForm, then contents of query match. path is theresource to retrieve at the host.

login are the credentials for the (password-based) user authentication request, includingaccount name.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 22: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

POST forms

Server posting: POSTForm(adr : URLHost, path : URLPath, query : Σ∗, close :Bool, nocache : Bool).

Posts the abstract query to URL address adr/path. In HTTP1.1, if nocache = TRUE

then HTTP no-cache and no-store directives are explicitly set.

Browser establishes channel to adr and sends path and query via POST message overthe channel.

Channel type is determined automatically by protocol name “http” or “https” in adr.

Client posting:POST(path : URLPath, query : Σ∗, login : Σ∗, info_leak : (Σ∗

× Σ∗)∗).

If client posting follows a server POSTForm, then contents of query match. path is theresource to retrieve at the host.

login are the credentials for the (password-based) user authentication request, includingaccount name.

info_leak models information flows generated by browsers to servers, for instance theaddresses of referring sites. It is a list of name-value pairs.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.7

Page 23: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser state variables

Persistent variable prev_run = (ch_type, adr, form). Storesinformation about the preceding HTTP transaction.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.8

Page 24: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser state variables

Persistent variable prev_run = (ch_type, adr, form). Storesinformation about the preceding HTTP transaction.

ch_type keeps the channel type, adr the address retrieved by thattransaction.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.8

Page 25: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser state variables

Persistent variable prev_run = (ch_type, adr, form). Storesinformation about the preceding HTTP transaction.

ch_type keeps the channel type, adr the address retrieved by thattransaction.

form contains hidden value fields, including security tokens and

credentials, that are used by WSPFI.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.8

Page 26: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser state variables

Persistent variable prev_run = (ch_type, adr, form). Storesinformation about the preceding HTTP transaction.

ch_type keeps the channel type, adr the address retrieved by thattransaction.

form contains hidden value fields, including security tokens and

credentials, that are used by WSPFI.

History and Cache are other relevant persistent variables.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.8

Page 27: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser state variables

Persistent variable prev_run = (ch_type, adr, form). Storesinformation about the preceding HTTP transaction.

ch_type keeps the channel type, adr the address retrieved by thattransaction.

form contains hidden value fields, including security tokens and

credentials, that are used by WSPFI.

History and Cache are other relevant persistent variables.

The value prev_run.adr is leaked to the server.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.8

Page 28: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser state variables

Persistent variable prev_run = (ch_type, adr, form). Storesinformation about the preceding HTTP transaction.

ch_type keeps the channel type, adr the address retrieved by thattransaction.

form contains hidden value fields, including security tokens and

credentials, that are used by WSPFI.

History and Cache are other relevant persistent variables.

The value prev_run.adr is leaked to the server.

To prevent other leaks from the browser, servers issuingPOSTForms must set the directive nostore.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.8

Page 29: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Request handling by browser

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.9

Page 30: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Auto-request

At the end of handling a POSTForm, the browser sends a requestto itself. This will cause it to read the prev_run variable and submitits prev_run.form variable as the content of a POST command, toprev_run.adr.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.10

Page 31: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Auto-request

At the end of handling a POSTForm, the browser sends a requestto itself. This will cause it to read the prev_run variable and submitits prev_run.form variable as the content of a POST command, toprev_run.adr.

At this point, if a change of channel type is required(secure/insecure or vice-versa) the browser checks if notification ofthe user is needed.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.10

Page 32: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Browser submission of form

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.11

Page 33: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Channel establishment

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.12

Page 34: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Supplier specification

The identity supplier S can invoke any user authenticationmachine. There are available, provably secure password-baseduser authentication within browser channel models.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.13

Page 35: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Supplier specification

The identity supplier S can invoke any user authenticationmachine. There are available, provably secure password-baseduser authentication within browser channel models.

Clearly, S must maintain a database of user identities and logininformation.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.13

Page 36: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Supplier specification

The identity supplier S can invoke any user authenticationmachine. There are available, provably secure password-baseduser authentication within browser channel models.

Clearly, S must maintain a database of user identities and logininformation.

In addition, S maintains a database of known identity consumers. Itmust contain the URI where each consumer C accepts securitytokens. Also, each identity consumer is associated with a list ofattribute names which S should provide to C.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.13

Page 37: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Supplier specification

The identity supplier S can invoke any user authenticationmachine. There are available, provably secure password-baseduser authentication within browser channel models.

Clearly, S must maintain a database of user identities and logininformation.

In addition, S maintains a database of known identity consumers. Itmust contain the URI where each consumer C accepts securitytokens. Also, each identity consumer is associated with a list ofattribute names which S should provide to C.

S is known by identity sidS for the purpose of establishing securechannels, and as nameS as the signer of security tokens.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.13

Page 38: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Finite state machine: IdentitySupplier

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.14

Page 39: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Consumer specification

Each identity consumer maintains knowledge of nameS and URIS,the resource locator for its identity supplier S’s service.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.15

Page 40: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Consumer specification

Each identity consumer maintains knowledge of nameS and URIS,the resource locator for its identity supplier S’s service.

It has two phases. In the first phase, it simply sends a redirectinstruction to the user’s browser to the identity supplier.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.15

Page 41: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Identity Consumer specification

Each identity consumer maintains knowledge of nameS and URIS,the resource locator for its identity supplier S’s service.

It has two phases. In the first phase, it simply sends a redirectinstruction to the user’s browser to the identity supplier.

The second phase consists of parsing a response from S andvalidating it. It checks the signature on the token, verifies that itnames the identity supplier S, the consumer C, and that it containssome non-empty user identity idu. If so, the token is accepted.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.15

Page 42: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Finite state machine: IdentityConsumer

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.16

Page 43: Securing Web Services - cs.fsu.edubreno/CIS-6930/lecture_slides/secure-ws.pdf · In HTTP1.1, if nocache = TRUE then HTTP no-cache and no-store directives are explicitly set. Browser

Security theorem

Theorem (Authenticity of WSFPI): Let a user U , an iden-tity consumer C, its identity supplier S and a channel ma-chine secchan fulfill the WSFPI setup assumptions. Let thesemachines and the user’s browser B be correct, and let idU

be defined as in Definition 2. Then if C makes an output(accepted, cid, idU , att) at sso_outC !, there exists a securechannel instance SChbc in secchan with SChbc.cid = cid∧

SChbc.state = established∧ SChbc.Partner = B,C, unless anadversary can guess loginU,S based on a priori knowledge ofits distribution, its length, and the results of previous guess-ing attempts, which each exclude one potential value.

Breno de Medeiros, Florida State University :: Adv. Top. Crypt. Netw. Sec. – p.17