JP6386967B2 - Authentication method and system - Google Patents

Authentication method and system Download PDF

Info

Publication number
JP6386967B2
JP6386967B2 JP2015092711A JP2015092711A JP6386967B2 JP 6386967 B2 JP6386967 B2 JP 6386967B2 JP 2015092711 A JP2015092711 A JP 2015092711A JP 2015092711 A JP2015092711 A JP 2015092711A JP 6386967 B2 JP6386967 B2 JP 6386967B2
Authority
JP
Japan
Prior art keywords
server
idp
signature
client terminal
challenge
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015092711A
Other languages
Japanese (ja)
Other versions
JP2016213543A (en
Inventor
麗生 吉田
麗生 吉田
仁 冨士
仁 冨士
鉄太郎 小林
鉄太郎 小林
具英 山本
具英 山本
祐人 川原
祐人 川原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015092711A priority Critical patent/JP6386967B2/en
Publication of JP2016213543A publication Critical patent/JP2016213543A/en
Application granted granted Critical
Publication of JP6386967B2 publication Critical patent/JP6386967B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、クライアント端末、サーバ等の情報処理機器間でセッションを確立するためのプロトコル、特にSIPプロトコルにおける認証に関するものである。   The present invention relates to a protocol for establishing a session between information processing devices such as a client terminal and a server, in particular, authentication in the SIP protocol.

RFC3261に規定されているSIPプロトコルでは、HTTPダイジェスト認証によりクライアント端末が登録されている(例えば、非特許文献1参照。)。HTTPダイジェスト認証は、RFC2617に規定されている(例えば、非特許文献2参照。)。   In the SIP protocol defined in RFC3261, a client terminal is registered by HTTP digest authentication (see, for example, Non-Patent Document 1). HTTP digest authentication is defined in RFC2617 (see Non-Patent Document 2, for example).

RFC3261RFC3261 RFC2617RFC2617

HTTPダイジェスト認証を行うためには、パスワードリストをサーバに事前に記憶しておく必要があるが、このパスワードリストが流出するリスクがあった。   In order to perform HTTP digest authentication, it is necessary to store the password list in the server in advance, but there is a risk that this password list will be leaked.

この発明の目的は、パスワードリストが流出するリスクのない、SIPプロトコルにおける認証方法及びシステムを提供することである。   An object of the present invention is to provide an authentication method and system in the SIP protocol without risk of leaking a password list.

この発明の一態様による認証方法は、SPサーバが、SIPプロトコルにおけるクライアント端末の登録のときに、クライアント端末からの要求に応じて、上記SPサーバの秘密鍵を用いて上記SPサーバのチャレンジであるSPチャレンジに対して署名を行いSP署名を生成し、上記SP署名と、上記SPチャレンジと、IdPサーバについての情報とを上記クライアント端末に送信するステップと、上記クライアント端末が、上記IdPサーバについての情報により特定されるIdPサーバに、上記SP署名と、上記SPチャレンジと、クライアントチャレンジと、を送信するステップと、上記IdPサーバが、上記SPサーバの公開鍵を用いて上記SP署名の検証を行い、その検証に成功した場合には、上記クライアント端末のIDが存在するかどうかを確認し、その確認ができた場合には、上記IdPサーバの秘密鍵を用いて上記SPチャレンジに対して署名を行い第一IdP署名を生成し、上記IdPサーバの秘密鍵を用いて上記クライアントチャレンジに対して署名を行い第二IdP署名を生成し、上記第一IdP署名及び上記第二IdP署名を上記クライアント端末に送信するステップと、上記クライアント端末が、上記IdPサーバの公開鍵を用いて上記第二IdP署名の検証を行い、その検証に成功した場合には、上記第一IdP署名を上記SPサーバに送信するステップと、上記SPサーバが、上記IdPサーバの公開鍵を用いて上記第一IdP署名の検証を行い、その検証に成功した場合には、上記SIPプロトコルにおける上記クライアント端末の登録を行うステップと、を備えている。   The authentication method according to an aspect of the present invention is a challenge of the SP server using the SP server secret key in response to a request from the client terminal when the SP server registers the client terminal in the SIP protocol. Signing the SP challenge to generate an SP signature, sending the SP signature, the SP challenge, and information about the IdP server to the client terminal; and Transmitting the SP signature, the SP challenge, and the client challenge to the IdP server specified by the information, and the IdP server verifies the SP signature using the public key of the SP server. If the verification is successful, check whether the client terminal ID exists, and if the verification is successful, Use the IdP server private key to sign the SP challenge and generate the first IdP signature, and use the IdP server private key to sign the client challenge and generate the second IdP signature Transmitting the first IdP signature and the second IdP signature to the client terminal, and the client terminal verifies the second IdP signature using the public key of the IdP server. If successful, the first IdP signature is sent to the SP server, and the SP server verifies the first IdP signature using the public key of the IdP server, and the verification is successful. In some cases, the method includes a step of registering the client terminal in the SIP protocol.

パスワードリストが用いられないため、パスワードリストが流出するリスクがなくなる。   Since the password list is not used, there is no risk of the password list being leaked.

第一実施形態の認証システムの例を説明するためのブロック図。The block diagram for demonstrating the example of the authentication system of 1st embodiment. 第一実施形態の認証方法の例を説明するための流れ図。The flowchart for demonstrating the example of the authentication method of 1st embodiment. 第二実施形態の認証システムの例を説明するためのブロック図。The block diagram for demonstrating the example of the authentication system of 2nd embodiment. 第二実施形態の認証方法の例を説明するための流れ図。The flowchart for demonstrating the example of the authentication method of 2nd embodiment.

[第一実施形態]
第一実施形態の認証システムは、クライアント端末1及びサーバ2を例えば備えている。クライアント端末1は、携帯電話、スマートフォン、タブレット端末、PC等の情報処理機器である。サーバ2は、SIP(Session Initiation Protocol)サーバである。
[First embodiment]
The authentication system of the first embodiment includes a client terminal 1 and a server 2, for example. The client terminal 1 is an information processing device such as a mobile phone, a smartphone, a tablet terminal, or a PC. The server 2 is a SIP (Session Initiation Protocol) server.

認証システムが、図2や以下に例示する各処理を行うことにより認証方法が実現される。   The authentication method is realized by the authentication system performing the processes illustrated in FIG. 2 and the following.

<ステップS1>
まず、クライアント端末1は、SIPプロトコルにおけるクライアント端末1の登録のときに、クライアントチャレンジC1をサーバ2に送信する(ステップS1)。
<Step S1>
First, the client terminal 1, when the registration of the client terminal 1 in the SIP protocol, and transmits the client challenge C 1 to the server 2 (step S1).

クライアントチャレンジC1は、任意の文字列であってもよいし、任意の数列であってもよい。クライアント端末1は、例えば所定のアルゴリズムに基づいて乱数を生成して、生成された乱数をクライアントチャレンジC1とする。 Client Challenge C 1 may be an arbitrary string, it may be any sequence. The client terminal 1, for example, generates a random number based on a predetermined algorithm, the generated random number a client challenge C 1.

例えば、クライアント端末1は、SIPプロトコルにおけるREGISTERメソッドのメッセージと共にクライアントチャレンジC1をサーバ2に送信する。例えば、クライアントチャレンジC1はREGISTERメソッドのメッセージの一部としてサーバ2に送信される。このメッセージには、クライアント端末1を識別する情報であるCALL-IDが含まれていてもよい。 For example, the client terminal 1 transmits a client challenge C 1 to the server 2 together with a REGISTER method message in the SIP protocol. For example, the client challenge C 1 is transmitted to the server 2 as a part of the REGISTER method message. This message may include CALL-ID which is information for identifying the client terminal 1.

<ステップS2>
サーバ2は、クライアント端末1からクライアントチャレンジC1を受信する。
<Step S2>
The server 2 receives the client challenge C 1 from the client terminal 1.

サーバ2は、サーバ2の秘密鍵を用いてクライアントチャレンジC1に対して署名を行いサーバ署名σ1を生成し、サーバチャレンジC2及びサーバ署名σ1をクライアント端末1に送信する(ステップS2)。 Server 2 generates a server signature sigma 1 performs signature to the client challenge C 1 using the private key of the server 2, and transmits the server challenge C 2 and server signature sigma 1 to the client terminal 1 (step S2) .

署名の方法は、RSA署名、ElGamal署名、DSA署名、Schnorr署名、Cramer-Shoup署名、楕円ElGamal署名、楕円曲線DSA署名、楕円Schnorr署名等の既存の署名の方法を用いればよい。既存の署名の方法を用いればよいのは、この発明の他の署名についても同様である。   As a signature method, an existing signature method such as an RSA signature, an ElGamal signature, a DSA signature, a Schnorr signature, a Cramer-Shoup signature, an elliptic ElGamal signature, an elliptic curve DSA signature, or an elliptic Schnorr signature may be used. The existing signature method can be used for other signatures of the present invention.

サーバ2の秘密鍵をSsとし、署名の関数をsignとすると、サーバ署名σ1は、σ1=signSs(C1)と表記することができる。 When the secret key of the server 2 is Ss and the signature function is sign, the server signature σ 1 can be expressed as σ 1 = sign Ss (C 1 ).

サーバチャレンジC2は、任意の文字列であってもよいし、任意の数列であってもよい。サーバ2は、例えば所定のアルゴリズムに基づいて乱数を生成して、生成された乱数をサーバトチャレンジC2とする。 Server challenge C 2 may be an arbitrary string, it may be any sequence. Server 2, for example, generates a random number based on a predetermined algorithm, the generated random number with the server preparative challenge C 2.

例えば、サーバ2は、SIPプロトコルにおける2XX又は4XXの応答コードのメッセージと共にサーバチャレンジC2及びサーバ署名σ1をクライアント端末1に送信する。例えば、サーバチャレンジC2及びサーバ署名σ1は、2XX又は4XXの応答コードのメッセージの一部としてクライアント端末1に送信される。2XX及び4XXのXは、任意の整数である。 For example, the server 2 transmits the server challenge C 2 and the server signature σ 1 together with the 2XX or 4XX response code message in the SIP protocol to the client terminal 1. For example, the server challenge C 2 and the server signature σ 1 are transmitted to the client terminal 1 as part of a 2XX or 4XX response code message. X in 2XX and 4XX is an arbitrary integer.

<ステップS3>
クライアント端末1は、サーバ2からサーバチャレンジC2及びサーバ署名σ1を受信する。
<Step S3>
The client terminal 1 receives the server challenge C 2 and the server signature σ 1 from the server 2.

クライアント端末1は、サーバ2の公開鍵を用いてサーバ署名σ1の検証を行い、その検証に成功した場合には、クライアント端末1の秘密鍵を用いてサーバチャレンジC2に対して署名を行いクライアント端末署名σを生成し、クライアント端末署名σをサーバ2に送信する(ステップS3)。 The client terminal 1 verifies the server signature σ 1 using the public key of the server 2. If the verification is successful, the client terminal 1 signs the server challenge C 2 using the secret key of the client terminal 1. The client terminal signature σ 2 is generated, and the client terminal signature σ 2 is transmitted to the server 2 (step S3).

検証の方法は、RSA署名、ElGamal署名、DSA署名、Schnorr署名、Cramer-Shoup署名、楕円ElGamal署名、楕円曲線DSA署名、楕円Schnorr署名等の既存の署名の方法における検証方法を用いればよい。既存の署名の方法における検証方法を用いればよいのは、この発明の他の検証についても同様である。   As a verification method, a verification method in an existing signature method such as an RSA signature, an ElGamal signature, a DSA signature, a Schnorr signature, a Cramer-Shoup signature, an elliptic ElGamal signature, an elliptic curve DSA signature, or an elliptic Schnorr signature may be used. The verification method in the existing signature method may be used for other verifications of the present invention.

サーバ2の公開鍵をSpとし、サーバ署名をσ1とし、検証の関数をverifyとすると、クライアント端末1による検証は、verifySp1)=?0 or 1と表記することができる。verifySp1)=1は検証に成功したことを意味し、verifySp1)=0は検証に成功しなかったことを意味する。 If the public key of the server 2 is Sp, the server signature is σ 1 , and the verification function is verify, the verification by the client terminal 1 can be expressed as verify Sp1 ) = ? 0 or 1. verify Sp1 ) = 1 means that the verification is successful, and verify Sp1 ) = 0 means that the verification is not successful.

クライアント端末1の秘密鍵をCsとし、署名の関数をsignとすると、クライアント端末署名σ2は、σ2=signCs(C2)と表記することができる。 When the secret key of the client terminal 1 is Cs and the signature function is sign, the client terminal signature σ 2 can be expressed as σ 2 = sign Cs (C 2 ).

例えば、クライアント端末1は、SIPプロトコルにおけるREGISTERメソッドのメッセージと共にクライアント端末署名σをサーバ2に送信する。例えば、クライアント端末署名σは、REGISTERメソッドのメッセージの一部としてサーバ2に送信される。このメッセージには、クライアント端末1を識別する情報であるCALL-IDをサーバ2が含まれていてもよい。 For example, the client terminal 1 transmits the client terminal signature σ 2 together with the REGISTER method message in the SIP protocol to the server 2. For example, the client terminal signature σ 2 is transmitted to the server 2 as a part of the REGISTER method message. The server 2 may include CALL-ID, which is information for identifying the client terminal 1, in this message.

<ステップS4>
サーバ2は、クライアント端末署名σをクライアント端末1から受信する。
<Step S4>
The server 2 receives the client terminal signature σ 2 from the client terminal 1.

サーバ2が、クライアント端末1の公開鍵を用いてクライアント端末署名の検証を行い、その検証に成功した場合には、SIPプロトコルにおけるクライアント端末1の登録を行う(ステップS4)。   The server 2 verifies the client terminal signature using the public key of the client terminal 1, and if the verification is successful, registers the client terminal 1 in the SIP protocol (step S4).

クライアント端末1の公開鍵をCpとし、クライアント端末署名をσ2とし、検証の関数をverifyとすると、サーバ2による検証は、verifyCp2)=?0 or 1と表記することができる。verifyCp2)=1は検証に成功したことを意味し、verifyCp2)=0は検証に成功しなかったことを意味する。 If the public key of the client terminal 1 is Cp, the client terminal signature is σ 2 , and the verification function is verify, the verification by the server 2 can be expressed as verify Cp2 ) = ? 0 or 1. verify Cp2 ) = 1 means that the verification is successful, and verify Cp2 ) = 0 means that the verification is not successful.

その際、サーバ2は、クライアント端末署名の検証の合格の後に、クライアント端末1のIDが存在するかどうかを確認し、その確認ができた場合に、クライアント端末1の登録を行ってもよい。   At this time, the server 2 may check whether the ID of the client terminal 1 exists after the verification of the client terminal signature is successful, and may register the client terminal 1 if the ID is confirmed.

クライアント端末1のIDの存在の確認は、サーバ2がIDのデータベースを有している場合には、そのデータベースを参照することにより行う。そのデータベースの中にクライアント端末1のIDが存在していれば、その存在が確認できたと判断することができ、そのデータベースの中にクライアント端末1のIDが存在していなければ、その存在は確認できないと判断することができる。   The existence of the ID of the client terminal 1 is confirmed by referring to the database if the server 2 has an ID database. If the ID of the client terminal 1 exists in the database, it can be determined that the existence has been confirmed. If the ID of the client terminal 1 does not exist in the database, the existence is confirmed. It can be judged that it is not possible.

IDのデータベースが図示していないLDAPサーバに記憶されている場合には、サーバ2はLDAPサーバに問い合わせることにより、IDの存在を確認してもよい。例えば、IDとして、クライアント端末1のCALL-IDに対応するメールアドレスが用いられている場合には、サーバ2は、そのメールアドレスの存在の有無をLDAPサーバに問い合わせる。LDAPサーバは、そのメールアドレスが存在の有無についての情報をサーバ2に送信する。サーバ2は、そのメールアドレスが存在する旨の情報を得た場合には、クライアント端末1のIDの存在が確認できたと判断することができ、そのメールアドレスが存在しない旨の情報を得た場合には、クライアント端末1のIDが存在は確認できないと判断することができる。   When the database of IDs is stored in an LDAP server (not shown), the server 2 may confirm the existence of the IDs by making an inquiry to the LDAP server. For example, when a mail address corresponding to the CALL-ID of the client terminal 1 is used as the ID, the server 2 inquires of the LDAP server whether the mail address exists. The LDAP server transmits information about whether the mail address exists to the server 2. When the server 2 obtains information that the mail address exists, the server 2 can determine that the existence of the ID of the client terminal 1 has been confirmed, and obtains information that the mail address does not exist. Therefore, it can be determined that the existence of the ID of the client terminal 1 cannot be confirmed.

なお、サーバ2は、クライアント端末1のCALL-IDに対応するメールアドレスのみならず、クライアント端末1の公開鍵が存在しているかどうかをLDAPサーバに問い合わせ、クライアント端末1のCALL-IDに対応するメールアドレスのみならず、クライアント端末1の公開鍵が存在している場合に、クライアント端末1のIDが存在していると判断してもよい。   The server 2 inquires of the LDAP server whether the public key of the client terminal 1 exists as well as the mail address corresponding to the CALL-ID of the client terminal 1, and corresponds to the CALL-ID of the client terminal 1. When not only the mail address but also the public key of the client terminal 1 exists, it may be determined that the ID of the client terminal 1 exists.

サーバ2は、クライアント端末1に登録の結果についての情報を送信する。例えば、サーバ2は、SIPプロトコルにおける2XX又は4XXの応答コードのメッセージを送信することで、登録の結果についての情報を送信する。2XXはリクエストが成功したこと(ここでは、登録が成功したこと)を表す応答コードであり、4XXはリクエストが誤りであるかリクエストを処理することができないこと(ここでは、登録が成功しなかったこと)を表す応答コードである。   The server 2 transmits information about the registration result to the client terminal 1. For example, the server 2 transmits information about the result of registration by transmitting a 2XX or 4XX response code message in the SIP protocol. 2XX is a response code indicating that the request was successful (here, registration was successful), and 4XX was that the request was incorrect or the request could not be processed (here, registration was not successful) This is a response code that represents

サーバ2がSIPProxyサーバとして機能する場合には、その後、サーバ2が、検証に成功したクライアント端末1、言い換えれば登録されたクライアント端末1からの、SIPプロトコルにおけるINVITEメソッドのメッセージのみを受け付け、検証に成功していないクライアント端末1、言い換えれば登録されていないクライアント端末1からの、SIPプロトコルにおけるINVITEメソッドのメッセージの受け付けを拒否してもよい。   If the server 2 functions as a SIPProxy server, then the server 2 accepts only the INVITE method message in the SIP protocol from the client terminal 1 that has been successfully verified, in other words, from the registered client terminal 1 for verification. You may refuse the reception of the message of the INVITE method in SIP protocol from the client terminal 1 which is not successful, in other words, the client terminal 1 which is not registered.

このように、SIPプロトコルの登録の際にパスワードリストを用いずに認証を行うことにより、パスワードリストが用いられないため、パスワードリストが流出するリスクがなくなる。   In this way, by performing authentication without using the password list when registering the SIP protocol, the password list is not used, and thus there is no risk of the password list being leaked.

[第二実施形態]
第二実施形態の認証システムは、図3に示すように、クライアント端末1、SPサーバ3、SIPサーバ4及びIdPサーバ5を例えば備えている。クライアント端末1は、携帯電話、スマートフォン、タブレット端末、PC等の情報処理機器である。SPサーバ3は、クライアント端末1に対して所定のサービスを提供するサービスプロバイダ(Service Provider)サーバである。SIPサーバ4は、SIP(Session Initiation Protocol)サーバである。IdPサーバ5は、アイデンティティプロバイダ(IDentity Provider)サーバである。
[Second Embodiment]
As shown in FIG. 3, the authentication system according to the second embodiment includes, for example, a client terminal 1, an SP server 3, a SIP server 4, and an IdP server 5. The client terminal 1 is an information processing device such as a mobile phone, a smartphone, a tablet terminal, or a PC. The SP server 3 is a service provider server that provides a predetermined service to the client terminal 1. The SIP server 4 is a SIP (Session Initiation Protocol) server. The IdP server 5 is an identity provider server.

認証システムが、図4や以下に例示する各処理を行うことにより認証方法が実現される。   The authentication method is realized by the authentication system performing the processes illustrated in FIG. 4 and the following.

<ステップT1>
SPサーバ3は、SIPプロトコルにおけるクライアント端末1の登録のときに、クライアント端末1からの要求に応じて、SPサーバ3の秘密鍵を用いてSPサーバ3のチャレンジであるSPチャレンジCSPに対して署名を行いSP署名σSPを生成し、SP署名σSPと、SPチャレンジCSPと、IdPサーバ5についての情報とをクライアント端末1に送信する(ステップT1)。
<Step T1>
SP server 3, when the registration of the client terminal 1 in the SIP protocol, in response to a request from the client terminal 1 for SP challenge C SP is a challenge SP server 3 using the private key of the SP server 3 signature generates SP signature sigma SP performs, and SP signature sigma SP, and SP challenge C SP, transmits the information about the IdP server 5 to the client terminal 1 (step T1).

クライアント端末1からの要求とは、例えば、クライアント端末1からSPサーバ3へのSIPプロトコルにおけるREGISTERメソッドのメッセージの送信のことである。このメッセージには、クライアント端末1を識別する情報であるCALL-IDが含まれていてもよい。   The request from the client terminal 1 is, for example, transmission of a REGISTER method message in the SIP protocol from the client terminal 1 to the SP server 3. This message may include CALL-ID which is information for identifying the client terminal 1.

SPチャレンジCSPは、任意の文字列であってもよいし、任意の数列であってもよい。SPサーバ3は、例えば所定のアルゴリズムに基づいて乱数を生成して、生成された乱数をSPチャレンジCSPとする。 The SP challenge C SP may be an arbitrary character string or an arbitrary number sequence. The SP server 3 generates a random number based on, for example, a predetermined algorithm, and uses the generated random number as an SP challenge C SP .

SPサーバ3の秘密鍵をSPsとし、署名の関数をsignとすると、SPサーバ署名σSPは、σSP=signSs(CSP)と表記することができる。 When the private key of the SP server 3 is SPs and the signature function is sign, the SP server signature σ SP can be expressed as σ SP = sign Ss (C SP ).

<ステップT2>
クライアント端末1は、SP署名σSPと、SPチャレンジCSPと、IdPサーバ5についての情報とをSPサーバ3から受信する。
<Step T2>
The client terminal 1 receives the SP signature σ SP , the SP challenge C SP, and information about the IdP server 5 from the SP server 3.

クライアント端末1は、IdPサーバ5についての情報により特定されるIdPサーバ5に、SP署名σSPと、SPチャレンジCSPと、クライアントチャレンジC1とを送信する(ステップT2)。 The client terminal 1 transmits the SP signature σ SP , the SP challenge C SP, and the client challenge C 1 to the IdP server 5 specified by the information about the IdP server 5 (step T2).

クライアントチャレンジC1は、任意の文字列であってもよいし、任意の数列であってもよい。クライアント端末1は、例えば所定のアルゴリズムに基づいて乱数を生成して、生成された乱数をクライアントチャレンジC1とする。 Client Challenge C 1 may be an arbitrary string, it may be any sequence. The client terminal 1, for example, generates a random number based on a predetermined algorithm, the generated random number a client challenge C 1.

例えば、クライアント端末1は、SIPプロトコルにおけるRESISTERメソッドのメッセージと共にSP署名σSPと、SPチャレンジCSPと、クライアントチャレンジC1とをIdPサーバ5に送信する。例えば、SP署名σSPと、SPチャレンジCSPと、クライアントチャレンジC1とはRESISTERメソッドのメッセージの一部としてIdPサーバ5に送信される。このメッセージには、クライアント端末1のCALL-IDが含まれていてもよい。 For example, the client terminal 1 transmits the SP signature σ SP , the SP challenge C SP, and the client challenge C 1 to the IdP server 5 together with the RESISTER method message in the SIP protocol. For example, the SP signature σ SP , the SP challenge C SP, and the client challenge C 1 are transmitted to the IdP server 5 as part of the RESISTER method message. This message may include the CALL-ID of the client terminal 1.

<ステップT3>
IdPサーバ5は、クライアント端末1から、SP署名σSPと、SPチャレンジCSPと、クライアントチャレンジC1とを受信する。
<Step T3>
The IdP server 5 receives the SP signature σ SP , the SP challenge C SP, and the client challenge C 1 from the client terminal 1.

IdPサーバ5は、SPサーバ3の公開鍵を用いてSP署名σSPの検証を行い、その検証に成功した場合には、クライアント端末1のIDが存在するかどうかを確認し、その確認ができた場合には、IdPサーバの秘密鍵を用いてSPチャレンジCSPに対して署名を行い第一IdP署名σIdPを生成し、IdPサーバの秘密鍵を用いてクライアントチャレンジC1に対して署名を行い第二IdP署名σ1を生成し、第一IdP署名σIdP及び第二IdP署名σ1をクライアント端末1に送信する(ステップT3)。 The IdP server 5 verifies the SP signature σ SP using the public key of the SP server 3. If the verification is successful, the ID of the client terminal 1 can be confirmed and confirmed. In this case, the SP challenge C SP is signed using the IdP server private key to generate the first IdP signature σ IdP , and the client challenge C 1 is signed using the IdP server private key. A second IdP signature σ 1 is generated, and the first IdP signature σ IdP and the second IdP signature σ 1 are transmitted to the client terminal 1 (step T3).

SPサーバ3の公開鍵をSPpとし、SPサーバ署名をσSPとし、検証の関数をverifyとすると、IdPサーバ5による検証は、verifySPpSP)=?0 or 1と表記することができる。verifySPpSP)=1は検証に成功したことを意味し、verifySPpSP)=0は検証に成功しなかったことを意味する。 When the SP server 3 public key is SPp, the SP server signature is σ SP , and the verification function is verify, verification by the IdP server 5 can be expressed as verify SPpSP ) = ? 0 or 1. . verify SPpSP ) = 1 means that the verification is successful, and verify SPpSP ) = 0 means that the verification is not successful.

IdPサーバ5の秘密鍵をIdPsとし、署名の関数をsignとすると、第一IdP署名σIdPは、σIdP=signSs(CSP)と表記することができる。 If the private key of the IdP server 5 is IdPs and the signature function is sign, the first IdP signature σ IdP can be expressed as σ IdP = sign Ss (C SP ).

IdPサーバ5の秘密鍵をIdPsとし、署名の関数をsignとすると、第二IdP署名σ1は、σ1=signSs(C1)と表記することができる。 If the private key of the IdP server 5 is IdPs and the signature function is sign, the second IdP signature σ 1 can be expressed as σ 1 = sign Ss (C 1 ).

IdPサーバ5によるクライアント端末1の存在の確認の方法は、第一実施形態のサーバ2によるクライアント端末1の存在の確認方法と同様であるため、ここでは説明を省略する。   Since the method for confirming the presence of the client terminal 1 by the IdP server 5 is the same as the method for confirming the presence of the client terminal 1 by the server 2 of the first embodiment, a description thereof is omitted here.

例えば、IdPサーバ5は、SIPプロトコルにおける2XXの応答コードのメッセージと共に第一IdP署名σIdP及び第二IdP署名σ1をクライアント端末1に送信する。例えば、第一IdP署名σIdP及び第二IdP署名σ1は2XXの応答コードのメッセージの一部としてクライアント端末1に送信される。 For example, the IdP server 5 transmits the first IdP signature σ IdP and the second IdP signature σ 1 to the client terminal 1 together with the 2XX response code message in the SIP protocol. For example, the first IdP signature σ IdP and the second IdP signature σ 1 are transmitted to the client terminal 1 as part of a 2XX response code message.

<ステップT4>
クライアント端末1は、IdPサーバ5から、第一IdP署名σIdP及び第二IdP署名σ1を受信する。
<Step T4>
The client terminal 1 receives the first IdP signature σ IdP and the second IdP signature σ 1 from the IdP server 5.

クライアント端末1は、IdPサーバ5の公開鍵を用いて第二IdP署名σ1の検証を行い、その検証に成功した場合には、第一IdP署名σIdPをSPサーバ3に送信する(ステップT4)。 The client terminal 1 verifies the second IdP signature σ 1 using the public key of the IdP server 5, and if the verification is successful, transmits the first IdP signature σ IdP to the SP server 3 (step T4). ).

IdPサーバ5の公開鍵IdPpとし、第二IdP署名をσ1とし、検証の関数をverifyとすると、クライアント端末1による検証は、verifyIdPp1)=?0 or 1と表記することができる。verifyIdPp1)=1は検証に成功したことを意味し、verifyIdPp1)=0は検証に成功しなかったことを意味する。 When the public key IdPp of the IdP server 5 is set, the second IdP signature is σ 1 , and the verification function is verify, verification by the client terminal 1 can be expressed as verify IdPp1 ) = ? 0 or 1 . verify IdPp1 ) = 1 means that the verification is successful, and verify IdPp1 ) = 0 means that the verification is not successful.

例えば、クライアント端末1は、SIPプロトコルにおけるRESISTERメソッドのメッセージと共に第一IdP署名σIdPをSPサーバ3に送信する。例えば、第一IdP署名σIdPはRESISTERメソッドのメッセージの一部としてSPサーバ3に送信される。このメッセージには、クライアント端末1のCALL-IDが含まれていてもよい。 For example, the client terminal 1 transmits the first IdP signature σ IdP to the SP server 3 together with the RESISTER method message in the SIP protocol. For example, the first IdP signature σ IdP is transmitted to the SP server 3 as part of the RESISTER method message. This message may include the CALL-ID of the client terminal 1.

<ステップT5>
SPサーバ3は、第一IdP署名σIdPをクライアント端末1から受信する。
<Step T5>
The SP server 3 receives the first IdP signature σ IdP from the client terminal 1.

SPサーバ3は、、IdPサーバ5の公開鍵を用いて第一IdP署名σIdPの検証を行い、その検証に成功した場合には、SIPプロトコルにおけるクライアント端末1の登録を行う(ステップT5)。 The SP server 3 verifies the first IdP signature σ IdP using the public key of the IdP server 5, and if the verification is successful, registers the client terminal 1 in the SIP protocol (step T5).

IdPサーバ5の公開鍵IdPpとし、第一IdP署名をσIdPとし、検証の関数をverifyとすると、クライアント端末1による検証は、verifyIdPpIdP)=?0 or 1と表記することができる。verifyIdPpIdP)=1は検証に成功したことを意味し、verifyIdPpIdP)=0は検証に成功しなかったことを意味する。 When the public key IdPp of the IdP server 5 is set, the first IdP signature is σ IdP , and the verification function is verify, verification by the client terminal 1 can be expressed as verify IdPpIdP ) = ? 0 or 1 . verify IdPpIdP ) = 1 means that the verification is successful, and verify IdPpIdP ) = 0 means that the verification is not successful.

SPサーバ3は、クライアント端末1を登録する旨の要求をSIPサーバ4に送信し、その要求を受信したSIPサーバ4がクライアント端末1を登録することにより、クライアント端末1の登録は例えば行われる。クライアント端末1を登録する旨の要求とは、例えば、SIPプロトコルにおけるRESISTERメソッドのメッセージである。このメッセージには、クライアント端末1のCALL-IDが含まれていてもよい。   The SP server 3 transmits a request to register the client terminal 1 to the SIP server 4, and the SIP server 4 that has received the request registers the client terminal 1, whereby the client terminal 1 is registered, for example. The request for registering the client terminal 1 is, for example, a RESISTER method message in the SIP protocol. This message may include the CALL-ID of the client terminal 1.

なお、SPサーバ3は、上記検証に成功した後に、ステップT4において第一IdP署名σIdPを送信したクライアント端末1がステップT1において要求を行ったクライアント端末1と同一であるかを確認し、その確認ができた場合に、SIPプロトコルにおけるクライアント端末1の登録を行ってもよい。言い換えれば、SPサーバ3は、上記検証に成功し、かつ、上記の確認ができた場合に、SIPプロトコルにおけるクライアント端末1の登録を行ってもよい。 The SP server 3 confirms whether or not the client terminal 1 that transmitted the first IdP signature σ IdP in step T4 is the same as the client terminal 1 that made the request in step T1 after the verification is successful. If the confirmation can be made, the client terminal 1 may be registered in the SIP protocol. In other words, the SP server 3 may register the client terminal 1 in the SIP protocol when the above verification is successful and the above confirmation is made.

ステップT4において第一IdP署名σIdPを送信したクライアント端末1がステップT1において要求を行ったクライアント端末1と同一であるかの確認は、ステップT1においてSPサーバが受信したRRGISTERメソッドのメッセージにCALL-IDが含まれている場合であって、ステップT4において第一IdP署名σIdPと共にCALL-IDをSPサーバが受信している場合には、それらが同一であるかを確認することにより行うことができる。 In step T4, whether the client terminal 1 that transmitted the first IdP signature σ IdP is the same as the client terminal 1 that made the request in step T1 is confirmed by the CALL- If the ID is included and the SP server receives the CALL-ID along with the first IdP signature σ IdP in step T4, this can be done by checking if they are the same it can.

最後に、SPサーバ3は、クライアント端末1の登録の有無の結果の通知をクライアント端末1に送信する。例えば、サーバ2は、SIPプロトコルにおける2XX又は4XXの応答コードのメッセージを送信することで、登録の結果についての情報を送信する。2XXはリクエストが成功したこと(ここでは、登録が成功したこと)を表す応答コードであり、4XXはリクエストが誤りであるかリクエストを処理をすることができないこと(ここでは、登録が成功しなかったこと)を表す応答コードである。   Finally, the SP server 3 transmits a notification of the result of the presence / absence of registration of the client terminal 1 to the client terminal 1. For example, the server 2 transmits information about the result of registration by transmitting a 2XX or 4XX response code message in the SIP protocol. 2XX is a response code indicating that the request was successful (here, registration was successful), and 4XX was that the request was incorrect or the request could not be processed (here, registration was not successful) This response code represents

SPサーバ3がSIPProxyサーバとして機能する場合には、その後、SPサーバ3が、検証に成功したクライアント端末1、言い換えれば登録されたクライアント端末1からの、SIPプロトコルにおけるINVITEメソッドのメッセージのみを受け付け、検証に成功していないクライアント端末1、言い換えれば登録されていないクライアント端末1からの、SIPプロトコルにおけるINVITEメソッドのメッセージの受け付けを拒否してもよい。   When the SP server 3 functions as a SIPProxy server, the SP server 3 thereafter accepts only the INVITE method message in the SIP protocol from the client terminal 1 that has been successfully verified, in other words, from the registered client terminal 1. You may refuse the reception of the message of the INVITE method in a SIP protocol from the client terminal 1 which has not succeeded in verification, in other words, the client terminal 1 which is not registered.

このように、SIPプロトコルの登録の際にパスワードリストを用いずに認証を行うことにより、パスワードリストが用いられないため、パスワードリストが流出するリスクがなくなる。   In this way, by performing authentication without using the password list when registering the SIP protocol, the password list is not used, and thus there is no risk of the password list being leaked.

[プログラム及び記録媒体]
クライアント端末1、サーバ2、SPサーバ3、SIPサーバ4、IdPサーバ5のそれぞれの各処理をコンピュータによって実現する場合、その各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
[Program and recording medium]
When each process of the client terminal 1, the server 2, the SP server 3, the SIP server 4, and the IdP server 5 is realized by a computer, the processing contents of the functions that each apparatus should have are described by a program. Then, by executing this program on a computer, each process is realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   Each processing means may be configured by executing a predetermined program on a computer, or at least a part of these processing contents may be realized by hardware.

その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   Needless to say, other modifications are possible without departing from the spirit of the present invention.

1 クライアント端末
2 サーバ
3 SPサーバ
4 SIPサーバ
5 IdPサーバ
1 Client terminal 2 Server 3 SP server 4 SIP server 5 IdP server

Claims (2)

SPサーバが、SIPプロトコルにおけるクライアント端末の登録のときに、クライアント端末からの要求に応じて、上記SPサーバの秘密鍵を用いて上記SPサーバのチャレンジであるSPチャレンジに対して署名を行いSP署名を生成し、上記SP署名と、上記SPチャレンジと、IdPサーバについての情報とを上記クライアント端末に送信するステップと、
上記クライアント端末が、上記IdPサーバについての情報により特定されるIdPサーバに、上記SP署名と、上記SPチャレンジと、クライアントチャレンジと、を送信するステップと、
上記IdPサーバが、上記SPサーバの公開鍵を用いて上記SP署名の検証を行い、その検証に成功した場合には、上記クライアント端末のIDが存在するかどうかを確認し、その確認ができた場合には、上記IdPサーバの秘密鍵を用いて上記SPチャレンジに対して署名を行い第一IdP署名を生成し、上記IdPサーバの秘密鍵を用いて上記クライアントチャレンジに対して署名を行い第二IdP署名を生成し、上記第一IdP署名及び上記第二IdP署名を上記クライアント端末に送信するステップと、
上記クライアント端末が、上記IdPサーバの公開鍵を用いて上記第二IdP署名の検証を行い、その検証に成功した場合には、上記第一IdP署名を上記SPサーバに送信するステップと、
上記SPサーバが、上記IdPサーバの公開鍵を用いて上記第一IdP署名の検証を行い、その検証に成功した場合には、上記SIPプロトコルにおける上記クライアント端末の登録を行うステップと、
を含む認証方法。
When the SP server registers a client terminal in the SIP protocol, the SP server signs the SP challenge, which is the challenge of the SP server, using the private key of the SP server in response to a request from the client terminal. Generating the SP signature, the SP challenge, and information about the IdP server to the client terminal;
The client terminal transmitting the SP signature, the SP challenge, and the client challenge to an IdP server specified by information about the IdP server;
The IdP server verifies the SP signature using the public key of the SP server. If the verification is successful, the client terminal ID is confirmed and confirmed. In this case, the SP challenge is signed using the IdP server private key to generate a first IdP signature, and the client challenge is signed using the IdP server private key. Generating an IdP signature and transmitting the first IdP signature and the second IdP signature to the client terminal;
The client terminal performs verification of the second IdP signature using the public key of the IdP server, and if the verification is successful, transmits the first IdP signature to the SP server;
The SP server performs verification of the first IdP signature using the public key of the IdP server, and if the verification is successful, registering the client terminal in the SIP protocol;
An authentication method that includes:
SIPプロトコルにおけるクライアント端末の登録のときに、クライアント端末からの要求に応じて、SPサーバの秘密鍵を用いて上記SPサーバのチャレンジであるSPチャレンジに対して署名を行いSP署名を生成し、上記SP署名と、上記SPチャレンジと、IdPサーバについての情報とを上記クライアント端末に送信する上記SPサーバと、
上記IdPサーバについての情報により特定されるIdPサーバに、上記SP署名と、上記SPチャレンジと、クライアントチャレンジと、を送信する上記クライアント端末と、
上記SPサーバの公開鍵を用いて上記SP署名の検証を行い、その検証に成功した場合には、上記クライアント端末のIDが存在するかどうかを確認し、その確認ができた場合には、上記IdPサーバの秘密鍵を用いて上記SPチャレンジに対して署名を行い第一IdP署名を生成し、上記IdPサーバの秘密鍵を用いて上記クライアントチャレンジに対して署名を行い第二IdP署名を生成し、上記第一IdP署名及び上記第二IdP署名を上記クライアント端末に送信する上記IdPサーバと、を含み、
上記クライアント端末は、上記IdPサーバの公開鍵を用いて上記第二IdP署名の検証を行い、その検証に成功した場合には、上記第一IdP署名を上記SPサーバに送信し、
上記SPサーバは、上記IdPサーバの公開鍵を用いて上記第一IdP署名の検証を行い、その検証に成功した場合には、上記SIPプロトコルにおける上記クライアント端末の登録を行う、
認証システム。
When registering a client terminal in the SIP protocol, in response to a request from the client terminal, the SP server secret key is used to sign the SP challenge, which is the SP server challenge, and an SP signature is generated. The SP server that sends the SP signature, the SP challenge, and information about the IdP server to the client terminal;
The client terminal that transmits the SP signature, the SP challenge, and the client challenge to the IdP server specified by the information about the IdP server;
The SP signature is verified using the public key of the SP server, and if the verification is successful, it is confirmed whether the ID of the client terminal exists. Use the IdP server private key to sign the SP challenge and generate a first IdP signature, use the IdP server private key to sign the client challenge and generate a second IdP signature The IdP server that transmits the first IdP signature and the second IdP signature to the client terminal, and
The client terminal performs verification of the second IdP signature using the public key of the IdP server, and when the verification is successful, transmits the first IdP signature to the SP server,
The SP server verifies the first IdP signature using the public key of the IdP server, and if the verification is successful, registers the client terminal in the SIP protocol.
Authentication system.
JP2015092711A 2015-04-30 2015-04-30 Authentication method and system Active JP6386967B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015092711A JP6386967B2 (en) 2015-04-30 2015-04-30 Authentication method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015092711A JP6386967B2 (en) 2015-04-30 2015-04-30 Authentication method and system

Publications (2)

Publication Number Publication Date
JP2016213543A JP2016213543A (en) 2016-12-15
JP6386967B2 true JP6386967B2 (en) 2018-09-05

Family

ID=57552135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015092711A Active JP6386967B2 (en) 2015-04-30 2015-04-30 Authentication method and system

Country Status (1)

Country Link
JP (1) JP6386967B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6456451B1 (en) 2017-09-25 2019-01-23 エヌ・ティ・ティ・コミュニケーションズ株式会社 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140534A (en) * 2000-11-01 2002-05-17 Sony Corp System and method for contents distribution with log management constitution
JP4255046B2 (en) * 2001-04-27 2009-04-15 日本電信電話株式会社 Cryptographic communication path establishment method, program and program medium, and cryptographic communication system
JP2003085145A (en) * 2001-09-13 2003-03-20 Sony Corp User authenticating system and user authenticating method
DE60314871T2 (en) * 2002-05-24 2008-03-13 Telefonaktiebolaget Lm Ericsson (Publ) METHOD FOR AUTHENTICATING A USER IN ACCESS TO A SERVICE PROVIDER'S SERVICE
JP4299621B2 (en) * 2003-09-24 2009-07-22 日本電信電話株式会社 Service providing method, service providing program, host device, and service providing device
JP4870427B2 (en) * 2005-12-28 2012-02-08 エヌ・ティ・ティ・コミュニケーションズ株式会社 Digital certificate exchange method, terminal device, and program
JP2008033652A (en) * 2006-07-28 2008-02-14 Nec Infrontia Corp Client-server distributed system, client device, server device and mutual authentication method used therefor
JP5393594B2 (en) * 2010-05-31 2014-01-22 株式会社日立製作所 Efficient mutual authentication method, program, and apparatus

Also Published As

Publication number Publication date
JP2016213543A (en) 2016-12-15

Similar Documents

Publication Publication Date Title
US9712515B2 (en) Verifying an identity of a message sender
US10805085B1 (en) PKI-based user authentication for web services using blockchain
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
CN109309685B (en) Information transmission method and device
US20150215299A1 (en) Proximity-based authentication
CN104125565A (en) Method for realizing terminal authentication based on OMA DM, terminal and server
US11483155B2 (en) Access control using proof-of-possession token
CN105187450A (en) Authentication method and device based on authentication equipment
CN103986720A (en) Log-in method and device
CN109962878B (en) Registration method and device of IMS (IP multimedia subsystem) user
KR102137122B1 (en) Security check method, device, terminal and server
EP3337124B1 (en) Authenticating a system based on a certificate
CN105099707A (en) Offline authentication method, server and system
CN112398798B (en) Network telephone processing method, device and terminal
WO2009109093A1 (en) Method, device and system for certifying response message
CN102802150A (en) Phone number validation method and system as well as terminal
CN105095729B (en) A kind of Quick Response Code login method, server and system
US11575667B1 (en) System and method for secure communications
CN104753872A (en) Authentication method, authentication platform, service platform, network elements and system
CN111698204A (en) Bidirectional identity authentication method and device
US9713112B1 (en) Communications methods, apparatus and systems for correlating registrations, service requests and calls
JP6386967B2 (en) Authentication method and system
CN104468634A (en) Call establishment method, terminals and security AS
CN105577606A (en) Method and device for realizing register of authenticator
KR20180056715A (en) Method and apparatus for verifying the identity of an entity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180810

R150 Certificate of patent or registration of utility model

Ref document number: 6386967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150