WO2013004104A1 - 单点登录方法及*** - Google Patents

单点登录方法及*** Download PDF

Info

Publication number
WO2013004104A1
WO2013004104A1 PCT/CN2012/074932 CN2012074932W WO2013004104A1 WO 2013004104 A1 WO2013004104 A1 WO 2013004104A1 CN 2012074932 W CN2012074932 W CN 2012074932W WO 2013004104 A1 WO2013004104 A1 WO 2013004104A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
terminal
authentication center
center
noncel
Prior art date
Application number
PCT/CN2012/074932
Other languages
English (en)
French (fr)
Inventor
张孟旺
田甜
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2013004104A1 publication Critical patent/WO2013004104A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Definitions

  • the present invention relates to the field of communications, and in particular to a single sign-on method and system. Background technique
  • the IMS UE has a Universal Integrated Circuit Card (UICC), and the network operator has deployed the General Bootstrapping Architecture (GBA): At this time, the GB A authentication mechanism can be used to freely cooperate with the Alliance. ( Liberty Alliance ) / Open Identity ( OpenID ) combines with single sign-on and interoperability with other existing SSO mechanisms. In this scenario, in order to implement SSO, the operator deploys a large number of GBAs, and at the same time embeds a UICC card in each IMS UE, and uses the information in the GBA and UICC cards to complete the SSO function of accessing the application server to the IMS terminal.
  • GBA General Bootstrapping Architecture
  • the IMS UE has a UICC card, but the operator cannot deploy the GBA. In this case, the UE terminal user needs to be authenticated.
  • the IMS terminal implements the SSO function of the AS application server, authentication and key agreement are used. (Authentication and Key Agreement, AKA) / OpenID combined program. details as follows:
  • the IMS UE sends an authentication request to the application server (Application Server, AS/RP), where the request includes an OpenID identifier; the RP uses the OpenID identifier to discover the final uniform resource locator of the OpenID Provider (OP) ( Uniform/Universal Resource Locater, URL), and redirect the user authentication request to the URL; OP obtains AKA from Home Subscriber Server (HSS) The authentication vector and the user terminal information content based on the IP Multimedia Private Identity (IMI); the OP sends an authentication challenge to the UE by using the AKA authentication method, so that the UE authenticates the network; the UE sends a challenge to the OP to the challenge.
  • AS/RP Application Server
  • the RP uses the OpenID identifier to discover the final uniform resource locator of the OpenID Provider (OP) ( Uniform/Universal Resource Locater, URL), and redirect the user authentication request to the URL; OP obtains AKA from Home Subscriber Server (HSS)
  • HSS Home Subscriber Server
  • IMI IP Multi
  • the UE is authenticated in the OP; the OP sends a flag information asserting that the OpenID identifier belongs to the terminal to the UE, and the assertion is used by the OP to share the shared key between the OP and the RP (the key may be the sharing of the OP and the RP)
  • the key which may also be the key of the OP itself, is redirected; the assertion reaches the RP; if the OP is shared with the RP, the RP directly verifies the signature information and notifies the UE of the verification result. If the OP's own key encryption is used, the RP transmits the duplicate of the assertion to the OP for verification. After the OP is verified, the verification result is notified to the RP, and finally the RP notifies the UE of the verification result.
  • the architecture enables the network operator to act as an OpenID provider to provide authentication services for users accessing the WEB month server.
  • OIM identification in IMS
  • users can provide SSO functionality across IMS and web servers. Allow users to control their public identity identifier on the WEB. By accessing the WEB application controlled by a trusted network operator, the user can improve the security of the user's own information.
  • the IMS UE does not have a UICC card, and the operator does not deploy the GBA.
  • the non-UICC card terminal accesses the IMS network, the probability of this situation increases, and GBA and non-distribution are not deployed.
  • a UICC card users often need to access the IMS network and use IMS-related application services.
  • non-UICC-based IMS-SSO authentication becomes very necessary.
  • the related art has not proposed how to perform the SSO function in this scenario.
  • the main object of the present invention is to provide a single sign-on method and system for supporting authentication of a terminal single sign-on RP without a UICC.
  • a single sign-on method including:
  • the terminal sends a service request to the application server RP;
  • the RP obtains an authentication center address
  • the RP redirects its own authentication request to the authentication center through the terminal, or the RP returns a response to the terminal to instruct the terminal to perform authentication to the authentication center.
  • the authentication center authenticates the terminal by using the session initial protocol summary SIP Digest authentication mode, and redirects the authentication result to the RP through the terminal; in the authentication process using the SIP Digest authentication mode, the authentication Both the center and the terminal generate the shared key using the same hash value and random number;
  • the RP provides a service for the terminal according to the authentication result.
  • the authentication center Before the authentication center authenticates the terminal by using the SIP Digest authentication mode, the authentication center further includes:
  • the authentication center determines whether there is a first shared key K0 with the terminal, and if not, continues the subsequent processing; if yes, directly redirects the authentication result to the RP.
  • the RP obtains the address of the authentication center, redirects the self-authentication request to the authentication center, or the RP returns a response to the terminal for instructing the terminal to perform authentication to the authentication center;
  • the RP authentication request carries the RP identity RP_credential; the terminal follows the redirect message or sends an authentication message to the authentication center;
  • the authentication center authenticates the RP according to the RP identity identifier and saves the authentication result.
  • the authentication center performs authentication on the terminal by using a SIP Digest authentication method, including:
  • the authentication center authenticates the terminal according to a SIP Digest authentication vector corresponding to the terminal.
  • the authentication center obtains and stores the SIP Digest authentication vector corresponding to the terminal from the home subscriber register HSS according to the user identity.
  • the SIP Digest authentication vector includes at least one of the following: a user identity identifier, an authentication algorithm algorithm, a quality guarantee, a scope realm, a hash value H(A1), where H(A1) is identified by a user identity.
  • the realm and password password are composed.
  • the authentication center performs authentication on the terminal by using a SIP Digest authentication method, including:
  • the authentication center generates a random number nonce, and carries the algorithm, and the message of the nonce and the realm is sent to the terminal;
  • the terminal generates a random number cnonce, according to the nonce, the cnonce and a hash value H(A1) generated by the realm, the user identity and the input password, and the response value response is generated by the algorithm, Returning a response message to the authentication center, where the response message carries the cnonce, the nonce, the realm, the response, and the algorithm;
  • the authentication center uses the algorithm to calculate the verification response value Xresponse according to the H(A1), the nonce, and the cnonce, and compares the received response with the Xresponse. If the authentication is the same, the authentication succeeds. Otherwise, the authentication fails; calculate the value of the rspauth parameter of the SIP Digest authentication mechanism.
  • the method further includes: the terminal calculating, according to the H(A1) and the cnonce, a first shared key K0 between the authentication center and the terminal;
  • the method further includes: the authentication center calculates and stores the K0 according to the H(A1) and the cnonce, and calculates an rspauth of the SIP Digest authentication mechanism. Parameter value.
  • the user identity is an open identity identifier OpenID
  • the authentication center is an OpenID provider OP.
  • the user identity is an identity identifier input to the terminal or the terminal is in an Internet Protocol multimedia subsystem.
  • the obtained identity identifier is allocated on the IMS system, and the authentication center is a single sign-on authentication center IdP.
  • the authentication center is the IdP and the authentication center is successfully authenticated when the user identity is an identity that is input to the terminal or an identity that is obtained by the terminal on the IMS system. Next, it also includes:
  • the authentication center generates a random number noncel, and generates a second key K1 according to the noncel and the first shared key K0 between the authentication center and the terminal;
  • the authentication center encrypts the noncel and the authentication result RP_Auth of the RP by using the K0, and obtains a KO (noncel, RP_Auth), and encrypts the K1 and the pair by using a shared key Kr, i between the RP and the RP.
  • the authentication result UE_Auth of the terminal is obtained by Kr, i (K1, UE_Auth); the terminal obtains the K0 (noncel, RP_Auth) by redirecting the terminal to the redirect message of the RP in the authentication center. After the rspauth parameter value and Kr,i(Kl,UE_Auth), redirect Kr,i(Kl,UE_Auth) to the RP;
  • the terminal decrypts the KO (noncel, RP_Auth) to obtain an authentication result for the RP, and the terminal generates an rspauth parameter value in the same manner as the authentication center, compares the generated rspauth and decrypts to obtain an rspauth value, After the network authentication succeeds, the terminal generates a second key K1; and the RP decrypts the Kr, i (K1, UE_Auth), Encrypting the service content by using the K1 and sending the content to the terminal;
  • the terminal decrypts using K1 to obtain the service content.
  • the authentication center is an OP, and the authentication center is successfully authenticated, the method further includes:
  • the authentication center generates a random number noncel, and generates a second key K1 according to the noncel and the first shared key K0 between the authentication center and the terminal;
  • the authentication center encrypts the noncel and the authentication assertion RP_Assert of the RP by using the K0, obtains a KO (noncel, RP_Assert), and encrypts the K1 and the pair by using a shared key ⁇ , ⁇ with the RP.
  • the authentication of the terminal asserts UE_Assert to obtain Kr,o(Kl,UE_Assert);
  • the authentication center sends the 200 OK information carrying the KO (noncel, RP_Auth) and rspauth parameter values to the terminal, and redirects Kr, o (K1, UE_Auth) to the RP, or the terminal is in the authentication center. Redirecting the terminal to the redirect message of the RP to obtain the KO (noncel, RP_Assert), rspauth parameter value, and Kr, o (Kl, UE_Assert), and then Kr, o (Kl, UE_Assert) Directed to the RP;
  • the terminal decrypts the KO (noncel, RP_Assert), obtains an authentication assertion for the RP, and obtains an rspauth parameter value from the message, and the terminal generates an rspauth parameter value in the same manner as the authentication center, and the generated result is compared.
  • the rspauth and the decryption obtain the rspauth value, the terminal completes the authentication of the network, and after the network authentication succeeds, the terminal generates the second key K1; and the RP decrypts the Kr, o (Kl, UE_Assert), using the K1 Encrypting the service content and transmitting to the terminal;
  • the terminal decrypts using K1 to obtain the service content.
  • the authentication center is an OP, and the authentication center is successfully authenticated, the method further includes:
  • the authentication center generates a random number noncel, according to the noncel and the authentication center and
  • the first shared key K0 between the terminals generates a second key K1;
  • the authentication center encrypts the information content such as the noncel with the K0, obtains KO (noncel), encrypts the K1 and the authentication assertion UE_Assert for the terminal by using the shared key ⁇ , ⁇ with the RP, Get Kr,o(Kl,UE_Assert);
  • the authentication center sends the 200 OK information carrying the values of the KO (noncel) and rspauth parameters to the terminal and redirects the Kr, o (K1, UE_Auth) to the RP, or the terminal at the authentication center Redirecting the terminal to the redirect message of the RP to obtain the KO (noncel), rspauth parameter value, and Kr, o (Kl, UE_Assert), and then redirecting Kr, o (Kl, UE_Assert) to the RP;
  • the terminal decrypts the KO (noncel), obtains a noncel, and obtains an rspauth parameter value from the message, and the terminal generates an rspauth parameter value in the same manner as the authentication center, compares the generated rspauth and decrypts the rspauth value,
  • the terminal completes the authentication of the network. After the network authentication succeeds, the terminal generates a second key K1. And, the RP decrypts the Kr, o (K1, UE_Assert), encrypts the service content by using the K1, and sends the content to the Terminal
  • the terminal decrypts using K1 to obtain the service content.
  • a single sign-on system including:
  • a terminal configured to send a service request to the RP, send an authentication request to the authentication center, and generate a shared key by using the same hash value and a random number by the authentication center;
  • the RP is configured to obtain the authentication center address and redirect its own authentication request to the authentication center by using the terminal, or the RP is configured to obtain the authentication center address and return it to the terminal for Instructing the terminal to respond to the authentication center for authentication;
  • the authentication center is configured to authenticate the terminal by using a SIP Digest authentication mode, redirect the authentication result to the RP by using the terminal, and generate a shared key by using the same hash value and random number by the terminal. .
  • the authentication center is further configured to authenticate the RP according to the RP identity and save the authentication result.
  • the authentication center is further configured to generate a secure communication key, and redirect the secure communication key to the RP by using the terminal; the RP is further configured to encrypt the service content by using the secure communication key. And sending to the terminal; the terminal is further configured to generate the secure communication key, and use the secure communication key to decrypt to obtain the service content.
  • the RP redirects the UE's request to the authentication center or sends information to the UE indicating that it needs to authenticate to the authentication center.
  • the authentication center adopts the session initial protocol summary according to the received user identity.
  • the session authentication protocol is used to authenticate the UE and the authentication result is redirected to the RP.
  • FIG. 1 is a flow chart of a single sign-on method according to an embodiment of the present invention.
  • FIG. 2 is a structural block diagram of a single sign-on system according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a process of implementing a single sign-on authentication to an application server by using an SIP Digest authentication mechanism by an IMS terminal of a non-UICC card according to Embodiment 1;
  • FIG. 4 is an overall architecture diagram of an IMS terminal providing an IMS terminal for a non-UICC card to an application server for single sign-on authentication by using an SIP Digest authentication mechanism provided by an operator according to an embodiment of the present invention
  • FIG. 5 is another single embodiment according to an embodiment of the present invention. Flow chart of the point login method
  • FIG. 6 is a flowchart of a single sign-on authentication of an IMS terminal to an application server of an IMS terminal that implements a non-UICC card by using an SIP Digest authentication mechanism by an operator as an OpenID Provider according to Embodiment 2;
  • FIG. 7 is a schematic diagram of an overall architecture of an IMS terminal to an application server for a single sign-on authentication by an IMS terminal that implements a SIP Digest authentication mechanism by an operator as an OpenID Provider according to an embodiment of the present invention.
  • Step S102 A terminal sends a service request to an RP.
  • Step S104 The RP obtains the IdP address of the authentication center, and redirects the authentication request to the authentication center through the terminal.
  • the RP returns a response to the terminal to indicate that the terminal authenticates to the authentication center.
  • Step S106 The terminal sends an authentication request of the terminal to the authentication center.
  • Step S108 The authentication center authenticates the terminal by using the SIP Digest authentication mode, and redirects the authentication result to the RP through the terminal.
  • Step S110 The RP provides a service for the terminal according to the authentication result.
  • the terminal does not send its own identity information to the RP, the RP does not obtain the identity information of the UE, and does not authenticate the terminal, but uses a certain mechanism to enable the terminal to initiate an authentication request to the terminal to the authentication center. .
  • the RP can be used to perform the authentication by using the two mechanisms.
  • the RP returns the response to the authentication center that the terminal is to the contracted authentication center.
  • the other type authenticates the redirected RP authentication message that is redirected to the authorized authentication center by the RP.
  • the request message is sent to the contract authentication center. This means that the RP redirects its own authentication request to the authentication center through the terminal. In this way, the terminal sends its own authentication request to the authentication center by means of the redirection process.
  • the RP cannot obtain the identity information of the terminal, and the terminal directly authenticates to the trusted authentication center to prevent the user identity information from being leaked to the RP, thereby improving security.
  • the SSO function of the UE to the application server is generally implemented by a combination of Liberty Alliance/OpenID or AKA/OpenID.
  • the two methods only support the authentication of the UICC identity information, and therefore only apply to the UE terminal.
  • the number of UEs that do not have a UICC card is increasing. Therefore, a new mechanism is needed to support the UE terminal of the non-UICC card to implement the SSO function.
  • the method in this embodiment uses SIP Digest authentication.
  • the type of supported user identity is not limited to UICC identity information, and therefore, authentication of a terminal that does not have a UICC can be supported.
  • the network operator can complete the unified authentication of the UE using the AS as a user authentication center provider, and facilitate the access of various application servers to the terminal.
  • the network operator can provide a large number of user groups for the application service provider.
  • the operator can cooperate with the AS provider to better meet the needs of the user group for various application services, and the user accesses the related application server through the trusted network operator. Not only provides users with convenience but also increases the security of user information and also expands the profitability of operators.
  • the authentication center may determine whether there is a first shared key K0 with the UE, and if not, continue the subsequent processing, if yes, skip The authentication center uses the SIP Digest authentication mode to authenticate the UE and directly redirects the authentication result to the RP. Through the above judging steps, the authentication center can directly return the authentication result to the RP to the authenticated UE, thereby improving the processing speed.
  • the RP may also redirect the RP authentication request to the authentication center, where the RP authentication request carries the RP identity RP_credential; the authentication center authenticates the RP according to the RP identity and saves the authentication result.
  • the UE of the non-UICC card can implement the SSO function of the legitimate application server in the IMS network, and the two-way authentication can better ensure the security of the identity information of the IMS terminal, and can correctly identify the non- The application server improves the security of the service.
  • the above user identity may be an open identity (OpenID), and the authentication center may be an OP; or the user identity may be an identity input to the UE or the UE is allocated in an Internet Protocol Multimedia Subsystem (IMS) system.
  • IMS Internet Protocol Multimedia Subsystem
  • the obtained identity, the certificate authority can be a single sign-on authentication center (IdP).
  • the authentication center uses the SIP Digest authentication mode to authenticate the UE.
  • the following processing method is adopted: the authentication center authenticates the terminal according to the SIP Digest authentication vector (SD-AV) corresponding to the terminal.
  • SD-AV SIP Digest authentication vector
  • the (SD-AV) may be obtained and stored by the authentication center from the HSS according to the user identity, where the SD-AV includes at least one of the following: a user identity, an authentication algorithm, a quality assurance, a scope ( Realm ) and a hash value H(A1), where H(A1) consists of the user ID, realm, and password (password).
  • the process of authenticating the terminal by using the SIP Digest authentication mode by the authentication center may include: the authentication center generates a random number nonce, and sends a message carrying algorithms, nonce, and realm to the UE; the UE generates a random number cnonce According to the nonce, the cnonce, and the H(A1) generated by the realm, the user identity, and the previously stored password, the response value is generated by using the algorithm, and the response message is returned to the certificate center, where the response message carries the CNNC, the nonce, the realm, the response And the algorithm; the authentication center uses the algorithm to calculate the verification response value Xresponse according to the stored H(A1), the stored nonce, the received cnonce, and the response to the Xresponse.
  • the authentication center calculates the rspauth value under the SIP Digest authentication mechanism.
  • the operator can provide two-way authentication for both the user and the accessed application server by providing the IdP unified authentication center, which can implement the SSO function in scenario 3 well.
  • the calculation basis of the response may further include: using the same when the UE calculates the response The number of times a nonce is used. Using nonce-count also participates in the response calculation, which can reduce the possibility of replaying attacks.
  • the UE can calculate K0 by using the authentication algorithm according to H(A1) and CNNOce; using SIP Digest in the authentication center.
  • the authentication center can calculate K0 according to the authentication algorithm and store it.
  • the authentication center and the UE may generate a shared key K0 between the two according to the parameters of the authentication process interaction, and the authentication center may determine whether the UE has been authenticated according to whether the shared key is stored.
  • the authentication center is an IdP, and the authentication center is successfully authenticated, the authentication center generates a random number nonce 1 according to the nonce 1 and K0 generate a second key K1; the authentication center uses K0 to encrypt noncel and the RP authentication result RP_Auth to obtain KO (noncel, RP_Auth), and uses the shared key Kr, i between the RP and the RP to encrypt K1 and authenticate the UE.
  • UE_Auth obtains Kr, i (Kl, UE_Auth); the authentication center sends 200 OK information carrying the values of KO (noncel, RP_Auth) and rspauth parameters to the terminal and redirects Kr, i (Kl, UE_Auth) to the RP, or the terminal is
  • the authentication center redirects the terminal to the RP redirect message to obtain KO (noncel, RP_Auth), rspauth parameter value and Kr, i (Kl, UE_Auth) and then redirects Kr, i (Kl, UE_Auth) to the RP;
  • UE decrypts K0 (noncel, RP_Auth) obtains the authentication result of the RP, uses the same method as the authentication center to generate the rspauth parameter value, and compares with the rspauth in the received information to complete the terminal-to-network authentication process;
  • One processing method is that the authentication center generates a random number noncel, and generates a second key K1 according to nonce 1 and K0; the authentication center uses K0 to encrypt noncel and the RP authentication assertion RP_Assert to obtain KO (noncel, RP_Assert), and between the RP and the RP
  • the shared key Kr, i encrypts K1 and authenticates to the UE asserts that UE_Assert gets Kr,o(Kl,UE_Assert); the authentication center sends 200OK information carrying the KO (noncel, RP_Auth) and rspauth parameter values to the terminal and Kr,o (Kl, UE_Auth) is redirected to the RP, or the terminal obtains KO (noncel, RP_Assert), rspauth parameter value, and Kr, o (Kl, UE_Assert) after the authentication center redirects the terminal to the
  • i(Kl, UE_Assert) is redirected to the RP; the UE decrypts K0 (noncel, RP_Assert), obtains the authentication assertion for the RP, and generates the rspauth parameter value in the same way as the authentication center, and compares with the rspauth in the received information.
  • the second key K1 is generated; and, the RP decrypts Kr,o(Kl, UE_Assert), and uses the K1 encryption service content to be sent to the UE; the UE uses K1 to solve the problem. Secret access to service content.
  • Another processing method is that the authentication center generates a random number noncel, and generates a second key K1 according to noncel and K0; the authentication center uses K0 encryption noncel to obtain KO (noncel), and uses the shared key Kr, i between the RP and the RP to encrypt K1.
  • the authentication center sends 200OK information carrying the KO (noncel) and rspauth parameter values to the terminal and redirects Kr,o(Kl,UE_Auth) to the RP, or
  • the terminal redirects the Kr, i (Kl, UE_Assert) to the RP after obtaining the K0 (noncel), rspauth parameter value, and Kr, o (Kl, UE_Assert) in the redirection message redirecting the terminal to the RP in the authentication center;
  • the RP decrypts Kr, o (Kl,
  • the RP authentication result is sent to the terminal UE, and the terminal trusts the authentication center.
  • the authentication center authentication RP passes the information to the UE. If the terminal UE can receive the KO (noncel) from the authentication center, it indicates that the RP authentication is passed. The terminal UE is explicitly notified.
  • the interaction information between the authentication center and the UE, and between the authentication center and the RP is encrypted by using the corresponding shared key to ensure the information exchange security between the authentication center and the UE and the authentication center and the RP.
  • a K1 is generated, so that the service content of the interaction between the UE and the RP is encrypted by using K1, thereby preventing illegal interception of user data, thereby further improving security.
  • the above method adopts the SIP Digest authentication mechanism, which is applicable not only to the authentication of the terminal of the non-UICC but also to the authentication of the UICC terminal, and does not need to configure a large number of GBAs, thereby reducing the deployment of the GBA and the embedded by the network operator.
  • the cost of the UICC card is applicable not only to the authentication of the terminal of the non-UICC but also to the authentication of the UICC terminal, and does not need to configure a large number of GBAs, thereby reducing the deployment of the GBA and the embedded by the network operator. The cost of the UICC card.
  • FIG. 2 is a structural block diagram of a single sign-on system according to an embodiment of the present invention.
  • the system includes: a UE 22, configured to send a request message to the RP 24;
  • the authentication request is redirected to the authentication center 26, and the UE 22 is served according to the authentication result of the authentication center 26.
  • the authentication center 26 is configured to authenticate the UE 22 by using the SIP Digest authentication method, and pass the authentication result to the UE 22. Redirect to RP 24.
  • the Certification Authority 26 is also used to authenticate the RP 24 based on the RP identity and to save the authentication results.
  • the authentication center 26 is an OP; in the case that the user identity is an identity input to the UE or the UE assigns the obtained identity in the IMS system, the authentication center 26 is an IdP. .
  • the authentication center 26 is further configured to generate a secure communication key and redirect the secure communication key to the RP 24 through the UE 22; the RP 24 is also operative to encrypt the service content with the secure communication key and send it to the UE 22
  • the UE 22 is further configured to generate the secure communication key, and use the secure communication key to decrypt to obtain the service content.
  • the UE is an IMS non-UICC card terminal
  • the RP corresponds to an application server to be accessed by the IMS terminal
  • the IdP/OP corresponds to an SSO subsystem provided by the network operator.
  • the specific network element interfaces of some networks that have no impact on the process are not drawn and the supported protocols are not described.
  • the functions and related protocols supported are not shown; the interface reference point between HSS and IdP can implement the Diameter protocol, and the Cx interface in the IMS core network can be reused.
  • Both the UE and the IdP must support the SIP Digest authentication mechanism. Nor is it indicated in the figure; for the sake of brevity, these specific interface reference points are not shown in the figure.
  • the negotiation mechanism of the shared key between the RP and the IdP can be successfully implemented by using the existing mechanism.
  • the IdP authenticates the RP. Now, the mature mechanism has been successfully implemented.
  • Embodiments 1 and 2 described below combine the technical solutions of the above-described plurality of preferred embodiments.
  • Example 1
  • This embodiment provides a method for implementing an SSO function on an application server in a unified IMS network based on a SIP Digest authentication mechanism.
  • a mechanism for mutual authentication of both the UE terminal and the AS server is performed; the UE terminal of the non-UICC card in the IMS network can implement the SSO function for its application server; and has better performance than OpenlD/AKA Universality and security ensure the security of both the UE user terminal and the AS server.
  • FIG. 4 is an overall architecture diagram of an IMS terminal provided by an operator to implement a single sign-on authentication of an IMS terminal of a non-UICC card to an application server by using an SIP Digest authentication mechanism according to an embodiment of the present invention
  • FIG. 3 is a non-UICC card according to Embodiment 1 of FIG.
  • the IMS terminal uses the SIP Digest authentication mechanism to implement a flowchart for the single sign-on authentication process of the application server.
  • This embodiment is based on the architecture shown in FIG. 4, and the flow of the single sign-on method is described in conjunction with FIG. 3, which is as follows:
  • Step 1 The UE terminal sends an HTTP service request to the application server RP.
  • Step 2 The application server RP learns and locates the address of the signed authentication center IdP according to the contract and support relationship with the operator in advance; then the application server RP and the contract authentication center use the prior art to interact and establish a share.
  • Key Kr i.
  • Step 3 The application server RP responds to the UE terminal with a 401 unauthorised HTTPS response, and requests the UE terminal to go to the authentication center for identity authentication.
  • the response includes the authentication center MP address and the RP identity information; or the application server RP redirects the RP.
  • the self-authentication request is sent to the authentication center IdP, and the message carries the RP identity information.
  • the identity authentication information related to any UE terminal is not included in the application server RP, and the RP does not authenticate the UE.
  • Step 4 The UE terminal sends an HTTP authentication request message to the authentication center IdP according to the IdP address, and requests the IdP to perform identity authentication on the UE terminal or the UE terminal sends an authentication request message to the authentication center IdP immediately following the redirect message, where the message carries the identity of the terminal UE. Identification information.
  • Step 5 The IdP authenticates the RP according to the RP identity information (RP_credential), and saves the authentication result RP_Auth to the RP.
  • RP_credential the RP identity information
  • U_credential the transmitted user identity
  • Step 6 The IdP searches for and downloads the corresponding SIP Digest Authentication Vector (SD-AV) and user configuration information according to the user identity (U_credential) received in the previous step. These include U_credential, realm, qop, algorithm, and H(A1), where H(A1) is a hash function value consisting of U_credential, realm, and password.
  • SD-AV SIP Digest Authentication Vector
  • H(A1) is a hash function value consisting of U_credential, realm, and password.
  • the IdP can obtain the HSS address corresponding to the stored user information by querying the SLF to find the corresponding HSS.
  • Step 7 The IdP generates a random number nonce and stores the H(A1) downloaded from the HSS along with the nonce.
  • Step 8 The IdP sends a 401 unauthenticated challenge message to the UE, where the information includes U_credential, realm, qop, algorithm, and nonce.
  • Step 9 The terminal UE generates a random number cnonce. U_credential, realm and password are used to generate H(A1); then H(A1), cnonce, etc. are used to generate the UE and IdP shared key K0.
  • the terminal uses conce for network authentication and avoids the "choice plaintext" attack.
  • the nonce-count is a counter. The user calculates the response every time the same nonce is used. The nonce-count will increase the port. The nonce-count also participates in the response calculation, which reduces the possibility of replay attacks.
  • Step 10 The UE sends a response response to the IdP to the challenge information in step 8.
  • the response information includes cnonce, nonce, response, realm, U_credential, qop, algorithm, Digest-url, and nonce-count.
  • Step 11 The nonce value in the response message is checked by using the stored nonce value. If the check is correct, the IdP calculates the Xresponse by using the received parameters cnonce, nonce-count, qop, and the original stored nonce and H(A1). The calculated Xresponse is compared with the received response value. If the comparison result is the same, the authenticated user passes, otherwise the UE user terminal authentication fails; if the terminal authentication succeeds, the IdP generates the parameter rspauth value according to the SIP Digest authentication mechanism method; The UE and the IdP shared key K0 are generated by H(A1), cnonce, and the like.
  • Step 12 The IdP generates the UE's authentication result information UE_Auth; the IdP generates a random number noncel; then uses K0, noncel, etc. to generate the key K1; the shared key K0 encrypts the noncel and RP_Auth to generate K0 (noncel, RP_Auth) Encrypting K1 and UE_Auth with RP and IdP to generate Kr,i(Kl, UE_Auth).
  • Step 13 The IdP sends the 200 OK information to the UE terminal, and includes information such as the authentication result information UE_Auth, the key life cycle, and the rspauth parameter value of the UE by the IdP, indicating that the authentication is successful to the UE terminal, and the IdP redirects the UE terminal to the RP.
  • the message carries the IdP to generate the UE's authentication result information UE_Auth, the key life cycle, the rspauth parameter value, and Kr,i(Kl, UE_Auth) wait for news.
  • Step 14 The UE terminal decrypts KO (noncel, RP_Auth), obtains the noncel value and the RP authentication result, and obtains the legality of the RP application server. If it is a legitimate application server, the next step is executed sequentially, otherwise, a server illegal notification information is directly returned to the UE terminal; the terminal UE calculates and generates the rspauth parameter value by using the same mechanism as the IdP, and compares with the received rspauth parameter value, If the network is the same, the successful authentication process of the terminal to the network is completed; after the network authentication is successful, the key K1 is generated by using K0, noncel, and the like.
  • KO oncel, RP_Auth
  • Step 15 The redirect message sent by the IdP is redirected to the RP, which carries Kr,i(Kl,UE_Auth).
  • Step 16 After receiving the message, the RP decrypts Kr,i(Kl,UE_Auth) by using the shared key, and the RP obtains the authentication result information and the key K1 of the IdP to the UE terminal.
  • Step 17 The RP determines, according to the UE_Auth, whether to provide the UE with the authorized service content UE_Author; and encrypts the authorization information with the key K1 to generate K1 (UE_Author).
  • Step 18 The RP notifies the UE of the content of the authorization information.
  • Step 19 The UE determines whether the requested service can be obtained according to whether the key K1 can decrypt K1 (UE_Author).
  • Steps 17, 18, and 19 are specific application layer steps, which are optional steps.
  • FIG. 5 is a flowchart of another single sign-on method according to an embodiment of the present invention. As shown in FIG. 5, the method includes:
  • Step S502 The UE sends an authentication request carrying the user identity to the RP, and the RP obtains the address of the corresponding authentication center IdP, and redirects the authentication request to the authentication center.
  • Step S504 The authentication center authenticates the UE by using the SIP Digest authentication mode, and redirects the authentication result to the RP through the UE.
  • Step S506 The RP provides a service for the UE according to the authentication result.
  • the operator unified authentication center OP (SSO) has both OpenlD Provider and SIP Digest authentication capabilities; the terminal UE sends an OpenlD authentication request message carrying an OpenlD identifier to the RP; the RP completes the standardization and locates the OP end point according to the OpenID2.0 protocol. The address process, and the subsequent association process, generates a shared key between the RP and the OP. The RP redirects its own authentication request to the authentication center through the terminal. In this way, the terminal's own authentication request is also redirected to the authentication center.
  • the authentication center since the authentication center performs only one-way authentication on the UE terminal, and the server may have an unauthenticated attack situation, there may be a problem that the security is poor due to the server being illegal. Therefore, the following processing methods can be used:
  • the redirect message sent by the RP to the sign-off authentication center IdP carries the terminal identity and the RP identity under the OpenlD mechanism;
  • the authentication center After obtaining the RP identity by the authentication center in the above manner, the authentication center can authenticate the RP according to the RP identity and save the authentication result.
  • the authentication center may determine whether there is a first shared key K0 with the UE, and if not, continue the subsequent processing, if yes, skip
  • the authentication center uses the SIP Digest authentication mode to authenticate the UE and directly redirects the authentication result to the RP. Through the above judging steps, the authentication center can directly return the authentication result to the RP to the authenticated UE, thereby improving the processing speed.
  • the process of authenticating the UE by using the SIP Digest authentication mode may use the following processing mode: the authentication center authenticates the terminal according to the SIP Digest authentication vector (SD-AV) corresponding to the terminal.
  • SD-AV SIP Digest authentication vector
  • the (SD-AV) may be obtained and stored by the authentication center from the HSS according to the user identity, wherein the SD-AV includes at least the following: a user identity, an algorithm, a quality assurance, a realm, and a A hash value H(A1), where H(A1) is composed of a user identity, a realm, and a password (password).
  • the process of authenticating the terminal by using the SIP Digest authentication mode by the authentication center may include: the authentication center generates a random number nonce, and sends a message carrying algorithms, nonce, and realm to the UE; the UE generates a random number cnonce According to the nonce, the cnonce, and the H(A1) generated by the realm, the user identity, and the previously stored password, the response value is generated by using the algorithm, and the response message is returned to the certificate center, where the response message carries the CNNC, the nonce, the realm, the response And the algorithm; the authentication center uses the algorithm to calculate the verification response value Xresponse according to the stored H(A1), the stored nonce, the received cnonce, and the response to the Xresponse.
  • the authentication center uses the SIP Digest authentication mechanism to calculate the rspauth parameter value.
  • the SIP Digest authentication mechanism the operator can provide unified two-way authentication for both the user and the accessed application server by providing the IdP unified authentication center. Implement the SSO function in scenario 3.
  • the calculation basis of the response may further include: the UE uses the same nonce usage count when calculating the response. Using nonce-count also participates in the response calculation, which can reduce the possibility of replaying attacks.
  • the UE can calculate K0 by using the authentication algorithm according to H(A1) and CNNOce; using SIP Digest in the authentication center.
  • the authentication center can calculate K0 according to the authentication algorithm and store it.
  • certification The center and the UE may generate a shared key K0 between the two according to the parameters of the authentication process interaction, and the authentication center may determine whether the UE has been authenticated according to whether the shared key is stored.
  • the authentication center When the authentication center is an OP and the authentication center is successfully authenticated, the authentication center generates a random number noncel.
  • the first shared key K0 between the noncel and the authentication center and the terminal generates the second key K1;
  • the authentication center uses the K0 encryption noncel and the RP authentication result RP_Auth to obtain KO (noncel, RP_Auth), and the relationship between the RP and the RP
  • the shared key Kr, i encrypts K1 and the authentication result UE_Auth to the terminal, and obtains Kr, i (Kl, UE_Auth);
  • the authentication center sends 200OK information carrying the KO (noncel, RP_Auth) and rspauth parameter values to the terminal and Kr, i (Kl, UE_Auth) is redirected to the RP, or the terminal obtains KO (noncel, RP_Auth), rspauth parameter value, and
  • i(Kl, UE_Auth) is redirected to the RP; the terminal decrypts KO (noncel, RP_Auth), and obtains the authentication result for the RP.
  • the rspauth parameter value is generated in the same way as the authentication center, and is received from the received information. Rspauth comparison, to complete the terminal-to-network authentication process; after the network authentication succeeds, the second key K1 is generated; and, the RP decrypts Kr, i (Kl, UE_Auth), and uses K1 encryption service content to be sent to the terminal; the terminal uses K1 to decrypt Get the service content.
  • the interaction information between the authentication center and the UE, and between the authentication center and the RP is encrypted by using the corresponding shared key to ensure the information exchange security between the authentication center and the UE and the authentication center and the RP.
  • a K1 is generated, so that the service content of the interaction between the UE and the RP is encrypted by using K1, thereby preventing illegal interception of user data, thereby further improving security.
  • FIG. 2 is a structural block diagram of a single sign-on system according to an embodiment of the present invention.
  • the system includes: a UE 22, configured to send an OpenlD authentication request to the RP 24; An authentication request for completing the OpenlD mechanism and redirecting the RP and the UE 22 to the authentication center 26 by the UE 22, and for providing the UE 22 according to the authentication result of the authentication center 26; the authentication center 26 for using the SIP Digest authentication method
  • the UE 22 is authenticated, and the authentication result is redirected to the RP 24 through the terminal.
  • the authentication center 26 is further configured to authenticate the RP 24 based on the RP identity and save the authentication result.
  • the authentication center 26 can also be used to generate a secure communication key and redirect the secure communication key to the RP 24 through the UE 22; the RP 24 is also used to encrypt the service content with the secure communication key and send it to the UE 22; The UE 22 is also used to generate a secure communication key, and decrypt the secure communication key to obtain the service content.
  • FIG. 7 is an overall architecture diagram of an IMS terminal implementing non-UICC card IMS terminal to an application server using the SIP Digest authentication mechanism as an OpenlD Provider according to an embodiment of the present invention
  • FIG. 6 is an operator according to Embodiment 2 as OpenlD.
  • the Provider uses the SIP Digest authentication mechanism to implement a single sign-on authentication flowchart for the IMS terminal of the non-UICC card to the application server.
  • the embodiment is based on the architecture shown in FIG. 7, and the flow of the single sign-on method is described in conjunction with FIG. Said as follows:
  • Step 1 The UE terminal sends an OpenlD authentication request to the RP, where the request carries the OpenlD identifier information of the user.
  • Step 2 The RP normalizes the OpenlD identifier, obtains the OpenlD Provider address according to the identifier RP, and finds the OP endpoint URL.
  • the UE terminal expects to use the URL to complete the authentication, and the RP and the OP use an existing mechanism, such as an association process.
  • Diffie-Hellman key exchange protocol, etc. establish a shared key Kr,o; RP redirects the user OpenlD authentication request And send an RP authentication request to the OP address.
  • the RP identity information and the standard parameter information content in OpenID2.0 are included in the message.
  • Step 3 The RP redirects the user to the OpenlD authentication request and sends the RP authentication request to the OP address.
  • the message includes the RP identity information and the standard parameter information content in OpenID2.0.
  • Step 4 The OpenlD authentication request is redirected to the address of the OpenlD Identity Provider OP. After this step, the OP establishes an association between the user identity and the OpenlD identifier information.
  • Step 5 The OP authenticates the RP according to the RP identity information (RP_credential).
  • the terminal identification information U_credential is used to determine whether the corresponding UE and the OP share the secret in the OP. Key K0. If the shared key exists, jump directly to step 12 for execution, otherwise continue to the next step. In this step, a correlation map between the OpenlD identifier and the end user identity identifier is established.
  • Step 6 The OP searches for and downloads the corresponding SIP Digest Authentication Vector (SD-AV) and user configuration information content according to the user identifier (U_credential) associated with the OpenlD identifier in the previous step.
  • SD-AV SIP Digest Authentication Vector
  • U_credential user identifier
  • H(A1) H(A1) is a hash function value consisting of U_credential, realm, and assword.
  • the OP can obtain the HSS address corresponding to the stored user information by querying the SLF to find the corresponding HSS.
  • Step 7 The OP generates a random number nonce and stores the H(A1) downloaded from the HSS along with the nonce.
  • Step 8 The OP sends a 401 unauthenticated challenge message to the UE, where the information includes U_credential, realm, qop, algorithm, and nonce.
  • Step 9 Generate a random number cnonce.
  • U_credential, realm and password are used to generate H(A1); then H(A1), cnonce, etc. are used to generate the UE and OP shared key K0.
  • the response value is calculated by a one-way hash function F.
  • Response F(H(Al), cnonce, nonce, qop, nonce-count).
  • the terminal uses conce for network authentication and avoids the "choice plaintext" attack.
  • the nonce-count is a counter. The user calculates the response every time the same nonce is used. The nonce-count will increase the port. The nonce-count also participates in the response calculation, which reduces the possibility of replay attacks.
  • Step 10 The UE sends a response response to the challenge information in step 8 to the OP, where the response information includes cnonce, nonce, response, realm, U_credential, qop, algorithm, Digest-url, and nonce-count.
  • Step 11 Use the stored nonce value to check the nonce value in the response message. If the check is correct, the OP calculates the Xresponse using the received parameters cnonce, nonce-count, qo, and the original storage ⁇ nonce and H(A1). , ⁇ ! The search ⁇ Xresponse is compared with the response value. If the comparison result is the same, the authenticated user passes. Otherwise, the UE user terminal fails to authenticate. After the authentication terminal succeeds, the authentication center OP uses the SIP Digest authentication mechanism to calculate the rspauth parameter value. H(A1), cnonce, etc. generate a UE and OP shared key K0.
  • Step 12 Generate authentication assertion information UE_Assert for the UE according to the authentication result of the terminal; OP generates a random number noncel; then generate a key K1 by using K0, noncel, etc.; the shared key K0 encrypts the noncel to generate KO ( Noncel); K1 and UE_Assert are generated by RP and OP shared key encryption to generate Kr,o(Kl,UE_Assert).
  • Step 13 The OP sends 200 OK information to the UE terminal, including information such as K0 (noncel), rspauth parameter value, and key lifetime. Meanwhile, the OP redirects the UE terminal to the RP, and the message carries Kr, o (Kl, UE_Assert). Or the OP sends a redirected UE to the RP message, which carries information such as K0 (noncel), Kr, o (Kl, UE_Assert), rspauth parameter value, and key life cycle.
  • Step 14 The UE terminal decrypts KO (noncel) to obtain a noncel value.
  • the terminal UE calculates and generates an rspauth parameter value by using the same mechanism as the IdP, and compares with the received rspauth parameter value, and the two are identical to complete the terminal to the network.
  • Successful authentication process after successful network authentication, K0, noncel, etc. are used to generate the key Kl.
  • Step 15 The redirect message sent by the OP is redirected to the RP, which carries Kr,o(Kl,UE_Assert) 0
  • Step 16 After receiving the message, the RP decrypts Kr,o(Kl,UE_Assert) by using the shared key, and the RP obtains the UE_Assert and the key K1 of the OP to the UE terminal.
  • Step 17 After the RP verifies the UE_Assert assertion, the RP generates the UE's authorization information UE_Author; and encrypts the authorization information with the key K1 to generate K1 (UE_Author).
  • Step 18 The RP notifies the UE of the content of the authorization information, and carries the information K1 (UE_Author).
  • Step 19 The UE determines whether the requested service can be obtained according to whether the key K1 can decrypt K1 (UE_Author).
  • Steps 17, 18 and 19 are specific application layer steps, which are optional steps.
  • the IMS terminal UE obtains the request service and then requests another application server
  • the IMS terminal user UE authentication request carries the user OpenlD identifier information OpenlD identifier
  • the OP maps the association through the user OpenlD identifier information OpenlD identifier.
  • the terminal identification information is used to find the corresponding K0 key, and it is known whether the user has passed the authentication. If the K0 key is present, the user does not need to perform SIP Digest authentication, and only needs to perform 11 steps; otherwise, the entire authentication process needs to be performed; When the K0 key lifetime expires, it is automatically destroyed.
  • the authenticated user needs to perform SIP Digest authentication again to generate the UE and OP shared key.
  • the UE needs to restart the authentication process if the UE has completed the authentication process. If the K0 life cycle is not reached when the network is restored, the UE may continue to use the K0 for subsequent operations after the network is restored. Otherwise, re-authentication is required.
  • the UE user accesses the RP application server, if the user encounters a special situation such as the user actively shutting down the UE or powering off, the user needs to complete the entire execution process such as registration in the IMS.
  • the solution provided by the embodiment of the present invention can support a terminal list that does not have a UICC.
  • the authentication of the login RP is not required.
  • the method does not need to deploy a large number of GBAs, and the non-UICC terminal can access the IMS network. Therefore, the cost of deploying the GBA and embedding the UICC card by the network operator is reduced, and the consumption of various devices is reduced. And the IMS network related application service can be accessed through SSO.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device, which can be centralized on a single computing device or distributed over a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device so that they may be stored in the storage device by the computing device, or they may be fabricated into individual integrated circuit modules, or multiple modules thereof Or the steps are made into a single integrated circuit module implementation. Thus, the invention is not limited to any specific combination of hardware and software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种单点登录方法及***,可由终端向RP发送服务请求;所述RP获取认证中心地址;所述RP将自身的认证请求通过所述终端重定向到所述认证中心,或者,所述RP向所述终端返回用于指示所述终端向所述认证中心进行认证的响应;所述终端向所述认证中心发送认证请求;所述认证中心使用SIP Digest认证方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;在使用所述SIP Digest认证方式的认证过程中,所述认证中心和所述终端两者利用相同的哈希值和随机数产生共享密钥;所述RP根据所述认证结果为所述终端提供服务。本发明方法及***支持对不具有UICC的终端单点登录RP的认证。

Description

单点登录方法及*** 技术领域
本发明涉及通信领域, 具体而言, 涉及一种单点登录方法及***。 背景技术
在统一 IP多媒体子***( IP multimedia subsystem, IMS )的终端( User
Equipment, UE )认证过程和实现单点登录( Single Sign-On, SSO )的过程 中, 现存有 3种场景:
1 , IMS UE内具有通用集成电路卡 ( Universal Integrated Circuit Card, UICC ) , 并且网络运营商已部署了通用认证机制 ( General Bootstrapping Architecture, GBA ) 的情形: 此时可以利用 GB A 认证机制同自由联盟 ( Liberty Alliance ) /开放式身份识别 ( OpenID ) 结合实现单点登录以及与 现有的其它 SSO机制实现互通。 在这种场景下, 为了实现 SSO, 运营商会 部署大量的 GBA,同时为每个 IMS UE内嵌入 UICC卡,利用 GBA和 UICC 卡内信息完成对 IMS终端访问应用服务器的 SSO功能。
2, IMS UE内具有 UICC卡, 但是运营商不能部署 GBA的情形: 这种 情况下需要对 UE终端用户进行认证,实现该 IMS终端对 AS应用服务器的 SSO功能时, 多采用认证和密钥协商 ( Authentication and Key Agreement, AKA ) /OpenID相结合的方案。 具体如下:
IMS UE向应用服务器(Application Server, AS/RP )发送一个认证请 求, 该请求中包含 OpenID标识符; RP利用该 OpenID标识符发现 OpenID 身份提供者 ( OpenID Provider , OP ) 的最终统一资源定位符 ( Uniform/Universal Resource Locater , URL ), 并重定向用户认证请求到达 该 URL; OP从归属用户寄存器( Home Subscriber Server, HSS )取得 AKA 认证向量以及基于 IP多媒体私有用户标识( IP Multimedia Private Identity, IMPI ) 的用户终端信息内容; OP使用 AKA认证方法向 UE发送一个认证 挑战 , 使得 UE对该网络进行认证; UE对挑战向 OP发送一个响应 , 在 OP 中完成对 UE的认证; OP向 UE发送一个宣称 OpenID标识符属于该终端 的标记信息断言, 该断言被 OP使用 OP与 RP的共享密钥(密钥可能是 OP 与 RP的共享密钥,也可能是 OP自身的密钥)标记; 重定向该断言到达 RP; 若利用的为 OP与 RP共享密钥, 则 RP直接验证签名信息, 并通知 UE验 证结果。 若使用的是 OP 自身密钥加密, 则 RP把该断言的复本传送到 OP 进行验证, OP验证后将验证结果通知给 RP, 最后 RP再将验证结果通知给 UE。
该架构能够使得网络运营商作为 OpenID provider为用户访问 WEB月良 务器提供身份验证的服务功能。 对保存有 ISIM ( IMS中的身份识别) 的应 用程序, 用户可以提供跨 IMS和 web服务器等实现对其的 SSO功能。允许 用户在 WEB上控制他们的公共身份标识符。用户通过访问信任的网络运营 商控制的 WEB应用程序, 可以提高用户自身信息的安全性。
3, IMS UE不具有 UICC卡, 并且运营商也未部署 GBA的情形: 随着 非 UICC卡终端接入 IMS网络的增多, 这种情形出现的概率越来越大, 并 且在未部署 GBA和非 UICC卡情形下,用户也常常需要访问 IMS网络和使 用与 IMS相关的应用服务, 这种情况下, 基于非 UICC的 IMS-SSO认证变 得非常有必要。 但是, 相关技术中尚未提出在这种场景下如何进行 SSO功 能。
综上所述, 相关技术中, 只有具有 UICC卡的终端才能实现 SSO功能, 进而访问 IMS网络中的各种应用服务, 且大多数情况需要网络运营商大量 部署 GBA, 这样将增加运营商的投入成本; 而不具有 UICC卡的终端将不 能利用已有架构方案实现对 IMS网络中相关应用服务的 SSO功能。 发明内容
本发明的主要目的在于提供一种单点登录方法及***, 以支持对不具 有 UICC的终端单点登录 RP的认证。
为了达到上述目的, 本发明的技术方案是这样实现的:
一种单点登录方法, 包括:
终端向应用服务器 RP发送服务请求;
所述 RP获取认证中心地址;
所述 RP将自身的认证请求通过所述终端重定向到所述认证中心, 或 者,所述 RP向所述终端返回用于指示所述终端向所述认证中心进行认证的 响应;
所述终端向所述认证中心发送认证请求;
所述认证中心使用会话初始协议摘要 SIP Digest认证方式对所述终端 进行认证, 将认证结果通过所述终端重定向到所述 RP; 在使用所述 SIP Digest认证方式的认证过程中,所述认证中心和所述终端两者利用相同的哈 希值和随机数产生共享密钥;
所述 RP根据所述认证结果为所述终端提供服务。
其中,在所述认证中心使用 SIP Digest认证方式对所述终端进行认证之 前, 还包括:
所述认证中心判断是否存在与所述终端之间的第一共享密钥 K0, 若不 存在, 则继续后续处理; 若存在, 则直接将认证结果重定向到所述 RP。
其中, 还包括:
所述 RP获得所述认证中心的地址,将自身认证请求重定向到所述认证 中心或所述 RP 向所述终端返回用于指示所述终端向所述认证中心进行认 证的响应; 其中, 所述 RP认证请求携带 RP身份标识 RP_credential; 所述 终端跟随重定向消息或发送认证消息到所述认证中心; 所述认证中心根据所述 RP身份标识对所述 RP进行认证并保存认证结 果。
其中, 所述认证中心使用 SIP Digest认证方式对所述终端进行认证包 括:
所述认证中心根据对应于所述终端的 SIP Digest认证向量,对所述终端 进行认证。
其中, 所述认证中心根据用户身份标识从归属用户寄存器 HSS获取对 应于所述终端的所述 SIP Digest认证向量并存储。
其中, 所述 SIP Digest认证向量至少包括以下内容中至少之一: 用户身 份标识、 认证算法 algorithm, 质量保障、 作用域 realm、 哈希值 H(A1); 其 中, H(A1 )由用户身份标识、 所述 realm和口令 password组成。
其中, 所述认证中心使用 SIP Digest认证方式对所述终端进行认证包 括:
所述认证中心产生随机数 nonce, 将携带所述 algorithm, 所述 nonce和 所述 realm的消息发送至所述终端;
所述终端产生随机数 cnonce, 根据所述 nonce, 所述 cnonce和由所述 realm, 所述用户身份标识和输入的 password产生的哈希值 H(A1), 通过所 述 algorithm生成响应值 response , 向所述认证中心返回响应消息; 其中, 所述响应消息携带所述 cnonce、 所述 nonce、 所述 realm、 所述 response和 所述 algorithm;
所述认证中心采用所述 algorithm根据所述 H(A1)、 所述 nonce和所述 cnonce 计算校验响应值 Xresponse , 将接收到的所述 response 和所述 Xresponse进行比较, 若相同则认证成功, 否则认证失败; 计算 SIP Digest 认证机制的 rspauth参数值。
其中, 在所述认证中心产生随机数 nonce, 将携带所述 algorithm, 所述 nonce和所述 realm的消息发送至所述终端之后 , 还包括: 所述终端根据所 述 H(A1)和所述 cnonce计算所述认证中心与所述终端之间的第一共享密钥 K0;
在所述认证中心使用 SIP Digest认证方式对所述终端进行认证之后,还 包括: 所述认证中心根据所述 H(A1)和所述 cnonce计算所述 K0并存储, 计算 SIP Digest认证机制的 rspauth参数值。
其中, 所述用户身份标识为开放式身份标识 OpenID, 所述认证中心为 OpenID提供者 OP; 或者, 所述用户身份标识为输入到所述终端的身份标 识或所述终端在因特网协议多媒体子*** IMS ***上分配获得的身份标 识, 所述认证中心为单点登录认证中心 IdP。
其中, 在所述用户身份标识为输入到所述终端的身份标识或所述终端 在 IMS ***上分配获得的身份标识时, 所述认证中心为所述 IdP, 且所述 认证中心认证成功的情况下, 还包括:
所述认证中心生成随机数 noncel , 根据所述 noncel和所述认证中心与 所述终端之间的第一共享密钥 K0生成第二密钥 K1 ;
所述认证中心采用所述 K0加密所述 noncel和对所述 RP的认证结果 RP_Auth, 得到 KO(noncel,RP_Auth), 采用和所述 RP之间的共享密钥 Kr,i 加密所述 K1和对所述终端的认证结果 UE_Auth, 得到 Kr,i(Kl,UE_Auth); 所述终端在所述认证中心将所述终端重定向到所述 RP 的重定向消息 中获得所述 K0(noncel ,RP_Auth)、 rspauth参数值和 Kr,i(Kl ,UE_Auth)之后, 将 Kr,i(Kl,UE_Auth)重定向到所述 RP;
所述终端解密所述 KO(noncel,RP_Auth), 得到对所述 RP的认证结果, 所述终端利用所述认证中心相同的方式产生 rspauth 参数值, 对比产生的 rspauth和解密获得 rspauth值, 所述终端完成网络的认证, 网络认证成功后 所述终端生成第二密钥 K1 ; 并且, 所述 RP解密所述 Kr,i(Kl,UE_Auth), 采用所述 Kl加密服务内容并发送至所述终端;
所述终端采用 K1进行解密以获得所述服务内容。
其中, 在所述用户身份标识为 OpenID, 所述认证中心为 OP, 且所述 认证中心认证成功的情况下, 还包括:
所述认证中心生成随机数 noncel , 根据所述 noncel和所述认证中心与 所述终端之间的第一共享密钥 K0生成第二密钥 K1 ;
所述认证中心采用所述 K0加密所述 noncel和对所述 RP的认证断言 RP_Assert, 得到 KO(noncel,RP_Assert), 采用和所述 RP之间的共享密钥 Κτ,ο 加密所述 K1 和对所述终端的认证断言 UE_Assert , 得到 Kr,o(Kl,UE_Assert);
所述认证中心向所述终端发送携带 KO(noncel,RP_Auth)和 rspauth参数 值的 200OK信息并将 Kr,o(Kl,UE_Auth)重定向到所述 RP, 或者, 所述终 端在所述认证中心将所述终端重定向到所述 RP 的重定向消息中以获得所 述 KO(noncel,RP_Assert)、 rspauth 参数值和 Kr,o(Kl,UE_Assert) , 之后将 Kr,o(Kl,UE_Assert)重定向到所述 RP;
所述终端解密所述 KO(noncel,RP_Assert),得到对所述 RP的认证断言, 并从消息中获得 rspauth参数值, 所述终端利用所述认证中心相同的方式产 生 rspauth参数值, 对比产生的 rspauth和解密获得 rspauth值, 所述终端完 成网络的认证, 网络认证成功后所述终端生成第二密钥 K1 ; 并且, 所述 RP 解密所述 Kr,o(Kl,UE_Assert), 采用所述 K1加密服务内容并发送至所述终 端;
所述终端采用 K1进行解密以获得所述服务内容。
其中, 在所述用户身份标识为 OpenID, 所述认证中心为 OP, 且所述 认证中心认证成功的情况下, 还包括:
所述认证中心生成随机数 noncel , 根据所述 noncel和所述认证中心与 所述终端之间的第一共享密钥 K0生成第二密钥 K1 ;
所述认证中心采用所述 K0 加密所述 noncel 等信息内容, 得到 KO(noncel), 采用和所述 RP之间的共享密钥 Κτ,ο加密所述 K1和对所述终 端的认证断言 UE_Assert, 得到 Kr,o(Kl,UE_Assert);
所述认证中心向所述终端发送携带 KO(noncel)和 rspauth 参数值的 200OK信息并将 Kr,o(Kl,UE_Auth)重定向到所述 RP, 或者, 所述终端在所 述认证中心将所述终端重定向到所述 RP 的重定向消息中以获得所述 KO(noncel)、 rspauth参数值和 Kr,o(Kl ,UE_Assert) ,之后将 Kr,o(Kl ,UE_Assert) 重定向到所述 RP;
所述终端解密所述 KO(noncel), 得到 noncel , 并从消息中获得 rspauth 参数值, 所述终端利用所述认证中心相同的方式产生 rspauth参数值, 对比 产生的 rspauth和解密获得 rspauth值,所述终端完成网络的认证, 网络认证 成功后所述终端生成第二密钥 K1; 并且, 所述 RP 解密所述 Kr,o(Kl,UE_Assert), 采用所述 K1加密服务内容并发送至所述终端;
所述终端采用 K1进行解密以获得所述服务内容。
一种单点登录***, 包括:
终端, 用于向 RP发送服务请求, 向所述认证中心发送认证请求, 和所 述认证中心利用相同的哈希值和随机数产生共享密钥;
所述 RP 用于获取所述认证中心地址并将自身的认证请求通过所述终 端重定向到所述认证中心, 或者, 所述 RP用于获取所述认证中心地址并向 所述终端返回用于指示所述终端向所述认证中心进行认证的响应;
以及用于根据所述认证中心的认证结果为所述终端提供服务;
所述认证中心, 用于使用 SIP Digest认证方式对所述终端进行认证,将 认证结果通过所述终端重定向到所述 RP, 和所述终端利用相同的哈希值和 随机数产生共享密钥。 其中, 所述认证中心还用于根据 RP身份标识对所述 RP进行认证并保 存认证结果。
其中, 所述认证中心还用于产生安全通信密钥, 并将所述安全通信密 钥通过所述终端重定向到所述 RP; 所述 RP还用于采用所述安全通信密钥 加密服务内容并发送至所述终端; 所述终端还用于产生所述安全通信密钥, 采用所述安全通信密钥进行解密以获得所述服务内容。
通过本发明, RP将 UE的请求重定向到认证中心或者向 UE发送用于 指示其需要到认证中心进行认证的信息, 认证中心得到认证请求后根据收 到的用户身份标识采用会话初始协议摘要 ( Session Initiation Protocol Digest, SIP Digest )认证方式对该 UE进行认证, 并将认证结果重定向到 RP,解决了相关技术中的认证方案仅仅适用于具有 UICC卡的终端的问题, 该方法能够支持对不具有 UICC的终端单点登录 RP的认证, 由于该方法不 需要部署大量的 GBA, 因此减少了运营商部署 GBA所需要的资源, 同时 能够使非 UICC终端接入 IMS网络,并且可以通过 SSO的方式访问 IMS网 络相关的应用服务。 附图说明
图 1是根据本发明实施例的单点登录方法的流程图;
图 2是根据本发明实施例的单点登录***的结构框图;
图 3是根据实施例 1的非 UICC卡的 IMS终端利用 SIP Digest认证机 制实现对应用服务器的单点登录认证流程的流程图;
图 4是根据本发明实施例的运营商提供的 IdP利用 SIP Digest认证机制 实现非 UICC卡的 IMS终端对应用服务器的单点登录认证整体架构图; 图 5是根据本发明实施例的另一单点登录方法的流程图;
图 6是根据实施例 2的运营商作为 OpenID Provider利用 SIP Digest认 证机制实现非 UICC卡的 IMS终端对应用服务器的单点登录认证流程图; 图 7是根据本发明实施例的运营商作为 OpenID Provider利用 SIP Digest 认证机制实现非 UICC卡的 IMS终端对应用服务器的单点登录认证整体架 构图。 具体实施方式
下文中将参考附图并结合实施例详细说明本发明。 需要说明的是, 在 不沖突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。
图 1是根据本发明实施例的单点登录方法的流程图, 该方法包括: 步驟 S102, 终端向 RP发送服务请求;
步驟 S104, RP获得认证中心 IdP地址, 并将自身的认证请求通过终端 重定向到认证中心, 或者, RP向终端返回用于指示终端向认证中心进行认 证的响应;
步驟 S 106 , 终端向认证中心发送终端的认证请求;
步驟 S108, 认证中心使用 SIP Digest认证方式对终端进行认证, 将认 证结果通过终端重定向到 RP;
步驟 S110, RP根据认证结果为终端提供服务。
该方法中, 终端不向 RP发送自身的身份标识信息, RP不会获得 UE 的身份标识信息, 也不会对终端进行认证, 而是采用一定的机制令终端向 认证中心发起对终端的认证请求。 其中, 可以通过两种机制实现, 一是 RP 返回用于指示终端到签约的认证中心进行认证的响应; 另外一种通过终端 紧随 RP重定向到签约认证中心的重定向 RP认证消息将自身认证请求消息 发送到签约认证中心这一重定向处理机制, 也就是说, RP将自身的认证请 求通过终端重定向到认证中心, 这样, 终端后续会借助重定向流程将自身 的认证请求发送到认证中心。这种方式使得 RP无法获得终端的身份标识信 息, 终端直接向可信任的认证中心进行认证, 防止将用户身份信息泄露给 RP, 从而提高了安全性 相关技术中, UE 终端对应用服务器的 SSO 功能一般通过 Liberty Alliance/OpenID结合的方式或 AKA/OpenID相结合的方式实现, 这两种方 式仅支持 UICC身份标识信息的认证,因此仅适用于 UE终端预先拥有 UICC 卡情况, 而现实应用中, 不具有 UICC卡的 UE正在不断的增多, 因此, 需 要新的机制以支持非 UICC卡的 UE终端实现 SSO功能, 本实施例的方法, 采用 SIP Digest认证方式进行认证, 所支持的用户身份标识的种类不限于 UICC身份标识信息, 因此, 能够支持不具有 UICC的终端的认证。
通过以上的方法, 网络运营商能作为用户认证中心提供者完成对 UE 终端使用 AS的统一认证, 方便各种应用服务器接入终端。 网络运营商可以 为应用服务提供商提供大量用户群,运营商可通过与 AS提供商合作更好的 满足用户群对各种应用服务的需求, 同时用户通过信任的网络运营商访问 相关应用服务器, 不仅为用户提供了方便也增加了用户信息的安全性同时 也扩大了运营商的盈利方式。
优选地, 在认证中心使用 SIP Digest认证方式对 UE进行认证之前, 认 证中心可以判断是否存在与 UE之间的第一共享密钥 K0, 若不存在, 则继 续后续处理, 若存在, 则跳过认证中心使用 SIP Digest认证方式对 UE进行 认证的步驟, 直接将认证结果重定向到 RP。 通过以上的判断步驟, 认证中 心可以对已认证过的 UE直接返回认证结果给 RP, 提高了处理的速度。
相关技术中, 由于 OP认证中心对 UE终端只进行单向认证, 并且服务 器可能存在未认证攻击情况, 因此, 可能存在由于服务器非法导致安全性 较差的问题。 因此, 在本实施例中, RP还可以将 RP认证请求重定向到认 证中心, 其中, RP认证请求携带 RP身份标识 RP_credential; 认证中心根 据 RP身份标识对 RP进行认证并保存认证结果。通过以上的方法,非 UICC 卡的 UE可以实现对 IMS网络中合法应用服务器的 SSO功能, 通过采用双 向认证可以更好的保证 IMS终端身份信息的安全性, 并且能够正确识别非 法应用服务器, 提高了服务的安全性。
优选地, 以上用户身份标识可以为开放式身份标识(OpenID ), 认证中 心可以为 OP; 或者, 用户身份标识可以为输入到 UE的身份标识或 UE在 因特网协议多媒体子***(IMS )***中分配获得的身份标识, 认证中心可 以为单点登录认证中心 (IdP )。
在具体实施中,认证中心使用 SIP Digest认证方式对 UE进行认证的过 程可以采用以下的处理方式:认证中心根据对应于该终端的 SIP Digest认证 向量 (SD-AV), 对终端进行认证。 该 (SD-AV)可以由认证中心根据用户身份 标识从 HSS获取并存储, 其中, SD-AV至少包括以下内容中至少之一: 用 户身份标识、 认证算法(algorithm ), 质量保障、 作用域(realm ) 以及一个 哈希值 H(A1), 其中, H(A1)由用户身份标识、 realm和口令( password )组 成。
优选地,基于以上的参数,认证中心使用 SIP Digest认证方式对终端进 行认证的过程可以包括: 认证中心产生随机数 nonce, 将携带 algorithm, nonce以及 realm等的消息发送至 UE; UE产生随机数 cnonce ,根据 nonce、 cnonce和由 realm、用户身份标识和事先储存的 password产生的 H(A1)等利 用 algorithm生成响应值 response , 向认证中心返回响应消息, 其中, 响应 消息携带 cnonce、 nonce、 realm、 response和 algorithm;认证中心采用 algorithm 根据存储的 H(A1)、 存储的 nonce、 接收到的 cnonce 计算校验响应值 Xresponse, ^寻接^到的 response和 Xresponse进行比较, 若; ^目同则认证成 功, 否则认证失败; 认证中心计算 SIP Digest认证机制下的 rspauth值。 利 用 SIP Digest认证机制,运营商通过提供 IdP统一认证中心对用户和访问的 应用服务器两者进行统一的双向认证, 能够很好的实现场景 3中的 SSO功
•6匕
匕。
优选地, response的计算依据还可以包括: UE计算 response时使用同 一个 nonce的使用次数。 利用 nonce-count也参与 response计算, 能够降 [氐 重放攻击的可能性
通过以上的过程, 在认证中心产生随机数 nonce, 将携带 algorithm, nonce和 realm的消息发送至终端之后, UE就可以 ^据 H(A1)和 cnonce利 用认证算法计算 K0; 在认证中心使用 SIP Digest认证方式对 UE进行认证 之后, 认证中心可以根据认证算法计算 K0并存储。 通过以上的方法, 认证 中心和 UE可以根据认证过程交互的参数生成两者之间的共享密钥 K0, 认 证中心可以根据是否存储有该共享密钥判断是否已对该 UE进行过认证。
在认证中心对 UE认证成功之后,为了保证 UE和 RP之间的通信安全, 可以采用以下的处理方式:
( 1 )在用户身份标识为输入到 UE的身份标识或 UE在 IMS***中分 配获得的身份标识, 认证中心为 IdP, 且认证中心认证成功的情况下, 认证 中心生成随机数 nonce 1 , 根据 nonce 1和 K0生成第二密钥 K1; 认证中心采 用 K0加密 noncel和对 RP的认证结果 RP_Auth得到 KO(noncel,RP_Auth), 采用和 RP之间的共享密钥 Kr,i加密 K1和对 UE的认证结果 UE_Auth得到 Kr,i(Kl,UE_Auth);认证中心向终端发送携带 KO(noncel,RP_Auth)和 rspauth 参数值的 200OK信息并将 Kr,i(Kl,UE_Auth)重定向到 RP, 或者, 终端在认 证中心将终端重定向到 RP 的重定向消息中获得 KO(noncel,RP_Auth)、 rspauth参数值和 Kr,i(Kl,UE_Auth)之后将 Kr,i(Kl,UE_Auth)重定向到 RP; UE解密 K0(noncel ,RP_Auth) , 得到对 RP的认证结果, 利用和认证中心一 样的方法产生 rspauth参数值,并与接收到的信息中的 rspauth对比, 以完成 终端对网络的认证过程; 网络认证成功后生成第二密钥 K1; 并且, RP解 密 Kr,i(Kl,UE_Auth), 采用 K1加密服务内容发送至 UE; UE采用 K1进行 解密获得服务内容。
( 2 )在用户身份标识为 OpenID, 认证中心为 OP, 且认证中心认证成 功的情况下:
一种处理方式是认证中心生成随机数 noncel , 根据 nonce 1和 K0生成 第二密钥 K1 ;认证中心采用 K0加密 noncel和对 RP的认证断言 RP_Assert 得到 KO(noncel,RP_Assert), 采用和 RP之间的共享密钥 Kr,i加密 K1和对 UE的认证断言 UE_Assert得到 Kr,o(Kl,UE_Assert); 认证中心向终端发送 携带 KO(noncel,RP_Auth)和 rspauth 参数值的 200OK 信息并将 Kr,o(Kl,UE_Auth)重定向到 RP, 或者, 终端在认证中心将终端重定向到 RP 的重定向 消 息中 获得 KO(noncel,RP_Assert)、 rspauth 参数值和 Kr,o(Kl,UE_Assert)之后将 Kr,i(Kl,UE_Assert)重定向到 RP ; UE 解密 K0(noncel ,RP_Assert) , 得到对 RP的认证断言, 利用和认证中心一样的方 法产生 rspauth参数值,并与接收到的信息中的 rspauth对比,以完成终端对 网络的认证过程; 网络认证成功后生成第二密钥 K1 ; 并且, RP 解密 Kr,o(Kl,UE_Assert), 采用 K1加密服务内容发送至 UE; UE采用 K1进行 解密获得服务内容。
另一种处理方式是认证中心生成随机数 noncel , 根据 noncel和 K0生 成第二密钥 K1 ; 认证中心采用 K0加密 noncel得到 KO(noncel), 采用和 RP之间的共享密钥 Kr,i加密 K1 和对 UE 的认证断言 UE_Assert得到 Kr,o(Kl,UE_Assert);认证中心向终端发送携带 KO(noncel)和 rspauth参数值 的 200OK信息并将 Kr,o(Kl,UE_Auth)重定向到 RP, 或者, 终端在认证中 心将终端重定向到 RP的重定向消息中获得 K0(noncel)、 rspauth参数值和 Kr,o(Kl,UE_Assert)之后将 Kr,i(Kl,UE_Assert)重定向到 RP ; UE 解密 KO(noncel), 利用和认证中心一样的方法产生 rspauth参数值, 并与接收到 的信息中的 rspauth对比, 以完成终端对网络的认证过程; 网络认证成功后 生成第二密钥 K1 ; 并且, RP解密 Kr,o(Kl,UE_Assert), 采用 Kl加密服务 内容发送至 UE; UE采用 K1进行解密获得服务内容。在这种情况下, 不需 要带 RP认证结果给终端 UE, 终端信任认证中心, 认证中心认证 RP通过 才会发送给 UE信息, 若终端 UE能从认证中心收到 KO(noncel), 就表示了 RP认证通过了, 不需要在明确去通知终端 UE。
以上的方法中, 认证中心和 UE之间、 认证中心和 RP之间的交互信息 均采用各自对应的共享密钥进行加密,保证了认证中心和 UE以及认证中心 和 RP之间的信息交互安全; 另外, 对于 UE的一次认证请求, 产生一个 K1 , 以便 UE和 RP之间利用 K1对交互的服务内容进行加密, 防止非法截 获用户数据, 进一步地提高了安全性。
需要说明的是, 以上的方法采用 SIP Digest认证机制, 不仅适用于非 UICC的终端的认证, 也可以适用于 UICC终端的认证, 并且, 无需配置大 量的 GBA, 降低了网络运营商部署 GBA和嵌入 UICC卡的成本。
本实施例还提供了一种单点登录***, 图 2是根据本发明实施例的单 点登录***的结构框图,该***包括: UE 22, 用于向 RP 24发送请求消息; RP 24, 用于将认证请求重定向到认证中心 26, 以及用于根据认证中心 26 的认证结果为 UE 22提供服务; 认证中心 26, 用于使用 SIP Digest认证方 式对 UE 22进行认证, 将认证结果通过 UE 22重定向到 RP 24。
认证中心 26还用于根据 RP身份标识对 RP 24进行认证并保存认证结 果。
优选地, 在用户身份标识为 OpenID的情况下, 认证中心 26为 OP; 在 用户身份标识为输入到 UE的身份标识或 UE在 IMS***中分配获得的身 份标识的情况下, 认证中心 26为 IdP。
优选地, 认证中心 26还用于产生安全通信密钥, 并将该安全通信密钥 通过 UE 22重定向到 RP 24; RP 24还用于采用该安全通信密钥加密服务内 容并发送至 UE 22; UE 22还用于产生该安全通信密钥, 采用该安全通信密 钥进行解密获得服务内容。 对于非 UICC卡的 IMS终端在未部署 GBA的网络架构中的单点登录的 处理, 以下将在实施例中结合图 3和 6进行详细的描述, 需要说明的是, 附图中为整体架构图和流程图, UE为 IMS非 UICC卡终端, RP对应于 IMS 终端要访问的应用服务器, IdP/OP对应网络运营商提供的 SSO子***。 为 了使流程更加简洁明了, 对流程没有影响的一些网络的具体网元接口没有 画出以及支持的协议没有说明, 例如 UE与 RP接口具备的功能, UE与 MP 接口具备的功能, HSS与 MP接口具备的功能, 以及支持的有关协议等均 未示出; HSS与 IdP之间接口参考点能够实现 Diameter协议,可以重用 IMS 核心网内的 Cx接口, UE和 IdP均要支持 SIP Digest认证机制等条件也未 在图中标明; 为简洁起见,在图中没有画出这些具体接口参考点。 RP和 IdP 实现共享密钥的协商机制利用现有机制可以顺利实现, IdP对 RP的认证, 现在也已有成熟机制成功实现, 这里不再累述。
下面描述的实施例 1和 2, 综合了上述多个优选实施例的技术方案。 实施例 1
本实施例提供了一种基于 SIP Digest认证机制在统一 IMS网络中实现 对应用服务器的 SSO功能的方法。 在该方法中, 对 UE终端和 AS服务器 两者进行了双向认证的机制; 能够使 IMS网络中非 UICC卡的 UE终端对 其应用服务器实现 SSO功能; 与 OpenlD/AKA相比, 具有更好的通用性和 安全性, 保证了 UE用户终端和 AS服务器两者的安全。
图 4是根据本发明实施例的运营商提供的 IdP利用 SIP Digest认证机制 实现非 UICC卡的 IMS终端对应用服务器的单点登录认证整体架构图, 图 3是根据实施例 1的非 UICC卡的 IMS终端利用 SIP Digest认证机制实现对 应用服务器的单点登录认证流程的流程图, 该实施例以图 4所示架构为基 础, 结合图 3描述了单点登录方法的流程, 详述如下:
步驟 1: UE终端向应用服务器 RP发送一个 HTTP服务请求。 步驟 2: 应用服务器 RP根据事先与运营商之间的签约和支持关系, 获 知并定位签约的认证中心 IdP的地址; 然后应用服务器 RP和签约认证中心 两者利用先有技术进行进行交互, 建立共享密钥 Kr,i。
步驟 3:应用服务器 RP向 UE终端回应一个 401未授权的 HTTPS响应, 要求 UE终端去认证中心进行身份认证; 同时在该响应中包含认证中心 MP 地址和 RP身份信息; 或者应用服务器 RP重定向 RP自身认证请求到签约 认证中心 IdP, 该消息中携带 RP身份信息。 在应用服务器 RP内不包含任 何 UE终端有关的身份认证信息, RP不对 UE进行认证。
步驟 4: UE终端依据 IdP地址向认证中心 IdP发送 HTTP认证请求消 息, 请求 IdP对 UE终端进行身份认证或者 UE终端紧随重定向消息向认证 中心 IdP发送认证请求消息, 消息中携带终端 UE的身份标识信息。
步驟 5: IdP依据 RP身份标识信息 (RP_credential)对 RP进行认证, 保 存对 RP的认证结果 RP_Auth; 同时依据传递的用户身份标识 (U_credential) 判断 IdP中是否存在与其对应的 UE与 IdP共享密钥 K0。 若存在该共享密 钥则直接跳转到步驟 12进行执行, 否则继续执行下步步驟。
步驟 6: IdP依据上步驟收到的用户身份标识 (U_credential)到 HSS中查 找并下载对应的 SIP Digest Authentication Vector(SD-AV)和用户配置信息内 容。 其中包括 U_credential、 realm, qop、 algorithm和 H(A1), 其中 H(A1) 是由 U_credential, realm和 password组成的一个哈希函数值。 在多 HSS环 境下, IdP可以通过询问 SLF获得对应的储存用户信息的 HSS地址, 找到 该对应的 HSS。
步驟 7: IdP产生一个随机数 nonce, 并且把从 HSS下载的 H(A1)与该 nonce一起存储起来。
步驟 8: IdP 向 UE发送一个 401 未认证挑战消息, 该信息中包含 U_credential、 realm、 qop、 algorithm和 nonce。 步驟 9:终端 UE产生随机数 cnonce。利用 U_credential , realm和 password 产生 H(A1); 再利用 H(A1)、 cnonce等产生 UE和 IdP共享密钥 K0。 通过 一 个 单 向 哈 希 函 数 F 计 算 响 应 值 response 。 response=F(H(A),cnonce,nonce,qop,nonce-count)。 终端用 cnonce进行网络认 证和避免" chosen plaintext"攻击。 nonce-count是计数器, 用户每使用同一个 nonce计算一次 response, nonce-count将增力口, 利用 nonce-count也参与 response计算, 降低重放攻击的可能性。
步驟 10: UE对步驟 8中的挑战信息向 IdP发送一个响应 response, 该 响应信息中包含 cnonce、 nonce、 response, realm、 U_credential、 qop、 algorithm, Digest-url和 nonce-count。
步驟 11 : 利用储存的 nonce值对响应消息中的 nonce值进行检验, 若 检验正确, 则 IdP利用收到的有关参数 cnonce、 nonce-count, qop等和原储 存的 nonce及 H(A1)计算 Xresponse,将计算的 Xresponse与收到的 response 值进行比较,若两者比较结果相同则认证用户通过, 否则 UE用户终端认证 失败;若终端认证成功,则 IdP按照 SIP Digest认证机制方法生成参数 rspauth 值; 用 H(A1)、 cnonce等产生 UE和 IdP共享密钥 K0。
步驟 12: IdP产生获取 UE的认证结果信息 UE_Auth; IdP再产生一个 随机数 noncel ;然后利用 K0、noncel等产生密钥 K1 ;共享密钥 K0对 noncel 和 RP_Auth进行加密操作产生 K0(noncel,RP_Auth);用 RP和 IdP共享密钥 Kr,i加密 K1和 UE_Auth产生 Kr,i(Kl ,UE_Auth)。
步驟 13: IdP向 UE终端发送 200OK信息, 包含 IdP产生 UE的认证结 果信息 UE_Auth、 密钥生命周期和 rspauth参数值等信息, 向 UE终端表明 认证成功, 同时 IdP重定向 UE终端到 RP, 该消息携带 Kr,i(Kl,UE_Auth); 或者 IdP发送重定向消息, 重定向 UE到 RP, 消息中携带 IdP产生 UE的 认证结果信息 UE_Auth、密钥生命周期、 rspauth参数值和 Kr,i(Kl ,UE_Auth) 等消息。
步驟 14: UE终端解密 KO(noncel,RP_Auth), 取得 noncel值和 RP认 证结果, 获得 RP应用服务器的合法性。 若为合法应用服务器则顺序执行下 步, 否则直接给 UE终端返回一个服务器非法的通知信息; 终端 UE利用和 IdP相同的机制计算产生 rspauth参数值, 并且与收到的 rspauth参数值进行 对比, 两者相同则完成终端对网络的成功认证过程; 网络认证成功后再利 用 K0、 noncel等产生密钥 Kl。
步驟 15 : IdP 发出的重定向消息被重定向到 RP , 该消息中携带 Kr,i(Kl,UE_Auth)。
步驟 16: RP收到该消息后, 利用共享密钥解密 Kr,i(Kl,UE_Auth), RP 获得 IdP对 UE终端的认证结果信息和密钥 Kl。
步驟 17: RP依据 UE_Auth 判断是否为该 UE提供授权服务内容 UE_Author; 并且用密钥 K1对该授权信息进行加密产生 Kl(UE_Author)。
步驟 18: RP向 UE通知授权信息内容。
步驟 19: UE根据密钥 K1是否能解密 Kl(UE_Author)来确定是否可以 获得请求的服务。
其中步驟 17、 18和 19为具体应用层步驟, 为可选步驟
上述步驟 1-19中任一步驟失败, 则整个认证过程停止继续。
若该 IMS终端 UE获得到请求服务后, 再请求别的应用服务器时, 在 该 IMS终端用户 UE认证请求中携带用户身份标识 (U_credential)信息时, IdP 通过查找该用户身份标识 (U_credential)信息对应的 K0密钥, 获知该用户是 否已经认证通过, 若存在该 K0密钥则用户不需要在进行 SIP Digest认证, 只需要从步驟 12开始进行处理; 否则需要执行整个认证过程。 当 K0密钥 生命周期到期, 则其自动销毁,认证用户需要再次进行 SIP Digest认证产生 UE和 IdP共享密钥。 图 5是根据本发明实施例的另一单点登录方法的流程图, 如图 5所示, 该方法包括:
步驟 S502, UE向 RP发送携带有用户身份标识的认证请求, RP获得 对应签约的认证中心 IdP的地址, 并将认证请求重定向到认证中心;
步驟 S504, 认证中心使用 SIP Digest认证方式对 UE进行认证, 将认 证结果通过 UE重定向到 RP;
步驟 S506, RP根据认证结果为 UE提供服务。
该方法中, 运营商统一认证中心 OP(SSO)同时具备 OpenlD Provider和 SIP Digest认证能力; 终端 UE向 RP发送携带 OpenlD标识符的 OpenlD认 证请求消息; RP依据 OpenID2.0协议完成标准化和定位 OP终点地址过程, 并进行后续的关联过程, 产生 RP和 OP之间的共享密钥; 同时 RP将自身 的认证请求通过终端重定向到认证中心, 这样, 终端自身认证请求也同时 重定向到认证中心。
相关技术中, 由于认证中心对 UE终端只进行单向认证, 并且服务器可 能存在未认证攻击情况, 因此, 可能存在由于服务器非法导致安全性较差 的问题。 因此, 可以采用以下的处理方式:
在 RP向签约认证中心 IdP发送的重定向消息中携带 OpenlD机制下的 终端身份标识和 RP身份标识;
通过以上的方式使得认证中心获得了 RP身份标识之后,认证中心就可 以根据 RP身份标识对 RP进行认证并保存认证结果。
优选地, 在认证中心使用 SIP Digest认证方式对 UE进行认证之前, 认 证中心可以判断是否存在与 UE之间的第一共享密钥 K0, 若不存在, 则继 续后续处理, 若存在, 则跳过认证中心使用 SIP Digest认证方式对 UE进行 认证的步驟, 直接将认证结果重定向到 RP。 通过以上的判断步驟, 认证中 心可以对已认证过的 UE直接返回认证结果给 RP, 提高了处理的速度。 在具体实施中,认证中心使用 SIP Digest认证方式对 UE进行认证的过 程可以采用以下的处理方式:认证中心根据对应于该终端的 SIP Digest认证 向量 (SD-AV), 对终端进行认证。 该 (SD-AV)可以由认证中心根据用户身份 标识从 HSS获取并存储,其中, SD-AV至少包括以下内容: 用户身份标识、 认证算法( algorithm )、 质量保障、 作用域( realm )以及一个哈希值 H(A1), 其中, H(A1)由用户身份标识、 realm和口令(password )组成。
优选地,基于以上的参数,认证中心使用 SIP Digest认证方式对终端进 行认证的过程可以包括: 认证中心产生随机数 nonce, 将携带 algorithm, nonce以及 realm等的消息发送至 UE; UE产生随机数 cnonce,根据 nonce、 cnonce和由 realm、用户身份标识和事先储存的 password产生的 H(A1)等利 用 algorithm生成响应值 response , 向认证中心返回响应消息, 其中, 响应 消息携带 cnonce、 nonce、 realm、 response和 algorithm;认证中心采用 algorithm 根据存储的 H(A1)、 存储的 nonce、 接收到的 cnonce 计算校验响应值 Xresponse, ^寻接^到的 response和 Xresponse进行比较, 若; ^目同则认证成 功, 否则认证失败。 终端认证成功后, 认证中心利用 SIP Digest认证机制计 算 rspauth参数值; 利用 SIP Digest认证机制, 运营商通过提供 IdP统一认 证中心对用户和访问的应用服务器两者进行统一的双向认证, 能够很好的 实现场景 3中的 SSO功能。
优选地, response的计算依据还可以包括: UE计算 response时使用同 一个 nonce的使用次数。 利用 nonce-count也参与 response计算, 能够降 [氐 重放攻击的可能性
通过以上的过程, 在认证中心产生随机数 nonce, 将携带 algorithm, nonce和 realm的消息发送至终端之后, UE就可以 ^据 H(A1)和 cnonce利 用认证算法计算 K0; 在认证中心使用 SIP Digest认证方式对 UE进行认证 之后, 认证中心可以根据认证算法计算 K0并存储。 通过以上的方法, 认证 中心和 UE可以根据认证过程交互的参数生成两者之间的共享密钥 K0, 认 证中心可以根据是否存储有该共享密钥判断是否已对该 UE进行过认证。
在认证中心对 UE认证成功之后,为了保证 UE和 RP之间的通信安全, 可以采用以下的处理方式: 在认证中心为 OP, 且认证中心认证成功的情况 下, 认证中心生成随机数 noncel , 根据 noncel和认证中心与终端之间的第 一共享密钥 K0生成第二密钥 K1; 认证中心采用 K0加密 noncel和对 RP 的认证结果 RP_Auth, 得到 KO(noncel,RP_Auth), 采用和 RP之间的共享密 钥 Kr,i加密 K1和对终端的认证结果 UE_Auth, 得到 Kr,i(Kl,UE_Auth); 认 证中心向终端发送携带 KO(noncel,RP_Auth)和 rspauth参数值的 200OK信息 并将 Kr,i(Kl,UE_Auth)重定向到 RP, 或者, 终端在认证中心将终端重定向 到 RP 的重定向消息中获得 KO(noncel,RP_Auth)、 rspauth 参数值和 Kr,i(Kl,UE_Auth)之后将 Kr,i(Kl ,UE_Auth)重定向到 RP; 终端解密 KO(noncel,RP_Auth), 得到对 RP的认证结果, 利用和认证中心一样的方法 产生 rspauth参数值,并与接收到的信息中的 rspauth对比, 以完成终端对网 络的认证过程; 网络认证成功后生成第二密钥 K1 ; 并且, RP 解密 Kr,i(Kl,UE_Auth), 采用 K1加密服务内容发送至终端; 终端采用 K1进行 解密获得服务内容。
以上的方法中, 认证中心和 UE之间、 认证中心和 RP之间的交互信息 均采用各自对应的共享密钥进行加密,保证了认证中心和 UE以及认证中心 和 RP之间的信息交互安全; 另外, 对于 UE的一次认证请求, 产生一个 K1 , 以便 UE和 RP之间利用 K1对交互的服务内容进行加密, 防止非法截 获用户数据, 进一步地提高了安全性。
需要说明的是, 以上的方法采用 SIP Digest认证机制, 不仅适用于非 UICC的终端的认证, 也可以适用于 UICC终端的认证, 并且, 无需配置大 量的 GBA, 降低了网络运营商部署 GBA和嵌入 UICC卡的成本。 本实施例还提供了一种单点登录***, 图 2是根据本发明实施例的单 点登录***的结构框图, 该***包括: UE 22 , 用于向 RP 24发送 OpenlD 认证请求; RP 24, 用于完成 OpenlD机制并通过 UE 22重定向 RP和 UE 22 的认证请求到认证中心 26, 以及用于根据认证中心 26的认证结果为 UE 22 提供服务; 认证中心 26, 用于使用 SIP Digest认证方式对 UE 22进行认证, 将认证结果通过终端重定向到 RP 24。
优选地, 认证中心 26还用于根据 RP身份标识对 RP 24进行认证并保 存认证结果。
优选地, 认证中心 26还可以用于产生安全通信密钥, 并将安全通信密 钥通过 UE 22重定向到 RP 24; RP 24还用于采用安全通信密钥加密服务内 容并发送至 UE 22; UE 22还用于产生安全通信密钥, 采用安全通信密钥进 行解密获得服务内容
实施例 2
图 7是根据本发明实施例的运营商作为 OpenlD Provider利用 SIP Digest 认证机制实现非 UICC卡的 IMS终端对应用服务器的单点登录认证整体架 构图, 图 6是根据实施例 2的运营商作为 OpenlD Provider利用 SIP Digest 认证机制实现非 UICC 卡的 IMS 终端对应用服务器的单点登录认证流程 图,, 该实施例以图 7所示架构为基础, 结合图 6描述了单点登录方法的流 程, 详述如下:
步驟 1: UE终端向 RP发出一个 OpenlD认证请求, 该请求中携带用户 的 OpenlD标识符信息。
步驟 2: RP对 OpenlD标识符进行标准化, 同时根据该标识符 RP获得 OpenlD Provider地址以及发现 OP终点 URL, UE终端期望使用该 URL完 成认证, RP和 OP之间通过关联过程, 利用现有机制如 Diffie-Hellman密 钥交换协议等建立一个共享密钥 Kr,o; RP重定向该用户 OpenlD认证请求 和发送 RP认证请求到 OP地址。 同时在该消息中包含 RP 身份信息和 OpenID2.0中标准参数信息内容。
步驟 3: RP重定向该用户 OpenlD认证请求和发送 RP认证请求到 OP 地址。同时在该消息中包含 RP身份信息和 OpenID2.0中标准参数信息内容。
步驟 4: OpenlD认证请求被重定向到 OpenlD身份提供者 OP的地址。 该步驟后, OP建立用户身份标识与 OpenlD标识符信息之间的关联。
步驟 5: OP依据 RP身份标识信息 (RP_credential)对 RP进行认证; 同 时依据与传递的用户 OpenlD标识符信息 OpenlD identifier的映射关联终端 标识信息 U_credential来判断 OP中是否存在与其对应的 UE与 OP共享密 钥 K0。 若存在该共享密钥则直接跳转到步驟 12进行执行, 否则继续执行 下步步驟。 该步驟中 ΟΡ建立了 OpenlD identifier和终端用户身份标识符之 间的相互关联映射。
步驟 6: OP依据上步驟与 OpenlD identifier相关联的用户身份标识符 (U_credential)到 HSS 中查找并下载对应的 SIP Digest Authentication Vector(SD-AV)和用户配置信息内容。 其中包括 U_credential、 realm, qop、 algorithm和 H(A1), 其中 H(A1)是由 U_credential, realm和 assword组成 的一个哈希函数值。 在多 HSS环境下, OP可以通过询问 SLF获得对应的 储存用户信息的 HSS地址, 找到该对应的 HSS。
步驟 7: OP产生一个随机数 nonce, 并且把从 HSS下载的 H(A1)与该 nonce一起存储起来。
步驟 8: OP 向 UE发送一个 401 未认证挑战消息, 该信息中包含 U_credential、 realm、 qop、 algorithm和 nonce。
步骤 9: 产生一个随机数 cnonce。 利用 U_credential, realm和 password 产生 H(A1); 再利用 H(A1)、 cnonce等产生 UE和 OP共享密钥 K0。通过一 个 单 向 哈 希 函 数 F 计 算 response 值 。 response=F(H(Al),cnonce,nonce,qop,nonce-count)。终端用 cnonce进行网络认 证和避免" chosen plaintext"攻击。 nonce-count是计数器, 用户每使用同一个 nonce计算一次 response, nonce-count将增力口, 利用 nonce-count也参与 response计算, 降低重放攻击的可能性。
步驟 10: UE对步驟 8中的挑战信息向 OP发送一个响应 response, 该 响应信息中包含 cnonce、 nonce、 response, realm、 U_credential、 qop、 algorithm, Digest-url和 nonce-count。
步驟 11 : 利用储存的 nonce值对响应消息中的 nonce值进行检验, 若 检验正确, 则 OP利用收到的有关参数 cnonce、 nonce-count、 qo 等和原储 存 ό nonce及 H(A1)计算 Xresponse, ^!寻计算 ό Xresponse与 的 response 值进行比较,若两者比较结果相同则认证用户通过, 否则 UE用户终端认证 失败; 认证终端成功后, 认证中心 OP利用 SIP Digest认证机制中方法计算 rspauth参数值; 用 H(A1)、 cnonce等产生 UE和 OP共享密钥 K0。
步驟 12: ΟΡ 依据对终端的认证结果产生对 UE 的认证断言信息 UE_Assert; OP再产生一个随机数 noncel ; 然后利用 K0、 noncel等产生密 钥 K1 ;共享密钥 K0对 noncel进行加密操作产生 KO(noncel); 用 RP和 OP 共享密钥加密 K1和 UE_Assert产生 Kr,o(Kl,UE_Assert)。
步驟 13: OP向 UE终端发送 200OK信息, 包含 K0(noncel)、 rspauth 参数值和密钥生命周期等信息; 同时 OP重定向 UE终端到 RP, 该消息携 带 Kr,o(Kl,UE_Assert)。或者 OP发送重定向 UE到 RP消息,该消息中携带 K0(noncel)、 Kr,o(Kl,UE_Assert)、 rspauth参数值和密钥生命周期等信息。
步驟 14: UE终端解密 KO(noncel), 取得 noncel值; 同时终端 UE利 用和 IdP相同的机制计算产生 rspauth参数值,并且与收到的 rspauth参数值 进行对比, 两者相同则完成终端对网络的成功认证过程; 网络认证成功后 再利用 K0、 noncel等产生密钥 Kl。 步驟 15 : OP 发出的重定向消息被重定向到 RP , 该消息中携带 Kr,o(Kl,UE_Assert)0
步驟 16: RP收到该消息后, 利用共享密钥解密 Kr,o(Kl,UE_Assert), RP获得 OP对 UE终端的断言结果 UE_Assert和密钥 K1。
步驟 17: RP核实 UE_Assert 断言之后, RP产生 UE 的授权信息 UE_Author; 并且用密钥 K1对该授权信息进行加密产生 Kl(UE_Author)。
步驟 18: RP向 UE通知授权信息内容, 携带信息 Kl(UE_Author)。 步驟 19: UE根据密钥 K1是否能解密 Kl(UE_Author)来确定是否可以 获得请求的服务。
其中步驟 17、 18和 19为具体应用层步驟, 为可选步驟。
上述步驟中 1-19中任一步驟失败, 则整个认证过程停止继续。
若该 IMS终端 UE获得到请求服务后, 再请求别的应用服务器时, 在 该 IMS 终端用户 UE认证请求中携带用户 OpenlD 标识符信息 OpenlD identifier时, OP通过该用户 OpenlD标识符信息 OpenlD identifier映射关联 的终端标识信息查找对应的 K0密钥, 获知该用户是否已经认证通过, 若存 在该 K0密钥则用户不需要在进行 SIP Digest认证, 只需要进行 11步驟后 操作; 否则需要执行整个认证过程; 当 K0密钥生命周期到期, 则其自动销 毁, 认证用户需要再次进行 SIP Digest认证产生 UE和 OP共享密钥。
在 UE用户访问 RP应用服务器中, 若遭遇意外断网情况下, 当 UE还 未完成 UE认证过程,则若网络恢复后 UE要访问应用服务器则需要重新开 始认证过程; 当 UE已经完成认证过程, 若恢复网络用时未到达 K0生命周 期, 则网络恢复后 UE可以继续使用该 K0进行后续操作, 否则需要重新认 证。 在 UE用户访问 RP应用服务器后, 若遭遇用户主动关闭注销 UE或断 电等特殊情况, 则用户需要重新完成在 IMS内的注册等整个执行流程。
综上所述,本发明实施例提供的方案能够支持对不具有 UICC的终端单 点登录 RP的认证, 由于该方法不需要部署大量的 GBA, 且能够使非 UICC 终端接入 IMS网络,因此降低了网络运营商部署 GBA和嵌入 UICC卡的成 本, 降低维护各种设备的消耗, 并且可以通过 SSO的方式访问 IMS网络相 关的应用服务。
显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步驟 可以用通用的计算装置实现, 它们可以集中在单个的计算装置上, 或者分 布在多个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执行 的程序代码实现, 从而可以将它们存储在存储装置中由计算装置执行, 或 者将它们分别制作成各个集成电路模块, 或者将它们中的多个模块或步驟 制作成单个集成电路模块实现。 这样, 本发明不限制于任何特定的硬件和 软件结合。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。

Claims

权利要求书
1.一种单点登录方法, 包括:
终端向应用服务器 RP发送服务请求;
所述 RP获取认证中心地址;
所述 RP将自身的认证请求通过所述终端重定向到所述认证中心, 或 者,所述 RP向所述终端返回用于指示所述终端向所述认证中心进行认证的 响应;
所述终端向所述认证中心发送认证请求;
所述认证中心使用会话初始协议摘要 SIP Digest认证方式对所述终端 进行认证, 将认证结果通过所述终端重定向到所述 RP; 在使用所述 SIP Digest认证方式的认证过程中,所述认证中心和所述终端两者利用相同的哈 希值和随机数产生共享密钥;
所述 RP根据所述认证结果为所述终端提供服务。
2.根据权利要求 1所述的方法, 其中, 在所述认证中心使用 SIP Digest 认证方式对所述终端进行认证之前, 还包括:
所述认证中心判断是否存在与所述终端之间的第一共享密钥 K0, 若不 存在, 则继续后续处理; 若存在, 则直接将认证结果重定向到所述 RP。
3.根据权利要求 1所述的方法, 其中, 还包括:
所述 RP获得所述认证中心的地址,将自身认证请求重定向到所述认证 中心或所述 RP 向所述终端返回用于指示所述终端向所述认证中心进行认 证的响应; 其中, 所述 RP认证请求携带 RP身份标识 RP_credential; 所述 终端跟随重定向消息或发送认证消息到所述认证中心;
所述认证中心根据所述 RP身份标识对所述 RP进行认证并保存认证结 果。
4.根据权利要求 1 所述的方法, 其中, 所述认证中心使用 SIP Digest 认证方式对所述终端进行认证包括:
所述认证中心根据对应于所述终端的 SIP Digest认证向量,对所述终端 进行认证。
5.根据权利要求 4所述的方法, 其中, 所述认证中心根据用户身份标 识从归属用户寄存器 HSS获取对应于所述终端的所述 SIP Digest认证向量 并存储。
6.根据权利要求 4所述的方法,其中, 所述 SIP Digest认证向量至少包 括以下内容中至少之一: 用户身份标识、 认证算法 algorithm, 质量保障、 作用域 realm、 哈希值 H(A1); 其中, H(A1)由用户身份标识、 所述 realm和 口令 assword组成。
7.根据权利要求 6所述的方法, 其中, 所述认证中心使用 SIP Digest 认证方式对所述终端进行认证包括:
所述认证中心产生随机数 nonce , 将携带所述 algorithm、 所述 nonce和 所述 realm的消息发送至所述终端;
所述终端产生随机数 cnonce, 根据所述 nonce, 所述 cnonce和由所述 realm, 所述用户身份标识和输入的 password产生的哈希值 H(A1), 通过所 述 algorithm生成响应值 response , 向所述认证中心返回响应消息; 其中, 所述响应消息携带所述 cnonce、 所述 nonce、 所述 realm、 所述 response和 所述 algorithm;
所述认证中心采用所述 algorithm根据所述 H(A1)、 所述 nonce和所述 cnonce 计算校验响应值 Xresponse , 将接收到的所述 response 和所述 Xresponse进行比较, 若相同则认证成功, 否则认证失败; 计算 SIP Digest 认证机制的 rspauth参数值。
8.根据权利要求 7所述的方法, 其中,
在所述认证中心产生随机数 nonce, 将携带所述 algorithm, 所述 nonce 和所述 realm的消息发送至所述终端之后,还包括:所述终端根据所述 H(A1) 和所述 cnonce计算所述认证中心与所述终端之间的第一共享密钥 K0;
在所述认证中心使用 SIP Digest认证方式对所述终端进行认证之后,还 包括: 所述认证中心根据所述 H(A1)和所述 cnonce计算所述 K0并存储, 计算 SIP Digest认证机制的 rspauth参数值。
9.根据权利要求 5-8中任一项所述的方法,其中,所述用户身份标识为 开放式身份标识 OpenlD, 所述认证中心为 OpenlD提供者 OP; 或者, 所述 用户身份标识为输入到所述终端的身份标识或所述终端在因特网协议多媒 体子*** IMS***上分配获得的身份标识, 所述认证中心为单点登录认证 中心 IdP。
10. 根据权利要求 9所述的方法, 其中, 在所述用户身份标识为输入 到所述终端的身份标识或所述终端在 IMS***上分配获得的身份标识时, 所述认证中心为所述 IdP , 且所述认证中心认证成功的情况下, 还包括: 所述认证中心生成随机数 noncel , 根据所述 noncel和所述认证中心与 所述终端之间的第一共享密钥 K0生成第二密钥 K1;
所述认证中心采用所述 K0加密所述 noncel和对所述 RP的认证结果 RP_Auth, 得到 K0(noncel,RP_Auth), 采用和所述 RP之间的共享密钥 Kr,i 加密所述 K1和对所述终端的认证结果 UE_Auth, 得到 Kr,i(Kl,UE_Auth); 所述终端在所述认证中心将所述终端重定向到所述 RP 的重定向消息 中获得所述 K0(noncel ,RP_Auth)、 rspauth参数值和 Kr,i(Kl ,UE_Auth)之后, 将 Kr,i(Kl,UE_Auth)重定向到所述 RP;
所述终端解密所述 K0(noncel,RP_Auth), 得到对所述 RP的认证结果, 所述终端利用所述认证中心相同的方式产生 rspauth 参数值, 对比产生的 rspauth和解密获得 rspauth值, 所述终端完成网络的认证, 网络认证成功后 所述终端生成第二密钥 K1; 并且, 所述 RP解密所述 Kr,i(Kl,UE_Auth), 采用所述 Kl加密服务内容并发送至所述终端;
所述终端采用 K1进行解密以获得所述服务内容。
11. 根据权利要求 9 所述的方法, 其中, 在所述用户身份标识为 OpenID,所述认证中心为 OP,且所述认证中心认证成功的情况下,还包括: 所述认证中心生成随机数 noncel , 根据所述 noncel和所述认证中心与 所述终端之间的第一共享密钥 K0生成第二密钥 K1 ;
所述认证中心采用所述 K0加密所述 noncel和对所述 RP的认证断言 RP_Assert, 得到 KO(noncel,RP_Assert), 采用和所述 RP之间的共享密钥 Κτ,ο 加密所述 K1 和对所述终端的认证断言 UE_Assert , 得到 Kr,o(Kl,UE_Assert);
所述认证中心向所述终端发送携带 KO(noncel,RP_Auth)和 rspauth参数 值的 200OK信息并将 Kr,o(Kl,UE_Auth)重定向到所述 RP, 或者, 所述终 端在所述认证中心将所述终端重定向到所述 RP 的重定向消息中以获得所 述 KO(noncel,RP_Assert)、 rspauth 参数值和 Kr,o(Kl,UE_Assert) , 之后将 Kr,o(Kl,UE_Assert)重定向到所述 RP;
所述终端解密所述 KO(noncel,RP_Assert),得到对所述 RP的认证断言, 并从消息中获得 rspauth参数值, 所述终端利用所述认证中心相同的方式产 生 rspauth参数值, 对比产生的 rspauth和解密获得 rspauth值, 所述终端完 成网络的认证, 网络认证成功后所述终端生成第二密钥 K1 ; 并且, 所述 RP 解密所述 Kr,o(Kl,UE_Assert), 采用所述 K1加密服务内容并发送至所述终 所述终端采用 K1进行解密以获得所述服务内容。
12. 根据权利要求 9 所述的方法, 其中, 在所述用户身份标识为 OpenID,所述认证中心为 OP,且所述认证中心认证成功的情况下,还包括: 所述认证中心生成随机数 noncel , 根据所述 noncel和所述认证中心与 所述终端之间的第一共享密钥 K0生成第二密钥 K1 ;
所述认证中心采用所述 K0 加密所述 noncel 等信息内容, 得到 KO(noncel), 采用和所述 RP之间的共享密钥 Κτ,ο加密所述 K1和对所述终 端的认证断言 UE_Assert, 得到 Kr,o(Kl,UE_Assert);
所述认证中心向所述终端发送携带 KO(noncel)和 rspauth 参数值的 200OK信息并将 Kr,o(Kl,UE_Auth)重定向到所述 RP, 或者, 所述终端在所 述认证中心将所述终端重定向到所述 RP 的重定向消息中以获得所述 KO(noncel)、 rspauth参数值和 Kr,o(Kl ,UE_Assert) ,之后将 Kr,o(Kl ,UE_Assert) 重定向到所述 RP;
所述终端解密所述 KO(noncel), 得到 noncel , 并从消息中获得 rspauth 参数值, 所述终端利用所述认证中心相同的方式产生 rspauth参数值, 对比 产生的 rspauth和解密获得 rspauth值,所述终端完成网络的认证, 网络认证 成功后所述终端生成第二密钥 K1; 并且, 所述 RP 解密所述 Kr,o(Kl,UE_Assert), 采用所述 K1加密服务内容并发送至所述终端;
所述终端采用 K1进行解密以获得所述服务内容。
13. 一种单点登录***, 包括:
终端, 用于向 RP发送服务请求, 向所述认证中心发送认证请求, 和所 述认证中心利用相同的哈希值和随机数产生共享密钥;
所述 RP 用于获取所述认证中心地址并将自身的认证请求通过所述终 端重定向到所述认证中心, 或者, 所述 RP用于获取所述认证中心地址并向 所述终端返回用于指示所述终端向所述认证中心进行认证的响应;
以及用于根据所述认证中心的认证结果为所述终端提供服务;
所述认证中心, 用于使用 SIP Digest认证方式对所述终端进行认证,将 认证结果通过所述终端重定向到所述 RP, 和所述终端利用相同的哈希值和 随机数产生共享密钥。
14. 根据权利要求 13所述的***, 其中, 所述认证中心还用于根据 RP身份标识对所述 RP进行认证并保存认证结果。
15. 根据权利要求 13或 14所述的***, 其中, 所述认证中心还用于 产生安全通信密钥,并将所述安全通信密钥通过所述终端重定向到所述 RP; 所述 RP还用于采用所述安全通信密钥加密服务内容并发送至所述终端;所 述终端还用于产生所述安全通信密钥, 采用所述安全通信密钥进行解密以 获得所述服务内容。
PCT/CN2012/074932 2011-07-04 2012-04-28 单点登录方法及*** WO2013004104A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2011101857121A CN102869010A (zh) 2011-07-04 2011-07-04 单点登录方法及***
CN201110185712.1 2011-07-04

Publications (1)

Publication Number Publication Date
WO2013004104A1 true WO2013004104A1 (zh) 2013-01-10

Family

ID=47436491

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/074932 WO2013004104A1 (zh) 2011-07-04 2012-04-28 单点登录方法及***

Country Status (2)

Country Link
CN (1) CN102869010A (zh)
WO (1) WO2013004104A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259663A (zh) * 2013-05-07 2013-08-21 南京邮电大学 一种云计算环境下的用户统一认证方法
CN104683103B (zh) * 2013-11-29 2018-02-23 ***通信集团公司 一种终端设备登录认证的方法和设备
CN104506555A (zh) * 2015-01-06 2015-04-08 北京艾力泰尔信息技术有限公司 客户端零存储的单点登录方法
CN110035035B (zh) * 2018-01-12 2021-09-17 北京新媒传信科技有限公司 一种单点登录的二次认证方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039311A (zh) * 2006-03-16 2007-09-19 华为技术有限公司 一种身份标识网页业务网***及其鉴权方法
CN100550725C (zh) * 2005-06-17 2009-10-14 中兴通讯股份有限公司 一种用户与应用服务器协商共享密钥的方法
WO2010128348A1 (en) * 2009-05-08 2010-11-11 Telefonaktiebolaget L M Ericsson (Publ) System and method of using a gaa/gba architecture as digital signature enabler

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022651B (zh) * 2006-02-13 2012-05-02 华为技术有限公司 一种组合鉴权架构及其实现方法
CN101510877B (zh) * 2009-02-25 2012-05-23 中国联合网络通信集团有限公司 单点登录方法和***、通信装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100550725C (zh) * 2005-06-17 2009-10-14 中兴通讯股份有限公司 一种用户与应用服务器协商共享密钥的方法
CN101039311A (zh) * 2006-03-16 2007-09-19 华为技术有限公司 一种身份标识网页业务网***及其鉴权方法
WO2010128348A1 (en) * 2009-05-08 2010-11-11 Telefonaktiebolaget L M Ericsson (Publ) System and method of using a gaa/gba architecture as digital signature enabler

Also Published As

Publication number Publication date
CN102869010A (zh) 2013-01-09

Similar Documents

Publication Publication Date Title
KR102018971B1 (ko) 네트워크 액세스 디바이스가 무선 네트워크 액세스 포인트를 액세스하게 하기 위한 방법, 네트워크 액세스 디바이스, 애플리케이션 서버 및 비휘발성 컴퓨터 판독가능 저장 매체
US10411884B2 (en) Secure bootstrapping architecture method based on password-based digest authentication
US9015819B2 (en) Method and system for single sign-on
US9490984B2 (en) Method and apparatus for trusted authentication and logon
JP4824813B2 (ja) アプリケーションの認証
JP5688087B2 (ja) 信頼できる認証およびログオンのための方法および装置
JP2017535998A5 (zh)
WO2019085531A1 (zh) 一种终端联网认证的方法和装置
US9544298B2 (en) Method for certificate-based authentication
CN112312393A (zh) 5g应用接入认证方法及5g应用接入认证网络架构
Younes Securing ARP and DHCP for mitigating link layer attacks
WO2007104248A1 (en) Method, system, apparatus and bsf entity for preventing bsf entity from attack
WO2013044766A1 (zh) 无卡终端的业务访问方法及设备
WO2013004104A1 (zh) 单点登录方法及***
WO2012126299A1 (zh) 组合认证***及认证方法
JP2017139026A (ja) 信頼できる認証およびログオンのための方法および装置
US9485654B2 (en) Method and apparatus for supporting single sign-on in a mobile communication system
JP2015111440A (ja) 信頼できる認証およびログオンのための方法および装置
WO2012129985A1 (zh) 单点登录方法及***
KR20130046781A (ko) 무선 네트워크 접속 인증 방법 및 그 시스템
WO2020037958A1 (zh) 基于gba的客户端注册和密钥共享方法、装置及***
CN102469102B (zh) 单点登录方法及***
WO2013064040A1 (zh) 一种ims单点登录的组合鉴权方法及***
EP4381685A1 (en) Establishment of forward secrecy during digest authentication
CN116321158A (zh) 基于证书的本地ue认证

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12807587

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12807587

Country of ref document: EP

Kind code of ref document: A1