(57)【特許請求の範囲】
【請求項１】
シグナリングゲートウェイ、ネットワークアドレス変換のリレーを用いたトラバーサル(TURN)サーバ、および電子デバイスを含む通信システムにおけるTURN資格証明情報およびサーバのプロビジョニングのための方法であって、
第1の電子デバイス(ED)が前記シグナリングゲートウェイに登録するかまたはTURN資格証明情報を要求するためのその他のシグナリングメッセージを送信するときに、前記シグナリングゲートウェイにおいて、前記第1の電子デバイスからシグナリングメッセージを受信するステップであって、前記シグナリングメッセージが1つまたは複数のシグナリングメッセージパラメータを含み、前記シグナリングメッセージが、
前記シグナリングゲートウェイが前記第1のEDのためのTURN資格証明情報を生成する要求をさらに含み、前記TURN資格証明情報が前記1つまたは複数のシグナリングメッセージパラメータに関連付けられている、前記シグナリングゲートウェイによって生成された前記TURN資格証明情報が、前記TURNサーバを識別するとともに、ユーザ名を有するハッシュされたユーザ部分を含み、予め共有された鍵を用いて前記TURN資格証明情報の前記ユーザ部分をハッシュすることによって前記TURN資格証明情報のパスワード部分を生成するために、前記シグナリングゲートウェイが、前記ユーザ部分をハッシュするために前記TURNサーバと予め共有された前記鍵を用いる、ステップと、
前記シグナリングゲートウェイから前記第1のEDに前記TURN資格証明情報を、前記TURN資格証明情報が前記TURNサーバからリレーアドレスを取得するために前記第1のEDによって使用されるように、TURNリレーアドレスに対する要求の一部として送信するステップと、
前記1つまたは複数のシグナリングメッセージパラメータの有効性を検証するステップと、
前記シグナリングメッセージに基づいてレルムおよび前記レルムのためのTURNサーバを選択するステップとを含む方法。
【請求項２】
前記シグナリングメッセージが失効パラメータを含むことに応答して、前記失効パラメータによって定義される失効時間のための資格証明情報を要求するステップと、
前記シグナリングメッセージが取り消しパラメータを含むことに応答して、以前に生成された資格証明情報を取り消すように前記シグナリングゲートウェイに要求するステップとをさらに含む請求項1に記載の方法。
【請求項３】
前記ユーザ部分がユーザ部分のレルムパラメータを含むことに応答して、前記ユーザ部分のレルムパラメータによって定義されるユーザのレルムを生成するステップと、
前記ユーザ部分がユーザ部分の失効パラメータを含むことに応答して、前記ユーザ部分の前記失効パラメータによって定義されるユーザ部分の失効時間を生成するステップと、
前記ユーザ部分がユーザ部分の取り消しパラメータを含むことに応答して、以前に生成されたTURN資格証明情報を取り消すために前記TURNサーバに指示を送信するステップとをさらに含む請求項1に記載の方法。
【請求項４】
前記シグナリングゲートウェイおよび前記TURNサーバが共有された鍵を有すると判定することに応じて、前記TURN資格証明情報の前記ユーザ部分を前記共有された鍵によってハッシュすることによって前記TURN資格証明情報の前記パスワード部分を生成するステップをさらに含む請求項3に記載の方法。
【請求項５】
前記TURN資格証明情報が前記第1のEDによって受信された後、前記TURNサーバにより、前記第1のEDから割り当て要求を受信するステップであって、前記割り当て要求が、TURNリレーアドレスおよび1つまたは複数の割り当て要求パラメータ値の要求を含み、前記1つまたは複数の割り当て要求パラメータ値が、前記TURN資格証明情報の前記ユーザ部分および前記TURN資格証明情報の前記パスワード部分に基づく、ステップをさらに含み、
前記TURNサーバにおいて、
前記第1のEDから前記割り当て要求を受信するステップであって、前記割り当て要求が、前記TURN資格証明情報の前記パスワード部分に基づくメッセージ認証コードを含む、ステップと、
前記割り当て要求から前記1つまたは複数の割り当て要求パラメータ値を抽出するステップと、
1つまたは複数の抽出された割り当て要求パラメータ値の有効性を検証するステップと、
前記1つまたは複数の割り当て要求パラメータ値のうちの1つまたは複数が無効である場合、前記割り当て要求を破棄するステップとをさらに含む請求項4に記載の方法。
【請求項６】
前記共有された鍵を特定するステップと、
前記TURN資格証明情報の前記ユーザ部分に基づく前記1つまたは複数の割り当て要求パラメータ値を前記共有された鍵によってハッシュすることによってTURNサーバパスワードを生成するステップと、
前記TURNサーバパスワードを使用して、前記受信された割り当て要求の有効性を検証するステップとをさらに含む請求項5に記載の方法。
【請求項７】
前記割り当て要求が取り消しパラメータを含むことに応答して、
以前に受信されたTURN資格証明情報を取り消すステップと、
前記取り消された資格証明情報を拒否するステップとをさらに含む請求項5に記載の方法。
【請求項８】
前記シグナリングゲートウェイにおいて、前記TURN資格証明情報と異なる前記第1のEDに関する第2のTURN資格証明情報の更新要求を受信するステップであって、前記更新要求が、前記シグナリングメッセージの登録サイクル時間の満了の前に受信される、ステップと、
前記シグナリングゲートウェイにおいて前記更新要求の有効性を検証するステップと、
前記第1のEDに前記第2のTURN資格証明情報を送信するステップとをさらに含む請求項7に記載の方法。
【請求項９】
前記第1のEDにおいて前記第2のTURN資格証明情報を受信するステップと、
前記第2のTURN資格証明情報を使用して匿名の呼を発するステップとをさらに含む請求項8に記載の方法。
【請求項１０】
前記シグナリングゲートウェイにおいて、前記第1のEDのための第2のTURNサーバをプロビジョニングする更新要求を受信するステップであって、前記更新要求が、前記シグナリングメッセージの登録サイクル時間の満了の前に受信され、前記更新要求が、ネットワーク条件またはセキュリティ条件に基づく、ステップと、
前記シグナリングゲートウェイにおいて前記更新要求の有効性を検証するステップと、
前記第1のEDに対する第2のTURN資格証明情報を生成するステップと
前記第1のEDに前記第2のTURN資格証明情報を送信するステップとをさらに含む請求項9に記載の方法。
【請求項１１】
前記第1のEDにおいて前記第2のTURN資格証明情報を受信するステップと、
前記第2のTURNサーバを使用して発呼するステップとをさらに含む請求項10に記載の方法。
【請求項１２】
電子デバイス（ED）、シグナリングゲートウェイ、およびネットワークアドレス変換のリレーを用いたトラバーサル(TURN)サーバを含む通信システムにおけるTURN資格証明情報およびサーバのプロビジョニングのための電子デバイスであって、
プロセッサと、
前記プロセッサに結合されたメモリとを含み、
前記シグナリングゲートウェイにシグナリングメッセージを送信することであって、前記シグナリングメッセージが、
1つまたは複数のシグナリングメッセージパラメータを含み、前記シグナリングメッセージは、前記シグナリングゲートウェイが第1のEDのためのTURN資格証明情報を生成する要求をさらに含み、前記TURN資格証明情報が、前記1つまたは複数のシグナリングメッセージパラメータに関連付けられ、前記シグナリングゲートウェイによって生成された前記TURN資格証明情報が、前記TURNサーバを識別するとともに、ユーザ名を有するハッシュされたユーザ部分を含み、予め共有された鍵を用いて前記TURN資格証明情報の前記ユーザ部分をハッシュすることによって前記TURN資格証明情報のパスワード部分を生成するために、前記シグナリングゲートウェイが、前記ユーザ部分をハッシュするために前記TURNサーバと予め共有された前記鍵を用いる、送信することと、
前記シグナリングゲートウェイから前記TURN資格証明情報を、前記TURN資格証明情報が前記TURNサーバからリレーアドレスを取得するために前記第1のEDによって使用されるように、TURNリレーアドレスに対する要求の一部として受信することと、
前記TURN資格証明情報を受信した後、前記シグナリングメッセージに基づいて選択された第1のTURNサーバに割り当て要求を送信することと
を行うように構成され、前記第1のTURNサーバが、前記シグナリングゲートウェイに結合され、前記割り当て要求が、TURNリレーアドレスの要求を含む、電子デバイス。
【請求項１３】
前記シグナリングメッセージが失効パラメータを含むことに応答して、前記失効パラメータによって定義される失効時間のための資格証明情報を要求し、
前記シグナリングメッセージが取り消しパラメータを含むことに応答して、以前に生成された資格証明情報を取り消すことを前記シグナリングゲートウェイに要求する
ようにさらに構成される請求項12に記載の電子デバイス。
【請求項１４】
前記TURN資格証明情報と異なる前記第1のEDに関する第2のTURN資格証明情報の更新要求を送信することであって、前記更新要求が、前記シグナリングメッセージの登録サイクル時間の満了の前に送信される、送信することと、
前記第2のTURN資格証明情報を受信することと、
前記第2のTURN資格証明情報を使用して匿名の呼を発することとを行うようにさらに構成される請求項12に記載の電子デバイス。
【請求項１５】
前記第1のTURNサーバと異なる前記第1のEDのための第2のTURNサーバの更新要求を送信することであって、前記更新要求が、ネットワーク条件またはセキュリティ条件に基づき、前記更新要求が、前記シグナリングメッセージの登録サイクル時間の満了の前に送信される、送信することと、
第2のTURN資格認証情報を受信することと、
前記第2のTURNサーバを使用して発呼することとを行うようにさらに構成される請求項12に記載の電子デバイス。
【請求項１６】
シグナリングゲートウェイ、ネットワークアドレス変換のリレーを用いたトラバーサル(TURN)サーバ、および電子デバイスを含む通信システムにおけるTURN資格証明情報およびサーバのプロビジョニングのためのシグナリングゲートウェイであって、
プロセッサと、
前記プロセッサに結合されたメモリとを含み、
第1の電子デバイス(ED)からシグナリングメッセージを受信することであって、前記シグナリングメッセージが、
1つまたは複数のシグナリングメッセージパラメータを含み、前記シグナリングメッセージは、前記シグナリングゲートウェイが前記第1のEDのためのTURN資格証明情報を生成する要求をさらに含み、前記TURN資格証明情報が、前記1つまたは複数のシグナリングメッセージパラメータに関連付けられ、前記シグナリングゲートウェイによって生成された前記TURN資格証明情報が、前記TURNサーバを識別するとともに、ユーザ名を有するハッシュされたユーザ部分を含み、予め共有された鍵を用いて前記TURN資格証明情報の前記ユーザ部分をハッシュすることによって前記TURN資格証明情報のパスワード部分を生成するために、前記シグナリングゲートウェイが、前記ユーザ部分をハッシュするために前記TURNサーバと予め共有された前記鍵を用いる、受信することと、
前記第1の電子デバイスに前記TURN資格証明情報を、前記TURN資格証明情報が前記TURNサーバからリレーアドレスを取得するために前記第1のEDによって使用されるように、TURNリレーアドレスに対する要求の一部として送信することと、
前記1つまたは複数のシグナリングメッセージパラメータの有効性を検証することと、
前記シグナリングメッセージに基づいてレルムおよび前記レルムのためのTURNサーバを選択することとを行うように構成される、シグナリングゲートウェイ。
【請求項１７】
前記シグナリングメッセージが失効パラメータを含むことに応答して、前記失効パラメータによって定義される失効時間のための資格証明情報を生成し、
前記シグナリングメッセージが取り消しパラメータを含むことに応答して、以前に生成された資格証明情報を取り消すようにさらに構成される請求項16に記載のシグナリングゲートウェイ。
【請求項１８】
前記TURN資格証明情報が、ユーザ部分およびパスワード部分を含み、前記シグナリングゲートウェイが、前記TURN資格証明情報の前記ユーザ部分を生成するようにさらに構成される請求項17に記載のシグナリングゲートウェイ。
【請求項１９】
前記ユーザ部分がユーザ部分のレルムパラメータを含むことに応答して、前記ユーザ部分のレルムパラメータによって定義されるユーザのレルムを生成するようにさらに構成される請求項18に記載のシグナリングゲートウェイ。
【請求項２０】
前記ユーザ部分がユーザ部分の失効パラメータを含むことに応答して、前記失効パラメータによって定義されるユーザ部分の失効時間を生成し、
前記ユーザ部分がユーザ部分の取り消しパラメータを含むことに応答して、以前に生成されたTURN資格証明情報を取り消すために前記TURNサーバに指示を送信するようにさらに構成される請求項19に記載のシグナリングゲートウェイ。
【請求項２１】
前記シグナリングゲートウェイおよび前記TURNサーバが共有された鍵を有すると判定し、
前記TURN資格証明情報の前記ユーザ部分を前記共有された鍵によってハッシュすることによって前記TURN資格証明情報の前記パスワード部分を生成するようにさらに構成される請求項20に記載のシグナリングゲートウェイ。
【請求項２２】
前記TURN資格証明情報と異なる前記第1のEDに関する第2のTURN資格証明情報の更新要求を受信することであって、前記更新要求が、前記シグナリングメッセージの登録サイクル時間の満了の前に受信される、受信することと、
前記更新要求の有効性を検証することと、
前記第1のEDに前記第2のTURN資格証明情報を送信することとを行うようにさらに構成される請求項21に記載のシグナリングゲートウェイ。
【請求項２３】
前記第1のEDのための第2のTURNサーバをプロビジョニングする更新要求を受信することであって、前記更新要求が、前記シグナリングメッセージの登録サイクル時間の満了の前に受信され、前記更新要求が、ネットワーク条件またはセキュリティ条件に基づく、受信することと、
前記更新要求の有効性を検証することと、
前記第1のEDに前記第2のTURNサーバを送信することとを行うようにさらに構成される請求項21に記載のシグナリングゲートウェイ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2014年8月15日に出願された、「Method and Apparatus for Provisioning Traversal using Relays Around Network Address Translation (TURN) Credential and Servers」と題した米国非仮出願第14/461,162号の優先権および利益を主張するものであり、この非仮出願は、参照により本明細書に組み込まれる。
【０００２】
本開示は、概して、TURN資格証明情報をプロビジョニングすることに関する。
【背景技術】
【０００３】
ネットワークアドレス変換(NAT)デバイスは、パケットがNATデバイスを通過するときにインターネットプロトコル(IP)ヘッダを修正する。NATデバイスは、家庭内/企業内ネットワークおよびインターネットに広く展開されている。しかし、NATデバイスは、ボイスオーバインターネットプロトコル(VoIP)の呼を断ち切る。
【０００４】
一部のファイアウォールは、通常はセキュリティ上の理由で、ユーザデータグラムプロトコル(UDP)を遮断し、ハイパーテキスト転送プロトコル(HTTP) (TCP 80)またはHTTPセキュア(HTTPS) (TCP 443)が通過することのみを許可するように構成される。音声パケットはUDP上で送信されるので、UDPを遮断するファイアウォールは、音声トラフィックも遮断する。まとめると、UDPを遮断するNATとファイアウォールとの両方がVoIPのメディア通信を遮断し、結果として音声が片方向になるか、またはまったく音声がなくなる可能性がある。
【０００５】
したがって、改善されたNAT/ファイアウォールトラバーサルを提供することが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００６】
一実施形態によれば、シグナリングゲートウェイ、ネットワークアドレス変換のリレーを用いたトラバーサル(TURN)サーバ、および電子デバイスを含む通信システムにおけるTURN資格証明情報およびサーバのプロビジョニングのための方法が提供される。方法は、第1の電子デバイス(ED)がシグナリングゲートウェイに登録するかまたはTURN資格証明情報を要求するためのその他のシグナリングメッセージを送信するときに、シグナリングゲートウェイにおいて、第1の電子デバイスからシグナリングメッセージを受信するステップを含む。シグナリングメッセージは、1つまたは複数のシグナリングメッセージパラメータを含む。シグナリングメッセージは、シグナリングゲートウェイが第1のEDのためのTURN資格証明情報を生成する要求をさらに含む。TURN資格証明情報は、1つまたは複数の認証メッセージパラメータに関連付けられている。方法は、シグナリングゲートウェイから第1のEDにTURN資格証明情報を送信するステップを含む。
【０００７】
別の実施形態においては、シグナリングゲートウェイおよびネットワークアドレス変換のリレーを用いたトラバーサル(TURN)サーバを含む通信システムにおけるTURN資格証明情報およびサーバのプロビジョニングのための電子デバイスが提供される。電子デバイスは、プロセッサと、プロセッサに結合されたメモリとを含む。電子デバイスは、シグナリングゲートウェイにシグナリングメッセージを送信するように構成される。シグナリングメッセージは、1つまたは複数のシグナリングメッセージパラメータを含む。シグナリングメッセージは、シグナリングゲートウェイが第1のEDのためのTURN資格証明情報を生成する要求をさらに含む。TURN資格証明情報は、1つまたは複数のシグナリングメッセージパラメータに関連付けられている。電子デバイスは、シグナリングゲートウェイからTURN資格証明情報を受信するように構成される。
【０００８】
別の実施形態においては、シグナリングゲートウェイが提供される。シグナリングゲートウェイは、プロセッサと、プロセッサに結合されたメモリとを含む。シグナリングゲートウェイは、第1の電子デバイス(ED)からシグナリングメッセージを受信するように構成される。シグナリングメッセージは、1つまたは複数のシグナリングメッセージパラメータを含む。シグナリングメッセージは、シグナリングゲートウェイが第1のEDのためのTURN資格証明情報を生成する要求をさらに含む。TURN資格証明情報は、1つまたは複数の認証メッセージパラメータに関連付けられている。シグナリングゲートウェイは、第1のEDにTURN資格証明情報を送信するように構成される。
【０００９】
本開示およびその利点のより完全な理解のために、次いで、同様の番号が同様のものを示す添付の図面と併せて考慮される以下の説明に対する参照がなされる。
【図面の簡単な説明】
【００１０】
【図１】パケットの送信元IP/ポートを新しい値に変換するNATデバイスを示す図である。
【図２Ａ】P2P通信のためのICE/STUN/TURN NAT/ファイアウォールトラバーサルの解決方法を示す図である。
【図２Ｂ】P2P通信のためのICE/STUN/TURN NAT/ファイアウォールトラバーサルの解決方法を示す図である。
【図２Ｃ】P2P通信のためのICE/STUN/TURN NAT/ファイアウォールトラバーサルの解決方法を示す図である。
【図３】ICE/STUN/TURNを使用する例示的なVoIP呼フロー図である。
【図４】一実施形態によるVoIP/WebRTCシグナリングチャネルを介したNAT/FWトラバーサルのためのTURN資格証明情報およびサーバをプロビジョニングするためのシステムの呼フロー図である。
【図５】一実施形態による動的なTURNサーバのプロビジョニングまたは動的なTURN資格証明情報のプロビジョニングのためのシステムの呼フロー図である。
【図６】一実施形態によるシグナリングゲートウェイのブロック図である。
【図７】一実施形態による電子デバイス(ED)のブロック図である。
【図８】一実施形態によるNATトラバーサルの方法を示す流れ図である。
【発明を実施するための形態】
【００１１】
例示的なNATデバイス102が図1に示され、この図において、NATデバイス102は、パケットがそのNATデバイス102を通過するときに、パケットの送信元IP/ポート104を新しい値106に変換する(たとえば、10.0.1.1:6554 -> 1.2.3.4:8877)。NATデバイスは、プライベートIPアドレスを再利用することによってインターネットプロトコルバージョン4 (IPv4)アドレスの不足の問題を解決することができる。また、NATデバイスは、セキュリティ保護のために内部ネットワークトポロジーを外部から隠す。しかし、NATデバイスは、ボイスオーバインターネットプロトコル(VoIP)の呼を断ち切る。NATは、呼が設定されているときに、発信元のUEがシグナリングメッセージ内でそのUEのプライベートアドレス(NATされていない)をメディアアドレスとして送信するのでVoIPの呼を断ち切る。プライベートアドレスは公衆ネットワーク内ではルーティング可能でないので、プライベートアドレスに送信されたメディアパケットは、経路上のルータまたはスイッチによって破棄され、ピアUEに到達しない。
【００１２】
上のNAT/ファイアウォールの問題を解決するための1つの解決策は、ICE/STUN/TURNを使用することによる。図2A〜図2Cは、ICE/STUN/TURNの単純化されたステップを示す。図2Aに示されるように、第1のステップの間に、第1のUE 202が、(図2AのTURNサーバ210として示される) STUNまたはTURNサーバに要求を送信することによってその第1のUE 202のパブリックおよびリレーアドレスを収集する。図2Bに示されるように、第2のステップの間に、第1のUE 202が、ピアまたは第2のUE 204に収集されたメディアの候補を送信する。ピアまたは第2のUE 204は、TURNサーバ210に要求を送信することによってそのピアまたは第2のUE 204のパブリックおよびリレーアドレスを収集し、第1のUE 202に収集されたメディアの候補を送信する。図2Cに示されるように、第3のステップの間に、第1および第2のUE、202、204は、それぞれのあり得る経路に関する接続性検査メッセージを送信することによってメディアの経路208を調べ、機能する経路を選択する。
【００１３】
図3は、ICE/STUN/TURNを使用する例示的なVoIP呼フロー図300を示す。示される例においては、2つのUE 302、304が、候補アドレス(パブリックおよびリレーアドレス)を収集し、シグナリングメッセージを通じてメディアの候補をやりとりし(ステップ306、308)、接続性検査を実行し(ステップ310、312)、選択されたメディアの経路を介してメディアをやりとりする(ステップ314)。UE 302、304は対称型NAT 303の後ろにあるので、パブリックアドレスに関するそれらのUE 302、304の接続性検査は失敗する(ステップ310)。UE 302、304は、メディア通信のためにTURNリレーサーバ316を使用するように切り替える(ステップ312)。UE登録プロセスは、簡単にするために図3に示されていない。
【００１４】
ICE/STUN/TURNは、P2P通信のための最もよくあるNAT/ファイアウォールトラバーサルの解決方法の中にあり、必須のNATトラバーサルメカニズムとしてウェブリアルタイム通信(WebRTC: Web Real-Time Communication)のためにワールドワイドウェブコンソーシアム(W3C)およびIETFによって最近採用された。WebRTCは、ユーザがウェブブラウザを用いて音声またはビデオ通話を行うことを可能にする。ブラウザはほとんどの種類の電子デバイス(デスクトップ、スマートフォン、タブレット/パッドなど)において容易に利用可能であるので、WebRTCは、大量のユーザに対するその潜在的能力および音声/ビデオをウェブアプリケーションに組み込むその能力のおかげで破壊的なテクノロジーであると考えられる。したがって、スケーラブルで、安全で、効率的なICE/TURN/STUNの解決策が望ましい。
【００１５】
既存のICE/STUN/TURNの解決策にはいくつかの欠点が存在する。1つの欠点は、TURN資格証明情報のプロビジョニングである。たとえば、TURN規格は、TURN長期資格証明情報(long-term credential)を使用するユーザ認証のためのメカニズムを定義する。UEがTURNサーバに要求を送信すると、TURNサーバは、ランダム値によってUEにチャレンジし、UEは、そのUEを認証するために共有された資格証明情報を用いて計算された認証コードを送信しなければならない。これは、セキュリティのために非常に重要である。そうでなければ、ハッカーが、TURNサーバ上のリソース、たとえば、リレーアドレスまたはテーブルエントリを使い果たすように膨大な要求を送信することができてしまう。
【００１６】
しかし、現在の規格は、長期資格証明情報をUEにどのようにしてプロビジョニングすべきかを規定しない。よくある実践は、以下を含む。
a.  手動構成:  この手法は、たとえば、資格証明情報が数百万人のユーザのために構成される必要があるWebRTCの場合に、多数のユーザに対してスケーラブルでない。
b.  デバイス管理チャネルを使用する:  この手法は、デバイス管理機能をサポートするデバイス、たとえば、スマートフォンに関してのみ上手くいく。この手法は、ブラウザがデバイス管理機能を使用しないので、WebRTCに関しては上手くいかない。
c.  共有されたユーザ名/パスワード:  この手法は、ユーザ数が少ないときにのみ上手くいき、ユーザ数が多いとき、または頻繁にグループに参加する/グループから離脱するユーザに関しては安全でなく、したがって、サービスプロバイダには受け入れられない。
d.  WebRTCのユーザ名/パスワードに似たその他のサービス資格証明情報の再利用:  この手法は、以下のいくつかの欠点を有する。
i.  TURNサーバがサービス資格証明情報を知らない可能性があり(たとえば、TURNサーバが第三者に属する)、したがって、TURNサーバおよびサービス資格証明情報が異なる関係者または組織に属する場合、この手法を使用することは難しい。
ii.  TURNユーザ名および認証コードが平文で送信される可能性があるので、サービス資格証明情報を使用することは、ユーザ名の漏洩およびオフラインパスワードクラッキング攻撃の危険性を高める。
【００１７】
いくつかの手法が、IETFおよびTURN資格証明情報の管理に関連するその他の標準化団体に最近提案された。
a.  M. Petit-HugueninらによるRFC 7065「Traversal Using Relays around NAT (TURN) Uniform Resource Identifiers」。このRFCは、メッセージ、たとえば、HTTP応答内のTURNサーバアドレスおよびプロトコルを符号化するためのフォーマットを定義する。しかし、このRFCは、TURN資格証明情報をプロビジョニングするためのメカニズムを定義しない。
b.  ウェブサーバへのREST API呼び出しによってTURN資格証明情報を取り出す。この手法においては、UEが、ユーザ名およびパスワード(資格証明情報)を含むTURNパラメータを取り出すためにウェブサーバ上のURL (API)にHTTP要求を送信する。しかし、このメカニズムは、UEがウェブサーバによってどのようにして認証され得るのかを規定しない。たとえば、TURNサーバが第三者に属する場合、またはウェブサーバがユーザ認証機能を持たない(たとえば、ユーザがWebRTCサービスにアクセスするためにIMSの識別情報を使用し、ウェブの識別情報を使用しない)場合。したがって、この手法は、認証の問題をTURNサーバからウェブサーバに移すに過ぎない。ウェブサーバが常にユーザを認証するという保証がないので、手法の適用性は制限され、ウェブサーバの機能に依存する。
c.  OAuthトークンの手法:  この手法においては、TURNサーバが、ユーザを初めにWebRTCサーバにリダイレクトする。それから、WebRTCサーバがOAuthトークンを返し、このOAuthトークンがUEによって使用されてTURNサーバに対して認証する。この手法の欠点の一部は、以下のことである。
I.  OAuthトークンを送信/処理するようにTURNプロトコルが変更される必要がある。
II.  OAuthトークンが、既存のサービスアーキテクチャにおいて利用可能でない可能性がある。たとえば、WebRTCサービスに関して、ユーザが認証するためにIMS IDを使用するとき、3GPPが提案したサービスアーキテクチャに従って使用されるOAuthトークンは存在しない。したがって、既存のアーキテクチャが、変更される必要がある。
III.  トークンの漏洩。通常、TURNメッセージは暗号化されずに送信されるので、UEがTURNメッセージでトークンを送信する場合、攻撃者がTURNメッセージを傍受またはハッキングし、OAuthトークンを捕捉することがあり得る。これは、ユーザの識別情報を盗むまたはセッションを乗っ取るなどといったことのために攻撃者によって使用される可能性がある深刻なセキュリティの問題である。
d.  VoIPシグナリングチャネルを使用するTURN資格証明情報のプロビジョニング。この手法においては、初めに、ユーザがVoIP/WebRTCサーバに認証を行い、それから、サーバがユーザ名およびパスワードをユーザに返す。この手法は、登録中にユーザがWebRTCまたはVoIPサーバによって認証されるので安全であるという利点を有する。また、この手法は、シグナリングチャネルのスケーラビリティを使用するので単純でスケーラブルである。1つの欠点は、この手法が、生成された資格証明情報を(WebRTCまたはVoIPサーバから) TURNサーバにどのようにして送信すべきかを説明せず、たとえば、下記で検討される匿名の呼のためのユーザの資格証明情報の動的変更をサポートしないことである。
【００１８】
TURNメッセージは平文で送信されることが多いので、攻撃者または第三者がTURNメッセージ内のユーザ名を追跡することによってユーザの呼の情報を見つけることがあり得る。これは、ユーザの呼の時間、呼の送信先(IP)、呼の継続時間などを明らかにする可能性がある。攻撃者が能動的な攻撃技術を使用する場合、たとえば、攻撃者がまずユーザを呼び出し、ユーザからのTURNメッセージを分析してユーザのTURNユーザ名を見つけるといった場合、ユーザ呼ID (user call ID)を明らかにする可能性がある。したがって、TURNユーザ名を定期的に変更することが望ましい可能性がある。たとえば、匿名の呼のためにTURNユーザ名を異なるユーザ名に変更することが望ましい。現在の手法は、ユーザが匿名の呼のために新しいTURNユーザ名を取り出すかまたはプライバシーの問題を避けるためにユーザ名を定期的に変更することを可能にしない。
【００１９】
本開示によれば、VoIP/WebRTCシグナリングチャネルを使用してTURN資格証明情報(たとえば、ユーザ名/パスワード)をプロビジョニングするための方法が提供される。方法は、シグナリングゲートウェイ(たとえば、VoIP/WebRTCシグナリングゲートウェイ)とTURNサーバとの間で資格証明情報を管理するメカニズムを提供する。方法は、異なるレルム(realm)に関してユーザを扱うためのメカニズムを提供する。方法は、資格証明情報の失効時間および資格証明情報の取り消しを制御するためのメカニズムを提供する。方法は、ユーザのプライバシーを守るために、EDによっていつでも、たとえば匿名の呼の前に資格証明情報を新しくするためのメカニズムを提供する。方法は、たとえば、ネットワークの状態またはセキュリティの問題に基づいてTURNサーバを動的に取り出すためのメカニズムを提供する。
【００２０】
本開示によるVoIP/WebRTCシグナリングチャネルを介したNAT/FWトラバーサルのためにTURN資格証明情報およびサーバをプロビジョニングするためのシステム400の実施形態が、図4の呼フロー図を参照して説明される。システム400は、第1の電子デバイス(ED) 402、第1のNAT/ファイアウォール404、VoIP/WebRTCシグナリングゲートウェイなどのシグナリングゲートウェイ406、第2のNAT/ファイアウォール409、TURNサーバ408、および第2のED 412を含む。シグナリングゲートウェイ406は、シグナリング、メディア、およびTURN機能を統合し得る。第1および第2のED 402、412は、システム400内で動作および/または通信するように構成される。たとえば、ED 402、412は、ワイヤレス信号または有線信号を送信および/または受信するように構成される。各ED 402、412は、任意の好適なエンドユーザデバイスを表し、ユーザ機器/デバイス(UE)、ワイヤレス送信/受信ユニット(WTRU)、移動局、固定もしくはモバイル加入者ユニット、ページャ、セルラー電話、携帯情報端末(PDA)、スマートフォン、ラップトップ、コンピュータ、タッチパッド、ワイヤレスセンサ、または家庭用電子デバイスなどのデバイスを含む可能性がある(またはそのように呼ばれる可能性がある)。システム内で使用される例示的なシグナリングプロトコルは、セッション開始プロトコルオーバWebSocket (SIPオーバWS)である。
【００２１】
シグナリングゲートウェイ406は、そのゲートウェイの全般的な管理および動作のための実行可能なプログラム命令を与えるオペレーティングシステムを含む可能性があり、通常、シグナリングゲートウェイ406のプロセッサによって実行されるとシグナリングゲートウェイ406がそのシグナリングゲートウェイ406の意図された機能を実行することを可能にする命令を記憶するコンピュータ可読媒体を含む。シグナリングゲートウェイのオペレーティングシステムおよび全般的な機能の好適な実装は知られているかまたは市販されており、当業者によって容易に実装される。
【００２２】
第1のED 402は、VoIPシグナリングサーバ(たとえば、プロキシ呼セッション制御機能(P-CSCF: Proxy Call Session Control Function))またはWebRTCシグナリングサーバ(たとえば、eP-CSCF)などのシグナリングゲートウェイ406に登録するときに、TURN資格証明情報を第1のED 402に提供するようにシグナリングゲートウェイ406に要求するために、TURN資格証明情報プロビジョン要求および「tun-cred」パラメータなどの1つまたは複数のパラメータを含むREGISTER (たとえば、SIP SIPオーバWSのREGISTER)またはその他の登録もしくは認証メッセージを送信する(ステップ405)。「tun-cred」パラメータのフォーマットは、
「tun-cred:[realm=値;][exp=値;][revoke;]」であり、ここで、
(a)「realm」パラメータは任意であり、存在する場合は、特定のレルムのための資格証明情報を要求し、(b)「exp」パラメータは任意であり、存在する場合は、指定された失効時間のための資格証明情報を要求し、(c)「revoke」パラメータは任意であり、存在する場合は、以前に生成された資格証明情報を取り消すようにシグナリングゲートウェイ406に要求する。
【００２３】
シグナリングゲートウェイ406は、「tun-cred」パラメータを有する登録メッセージを受信すると、「tun-cred」パラメータの有効性を検証し、レルムおよびレルムのためのTURNサーバを選択する。たとえば、シグナリングゲートウェイ406は、レルムのフォーマットが認識され、レルムが認識され、失効時間の値が負または無限でないなどと判定する可能性がある。レルムは、サーバまたはサーバ内のコンテキスト(context)を記述するために使用される文字列である可能性があり、要求を認証するためにどのユーザ名およびパスワードの組合せを使用すべきかをクライアントデバイスに知らせる可能性がある。それから、シグナリングゲートウェイ406は、TURN資格証明情報のユーザ部分(TURN-USR)を生成する(ステップ410)。TURN資格証明情報のユーザ部分(TURN-USR)は、以下のフォーマットである可能性がある。
「Turn-USR = user-name[@realm-value;][exp=値;][revoke;]」
ここで、
(a)  「user-name」は、TURN資格証明情報のユーザ名部分である。
(b)  「realm-value」は任意であり、ユーザのレルムを指定する。
(c)  「exp」値は任意であり、資格証明情報の失効時間を指定する。
(d)  「revoke」キーワードは任意であり、この資格証明情報より前に生成されたすべてのTURN資格証明情報を取り消すことをTURNサーバに指示する。
【００２４】
シグナリングゲートウェイ406は、選択されたTURNサーバに関する予め共有された鍵(km)を特定し、予め共有された鍵を使用して資格証明情報のユーザ部分をハッシュすることによってTURN資格証明情報のパスワード部分(TURN-PWD)を生成する(ステップ410)。TURN資格証明情報のパスワード部分(TURN-PWD)は、以下のフォーマットである可能性がある。
「TURN-PWD = hmac (TURN-USR, pre-shared-key)」
【００２５】
シグナリングゲートウェイ406は、登録メッセージに対する応答(たとえば、SIPの「200 OK」)内で第1のED 402に生成されたTURN資格証明情報(TURN-USRおよびTURN-PWD)を送信する(ステップ415)。結果は、「tur-cred=usr-name@realm;exp=val;revoke;tur-pwd=turn-password」のように符号化される可能性がある。当業者は、その他のフォーマットも使用され得ることを認識するであろう。
【００２６】
第1のED 402は、シグナリングゲートウェイ406からTURN資格証明情報を伴う登録に関する応答を受信し、TURN資格証明情報を使用してTURNリレーアドレスを要求する。第1のED 402は、TURN-USRの文字列全体をその第1のED 402の割り当て(Alloc)要求内のTURNユーザ名として使用し(つまり、TURNユーザ名は、user-name@realm;exp-value;revokeを含む)、TURN-PWDを使用してAlloc要求のためのメッセージ認証コード(MAC)を生成する(ステップ420)。
【００２７】
TURNサーバ408は、第1のED 402からAlloc要求を受信し、ユーザ文字列(たとえば、user-name@realm;exp-value;revoke)を解析し、TURNユーザ名、レルム、失効時間、および取り消しキーワードを抽出する(ステップ425)。TURNサーバ408は、抽出された値の有効性を検証し、パラメータが無効(たとえば、レルムの知られていないまたは認められていないフォーマット、知られていないまたは認められていないレルム、負の失効時間など)である場合、要求を破棄する。TURNサーバ408は、レルムから予め共有された鍵を特定し、予め共有された鍵によってAlloc要求内の受信されたTURNユーザ文字列をハッシュすることによってTURN-PWDを計算する(ステップ425)。TURNサーバ408は、予め共有された鍵によってAlloc要求内の受信されたTURNユーザ文字列をハッシュすることによって生成されたTURN-PWDを使用して受信されたメッセージの有効性を検証する。Alloc要求内のユーザ文字列が取り消しキーワードを含む場合、TURNサーバ408は、以前に受信された失効していない資格証明情報を取り消す(たとえば、ローカルキャッシュを使用してユーザのための失効していない資格証明情報および資格証明情報のステータスを記録する)。資格証明情報が取り消される場合、その資格証明情報はTURNサーバ408によって拒否される。受信されたメッセージの有効性が検証された後、TURNサーバ408は、リレーアドレスを含むAlloc応答を第1のED 402に送信する(ステップ430)。
【００２８】
第1のEDがTURNサーバからリレーアドレスを受信する場合、第1のEDは既存のプロトコルまたは手順を使用して発呼に進み、たとえば、第1のED 402が、シグナリングゲートウェイ406にINVITE要求を送信して(ステップ435)呼を開始する。シグナリングゲートウェイ406は、第1のED 402からINVITE要求を受信し、呼が先に進み得るかどうかを調べる。呼が先に進み得ない場合、たとえば、呼び出される相手(たとえば、第2のED 412)が登録されていないかまたはオンラインでない場合、シグナリングゲートウェイ406は、第1のED 402にエラーコードを返し(図示せず)、呼を終了する。
【００２９】
呼が先に進み得る場合、シグナリングゲートウェイ406は、INVITEメッセージを呼び出される相手(たとえば、第2のED 412)に転送する(ステップ435)。呼び出される相手(たとえば、第2のED 412)は、INVITEメッセージを受信し、INVITEメッセージを処理し、応答メッセージ(たとえば、「200 OK」メッセージ)をシグナリングゲートウェイ406に送信する。シグナリングゲートウェイ406は、応答メッセージを第1のED 402に転送する(ステップ440)。ED 402、412の各々は、それぞれの対称型NAT/ファイアウォール404、409の後ろにある。
【００３０】
第1のED 402は、応答メッセージを受信し、チャネルを予約するためにTURNサーバ408にChannelBind要求を送信する(ステップ445)。TURNサーバ408は、ChannelBind要求を受信し、ChannelBind応答を第1のED 402に送信する(ステップ450)。チャネルが設定された後、第1および第2のED 402、412は、(たとえば、STUNバインディング要求を用いて)接続性検査のためのメッセージをやりとりすることができる。たとえば、TURNサーバ408は、接続性検査要求メッセージを介して第1のED 402からデータを受信し、データを第2のED 412に中継する(ステップ455)。第2のED 412は、データを受信し、接続性検査応答メッセージによって応答する。TURNサーバ408は、接続性検査応答メッセージを受信し、その接続性検査応答メッセージ内のデータを第1のED 402に中継する(ステップ460)。その後、第1および第2のED 402、412は、メディアの経路を見つけ、リアルタイムトランスポートプロトコル(RTP)によるなどして互いにメディアパケットを送信し始める(ステップ465)。
【００３１】
図5は、動的なTURNサーバのプロビジョニングまたは動的なTURN資格証明情報のプロビジョニングのためのシステム500を示す呼フロー図である。図5の呼フロー図に示されるように、第1のED 402は、その第1のED 402の初期登録メッセージ(たとえば、REGISTER)内でTURN資格証明情報を要求する。登録メッセージは、図4に関連して上で説明された「tun-cred」パラメータを含み得る。シグナリングゲートウェイ406は、ユーザのレルムを特定し、1つのTURNサーバまたはTURNサーバのリストを選択し、そのシグナリングゲートウェイ406の応答(たとえば、SIPの「200 OK」)内で選択されたTURN資格証明情報を第1のED 402に送信する。図4に関連して上で説明されたように、第1のEDは、TURNサーバ408からリレーアドレスを受信する場合、既存のプロトコルまたは手順を使用して発呼に進み、たとえば、第1のED 402が、シグナリングゲートウェイ406にINVITE要求を送信して呼を開始する。
【００３２】
シグナリングゲートウェイ406は、ユーザのプライバシーを守るために、たとえば、匿名の呼の前に資格証明情報を動的に新しくするか、または1つの資格証明情報をあまりにも長く使用することを避けるように構成され得る。次の登録サイクルの前に(たとえば、匿名の呼を発する前に)新しいTURNユーザ名およびパスワードを受信するために、第1のED 402は、図4に関連して上で説明されたように、「tur-cred」パラメータなどのパラメータを含むOPTIONまたはINFORM要求などの更新要求をシグナリングゲートウェイ406に送信する(ステップ505)。「tur-cred」パラメータのフォーマットは、図4に関連して上で説明されたものと同じである。図4に関連して上で説明されたように、シグナリングゲートウェイ406は、ユーザ要求の有効性を検証し、新しいTURN資格証明情報(たとえば、TURN-USRおよびTURN-PWD)を生成する。シグナリングサーバ406は、OPTIONまたはINFORM要求に対する応答(たとえば、SIPにおける「200 OK」)内で新しい資格証明情報を第1のED 402に送り返す(ステップ510)。第1のED 402は、シグナリングゲートウェイ406から新しいTURN資格証明情報を受信し、新しいTURN資格証明情報を使用して匿名の呼を発する。
【００３３】
代替的にまたは追加的に、シグナリングゲートウェイ406は、ネットワーク条件(たとえば、サービス品質(QoS))またはセキュリティ条件に基づくTURNサーバの再選択をサポートするように構成され得る。たとえば、第1のED 402は、その第1のED 402の要求に応答しない前に受信されたTURNサーバなどのTURNサーバの問題(たとえば、QoSまたはセキュリティ)を検出する場合、ステップ505において、「tur-serv」パラメータなどのパラメータを含むOPTIONまたはINFORM要求をなどの更新要求をシグナリングゲートウェイ406に送信し得る。更新要求は、なぜ第1のEDが新しいTURNサーバを必要とするのかを示す理由コードを含み得る。シグナリングゲートウェイ406は、ユーザ要求の有効性を検証し、通信システム内のその他のTURNサーバの動作ステータスのそのシグナリングゲートウェイ406の知識および第1のED 402からのフィードバックに基づいて新しい1つのTURNサーバまたは複数のTURNサーバを選択し、OPTIONまたはINFORM要求に対する応答(たとえば、SIPにおける「200 OK」)内で第1のED 402に新しいTURNサーバのリストを送り返す(ステップ510)。第1のED 402は、シグナリングゲートウェイ406から新しいTURNサーバのリストを受信し、新しいTURNサーバを選択する。
【００３４】
図6は、シグナリングゲートウェイ406のブロック図を示す。特定の実施形態において、シグナリングゲートウェイ406は、SIPサーバ、H.323サーバなどのサーバコンピュータで構成される。図6に示されるように、シグナリングゲートウェイ406は、そのハードウェア構成に、たとえば、IPネットワーク604に結合された通信インターフェース602と、オペレーティングシステム(図示せず)と、VoIPサーバなどのサーバとして働くためのプログラムを記憶するためのストレージデバイス608と、動作全体を制御するためにストレージデバイス608内のプログラムを実行する制御デバイス610 (たとえば、プロセッサまたはCPU)とを含む。
【００３５】
ストレージデバイス608は、たとえば、OSと、IPパケットに基づくデータ通信を制御する通信プロトコルスタックと、データベースと、制御プログラム、たとえば、(たとえば発呼し、呼を受ける)音声通信の手順を定義するH.323、SIPなどの呼制御プロトコルと、NATおよびファイアウォールトラバーサル方法のための処理手順を定義するサーバプログラムとを含み得る。
【００３６】
制御デバイス610は、汎用、専用、またはデジタル信号プロセッサである可能性があり、また複数のプロセッサ、またはそのようなプロセッサの組合せである可能性がある。制御デバイス610は、信号の符号化、データ処理、入力/出力処理を実行するための機能、および/またはシグナリングゲートウェイ406がシステム400もしくはシステム500内で動作することを可能にする任意のその他の機能を含む。加えて、制御デバイス610は、データを記憶し、取り出すように動作可能なストレージデバイス608に結合される。ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ハードディスク、加入者識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカードなどの任意の好適な種類のメモリストレージデバイスが含まれる可能性がある。
【００３７】
図7は、例示的な電子デバイス(ED)またはユーザ機器(UE)のブロック図を示す。電子デバイス710は、たとえば、ポータブルワイヤレス電子デバイスである可能性がある。たとえば、電子デバイス710は、セルラー電話、無線通信能力を有するメディアプレーヤー、ハンドヘルドコンピュータ(携帯情報端末と呼ばれることもある)、リモートコントローラ、全地球測位システム(GPS)デバイス、タブレットコンピュータ、ハンドヘルドゲーム機である可能性がある。電子デバイス710は、プロセッサ700、トランシーバ702、アンテナ素子704、1つまたは複数の入力/出力デバイス706 (たとえば、スピーカ/マイクロフォン、キーパッド、ディスプレイ/タッチパッド)、およびメモリ708を含む。電子デバイス710は、ワイヤレスリンク790を介して基地局(図示せず)にワイヤレスに結合される可能性がある。
【００３８】
電子デバイス710は、1つまたは複数のその他の構成要素、デバイス、または機能(図示せず)を含む可能性がある。電子デバイス710は、上述の要素のうちの比較的少ない要素または比較的多くの要素を含む可能性がある。
【００３９】
プロセッサ700は、汎用、専用、またはデジタル信号プロセッサである可能性があり、また複数のプロセッサ、またはそのようなプロセッサの組合せである可能性がある。プロセッサ700は、信号の符号化、データ処理、電力制御、入力/出力処理を実行するための機能、および/または電子デバイス710がシステム400もしくはシステム500内で動作することを可能にする任意のその他の機能を含む。プロセッサ700は、アンテナ素子704に結合されたトランシーバ702に結合される。プロセッサ700およびトランシーバ702は別々の構成要素である場合も、または統合される場合もあることが理解されるであろう。同様に、アンテナ素子704は、単一の素子またはいくつかの素子(複数のアンテナもしくは素子)である可能性がある。
【００４０】
トランシーバ702は、アンテナ704による送信のためにデータまたは信号を変調し、アンテナ704によって受信されたデータまたは信号を復調するように構成される。
【００４１】
プロセッサ700は、ユーザデータを入力する/出力するように動作可能である(ポートまたはバスを含む) 1つまたは複数の入力/出力デバイス706に結合される。加えて、プロセッサ700は、データを記憶し、取り出すように動作可能なメモリ708に結合される。ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、ハードディスク、加入者識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカードなどの任意の好適な種類のメモリストレージデバイスが含まれる可能性がある。
【００４２】
電子デバイス710内に含まれる可能性があるその他の要素またはデバイスは、本開示の理解に必要であるかまたは関連しない限り、本明細書において説明されない。
【００４３】
図8は、一実施形態による通信システムにおけるネットワークアドレス変換のリレーを用いたトラバーサル(TURN)資格証明情報およびサーバのプロビジョニングのための方法800を示す流れ図を示す。方法は、ステップ802において、第1の電子デバイスがシグナリングゲートウェイに登録するかまたは認証するときに、シグナリングゲートウェイにおいて第1の電子デバイスからシグナリングメッセージを受信することを含む。シグナリングメッセージは、1つまたは複数のシグナリングメッセージパラメータを含む。シグナリングメッセージは、シグナリングゲートウェイが第1の電子デバイスのためのTURN資格証明情報を生成する要求をさらに含む。TURN資格証明情報は、1つまたは複数のシグナリングメッセージパラメータに関連付けられている。たとえば、第1の電子デバイス402からの登録メッセージが、シグナリングゲートウェイ406において受信される(ステップ405)。登録メッセージは、TURN資格証明情報プロビジョン要求パラメータを含み、レルムパラメータ、失効パラメータ、および取り消しパラメータなどのパラメータを含む可能性がある。
【００４４】
ステップ804において、シグナリングメッセージパラメータの有効性がシグナリングゲートウェイにおいて検証される。たとえば、登録メッセージの有効性がシグナリングゲートウェイ406によって検証される(ステップ410)。例示として、シグナリングゲートウェイ406は、レルムパラメータ「realm」(もしあれば)を、そのシグナリングゲートウェイ406のセキュリティポリシーと突き合わせて有効性を検証し、無効なレルム値を有する要求を破棄する。レルムパラメータが存在しない場合、シグナリングゲートウェイは、デフォルトのレルムを選択する。シグナリングゲートウェイ406は、失効パラメータ「exp」(もしあれば)の有効性を検証し、無効な値を有する要求を破棄する。失効パラメータが存在しない場合、シグナリングゲートウェイは、認証メッセージ(たとえば、REGISTERメッセージ)の失効値などの失効値を選択する。
【００４５】
ステップ806において、TURN資格証明情報が、シグナリングゲートウェイによって第1の電子デバイスに送信される。たとえば、シグナリングゲートウェイ406は、TURN資格証明情報をそのシグナリングゲートウェイ406の応答メッセージ「200 OK」内で第1の電子デバイス402に送信する(ステップ415)。
【００４６】
本開示の利点のうちの1つは、シグナリングゲートウェイが登録プロセス中にユーザを認証し、認証されたユーザだけがTURN資格証明情報を受信し得ることを保証することである。OAuth TokenまたはREST APIのような他の手法は、ウェブサーバを使用してTURN資格証明情報を配信する。ウェブサーバは、ユーザを認証する場合も、またはユーザを認証しない場合もある。たとえば、3GPPが定義したWebRTCアーキテクチャでは、ウェブサーバは、WebRTC JSコードをホストするのみであり、IMS識別情報がWebRTCサービスにアクセスするために使用されるときにユーザを認証しない。そのような場合、シグナリングゲートウェイに基づく手法は、ウェブサーバに基づく手法よりも安全である。
【００４７】
本開示の別の利点は、シグナリングゲートウェイに基づく手法が、変更または新しいインターフェースの追加をほとんどまたはまったく伴わずに既存のICE/TURNプロトコルを再利用することである。この手法は、TURN資格証明情報を確認するための余分なステップ(たとえば、OAuthの解決策においてトークンを確認するためのステップ)を必要とせず、それにより、実施するおよび動作するためのオーバーヘッドの必要性が少なくなる。
【００４８】
本開示の別の利点は、シグナリングゲートウェイに基づく手法が、TURNユーザ名の分析による呼情報の漏洩を防止するために匿名の呼のための新しい資格証明情報をEDが取り出すことを可能にし、それによって、その他の手法よりも手厚いユーザのプライバシーの保護を提供することである。
【００４９】
一部の実施形態においては、1つまたは複数のデバイスの機能またはプロセスのうちの一部またはすべてが、コンピュータ可読プログラムコードから形成され、コンピュータ可読媒体に具現化されるコンピュータプログラムによって実装またはサポートされる。語句「コンピュータ可読プログラムコード」は、ソースコード、オブジェクトコード、および実行可能コードを含む任意の種類のコンピュータコードを含む。語句「コンピュータ可読媒体」は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、または任意のその他の種類のメモリなどの、コンピュータによってアクセスされ得る任意の種類の媒体を含む。
【００５０】
例示的な実施形態においては、電子デバイスが、通信システムにおけるネットワークアドレス変換のリレーを用いたトラバーサル(TURN)資格証明情報およびサーバのプロビジョニングのために使用される。電子デバイスは、シグナリングゲートウェイにシグナリングメッセージを送信する送信要素であって、シグナリングメッセージが、1つまたは複数のシグナリングメッセージパラメータを含み、シグナリングメッセージが、シグナリングゲートウェイが第1のEDのためのTURN資格証明情報を生成する要求をさらに含み、TURN資格証明情報が、1つまたは複数のシグナリングメッセージパラメータに関連付けられている、送信要素と、シグナリングゲートウェイからTURN資格証明情報を受信する受信要素とを含む。一部の実施形態において、電子デバイスは、実施形態において説明されたステップのうちのいずれか1つまたは組合せを実行するためのその他のまたは追加的な要素を含み得る。
【００５１】
例示的な実施形態においては、シグナリングゲートウェイが、通信システムにおけるネットワークアドレス変換のリレーを用いたトラバーサル(TURN)資格証明情報およびサーバのプロビジョニングのために使用される。シグナリングゲートウェイは、第1の電子デバイス(ED)からシグナリングメッセージを受信する受信要素であって、シグナリングメッセージが1つまたは複数のシグナリングメッセージパラメータを含み、シグナリングメッセージが、シグナリングゲートウェイが第1のEDのためのTURN資格証明情報を生成する要求をさらに含み、TURN資格証明情報が1つまたは複数のシグナリングメッセージパラメータに関連付けられている、受信要素と、第1の電子デバイスにTURN資格証明情報を送信する送信要素とを含む。一部の実施形態において、シグナリングゲートウェイは、実施形態において説明されたステップのうちのいずれか1つまたは組合せを実行するためのその他のまたは追加的な要素を含み得る。
【００５２】
本特許明細書全体を通じて使用された特定の語および語句の定義を説明することが、都合が良い可能性がある。用語「含む(include)」および「含む(comprise)」ならびにこれらの派生語は、限定のない包含を意味する。用語「または(or)」は、包含的であり、および/または(and/or)を意味する。語句「に関連付けられる(associated with)」および「それらに関連付けられる(associated therewith)」ならびにこれらの派生語は、〜を含む(include)、〜内に含まれる(be included within)、相互接続する(interconnect with)、〜を含む(contain)、〜内に含まれる(be contained within)、〜にまたは〜と接続する、〜にまたは〜と結合する、〜と通信可能である、〜と協力する、〜を交互配置する、〜を並置する、〜に近い、〜にまたは〜と結びつけられる、〜の特性を有するなどの意味である。
【００５３】
本開示は特定の実施形態および広く関連する方法を説明したが、これらの実施形態および方法の代替形態および変更形態は、当業者に明らかであろう。したがって、例示的な実施形態の上記の説明は、本開示を定義または限定しない。また、その他の変更、置き換え、および代替が、以下の特許請求の範囲によって定義される本開示の趣旨および範囲を逸脱することなく可能である。
【符号の説明】
【００５４】
102  NATデバイス
104  パケットの送信元IP/ポート
106  新しい値
202  第1のUE
204  第2のUE
208  メディアの経路
210  TURNサーバ
302  UE
303  対称型NAT
304  UE
316  TURNリレーサーバ
400  システム
402  第1のED
404  第1のNAT/ファイアウォール
406  シグナリングゲートウェイ
408  TURNサーバ
409  第2のNAT/ファイアウォール
412  第2のED
500  システム
602  通信インターフェース
604  IPネットワーク
608  ストレージデバイス
610  制御デバイス
700  プロセッサ
702  トランシーバ
704  アンテナ素子
706  入力/出力デバイス
708  メモリ
710  電子デバイス
790  ワイヤレスリンク
【図１】
0006414630.tif 000002
【図２Ａ】
0006414630.tif 000003
【図２Ｂ】
0006414630.tif 000004
【図２Ｃ】
0006414630.tif 000005
【図３】
0006414630.tif 000006
【図４】
0006414630.tif 000007
【図５】
0006414630.tif 000008
【図６】
0006414630.tif 000009
【図７】
0006414630.tif 000010
【図８】
0006414630.tif 000011