Formal analysis of Facebook Connect Single Sign-On authentication protocol
|
|
|
- August Leonard
- 10 years ago
- Views:
Transcription
1 Formal analysis of Facebook Connect Single Sign-On authentication protocol Marino Miculan Caterina Urban Dept. of Mathematics and Computer Science, University of Udine, Italy. Abstract. We present a formal analysis of the authentication protocol of Facebook Connect, the Single Sign-On service offered by the Facebook Platform which allows Facebook users to login to affiliated sites. Formal specification and verification have been carried out using the specification language HLPSL and AVISPA, a state-of-the-art verification tool for security protocols. AVISPA has revealed two security flaws, one of which (previously unheard of, up to our knowledge) allows an intruder to impersonate a user at a service provider affiliated with Facebook. To address this problem, we propose a modification of the protocol, by adding a message authentication mechanism; this protocol has been verified with AVISPA to be safe from the masquerade attack. Finally, we sketch a JavaScript implementation of the modified protocol. 1 Introduction Single Sign-On (SSO) protocols allow to establish a federated environment, where users can login once and access to services offered by different systems. This approach addresses the issue of having multiple user-names and passwords. The need for a federated environment is even stronger due to the diffusion of integrated web services: a website can aggregate contents and services from other sites, each of which may require a specific authentication (e.g., a page embedding a video from YouTube, a calendar from Google and a slideshow from Flickr). Federated authentication mechanisms need one or more identity providers, that is, sites providing users identities registration and user authentication. Recently, social networks are being proposed as possible identity providers. In fact, users are keen to register to these sites, and to update regularly their profile; in this way social networks already gather lots of personal information about users, such as habits, tastes, friend networks, etc. all data very valuable for third parties. Moreover, the friend network of a user can be seen as an implicit web of trust for that user s identity. Among others, Facebook is emerging as the most used social network by worldwide monthly active users [5]. Remarkably, the development of third-party applications interacting with Facebook is quite simple, thanks to the Facebook Platform, a REST-like API to access Facebook services. A Facebook method call is made over the Internet by sending HTTP GET or POST requests to Work partially supported by MIUR PRIN project SisteR, prot HXMYN.
2 the Facebook API REST server. Third-party web applications (i.e., websites affiliated with Facebook) can be implemented as Java servlets or PHP pages, but also stand-alone desktop applications, interacting with Facebook and thirdparty sites, can be developed (in C, C++, Java, JavaScript... ). Clearly, this raises the issue of user authentication before granting access to web services. To this end, the Facebook Platform has been extended with Facebook Connect 1, a Single Sign-On service that enables Facebook users to login to applications (e.g., affiliated websites) using their Facebook accounts, and at the same time these applications can access user s information on Facebook. In this paper, we present a formal analysis of the authentication protocol of Facebook Connect for web applications. Formal specification and verification are carried out using the specification language HLPSL and AVISPA [1], a state-ofthe-art verification tool for security protocols. This work is useful for many reasons. Obviously, mechanized formal methods are very helpful to identify flaws in protocols, and to suggest corrections to fix these flaws. Moreover, protocols are seldom described in a precise, formal way; therefore, a HLPSL specification can be used as an accurate, authoritative definition of the protocol, where all important details must be spelled out. Indeed, many security protocols have been formally analyzed, using similar techniques and tools, see e.g. [3,4], and [2] for the analysis of Google Single Sign-On protocol. The first problem we have to face is that Facebook Connect is a service, and not a protocol specification like SAML SSO [6] or OpenID [7]. In fact, a detailed protocol description has not been officially provided, because a programmer is supposed to use the API provided by Facebook Connect, and not to implement the authentication protocol from scratch. To overcome this problem, in Section 2 we analyze the actual HTTP message exchange between a client, a server and Facebook, during authentication. From our analysis, in Section 3 we distill the first abstract formalization of the Facebook Connect protocol in Alice-Bob notation; the corresponding HLPSL specification is then obtained (almost) directly. In Section 4, we inspect this formalization using AVISPA, which has identified two security issues. First, a legitimate request can be observed and replayed by an intruder; however, this issue is common to many HTTP-based services, since HTTP is stateless. But also a more serious masquerade attack is possible: an intruder can capture the session credential during a legitimate request, and use them to impersonate the client to access any resource of the website. This attack was previously unheard of, up to our knowledge. In Section 5 we discuss how to avoid the subtlest of these flaws, that is the masquerade attack: we propose a correction to the protocol, by adding a message authentication mechanism based on a Diffie-Hellman key exchange. The fixed protocol has been formally verified using AVISPA, which has not found the masquerade attack. Moreover, we sketch also a JavaScript implementation, which can be actually used in websites. Concluding remarks and directions for future work are in Section
3 2 The Facebook Connect Authentication Protocol In this section we describe the Facebook Connect authentication protocol. Actually, there is no official description of this protocol; hence, in order to understand it we have analyzed all incoming and outgoing HTTP traffic between the browser, the Facebook login server and an application server during the authentication process. In particular, we have considered The Run Around, a sample site created by Facebook to demonstrate the key features of Facebook Connect. In order to allow users to login with their Facebook profile, an application must be registered with Facebook beforehand. At registration, Facebook assigns a unique API key (required for calling Facebook API methods), and an API secret key (to be kept secret between Facebook and the application). The authentication flow consists of six HTTP requests-responses pairs, one of which uses a secure (i.e. TLS) channel. The data involved in each HTTP request-response transaction are request and response headers, sent and received cookies, query string parameters, POST data and response body. Cookies play a particularly important role, since they carry the information about the login status of the user. The message sequence chart is shown in Figure 1. The protocol begins with the user requesting the home page (GET http: // the server answers with an HTML page that includes a placeholder for the Facebook Connect login button (Figure 2). The page also contains a reference to the Facebook JavaScript Client Library, which provides access to the features of Facebook Platform. After receiving this response, the browser initializes the Connect service by calling FB.init, and then pings Facebook for login status by executing the method FB.Connect.get status. This returns one of three possible states: Not logged in: the user is not logged in to Facebook; Not authorized: the user is logged in to Facebook but has not yet connected with the website; Connected: the user is logged in and has already connected with the website. To check the login status, the FB.Connect.get status method requests the page (second GET in Figure 1): the query string contains the Facebook Platform API key of the website and the cookies carry user s current session informations (if any). The response from Facebook does not contain any session information, since we consider the case when the user is not already logged in. At this point, the user executes the FB.Connect.requireSession method by clicking on the Connect button. The browser requests the page facebook.com/login.php (third GET in Figure 1); the query string contains the parameter return session set to 1, and the API key. The response opens a popup window, asking the user for permission and possibly user s Facebook credentials ( and password). At this step, the browser receives from Facebook the lsd cookie, which is a nonce identifying the authentication flow. Then, user s credentials are sent as data of an HTTPS POST request to together with the API key, the crossdomain communications channel, and the lsd cookie. 3
4 Fig. 1. Message sequence chart of the authentication flow The response from Facebook contains user s new login status, which has to be stored in cookies for the application web server. There is a technical issue here: due to security restrictions imposed by the HTTP protocol, the response from cannot modify cookies associated to another web server, as To overcome this issue, the Client Library adopts a Cross-Domain Communication technique: the result from Facebook redirects the browser to a page of the application web server, called crossdomain communication channel (fourth GET in Figure 1, to somethingtoputhere.com/therunaround/xd_receiver.php), carrying user s login status on the query string. This page contains a JavaScript code which is executed by the browser: it decodes the session data contained in the query string and stores them in the cookies for Let us describe briefly the meaning of these cookies, whose names begin with the API key value (denoted by APIKEY ), with possibly a suffix. APIKEY user: currently logged in user s ID; APIKEY session key: a value identifying the current session, required to make API calls; APIKEY expires: session s expire time. If it is 0, session does not expire; 4
5 <html xmlns=" xmlns:fb=" <body> <fb:login-button></fb:login-button> <script src=" Loader.js.php" type="text/javascript"></script> <script type="text/javascript"> FB.init("YOUR_API_KEY_HERE", "xd_receiver.htm"); </script> </body> </html> Fig. 2. Basic Facebook Connect implementation APIKEY ss: a session-only secret key, which allows to make API calls from client-side applications; APIKEY : the signature generated by taking the hash of the string obtained by concatenating the other cookies and the API secret key. Finally the browser reloads the page com/therunaround/, this time providing the server with the cookies containing the signed session information. To make sure the data came from Facebook, the server performs the same hash encoding and checks the signature to make sure it matches. In this case, it proceeds to fulfil the request, showing the user the Facebook Connect login process is completed. 3 Protocol formalization In this section we give a formal specification of the Facebook Connect protocol 2, first in Alice-Bob notation, and then in the specification language HLPSL. In particular, in the latter we formally specify the security properties to be verified. 3.1 Alice-Bob formalization From HTTP traffic analysis described in Section 2, we can define a protocol formalization in Alice-Bob notation by abstracting from implementation-level, but still corresponding one-to-one to the steps in Figure 1. The protocol is shown in Figure 3; principals C, SP, and IDP stand for the Client (i.e., the user or better the browser), the Service Provider (i.e., the website the user wants to authenticate for) and the Identity Provider (i.e., Facebook), respectively. We briefly comment about some formalization choices. First, the secure channel (e.g. the SSL session) between C and IDP is modeled by symmetric encryption using the key CIDPKey (steps 7 and 8). This key is supposed to be generated 2 Notice that we work on our reconstruction of the authentication protocol (Section 2), and not from official published specifications. 5
6 1. C SP : ResourceReq 2. SP C : IDP, APIKey 3. C IDP : StatusReq 4. IDP C : NotLoggedIn 5. C IDP : SessionReq, APIKey 6. IDP C : Lsd 7. C IDP : {APIKey, Credentials, Lsd} CIDPKey 8. IDP C : {SP, {Session} SPKey} CIDPKey 9. C SP : {Session} SPKey 10. SP C : Session 11. C SP : ResourceReq, Session 12. SP C : Resource Fig. 3. Facebook Connect authentication protocol in Alice-Bob notation 1. C SP : ResourceReq 2. SP C : IDP, APIKey 3. C IDP : SessionReq, APIKey 4. IDP C : Lsd 5. C IDP : {APIKey, Credentials, Lsd} CIDPKey 6. IDP C : {SP, Session} CIDPKey 7. C SP : ResourceReq, Session 8. SP C : Resource Fig. 4. Facebook Connect authentication protocol, short version fresh by the client, and communicated to the Identity Provider through an external secure channel (which corresponds to the handshake protocol in SSL). In Section 3.2 we will see how this channel can be represented in HLPSL. Another technical aspect concerns the modeling of the Cross-Domain Communication. As described in the previous section, the session credentials provided by IDP has to be decoded by some JavaScript code embedded in the crossdomain communication channel page, which resides on the Service Provider, before being stored in cookies. This mechanism is modeled by first sending the session credentials encrypted with a public key SP Key (step 8); the client passes this message to the (cross-domain communication channel on) SP, which gives back the session credentials in clear (step 9). In fact, one can notice that in this protocol there are several redundant steps, which can be actually omitted without altering the security analysis. First, we can assume the user not already logged in to the Identity Provider, when the authentication flow begins; hence, steps 3 and 4 are redundant and can be omitted. Secondly, the Cross-Domain Communication channel is not relevant either: the only important aspect is that the session credentials coming from the Identity Provider are eventually received by the Client (in order to be sent to the Service Provider in step 11). Thus, in step 8, the Identity Provider can send the session cookies directly to the Client, and steps 9, 10 can be omitted. 6
7 These simplifications allow for a shorter and simpler formalization, which is presented in Figure 4. It is important to notice that this formalization still captures the original protocol; in fact, we have formalized and analyzed also the longer version of Figure 3, obtaining the same results. Hence, for sake of simplicity, in the rest of the paper, we will consider the shorter formalization. 3.2 HLPSL formalization Translating the protocol in Figure 4 into HLPSL is quite easy, since it is written in Alice-Bob notation. Full Facebook Connect HLPSL code can be obtained from A remark is due about how the key CIDP Key can be shared secretly between C and the IDP. This is implemented by means of a variable SSLKey of type (symmetric_key) set, which can be seen as a confidential shared memory between C and IDP. Thus, the client invents a fresh key CIDPKey and sends the credentials encrypted with this key, saving it in the set: role client ( SSLKey : (symmetric_key) set,... ) transition State=2 /\ RCV(Lsd ) = > State :=3 /\ CIDPKey :=new() /\ SND({APIKey.credentials.Lsd }_CIDPKey ) /\ SSLKey :=cons(cidpkey,sslkey) On the other hand, the identity provider retrieves the key from the set before using it for decrypting the message with the credentials: role identityprovider ( SSLKey : (symmetric_key) set,... ) transition State=1 /\ in(cidpkey,sslkey) /\ RCV({APIKey.credentials.Lsd}_CIDPKey ) = >... Thus, the shared variable SSLKey can be seen as an abstraction of the SSL handshake protocol, which is used for establishing the session key CIDPKey. Finally, we describe how the security goals are specified. First, the authentication goal authentication on sp idp sig requests the Identity Provider to be authenticated with respect to the Service Provider, on session cookies signature. The related request goal fact is included in role serviceprovider in the transition where the signature is received from Client (see Figure 5). This can be read as the Service Provider accepts the hash value and now relies on the guarantee that the Identity Provider exists and agrees with it on this value. The matching witness predicate is in role identityprovider as part of the transition where the signature is sent to the Client within session information (see Figure 6). This fact should be read Identity Provider asserts that it wants to be the peer of Service Provider, agreeing on the hash value. 7
8 role serviceprovider (... ) transition State=1 /\ RCV(resourcereq.Key.Uid.Expires.Ss. Hash(Expires.Ss.Key.Uid.APISecret)) = > State :=2 /\ SND(resource) /\ request(sp,idp,sp_idp_sig,hash(expires.ss.key.uid.apisecret)) Fig. 5. Location of request goal fact related to authentication on sp idp sig role identityprovider (... ) transition State=1 /\ in(cidpkey,sslkey) /\ RCV({APIKey.credentials.Lsd}_CIDPKey ) = > State :=2 /\ SSLKey :=delete(cidpkey,sslkey) /\ Key :=new() /\ Expires :=new() /\ Ss :=new() /\ Sig :=Hash(Expires.Ss.Key.Uid.APISecret) /\ Session :=(Key.Uid.Expires.Ss.Sig ) /\ SND({SP.Session }_CIDPKey ) /\ witness(idp,sp,sp_idp_sig,sig ) Fig. 6. Location of witness goal fact related to authentication on sp idp sig Secondly, the secrecy goal secrecy of otherresourceid asserts that other Service Provider resources, not requested by the Client, should be kept secret: no intruder should be able to obtain them. In order to justify this goal, we need to add an extra transition in role serviceprovider, representing the fact that the Service Provider can fulfil other requests. Notice that according to the protocol, the Client is not supposed to make these requests. The related secret goal fact is included in role serviceprovider as part of this extra transition (see Figure 7). 4 Attacks on Facebook Connect In this section we present and discuss the results obtained by analyzing the HLPSL formalization presented in Section 3 using AVISPA (and in particular the OFMC model checker). This analysis has shown that Facebook Connect authentication protocol is subject to a replay attack and a masquerade attack. Replay attack This attack is found trying to achieve the authentication on sp idp sig goal, in a scenario represented by an environment role with two parallel sessions between the three legitimate agents. The attack trace is shown as the first alternative in the Message Sequence Chart in Figure 8. 8
9 role serviceprovider (... ) transition State=1 /\ RCV(otherresourcereq.Key.Uid.Expires.Ss. Hash(Expires.Ss.Key.Uid.APISecret)) = > State :=2 /\ SND(otherresource) /\ secret(otherresource,otherresourceid,{sp}) /\ request(sp,idp,sp_idp_sig,hash(expires.ss.key.uid.apisecret)) Fig. 7. Location of secret goal fact related to secrecy of otherresourceid This attack can be effectively carried out since the HTTP traffic between the Client and the Service Provider is not encrypted, and actually is common in many HTTP-based services: since HTTP (without SSL) is basically stateless, an intruder can always intercept a packet containing an HTTP request (e.g. using a packet-sniffer like Wireshark), and submit it again. Masquerade attack As observed in the replay attack above, the intruder can acquire the HTTP cookies sent together with a legitimate query. Hence, he can represent them to the Service Provider to be authenticated as the Client to obtain illegitimately other resources (e.g., a user s mailbox, even if it has not been accessed before by the owner). This attack is found when we require the secrecy of otherresourceid goal to be satisfied. Intruder knows the alternative request OtherResourceReq, which can be used in place of ResourceReq. Indeed, in the sequence of events found by OFMC (shown as the second alternative in the Message Sequence Chart in Figure 8), the intruder replaces ResourceReq with OtherResourceReq, gaining the access to a resource which has not been requested by the Client. 5 Fixing the protocol In this section, we discuss how to repair the security flaws described above. The replay attack is due to the fact that, as in any unencrypted HTTP transaction, an intruder can intercept the traffic and submit it again subsequently. This kind of attacks can be prevented using well-known mechanisms based e.g. on timestamps and nonces. Alternatively, messages could be sent through a secure channel like a SSL session. However, it should be noticed that session credentials have a timeout, after which they cannot be reused for this kind of attacks. On the other hand, the masquerade attack can also be prevented using SSL channels. However, one can be interested in preventing the masquerade attack without establishing an encrypted channel. To this end, we propose a small correction to the protocol which adds an authentication mechanism ensuring message integrity by means of a secret Diffie-Hellman key, without using SSL channels. The modified protocol, in Alice-Bob notation, is shown in Figure 9; the differences with respect to the protocol in Figure 4 are in boldface. 9
10 Fig. 8. Replay attack and masquerade attack The protocol requires that after receiving an unauthenticated resource request, the Service Provider chooses a Diffie-Hellman base A, a fresh Diffie- Hellman secret key (not shown) and computes the corresponding public key Ysp; A and Ysp are sent to the client in step 2, encrypted with IDP public key (which exists because IDP establishes an SSL channel with C). This information is used during authentication, in steps 5, 6 and 7. In step 5 and 6, the IDP decrypts for the client the data A, Y sp; notice that this information is still protected by the SSL channel (the encryption with CIDP Key). At this point, the Client chooses his own secret key, computes the corresponding public key Yc and the shared Diffie-Hellman secret key CSPKey. In step 7, the Client sends to the Service Provider his key Yc and a message authentication code obtained by taking the hash of ResourceReq and CSPKey. The Service Provider computes, in turn, the shared secret key using Yc, then the same hash encoding, and checks the authentication code received from the Client to make sure it matches. 10
11 1. C SP : ResourceReq 2. SP C : IDP, APIKey, {A, Ysp} IDPKey 3. C IDP : SessionReq, APIKey 4. IDP C : Lsd 5. C IDP : {APIKey, Credentials, Lsd, {A, Ysp} IDPKey } CIDPKey 6. IDP C : {SP, Session, A, Ysp} CIDPKey 7. C SP : ResourceReq, Session, Yc, Hash(ResourceReq.CSPKey) 8. SP C : Resource Fig. 9. Modified Facebook Connect protocol in Alice-Bob notation In order to obtain another resource, the intruder should be able to compute the message authentication code for another request, say OtherResourceReq. This cannot happen, since there is no way for the intruder to know the secret key CSPKey. Notice also that, since A and Ysp are always sent encrypted, the manin-the-middle attack to the Diffie-Hellman key exchange cannot be carried out. Again, this protocol has been formalized in HLPSL; full code is available at Formal verification has been carried out using the OFMC model checker, since it supports modular exponentiation. The algebraic properties of modular exponentiation (needed for Diffie-Hellman key exchanges) are associativity, commutativity and identity (i.e. x 1 = x). The model checker has found no attacks against the secrecy of otherresourceid goal. In other words, this security goal is satisfied for a bounded number of sessions, as specified in environment role. (Actually, the AVISPA TA4SP backend supports also unbounded scenarios, but it does not support sets nor exponentiation operations.) Implementation Changing the authentication flow in Figure 1 according to the modified authentication protocol in Figure 9, requires a bit of care. First, the Service Provider should communicate the encrypted Diffie-Hellman base and his public key to the client at the first step, e.g. as a cookie, or along with the AP IKey. These data is then passed to the Identity Provider (Facebook) in the POST request containing the credentials; the answer from the IDP contains A and Y sp in clear (but still covered by the SSL session), to be stored e.g. as a cookie. At this point, the Client can choose his secret key, and compute the corresponding public and shared keys; this can be performed by a JavaScript program contained in the xd_receiver.php page, which stores the values in JavaScript session variables, like e.g. sessvar.authdata.pubkey and sessvar.authdata.secret. A subtler modification is in step 7, where the Client has to compute the message authentication code and to send it along with the request and his public key. In practice, this means that each GET request from the Client to the Service Provider, in order to be authenticated, must also carry the hash code computed from the request itself. This on-the-fly hash generation can be performed by an onclick event handler, defined in the page header, and associated to each link by replacing a tag of the form <a href="someurl"> with 11
12 <html> <head> [... auxiliary libs omitted...] <script type="text/javascript"> [... auxiliary functions omitted...] function auth_url(url) { /* compute the hmac */ hmac = hex_sha1(url + sessvars.authdata.secret); /* store the hmac in a cookie */ createcookie("fbs_hmac", hmac + "-" + sessvar.authdata.pubkey, 0); /* then move to the requested url */ window.location=url; } </script> </head> <body> [...] This is an <a href="#" onclick="auth_url( somepage.html )">authenticated request</a>. [...] </body> </html> Fig. 10. JavaScript implementation of a URL authentication mechanism <a href="#" onclick="auth_url( someurl )"> (see Figure 10). When the user clicks on the link, instead of following it immediately the browser executes the function authenticate_url( someurl ); this computes the authentication code of the requested URL, saves the result in a cookie, and then proceeds to load the requested URL. The resulting request provides the Service Provider with the cookie containing the authentication code (and the public key); then the Service Provider can perform the relevant checks. 6 Conclusions In this paper, we have presented a formal analysis of the Facebook Connect authentication protocol. We have given a protocol formalization first in Alice- Bob notation, and then in HLPSL. Using AVISPA, we have found two security flaws, including a masquerade attack: an intruder can intercept cookies carrying user session information, and reuse them to illegitimately access resources on websites. In order to fix this problem, we have corrected the protocol by adding a message authentication mechanism which prevents an intruder to reuse cookies. This solution has been formally verified using AVISPA; finally, we have briefly described how this correction can be implemented in JavaScript. 12
13 In our opinion, the message authentication mechanism we have presented in this paper, can be applied in other situations where cookies are used to convey session credentials, and as such masquerade attacks are possible. On the other hand, it is not easy to distinguish a replay attack from a iteration of the same request by the legitimate user (like, e.g. a page reload). One can apply known authentication mechanisms, e.g. based on sequence counters, to avoid this vulnerability. We leave as a possible future work the specification and verification of an authentication protocol extending that in Figure 9, taking into account these mechanisms. One aspect of our formalization is that we have used a shared set variable for representing the SSL handshake and session key exchange. At the moment, not all AVISPA backends support these variables. In fact, very recently there have been promising developments in the AVANTSSAR project (the successor of AVISPA), in order to support channels beside Dolev-Yao ones: in the new specification language (called HLPSL++) it will be possible to describe precisely the security features of a SSL-like channel. We plan to adapt our formalizations to the new platform, as soon as it will be available. References 1. A. Armando, D. A. Basin, Y. Boichut, Y. Chevalier, L. Compagna, J. Cuéllar, P. H. Drielsma, P.-C. Héam, O. Kouchnarenko, J. Mantovani, S. Mödersheim, D. von Oheimb, M. Rusinowitch, J. Santiago, M. Turuani, L. Viganò, and L. Vigneron. The AVISPA tool for the automated validation of internet security protocols and applications. In K. Etessami and S. K. Rajamani, editors, Proc. CAV, volume 3576 of Lecture Notes in Computer Science, pages Springer, A. Armando, R. Carbone, L. Compagna, J. Cuéllar, and M. L. Tobarra. Formal analysis of SAML 2.0 web browser single sign-on: breaking the SAML-based single sign-on for Google Apps. In V. Shmatikov, editor, Proc. FMSE, pages AVISPA Project. Deliverable d6.1: List of selected problems. Technical report, J. L. Hernandez-Ardieta, A. I. González-Tablas Ferreres, and B. Ramos. Formal validation of OFEPSP+ with AVISPA. In P. Degano and L. Viganò, editors, Proc. ARSPA-WITS, volume 5511 of Lecture Notes in Computer Science, pages Springer-Verlag, A. Kazeniac. Social networks: Facebook takes over top spot, Twitter climbs. Available at facebook-myspace-twitter-social-network/, Feb Compete.com. 6. OASIS. Profiles for the OASIS Security Assertion Markup Language (SAML) v2.0. Available at saml-profiles-2.0-os.pdf, Mar OpenID Foundation. Openid authentication 2.0. Available at specs/openid-authentication-2_0.html, Dec
14 A HLPSL code A.1 Facebook Connect authentication protocol role client ( SSLKey : (symmetric_key) set, SND,RCV : channel(dy) ) played_by C State : nat, APIKey,Lsd : text, CIDPKey : symmetric_key, Session : symmetric_key.text.text.text. hash(text.text.symmetric_key.text.symmetric_key) init State:=0 transition 1. State=0 /\ RCV(start) = > State :=1 /\ SND(resourcereq) 2. State=1 /\ RCV(IDP.APIKey ) = > State :=2 /\ SND(sessionreq.APIKey ) 3. State=2 /\ RCV(Lsd ) = > State :=3 /\ CIDPKey :=new() /\ SND({APIKey.credentials.Lsd }_CIDPKey ) /\ SSLKey :=cons(cidpkey,sslkey) 4. State=3 /\ RCV({SP.Session }_CIDPKey) = > State :=4 /\ SND(resourcereq.Session ) 5. State=4 /\ RCV(resource) = > State :=5 role serviceprovider ( APIKey : text, APISecret : symmetric_key, Hash : hash_func, SND,RCV : channel(dy) ) played_by SP State : nat, Uid,Expires,Ss : text, Key : symmetric_key, Sig : hash(text.text.symmetric_key.text.symmetric_key) init State:=0 transition 1. State=0 /\ RCV(resourcereq) = > State :=1 /\ SND(IDP.APIKey) 2. State=1 /\ RCV(resourcereq.Key.Uid.Expires.Ss. Hash(Expires.Ss.Key.Uid.APISecret)) = > State :=2 /\ SND(resource) /\ request(sp,idp,sp_idp_sig, Hash(Expires.Ss.Key.Uid.APISecret)) 14
15 3. State=1 /\ RCV(otherresourcereq.Key.Uid.Expires.Ss. Hash(Expires.Ss.Key.Uid.APISecret)) = > State :=2 /\ SND(otherresource) /\ secret(otherresource,otherresourceid,{sp}) /\ request(sp,idp,sp_idp_sig,hash(expires.ss.key.uid.apisecret)) role identityprovider ( APIKey,Uid : text, APISecret : symmetric_key, SSLKey : (symmetric_key) set, Hash : hash_func, SND,RCV : channel(dy) ) played_by IDP State : nat, Lsd,Expires,Ss : text, CIDPKey,Key : symmetric_key, Sig : hash(text.text.symmetric_key.text.symmetric_key), Session : symmetric_key.text.text.text. hash(text.text.symmetric_key.text.symmetric_key) init State:=0 transition 1. State=0 /\ RCV(sessionreq.APIKey) = > State :=1 /\ Lsd :=new() /\ SND(Lsd ) 2. State=1 /\ in(cidpkey,sslkey) /\ RCV({APIKey.credentials.Lsd}_CIDPKey ) = > State :=2 /\ SSLKey :=delete(cidpkey,sslkey) /\ Key :=new() /\ Expires :=new() /\ Ss :=new() /\ Sig :=Hash(Expires.Ss.Key.Uid.APISecret) /\ Session :=(Key.Uid.Expires.Ss.Sig ) /\ SND({SP.Session }_CIDPKey ) /\ witness(idp,sp,sp_idp_sig,sig ) role session ( APIKey,Uid : text, APISecret : symmetric_key, SSLKey : (symmetric_key) set, Hash : hash_func ) SC,RC,SSP,RSP,SIDP,RIDP : channel(dy) composition client(c,sp,idp,sslkey,sc,rc) /\ serviceprovider(c,sp,idp,apikey,apisecret,hash,ssp,rsp) 15
16 /\ identityprovider(c,sp,idp,apikey,uid,apisecret,sslkey, Hash,SIDP,RIDP) role enviroment() Sslkey const c,sp,idp apikey,uid resourcereq,sessionreq,credentials, resource,otherresourcereq,otherresource apisecret sp_idp_sig,otherresourceid : (symmetric_key) set : agent, : text, h init Sslkey:={} intruder_knowledge = {otherresourcereq} composition session(c,sp,idp,apikey,uid,apisecret,sslkey,h) /\ session(c,sp,idp,apikey,uid,apisecret,sslkey,h) goal authentication_on sp_idp_sig secrecy_of otherresourceid end goal enviroment() : message, : symmetric_key, : protocol_id, : hash_func A.2 Modified Facebook Connect authentication protocol role client ( SSLKey : (symmetric_key) set, Hash : hash_func, SND,RCV : channel(dy) ) played_by C State : nat, APIKey,Lsd,Xc : text, A,Ysp,Yc,CSPKey : message, DiffieHellman : {message.message}_public_key, CIDPKey : symmetric_key, Session init State:=0 : symmetric_key.text.text.text. hash(text.text.symmetric_key.text.symmetric_key) 16
17 transition 1. State=0 /\ RCV(start) = > State :=1 /\ SND(resourcereq) 2. State=1 /\ RCV(IDP.APIKey.DiffieHellman ) = > State :=2 /\ SND(sessionreq.APIKey ) 3. State=2 /\ RCV(Lsd ) = > State :=3 /\ CIDPKey :=new() /\ SND({APIKey.credentials.Lsd.DiffieHellman}_CIDPKey ) /\ SSLKey :=cons(cidpkey,sslkey) 4. State=3 /\ RCV({SP.Session.A.Ysp }_CIDPKey) = > State :=4 /\ Xc :=new() /\ Yc :=exp(a,xc ) /\ CSPKey :=exp(ysp,xc ) /\ SND(resourcereq.Yc.Hash(resourcereq.CSPKey ).Session ) 5. State=4 /\ RCV(resource) = > State :=5 role serviceprovider ( APIKey : text, APISecret : symmetric_key, IDPKey : public_key, Hash : hash_func, SND,RCV : channel(dy) ) played_by SP State : nat, Uid,Expires,Ss,Xsp : text, A,Ysp,Yc,CSPKey : message, Key : symmetric_key, Sig : hash(text.text.symmetric_key.text.symmetric_key) init State:=0 transition 1. State=0 /\ RCV(resourcereq) = > State :=1 /\ A :=new() /\ Xsp :=new() /\ Ysp :=exp(a,xsp ) /\ SND(IDP.APIKey.{A.Ysp }_IDPKey) 2. State=1 /\ RCV(resourcereq.Yc. Hash(resourcereq,exp(Yc,Xsp)).Key.Uid.Expires.Ss. Hash(Expires.Ss.Key.Uid.APISecret)) = > State :=2 /\ SND(resource) /\ request(sp,idp,sp_idp_sig, Hash(Expires.Ss.Key.Uid.APISecret)) 3. State=1 /\ RCV(otherresourcereq.Yc. Hash(otherresourcereq,exp(Yc,Xsp)).Key.Uid.Expires.Ss. Hash(Expires.Ss.Key.Uid.APISecret)) = > State :=2 /\ SND(otherresource) /\ secret(otherresource,otherresourceid,{sp}) /\ request(sp,idp,sp_idp_sig,hash(expires.ss.key.uid.apisecret)) role identityprovider ( APIKey,Uid : text, 17
18 APISecret : symmetric_key, SSLKey : (symmetric_key) set, IDPKey : public_key, Hash : hash_func, SND,RCV : channel(dy) ) played_by IDP State : nat, Lsd,Expires,Ss : text, A,Ysp : message, CIDPKey,Key : symmetric_key, Sig : hash(text.text.symmetric_key.text.symmetric_key), Session : symmetric_key.text.text.text. hash(text.text.symmetric_key.text.symmetric_key) init State:=0 transition 1. State=0 /\ RCV(sessionreq.APIKey) = > State :=1 /\ Lsd :=new() /\ SND(Lsd ) 2. State=1 /\ in(cidpkey,sslkey) /\ RCV({APIKey.credentials.Lsd.{A.Ysp }_IDPKey}_CIDPKey ) = > State :=2 /\ SSLKey :=delete(cidpkey,sslkey) /\ Key :=new() /\ Expires :=new() /\ Ss :=new() /\ Sig :=Hash(Expires.Ss.Key.Uid.APISecret) /\ Session :=(Key.Uid.Expires.Ss.Sig ) /\ SND({SP.Session.A.Ysp }_CIDPKey ) /\ witness(idp,sp,sp_idp_sig,sig ) role session ( APIKey,Uid : text, APISecret : symmetric_key, SSLKey : (symmetric_key) set, IDPKey : public_key, Hash : hash_func ) SC,RC,SSP,RSP,SIDP,RIDP : channel(dy) composition client(c,sp,idp,sslkey,hash,sc,rc) /\ serviceprovider(c,sp,idp,apikey,apisecret,idpkey,hash,ssp,rsp) /\ identityprovider(c,sp,idp,apikey,uid,apisecret,sslkey,idpkey, Hash,SIDP,RIDP) role enviroment() 18
19 Sslkey : (symmetric_key) set const c,sp,idp : agent, apikey,uid : text, resourcereq,sessionreq,credentials, resource,otherresourcereq,otherresource : message, apisecret : symmetric_key, idpkey : public_key, sp_idp_sig,otherresourceid : protocol_id, h : hash_func init Sslkey:={} intruder_knowledge = {otherresourcereq} composition session(c,sp,idp,apikey,uid,apisecret,sslkey,idpkey,h) /\ session(c,sp,idp,apikey,uid,apisecret,sslkey,idpkey,h) goal authentication_on sp_idp_sig secrecy_of otherresourceid end goal enviroment() 19
AN INDUSTRIAL AND ACADEMIC JOINT EXPERIMENT ON AUTOMATED VERIFICATION OF A SECURITY PROTOCOL
AN INDUSTRIAL AND ACADEMIC JOINT EXPERIMENT ON AUTOMATED VERIFICATION OF A SECURITY PROTOCOL OLIVIER HEEN IRISA, Lande Project, Rennes, France THOMAS GENET IRISA, Lande Project, Rennes, France STEPHANE
Technical report: SeVe implementation
Technical report: SeVe implementation Luu Anh Tuan 1, Jun Sun 2, Yang Liu 1, and Jin Song Dong 1 1 School of Computing, National University of Singapore {tuanluu,liuyang,dongjs}@comp.nus.edu.sg 2 Singapore
Lecture Notes for Advanced Web Security 2015
Lecture Notes for Advanced Web Security 2015 Part 6 Web Based Single Sign-On and Access Control Martin Hell 1 Introduction Letting users use information from one website on another website can in many
OPENID AUTHENTICATION SECURITY
OPENID AUTHENTICATION SECURITY Erik Lagercrantz and Patrik Sternudd Uppsala, May 17 2009 1 ABSTRACT This documents gives an introduction to OpenID, which is a system for centralised online authentication.
A Security Protocol Animator Tool for AVISPA
A Security Protocol Animator Tool for AVISPA Yann Glouche 1, Thomas Genet 1, Olivier Heen 2, Olivier Courtay 2 1 IRISA-INRIA, Rennes, France [email protected] [email protected] 2 Thomson R&D France,
Automated Security Protocol Analysis With the AVISPA Tool 1
Electronic Notes in Theoretical Computer Science 155 (2006) 61 86 www.elsevier.com/locate/entcs Automated Security Protocol Analysis With the AVISPA Tool 1 Luca Viganò 2 Information Security Group Department
This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:
CHAPTER 1 SAML Single Sign-On This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections: Junos Pulse Secure Access
Gateway Apps - Security Summary SECURITY SUMMARY
Gateway Apps - Security Summary SECURITY SUMMARY 27/02/2015 Document Status Title Harmony Security summary Author(s) Yabing Li Version V1.0 Status draft Change Record Date Author Version Change reference
Single Sign-On for the Internet: A Security Story. Eugene Tsyrklevich [email protected] Vlad Tsyrklevich [email protected]
Single Sign-On for the Internet: A Security Story Eugene Tsyrklevich [email protected] Vlad Tsyrklevich [email protected] BlackHat USA, Las Vegas 2007 Introduction With the explosion of Web 2.0 technology,
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Chapter 7 Transport-Level Security
Cryptography and Network Security Chapter 7 Transport-Level Security Lectured by Nguyễn Đức Thái Outline Web Security Issues Security Socket Layer (SSL) Transport Layer Security (TLS) HTTPS Secure Shell
Computer Systems Security 2013/2014. Single Sign-On. Bruno Maia [email protected]. Pedro Borges [email protected]
Computer Systems Security 2013/2014 Single Sign-On Bruno Maia [email protected] Pedro Borges [email protected] December 13, 2013 Contents 1 Introduction 2 2 Explanation of SSO systems 2 2.1 OpenID.................................
2015-11-30. Web Based Single Sign-On and Access Control
0--0 Web Based Single Sign-On and Access Control Different username and password for each website Typically, passwords will be reused will be weak will be written down Many websites to attack when looking
Transport Layer Security Protocols
SSL/TLS 1 Transport Layer Security Protocols Secure Socket Layer (SSL) Originally designed to by Netscape to secure HTTP Version 2 is being replaced by version 3 Subsequently became Internet Standard known
Security and Privacy Concern for Single Sign-on Protocols
COMP116 Computer Security 2015 Final Project Security and Privacy Concern for Single Sign-on Protocols Name: Fangyuan Xu Login: fxu01 Mentor: Ming Chow Due Date: 12/15/2015 1 Abstract Nowadays, Single
Absorb Single Sign-On (SSO) V3.0
Absorb Single Sign-On (SSO) V3.0 Overview Absorb allows single sign-on (SSO) with third-party systems, regardless of the programming language. SSO is made secure by a series of calls (between Absorb and
Webmail Using the Hush Encryption Engine
Webmail Using the Hush Encryption Engine Introduction...2 Terms in this Document...2 Requirements...3 Architecture...3 Authentication...4 The Role of the Session...4 Steps...5 Private Key Retrieval...5
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard. Architectural Implementation, Patterns and Usage Guidelines
Ameritas Single Sign-On (SSO) and Enterprise SAML Standard Architectural Implementation, Patterns and Usage Guidelines 1 Background and Overview... 3 Scope... 3 Glossary of Terms... 4 Architecture Components...
The increasing popularity of mobile devices is rapidly changing how and where we
Mobile Security BACKGROUND The increasing popularity of mobile devices is rapidly changing how and where we consume business related content. Mobile workforce expectations are forcing organizations to
Copyright: WhosOnLocation Limited
How SSO Works in WhosOnLocation About Single Sign-on By default, your administrators and users are authenticated and logged in using WhosOnLocation s user authentication. You can however bypass this and
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith
A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications Slides by Connor Schnaith Cross-Site Request Forgery One-click attack, session riding Recorded since 2001 Fourth out of top 25 most
A Standards-based Mobile Application IdM Architecture
A Standards-based Mobile Application IdM Architecture Abstract Mobile clients are an increasingly important channel for consumers accessing Web 2.0 and enterprise employees accessing on-premise and cloud-hosted
Network Security Essentials Chapter 5
Network Security Essentials Chapter 5 Fourth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 5 Transport-Level Security Use your mentality Wake up to reality From the song, "I've Got
Security: Focus of Control. Authentication
Security: Focus of Control Three approaches for protection against security threats a) Protection against invalid operations b) Protection against unauthorized invocations c) Protection against unauthorized
Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps
Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps May 2015 This guide includes: What is OAuth v2.0? What is OpenID Connect? Example: Providing OpenID Connect SSO to a Salesforce.com
New Single Sign-on Options for IBM Lotus Notes & Domino. 2012 IBM Corporation
New Single Sign-on Options for IBM Lotus Notes & Domino 2012 IBM Corporation IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole
Evaluation of different Open Source Identity management Systems
Evaluation of different Open Source Identity management Systems Ghasan Bhatti, Syed Yasir Imtiaz Linkoping s universitetet, Sweden [ghabh683, syeim642]@student.liu.se 1. Abstract Identity management systems
OpenLogin: PTA, SAML, and OAuth/OpenID
OpenLogin: PTA, SAML, and OAuth/OpenID Ernie Turner Chris Fellows RightNow Technologies, Inc. Why should you care about these features? Why should you care about these features? Because users hate creating
Introduction to SAML
Introduction to THE LEADER IN API AND CLOUD GATEWAY TECHNOLOGY Introduction to Introduction In today s world of rapidly expanding and growing software development; organizations, enterprises and governments
Lukasz Pater CMMS Administrator and Developer
Lukasz Pater CMMS Administrator and Developer EDMS 1373428 Agenda Introduction Why do we need asymmetric ciphers? One-way functions RSA Cipher Message Integrity Examples Secure Socket Layer Single Sign
JVA-122. Secure Java Web Development
JVA-122. Secure Java Web Development Version 7.0 This comprehensive course shows experienced developers of Java EE applications how to secure those applications and to apply best practices with regard
Last update: February 23, 2004
Last update: February 23, 2004 Web Security Glossary The Web Security Glossary is an alphabetical index of terms and terminology relating to web application security. The purpose of the Glossary is to
GENERAL OVERVIEW OF VARIOUS SSO SYSTEMS: ACTIVE DIRECTORY, GOOGLE & FACEBOOK
Antti Pyykkö, Mikko Malinen, Oskari Miettinen GENERAL OVERVIEW OF VARIOUS SSO SYSTEMS: ACTIVE DIRECTORY, GOOGLE & FACEBOOK TJTSE54 Assignment 29.4.2008 Jyväskylä University Department of Computer Science
Client Server Registration Protocol
Client Server Registration Protocol The Client-Server protocol involves these following steps: 1. Login 2. Discovery phase User (Alice or Bob) has K s Server (S) has hash[pw A ].The passwords hashes are
BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS
BASELINE SECURITY TEST PLAN FOR EDUCATIONAL WEB AND MOBILE APPLICATIONS Published by Tony Porterfield Feb 1, 2015. Overview The intent of this test plan is to evaluate a baseline set of data security practices
SAML AS AN SSO STANDARD FOR CUSTOMER IDENTITY MANAGEMENT. How to Create a Frictionless, Secure Customer Identity Management Strategy
SAML AS AN SSO STANDARD FOR CUSTOMER IDENTITY MANAGEMENT How to Create a Frictionless, Secure Customer Identity Management Strategy PART 1: WHAT IS SAML? SAML in Context Security Assertion Markup Language
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
Tenrox. Single Sign-On (SSO) Setup Guide. January, 2012. 2012 Tenrox. All rights reserved.
Tenrox Single Sign-On (SSO) Setup Guide January, 2012 2012 Tenrox. All rights reserved. About this Guide This guide provides a high-level technical overview of the Tenrox Single Sign-On (SSO) architecture,
Web Security (SSL) Tecniche di Sicurezza dei Sistemi 1
Web Security (SSL) Tecniche di Sicurezza dei Sistemi 1 How the Web Works - HTTP Hypertext transfer protocol (http). Clients request documents (or scripts) through URL. Server response with documents. Documents
Name: 1. CSE331: Introduction to Networks and Security Fall 2003 Dec. 12, 2003 1 /14 2 /16 3 /16 4 /10 5 /14 6 /5 7 /5 8 /20 9 /35.
Name: 1 CSE331: Introduction to Networks and Security Final Fall 2003 Dec. 12, 2003 1 /14 2 /16 3 /16 4 /10 5 /14 6 /5 7 /5 8 /20 9 /35 Total /135 Do not begin the exam until you are told to do so. You
OAuth. Network Security. Online Services and Private Data. A real-life example. Material and Credits. OAuth. OAuth
Network Security Dr. Ing. Simone Cirani Parma, May 28th, 2013 Online Services and Private Data The evolution of online services, such as social networks, has had a huge impact on the amount of data and
Module 8. Network Security. Version 2 CSE IIT, Kharagpur
Module 8 Network Security Lesson 2 Secured Communication Specific Instructional Objectives On completion of this lesson, the student will be able to: State various services needed for secured communication
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
INTEGRATE SALESFORCE.COM SINGLE SIGN-ON WITH THIRD-PARTY SINGLE SIGN-ON USING SENTRY A GUIDE TO SUCCESSFUL USE CASE
INTEGRATE SALESFORCE.COM SINGLE SIGN-ON WITH THIRD-PARTY SINGLE SIGN-ON USING SENTRY A GUIDE TO SUCCESSFUL USE CASE Legal Marks No portion of this document may be reproduced or copied in any form, or by
Using Foundstone CookieDigger to Analyze Web Session Management
Using Foundstone CookieDigger to Analyze Web Session Management Foundstone Professional Services May 2005 Web Session Management Managing web sessions has become a critical component of secure coding techniques.
Security Policy Revision Date: 23 April 2009
Security Policy Revision Date: 23 April 2009 Remote Desktop Support Version 3.2.1 or later for Windows Version 3.1.2 or later for Linux and Mac 4 ISL Light Security Policy This section describes the procedure
CS5008: Internet Computing
CS5008: Internet Computing Lecture 22: Internet Security A. O Riordan, 2009, latest revision 2015 Internet Security When a computer connects to the Internet and begins communicating with others, it is
CA Performance Center
CA Performance Center Single Sign-On User Guide 2.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is
Q: Why security protocols?
Security Protocols Q: Why security protocols? Alice Bob A: To allow reliable communication over an untrusted channel (eg. Internet) 2 Security Protocols are out there Confidentiality Authentication Example:
SECURITY THREAT IDENTIFICATION AND TESTING FOR SECURITY PROTOCOLS
Sophia Antipolis, French Riviera 20-22 October 2015 SECURITY THREAT IDENTIFICATION AND TESTING FOR SECURITY PROTOCOLS Presented by Luca Compagna (SAP SE) (joint work with Roberto Carbone, Annibale Panichella,
SPRESSO: A Secure, Privacy-Respecting Single Sign-On System for the Web
SPRESSO: A Secure, Privacy-Respecting Single Sign-On System for the Web Daniel Fett University of Trier, Germany [email protected] Ralf Küsters University of Trier, Germany [email protected] Guido
INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE
INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE SAML 2.0 CONFIGURATION GUIDE Roy Heaton David Pham-Van Version 1.1 Published March 23, 2015 This document describes how to configure OVD to use SAML 2.0 for user
CS 161 Computer Security Spring 2010 Paxson/Wagner MT2
CS 161 Computer Security Spring 2010 Paxson/Wagner MT2 PRINT your name:, (last) SIGN your name: (first) PRINT your class account login: cs161- Your T s name: Your section time: Name of the person sitting
SSL/TLS: The Ugly Truth
SSL/TLS: The Ugly Truth Examining the flaws in SSL/TLS protocols, and the use of certificate authorities. Adrian Hayter CNS Hut 3 Team [email protected] Contents Introduction to SSL/TLS Cryptography
Lecture 11 Web Application Security (part 1)
Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)
Login with Amazon. Getting Started Guide for Websites. Version 1.0
Login with Amazon Getting Started Guide for Websites Version 1.0 Login with Amazon: Getting Started Guide for Websites Copyright 2016 Amazon Services, LLC or its affiliates. All rights reserved. Amazon
Qualtrics Single Sign-On Specification
Qualtrics Single Sign-On Specification Version: 2010-06-25 Contents Introduction... 2 Implementation Considerations... 2 Qualtrics has never been used by the organization... 2 Qualtrics has been used by
Module 7 Security CS655! 7-1!
Module 7 Security CS655! 7-1! Issues Separation of! Security policies! Precise definition of which entities in the system can take what actions! Security mechanism! Means of enforcing that policy! Distributed
Automatic Analysis of Browser-based Security Protocols
Automatic Analysis of Browser-based Security Protocols Avinash Sudhodanan Alessandro Armando (FBK, coordinator) Roberto Carbone (FBK, tutor) Luca Compagna (SAP, tutor) FP7-PEOPLE-2012-ITN Outline Context
Security from the Ground Up eblvd uses a hybrid-asp model designed expressly to ensure robust, secure operation.
eblvd enables secure, cloud-based access to a PC or server over the Internet. Data, keyboard, mouse and display updates are transmitted over a highly compressed, encrypted stream, yielding "as good as
IT@Intel. Improving Security and Productivity through Federation and Single Sign-on
White Paper Intel Information Technology Computer Manufacturing Security Improving Security and Productivity through Federation and Single Sign-on Intel IT has developed a strategy and process for providing
EE 7376: Introduction to Computer Networks. Homework #3: Network Security, Email, Web, DNS, and Network Management. Maximum Points: 60
EE 7376: Introduction to Computer Networks Homework #3: Network Security, Email, Web, DNS, and Network Management Maximum Points: 60 1. Network security attacks that have to do with eavesdropping on, or
Entrust Managed Services PKI. Getting started with digital certificates and Entrust Managed Services PKI. Document issue: 1.0
Entrust Managed Services PKI Getting started with digital certificates and Entrust Managed Services PKI Document issue: 1.0 Date of issue: May 2009 Copyright 2009 Entrust. All rights reserved. Entrust
Three attacks in SSL protocol and their solutions
Three attacks in SSL protocol and their solutions Hong lei Zhang Department of Computer Science The University of Auckland [email protected] Abstract Secure Socket Layer (SSL) and Transport Layer
Chapter 9 Key Management 9.1 Distribution of Public Keys 9.1.1 Public Announcement of Public Keys 9.1.2 Publicly Available Directory
There are actually two distinct aspects to the use of public-key encryption in this regard: The distribution of public keys. The use of public-key encryption to distribute secret keys. 9.1 Distribution
Strong and Convenient Multi-Factor Authentication on Mobile Devices
Strong and Convenient Multi-Factor Authentication on Mobile Devices Francisco Corella, PhD [email protected] Karen Lewison, MD [email protected] Revised September 6, 2012 Executive Summary Authentication
Using SAML for Single Sign-On in the SOA Software Platform
Using SAML for Single Sign-On in the SOA Software Platform SOA Software Community Manager: Using SAML on the Platform 1 Policy Manager / Community Manager Using SAML for Single Sign-On in the SOA Software
Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide
Network Security [2] Public Key Encryption Also used in message authentication & key distribution Based on mathematical algorithms, not only on operations over bit patterns (as conventional) => much overhead
Final Project Report December 9, 2012. Cloud-based Authentication with Native Client Server Applications. Nils Dussart 0961540
Final Project Report December 9, 2012 Cloud-based Authentication with Native Client Server Applications. Nils Dussart 0961540 CONTENTS Project Proposal... 4 Project title... 4 Faculty Advisor... 4 Introduction...
Axway API Gateway. Version 7.4.1
O A U T H U S E R G U I D E Axway API Gateway Version 7.4.1 3 February 2016 Copyright 2016 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.4.1
Chapter 10. Network Security
Chapter 10 Network Security 10.1. Chapter 10: Outline 10.1 INTRODUCTION 10.2 CONFIDENTIALITY 10.3 OTHER ASPECTS OF SECURITY 10.4 INTERNET SECURITY 10.5 FIREWALLS 10.2 Chapter 10: Objective We introduce
SAML-Based SSO Solution
About SAML SSO Solution, page 1 SAML-Based SSO Features, page 2 Basic Elements of a SAML SSO Solution, page 2 SAML SSO Web Browsers, page 3 Cisco Unified Communications Applications that Support SAML SSO,
How to Implement Enterprise SAML SSO
How to Implement Enterprise SSO THE LEADER IN API AND CLOUD GATEWAY TECHNOLOGY How to Implement Enterprise SSO Introduction Security Assertion Markup Language, or, provides numerous The advantages and
From the Intranet to Mobile. By Divya Mehra and Stian Thorgersen
ENTERPRISE SECURITY WITH KEYCLOAK From the Intranet to Mobile By Divya Mehra and Stian Thorgersen PROJECT TIMELINE AGENDA THE OLD WAY Securing monolithic web app relatively easy Username and password
Implementation Guide SAP NetWeaver Identity Management Identity Provider
Implementation Guide SAP NetWeaver Identity Management Identity Provider Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.10 2011-07-18 Document History CAUTION Before
Getting Started with AD/LDAP SSO
Getting Started with AD/LDAP SSO Active Directory and LDAP single sign- on (SSO) with Syncplicity Business Edition accounts allows companies of any size to leverage their existing corporate directories
Login with Amazon. Developer Guide for Websites
Login with Amazon Developer Guide for Websites Copyright 2014 Amazon Services, LLC or its affiliates. All rights reserved. Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.
MiGS Virtual Payment Client Integration Guide. July 2011 Software version: MR 27
MiGS Virtual Payment Client Integration Guide July 2011 Software version: MR 27 Copyright MasterCard and its vendors own the intellectual property in this Manual exclusively. You acknowledge that you must
Chapter 16: Authentication in Distributed System
Chapter 16: Authentication in Distributed System Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press A. Kshemkalyani and M. Singhal
Secure Sockets Layer (SSL) / Transport Layer Security (TLS)
Secure Sockets Layer (SSL) / Transport Layer Security (TLS) Brad Karp UCL Computer Science CS GZ03 / M030 19 th November 2014 What Problems Do SSL/TLS Solve? Two parties, client and server, not previously
IVOA Single-Sign-On Profile: Authentication Mechanisms Version 2.0
International Virtual Observatory Alliance IVOA Single-Sign-On Profile: Authentication Mechanisms Version 2.0 IVOA Proposed Recommendation 20151029 Working group http://www.ivoa.net/twiki/bin/view/ivoa/ivoagridandwebservices
InternetVista Web scenario documentation
InternetVista Web scenario documentation Version 1.2 1 Contents 1. Change History... 3 2. Introduction to Web Scenario... 4 3. XML scenario description... 5 3.1. General scenario structure... 5 3.2. Steps
CA CloudMinder. Getting Started with SSO 1.5
CA CloudMinder Getting Started with SSO 1.5 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is for your
Mobile Security. Policies, Standards, Frameworks, Guidelines
Mobile Security Policies, Standards, Frameworks, Guidelines Guidelines for Managing and Securing Mobile Devices in the Enterprise (SP 800-124 Rev. 1) http://csrc.nist.gov/publications/drafts/800-124r1/draft_sp800-124-rev1.pdf
Security Goals Services
1 2 Lecture #8 2008 Freedom from danger, risk, etc.; safety. Something that secures or makes safe; protection; defense. Precautions taken to guard against crime, attack, sabotage, espionage, etc. An assurance;
IMPLEMENTING SINGLE SIGN- ON USING SAML 2.0 ON JUNIPER NETWORKS MAG SERIES JUNOS PULSE GATEWAYS
APPLICATION NOTE IMPLEMENTING SINGLE SIGN- ON USING SAML 2.0 ON JUNIPER NETWORKS MAG SERIES JUNOS PULSE GATEWAYS SAML 2.0 combines encryption and digital signature verification across resources for a more
Chapter 3. Network Domain Security
Communication System Security, Chapter 3, Draft, L.D. Chen and G. Gong, 2008 1 Chapter 3. Network Domain Security A network can be considered as the physical resource for a communication system. This chapter
CS 494/594 Computer and Network Security
CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Exercise: Chapters 13, 15-18 18 1. [Kaufman] 13.1
