(57)【要約】  第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが、第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法である。該方法は、第１のコンピューティングデバイスにて実施される方法において、第１のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立するステップと、前記接続を使用して前記ブリッジモジュールとの認証手順を実行するステップと、前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップと、第２のコンピューティングデバイスから送信された認証要求をブリッジモジュールから受信するステップと、前記認証要求の受信に応じて、（ｉ）前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスするステップと、（ｉｉ）前記投影証明書チェーンを含む応答を生成するステップと、（ｉｉｉ）前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令するステップ、および応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信するステップと、前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび前記署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第２のコンピューティングデバイスに送信するステップとを含む。
2020530733.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが、第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、第１のコンピューティングデバイスにて実施される方法において、
第１のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立するステップと、
前記接続を使用して前記ブリッジモジュールとの認証手順を実行するステップと、
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップと、
第２のコンピューティングデバイスから送信された認証要求をブリッジモジュールから受信するステップと、
前記認証要求の受信に応じて、
（ｉ）前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスするステップと、
（ｉｉ）前記投影証明書チェーンを含む応答を生成するステップと、
（ｉｉｉ）前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令するステップ、および応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信するステップと、
前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび前記署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第２のコンピューティングデバイスに送信するステップとを含む、方法。
【請求項２】
前記投影証明書チェーンにアクセスするステップは、前記セキュア通信チャネルを介して前記ブリッジモジュールに前記投影証明書チェーンの要求を送信するステップと、前記セキュア通信チャネルを介して前記ブリッジモジュールから前記投影証明書チェーンを受信するステップとを含む、請求項１に記載の方法。
【請求項３】
前記認証手順を実行するステップは、
第１のコンピューティングデバイス上のストレージから第１のコンピューティングデバイスに関連付けられた証明書チェーンを検索するステップと、
第１のコンピューティングデバイスに関連付けられた前記証明書チェーンに、第１のコンピューティングデバイスに関連付けられた秘密鍵で署名するステップと、
前記ブリッジモジュールによる検証のために、署名済み証明書チェーンを、前記ブリッジモジュールに送信するステップとを含み、
前記秘密鍵は、第１のコンピューティングデバイス上のメモリに格納されている、請求項１から２のいずれかに記載の方法。
【請求項４】
前記認証手順を実行するステップは、
前記ブリッジモジュールに関連付けられた署名済み証明書チェーンを、前記ブリッジモジュールに関連付けられた公開鍵と共に受信するステップと、
第１のコンピューティングデバイス上のメモリに格納されたルート証明書を使用して、前記ブリッジモジュールに関連付けられた証明書チェーンを検証するステップとを含む、請求項１から３のいずれかに記載の方法。
【請求項５】
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップは、
少なくとも１つの対称暗号鍵を生成するステップと、
前記ブリッジモジュールに関連付けられた公開鍵を使用して、前記少なくとも１つの対称暗号鍵を暗号化して、少なくとも１つの暗号化された対称暗号鍵を生成するステップと、
前記少なくとも１つの暗号化された対称暗号鍵を前記ブリッジモジュールに送信するステップと、を含む、請求項１から４のいずれかに記載の方法。
【請求項６】
前記接続の喪失を検出することに応じて、前記少なくとも１つの対称暗号鍵を無効にするステップをさらに含む、請求項５に記載の方法。
【請求項７】
第２のコンピューティングデバイスに由来する要求であって、第２のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記ブリッジモジュールから受信するステップと、
第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記ブリッジモジュールに送信するステップを含む、請求項１から６のいずれかに記載の方法。
【請求項８】
前記ブリッジモジュールとの前記接続を確立するステップは、前記第１のコンピューティングデバイスにおいて受信されたユーザの入力に対する応答である、請求項１から７のいずれかに記載の方法。
【請求項９】
前記第１のコンピューティングデバイスおよび前記第２のコンピューティングデバイスの両方の外部のブリッジデバイスが前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記ブリッジデバイスとの接続を確立するステップを含む、請求項１から８のいずれかに記載の方法。
【請求項１０】
第２のコンピューティングデバイスは前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記第２のコンピューティングデバイスとの接続を確立するステップを含む、請求項１から８のいずれかに記載の方法。
【請求項１１】
前記ブリッジモジュールと確立された前記接続は、無線接続である、請求項１から１０のいずれかに記載の方法。
【請求項１２】
前記無線接続は、ピアツーピアワイヤレスプロトコルに従って確立される、請求項１１に記載の方法。
【請求項１３】
前記無線接続は、Ｗｉ−Ｆｉ（登録商標）ダイレクト接続またはＢｌｕｅｔｏｏｔｈ（登録商標）接続である、請求項１２に記載の方法。
【請求項１４】
前記ブリッジモジュールと確立される前記接続は、有線接続である、請求項１から１０のいずれかに記載の方法。
【請求項１５】
第２のコンピューティングデバイスは車両に統合された車両ヘッドユニットであり、前記車両ヘッドユニットは、前記アプリケーションの前記グラフィカルユーザインタフェースを表示するためのディスプレイを備える、請求項１から１４のいずれかに記載の方法。
【請求項１６】
第１のコンピューティングデバイスはモバイルコンピューティングデバイスであり、前記モバイルコンピューティングデバイスは、携帯電話機、ラップトップコンピュータ、タブレットコンピュータ、およびヘッドレスコンピューティングデバイスのうちの１つである、請求項１から１５のいずれかに記載の方法。
【請求項１７】
第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御装置セッションを確立するためのコンピュータプログラム製品であって、
非一時的なコンピュータ読み取り可能な媒体上で具現化され、第１のコンピューティングデバイスのプロセッサ上で実行されるときに、請求項１から１６のいずれかの方法を実行するように構成されたコードを備える、コンピュータプログラム製品。
【請求項１８】
コンピューティングデバイスであって、
前記コンピューティングデバイスのプロセッサによって実行されるユーザアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、前記コンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのアプリケーションを実行するようになっているプロセッサを備え、該プロセッサは、
第１のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立し、
前記接続を使用して前記ブリッジモジュールとの認証手順を実行し、
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立し、
第２のコンピューティングデバイスから送信された認証要求を前記ブリッジモジュールから受信し、
前記認証要求の受信に応じて、
（ｉ）前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスし、
（ｉｉ）前記投影証明書チェーンを含む応答を生成し、
（ｉｉｉ）前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令し、応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信し、かつ、
前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第２のコンピューティングデバイスに送信するように構成される、コンピューティングデバイス。
【請求項１９】
第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、ブリッジモジュール上で実施される方法において、
前記ブリッジモジュールの外部にある前記第１のコンピューティングデバイスとの接続を確立するステップと、
前記接続を使用して第１のコンピューティングデバイスとの認証手順を実行するステップと、
前記接続上の第１のコンピューティングデバイスへのセキュア通信チャネルを確立するステップと、
第２のコンピューティングデバイスから受信した認証要求を第１のコンピューティングデバイスに送信するステップと、
前記セキュア通信チャネルを介して第１のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから前記投影証明書チェーンを検索し、前記投影証明書チェーンを前記セキュア通信チャネルを介して第１のコンピューティングデバイスに送信するステップと、
前記セキュア通信チャネルを介して第１のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信するステップと、
第１のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関連付けられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して第１のコンピューティングデバイスに前記署名を送信するステップと、
前記遠隔制御セッションを確立するために、第１のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第２のコンピューティングデバイスに送信するステップと、を含む方法。
【請求項２０】
前記認証手順を実行するステップは、
第１のコンピューティングデバイスに関連付けられた署名済み証明書チェーンを第１のコンピューティングデバイスから受信するステップと、
前記セキュアデータストアに格納されたルート証明書を使用して、第１のコンピューティングデバイスに関連付けられた証明書チェーンを検証するステップと、を含む請求項１９に記載の方法。
【請求項２１】
前記認証手順を実行するステップは、
前記ブリッジモジュールに関連する証明書チェーンを前記セキュアデータストアから検索するステップと、
前記ブリッジモジュールに関連付けられた証明書チェーンに対し、前記ブリッジモジュールに関連付けられた秘密鍵で署名するステップと、
第１のコンピューティングデバイスによる検証のために、署名済み証明書チェーンを第１のコンピューティングデバイスに送信するステップと、を含み、
前記秘密鍵は前記セキュアデータストアに格納されている、請求項１９または２０に記載の方法。
【請求項２２】
第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間でデータを通信可能にするブリッジを確立するステップを含む、請求項１９から２１のいずれかに記載の方法。
【請求項２３】
前記ブリッジの確立に続いて、
第１のコンピューティングデバイスに送信するために第２のコンピューティングデバイスから第１のフォーマットのデータを受信し、第２のフォーマットの前記データを第１のコンピューティングデバイスに中継するステップと、
第２のコンピューティングデバイスに送信するために第１のコンピューティングデバイスから第２のフォーマットのデータを受信し、第１のフォーマットの前記データを第２のコンピューティングデバイスに中継するステップと、を含む請求項２２に記載の方法。
【請求項２４】
前記第１のフォーマットと前記第２のフォーマットとは同じである、請求項２３に記載の方法。
【請求項２５】
前記第１のフォーマットと前記第２のフォーマットとは異なり、
前記第１のフォーマットと前記第２のフォーマットとの間で前記データの変換を実行するステップを含む、請求項２３に記載の方法。
【請求項２６】
前記第２のコンピューティングデバイスに由来する要求であって、前記第２のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記第１のコンピューティングデバイスに送信するステップと、
応答として、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記第１のコンピューティングデバイスから受信するステップと、をさらに含む請求項２２から２５のいずれかに記載の方法。
【請求項２７】
前記第１のコンピューティングデバイスと確立される前記接続は無線接続である、請求項１９から２６のいずれかに記載の方法。
【請求項２８】
前記第１のコンピューティングデバイスと確立される前記接続は有線接続である、請求項１９から２６のいずれかに記載の方法。
【請求項２９】
第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのコンピュータプログラム製品であって、
非一時的なコンピュータ読み取り可能な媒体上で具現化され、プロセッサ上で実行されるときに、請求項１９から２８のいずれかに記載の方法を実行するように構成されたコードを備える、コンピュータプログラム製品。
【請求項３０】
第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのブリッジモジュールであって、
前記ブリッジモジュールの外部にある第１のコンピューティングデバイスとの接続を確立し、
前記接続を使用して、第１のコンピューティングデバイスと認証手順を実行し、
前記接続上の第１のコンピューティングデバイスへのセキュア通信チャネルを確立し、
第２のコンピューティングデバイスから受信した認証要求を第１のコンピューティングデバイスに送信し、
前記セキュア通信チャネルを介して第１のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから投影証明書チェーンを検索し、前記セキュア通信チャネルを介して前記投影証明書チェーンを第１のコンピューティングデバイスに送信し、
前記セキュア通信チャネルを介して第１のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信し、
第１のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関係づけられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して、第１のコンピューティングデバイスに前記署名を送信し、
前記遠隔制御セッションを確立するために、第１のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第２のコンピューティングデバイスに送信する、ブリッジモジュール。
【請求項３１】
前記ブリッジモジュールはブリッジデバイスに統合され、該ブリッジデバイスは、前記第１のコンピューティングデバイスおよび前記第２のコンピューティングデバイスの両方の外部にある、請求項３０に記載のブリッジモジュール。
【請求項３２】
前記ブリッジモジュールは前記第２のコンピューティングデバイスに統合されている、請求項３０に記載のブリッジモジュール。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔発明の分野〕
本発明は、コンピューティングデバイスを遠隔制御及び／又は閲覧（view）するための方法とシステムに関する。
【０００２】
〔発明の背景〕
第１のコンピュータ装置を使用して第２のコンピュータ装置の閲覧および制御を実行することが知られており、該閲覧および制御に用いられる仮想ネットワークコンピューティング（ＶＮＣ）ビューワアプリケーションおよびＶＮＣサーバアプリケーションとは、それぞれ、第１のコンピュータ装置（ＶＮＣビューワ）および第２のコンピュータ装置（ＶＮＣサーバ）上で実行される。第２のコンピュータ装置の表示のコンテンツは、第１のコンピュータ装置上で複製される。第１のコンピュータ装置はインタフェース機構を有し、該インタフェース機構により、ユーザは、上記装置上の物理キーを押す、マウスカーソルを動かす、或いはタッチスクリーン入力にタッチする、などのユーザ入力イベントを第２のコンピュータ装置に送信して、第２のコンピュータ装置を制御することができる。理解されるように、データリンクの形態およびコンピュータ装置の特性は、使用される状況に応じて変化し得る。
【０００３】
ＭｉｒｒｏｒＬｉｎｋなどのスマートデバイス車載アプリケーション投影技術により、例えばスマートフォンなどであるがこれに限定されないスマートデバイス上で実行されるアプリケーションが、車両本来のディスプレイおよび制御メカニズムを使用して、車両内で表示され、使用されることを可能にする。
【０００４】
スマートデバイスの観点から、車両は、技術特有のハードウェアおよびソフトウェアのインタフェースの仕様の背後に抽象化される。
【０００５】
現行のスマートデバイス車載アプリケーション投影技術は、（ｉ）通常は送信側（ＶＮＣサーバ）のシステム空間で制御されるデバイス間の物理的な接続に依存し、（ｉｉ）通常は送信側のシステム空間で制御されるセキュアエレメントを使用して、信頼できる証明書チェーン、その他の認証手段を記憶するように命じる認証レイヤに依存し、かつ（ｉｉｉ）投影を可能にするためのアプリケーションによって使用される必要がある、送信側に統合されるシステムコンポーネントに依存する。
【０００６】
〔発明の概要〕
本発明の一態様によれば、第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが、第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、第１のコンピューティングデバイスにて実施される方法が提供され、該方法は、第１のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立するステップと、前記接続を使用して前記ブリッジモジュールとの認証手順を実行するステップと、前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップと、第２のコンピューティングデバイスから送信された認証要求をブリッジモジュールから受信するステップと、前記認証要求の受信に応じて、（ｉ）前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスするステップと、（ｉｉ）前記投影証明書チェーンを含む応答を生成するステップと、（ｉｉｉ）前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令するステップ、および応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信するステップと、前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび前記署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第２のコンピューティングデバイスに送信するステップとを含む。
【０００７】
前記投影証明書チェーンにアクセスするステップは、前記セキュア通信チャネルを介して前記ブリッジモジュールに前記投影証明書チェーンの要求を送信するステップと、前記セキュア通信チャネルを介して前記ブリッジモジュールから前記投影証明書チェーンを受信するステップとを含んでもよい。
【０００８】
前記認証手順を実行するステップは、第１のコンピューティングデバイス上のストレージから第１のコンピューティングデバイスに関連付けられた証明書チェーンを検索するステップと、第１のコンピューティングデバイスに関連付けられた前記証明書チェーンに、第１のコンピューティングデバイスに関連付けられた秘密鍵で署名するステップと、前記ブリッジモジュールによる検証のために、署名済み証明書チェーンを、前記ブリッジモジュールに送信するステップとを含み、前記秘密鍵は、第１のコンピューティングデバイス上のメモリに格納されていてもよい。
【０００９】
前記認証手順を実行するステップは、前記ブリッジモジュールに関連付けられた署名済み証明書チェーンを、前記ブリッジモジュールに関連付けられた公開鍵と共に受信するステップと、第１のコンピューティングデバイス上のメモリに格納されたルート証明書を使用して、前記ブリッジモジュールに関連付けられた証明書チェーンを検証するステップとを含んでもよい。
【００１０】
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップは、少なくとも１つの対称暗号鍵を生成するステップと、前記ブリッジモジュールに関連付けられた公開鍵を使用して、前記少なくとも１つの対称暗号鍵を暗号化して、少なくとも１つの暗号化された対称暗号鍵を生成するステップと、前記少なくとも１つの暗号化された対称暗号鍵を前記ブリッジモジュールに送信するステップと、を含んでもよい。
【００１１】
前記方法は、前記接続の喪失を検出することに応じて、前記少なくとも１つの対称暗号鍵を無効にするステップをさらに含んでもよい。
【００１２】
前記方法は、第２のコンピューティングデバイスに由来する要求であって、第２のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記ブリッジモジュールから受信するステップと、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記ブリッジモジュールに送信するステップをさらに含んでもよい。
【００１３】
前記ブリッジモジュールとの前記接続を確立するステップは、前記第１のコンピューティングデバイスにおいて受信されたユーザの入力に対する応答であってもよい。
【００１４】
前記第１のコンピューティングデバイスおよび前記第２のコンピューティングデバイスの両方の外部のブリッジデバイスが前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記ブリッジデバイスとの接続を確立するステップを含んでもよい。
【００１５】
第２のコンピューティングデバイスは前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記第２のコンピューティングデバイスとの接続を確立するステップを含んでもよい。
【００１６】
前記ブリッジモジュールと確立された前記接続は、無線接続であってもよい。前記無線接続は、ピアツーピアワイヤレスプロトコルに従って確立されてもよい。前記無線接続は、Ｗｉ−Ｆｉ（登録商標）ダイレクト接続またはＢｌｕｅｔｏｏｔｈ（登録商標）接続であってもよい。
【００１７】
前記ブリッジモジュールと確立される前記接続は、有線接続であってもよい。
【００１８】
第２のコンピューティングデバイスは車両に統合された車両ヘッドユニットであり、前記車両ヘッドユニットは、前記アプリケーションの前記グラフィカルユーザインタフェースを表示するためのディスプレイを備えてもよい。
【００１９】
第１のコンピューティングデバイスはモバイルコンピューティングデバイスであり、前記モバイルコンピューティングデバイスは、携帯電話機、ラップトップコンピュータ、タブレットコンピュータ、およびヘッドレスコンピューティングデバイスのうちの１つであってもよい。
【００２０】
本発明の別の態様によれば、第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御装置セッションを確立するためのコンピュータプログラム製品が提供され、該コンピュータプログラム製品は、非一時的なコンピュータ読み取り可能な媒体上で具現化され、第１のコンピューティングデバイスのプロセッサ上で実行されるときに、本書に記載の方法ステップを実行するように構成されたコードを備える。
【００２１】
コードは、ディスク、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭのような担体上に、または読み取り専用メモリ（ファームウェア）のようなプログラムされたメモリー上に、または光電信号担体のようなデータ担体上に、提供されることができる。本発明の実施形態を実施するためのコード（および／またはデータ）は、Ｃなどの従来のプログラミング言語（インタープリタまたはコンパイルされた）、またはアセンブリコード、ＡＳＩＣ（特定用途向け集積回路）またはＦＰＧＡ（書替え可能ゲートアレイ）をセットアップまたは制御するためのコード、またはハードウェア記述言語のためのコードで、ソースコード、物体コード、または実行可能コードを含むことができる。
【００２２】
本発明の別の態様によれば、コンピューティングデバイスが提供され、該コンピューティングデバイスは、前記コンピューティングデバイスのプロセッサによって実行されるユーザアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、前記コンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのアプリケーションを実行するようになっているプロセッサを備え、該プロセッサは、第１のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立し、前記接続を使用して前記ブリッジモジュールとの認証手順を実行し、前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立し、第２のコンピューティングデバイスから送信された認証要求を前記ブリッジモジュールから受信し、前記認証要求の受信に応じて、（ｉ）前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスし、（ｉｉ）前記投影証明書チェーンを含む応答を生成し、（ｉｉｉ）前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令し、応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信し、かつ前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第２のコンピューティングデバイスに送信するように構成される。
【００２３】
本発明の別の態様によれば、第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、ブリッジモジュール上で実施される方法が提供され、該方法は、前記ブリッジモジュールの外部にある前記第１のコンピューティングデバイスとの接続を確立するステップと、前記接続を使用して第１のコンピューティングデバイスとの認証手順を実行するステップと、前記接続上の第１のコンピューティングデバイスへのセキュア通信チャネルを確立するステップと、第２のコンピューティングデバイスから受信した認証要求を第１のコンピューティングデバイスに送信するステップと、前記セキュア通信チャネルを介して第１のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから前記投影証明書チェーンを検索し、前記投影証明書チェーンを前記セキュア通信チャネルを介して第１のコンピューティングデバイスに送信するステップと、前記セキュア通信チャネルを介して第１のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信するステップと、第１のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関連付けられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して第１のコンピューティングデバイスに前記署名を送信するステップと、前記遠隔制御セッションを確立するために、第１のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第２のコンピューティングデバイスに送信するステップと、を含む。
【００２４】
前記認証手順を実行するステップは、第１のコンピューティングデバイスに関連付けられた署名済み証明書チェーンを第１のコンピューティングデバイスから受信するステップと、前記セキュアデータストアに格納されたルート証明書を使用して、第１のコンピューティングデバイスに関連付けられた証明書チェーンを検証するステップと、を含んでもよい。
【００２５】
前記認証手順を実行するステップは、前記ブリッジモジュールに関連する証明書チェーンを前記セキュアデータストアから検索するステップと、前記ブリッジモジュールに関連付けられた証明書チェーンに対し、前記ブリッジモジュールに関連付けられた秘密鍵で署名するステップと、第１のコンピューティングデバイスによる検証のために、署名済み証明書チェーンを第１のコンピューティングデバイスに送信するステップと、を含み前記秘密鍵は前記セキュアデータストアに格納されていてもよい。
【００２６】
前記方法は、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間でデータを通信可能にするブリッジを確立するステップを含んでもよい。
【００２７】
前記ブリッジの確立に続いて、第１のコンピューティングデバイスに送信するために第２のコンピューティングデバイスから第１のフォーマットのデータを受信し、第２のフォーマットの前記データを第１のコンピューティングデバイスに中継するステップと、第２のコンピューティングデバイスに送信するために第１のコンピューティングデバイスから第２のフォーマットのデータを受信し、第１のフォーマットの前記データを第２のコンピューティングデバイスに中継するステップと、を含んでもよい。
【００２８】
前記第１のフォーマットと前記第２のフォーマットとは同じであってもよい。
【００２９】
あるいは、前記第１のフォーマットと前記第２のフォーマットとは異なり、前記第１のフォーマットと前記第２のフォーマットとの間で前記データの変換を実行するステップを含んでもよい。
【００３０】
前記方法は、前記第２のコンピューティングデバイスに由来する要求であって、前記第２のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記第１のコンピューティングデバイスに送信するステップと、応答として、前記第１のコンピューティングデバイスと前記第２のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記第１のコンピューティングデバイスから受信するステップと、をさらに含んでもよい。
【００３１】
前記第１のコンピューティングデバイスと確立される前記接続は有線接続または無線接続であってもよい。
【００３２】
別の態様の本発明によれば、第１のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第２のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第１のコンピューティングデバイスと第２のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのブリッジモジュールが提供され、該ブリッジモジュールは、前記ブリッジモジュールの外部にある第１のコンピューティングデバイスとの接続を確立し、前記接続を使用して、第１のコンピューティングデバイスと認証手順を実行し、前記接続上の第１のコンピューティングデバイスへのセキュア通信チャネルを確立し、第２のコンピューティングデバイスから受信した認証要求を第１のコンピューティングデバイスに送信し、前記セキュア通信チャネルを介して第１のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから投影証明書チェーンを検索し、前記セキュア通信チャネルを介して前記投影証明書チェーンを第１のコンピューティングデバイスに送信し、前記セキュア通信チャネルを介して第１のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信し、第１のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関係づけられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して、第１のコンピューティングデバイスに前記署名を送信し、前記遠隔制御セッションを確立するために、第１のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第２のコンピューティングデバイスに送信する。
【００３３】
前記ブリッジモジュールはブリッジデバイスに統合され、該ブリッジデバイスは、前記第１のコンピューティングデバイスおよび前記第２のコンピューティングデバイスの両方の外部にあってもよい。
【００３４】
前記ブリッジモジュールは前記第２のコンピューティングデバイスに統合されていてもよい。
【００３５】
これらおよび他の態様は、以下に記載される実施形態から明らかになるであろう。本開示の範囲は、この概要によって限定されることも、言及された問題点のいずれかまたはすべてを必然的に解決する実施形態に限定されることも意図されていない。
【００３６】
〔図面の簡単な説明〕
本発明をより良く理解し、実施形態がどのように実施され得るかを示すために、添付の図面を参考にする。
【００３７】
図１は、公知の車載アプリケーション投影技術の実施例の概略ブロック図である。
【００３８】
図２は、本発明の実施形態による車載アプリケーション投影技術の実施例の概略ブロック図である。
【００３９】
図３は、本発明の実施形態による車載アプリケーション投影技術の実施例のより詳細な概略ブロック図である。
【００４０】
図４（図４−１・図４−２）は、キープロビジョニングプロセスを示す。
【００４１】
図５は、様々なシステム構成要素間の証明書および鍵の交換を示す。
【００４２】
図６ａ（図６ａ−１・図６ａ−２）は、投影セッションシーケンスの概要を示す。
【００４３】
図６ｂは、投影セッションシーケンスにおける相互認証シーケンスを示す。
【００４４】
図６ｃは、投影セッションシーケンスにおける投影セッション確立シーケンスを示す。
【００４５】
図６ｄ（図６ｄ−１・図６ｄ−２）は、投影セッションシーケンスにおける投影認証シーケンスを示す。
【００４６】
〔詳細な説明〕
図１には、公知の車載アプリケーション投影技術の実施例１００の概略ブロック図が示されている。
【００４７】
図１に示すように、ユーザアプリケーション１２２（例えば、ナビゲーションアプリケーション、通信アプリケーション、音楽アプリケーション等）は、モバイルコンピューティングデバイス１２上のユーザ空間で実行されている。
【００４８】
モバイルコンピューティングデバイス１２のディスプレイ上に表示されるユーザアプリケーション１２２のグラフィカルユーザインタフェースを、例えば、車両に統合された車両ヘッドユニットのようなリモートコンピューティングデバイス１０のディスプレイ上に投影するために、モバイルコンピューティングデバイス１２上のシステム空間（例えばＡｎｄｒｏｉｄ（登録商標）オペレーティングシステム）にて稼働しているＶＮＣサーバアプリケーション１２４を用いて、上記モバイルコンピューティングデバイスのディスプレイ上に表示される画像が取り込まれ、トランスポートリンク（例えば、ＵＳＢケーブル）を介してリモートコンピューティングデバイス１０に送信される。したがって、モバイルコンピューティングデバイス１２は、リモートコンピューティングデバイス１０上で閲覧されるための情報を送信しているので、ＶＮＣサーバと呼ぶこともできる。対応するＶＮＣビューワアプリケーション１０２は、リモートコンピューティングデバイス１０上で実行されて、モバイルコンピューティングデバイス１２のディスプレイの画像を受信し、リモートコンピューティングデバイス１０上のディスプレイに上記画像を出力する。したがって、上記リモートデバイスはＶＮＣビューワと呼ぶこともできる。
【００４９】
当業者には周知のように、現代のコンピューティングデバイスのオペレーティングシステムは、通常、仮想メモリをシステム空間およびユーザ空間に分離する。主に、この分離は、悪意のあるまたは誤ったソフトウェア動作からのメモリ保護およびハードウェア保護を提供する役割を果たす。システム空間は、特権オペレーティングシステムカーネル、カーネル拡張、および大部分のデバイスドライバを実行するために厳密に予約されている。対照的に、ユーザ空間は、アプリケーションソフトウェアおよびいくつかのドライバが実行されるメモリ領域である。
【００５０】
リモートコンピューティングデバイスとは、モバイルコンピューティングデバイスから物理的に離れた任意のデバイスを意味する。リモートコンピューティングデバイスはモバイルデバイスから著しく離れて配置されてもよく、或いは（例えば、両方とも車両内に）近接して配置されてもよい。
【００５１】
既知のＭｉｒｒｏｒＬｉｎｋ車載アプリケーション投影技術は、以下に依存する。
・送信レイヤ１２４としてのＵＳＢ  ＣＤＣ／ＮＣＭ（Universal Serial Bus Communication Device Class Network Control Mode）を利用すること。しなしながら、Ａｎｄｒｏｉｄ（登録商標）のような既知のオペレーティングシステムに元来サポートされておらず、ＶＮＣサーバアプリケーション１２４を直ちに動作できるとは限らない。
・認証レイヤはスマートデバイス上のセキュアデータストア１２６に安全に格納された秘密鍵／公開鍵ペアおよび投影デバイス証明書チェーンの使用を義務付け、該投影デバイス証明書チェーンはコンピューティングデバイス１０上に格納されたＣａｒ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｃｏｎｓｏｒｔｉｕｍ（ＣＣＣ）信頼ルート証明書１０６に戻されること。
・システム特権を有するＭｉｒｒｏｒＬｉｎｋサーバ（例えば、ＶＮＣサーバアプリケーション１２４）はセキュアデータストア１２６にアクセスして、投影デバイス証明書チェーンを検索し署名交換することができ、かつ、ユーザアプリケーション１２２のグラフィカルユーザインタフェースを、システムレベルＡＰＩを用いてＭｉｒｒｏｒＬｉｎｋクライアント（例えば、ＶＮＣビューワアプリケーション１０２）に転送することができるシステム特権を有すること。
【００５２】
そこで、モバイルコンピューティングデバイス１２が携帯電話機であるという例を考える。ＭｉｒｒｏｒＬｉｎｋ車載アプリケーション投影技術を実施するために、携帯電話機のベンダは、携帯電話機上で動作するオペレーティングシステムを修正して、必要なＵＳＢプロトコルを追加したり、さらに、セキュアデータストア１２６が投影デバイス証明書チェーンを記憶するように、例えばＤＡＰ（デバイス証明プロトコル）認証のように認証された携帯電話機を取得したりする必要がある。その結果、携帯電話機は、それ自体を認証されたＭｉｒｒｏｒＬｉｎｋサーバデバイスとして車両ヘッドユニットに提供することができる。
【００５３】
本発明の実施形態は、既知の解決策におけるハードウェア固有の限界を克服する。
【００５４】
本発明の実施形態による車載アプリケーション投影技術の実施例２００の概略ブロック図を図２に示す。
【００５５】
図２に示されるコンピューティングデバイス１０（その他に本願では第２のコンピューティングデバイスと呼ばれる）は、図１に示されるコンピューティングデバイス１０と同じである。
【００５６】
本発明の実施形態において、ブリッジモジュール１１４は、モバイルコンピューティングデバイス１２（その他に本願では第１のコンピューティングデバイスおよびスマートデバイスと呼ばれる）にシステムレベルで通常組み込まれるであろう、ハードウェアおよびソフトウエアシステムの機能を実施する役割を担っている。
【００５７】
図２に示すように、ブリッジデバイス１４はブリッジモジュール１１４を含むことができる。これらの実施形態でのブリッジデバイス１４は、コンピューティングデバイス１０およびモバイルコンピューティングデバイス１２の両方と通信するように構成された（コンピューティングデバイス１０およびモバイルコンピューティングデバイス１２の両方の外部にある）スタンドアロンデバイスである。
【００５８】
したがって、ブリッジデバイス１４は、ターゲットビューワのトランスポート要件１０８に合致するトランスポート構成要素１４６を含み、例えばＭｉｒｒｏｒＬｉｎｋなどのモバイルコンピューティングデバイス投影技術のセキュリティ要件に合致する記憶、暗号化、および署名の動作を提供するセキュアデータストア１４４（例えば、セキュアエレメント）を含み、かつ、モバイルコンピューティングデバイス１２上で実行されるＶＮＣサーバアプリケーション１２４がスマートデバイス投影技術準拠サーバとして動作するために、ブリッジデバイスのトランスポート１４６およびセキュアエレメント１４４を使用することを可能にするセキュアＰ２Ｐ通信インタフェース１４２およびＡＰＩを含む。
【００５９】
ブリッジデバイス１４は、コンピューティングデバイス１０に接続する。ブリッジデバイス１４は、有線接続を使用してコンピューティングデバイス１０に接続するように構成することができる。例えば、ブリッジデバイス１４はコンピューティングデバイス１０上のポート（例えば、ＵＳＢポート）に差し込まれるドングルの形態をとることができる。ブリッジデバイス１４はＵＳＢ  ＣＤＣ／ＮＣＭプロトコルなどのイーサネット（登録商標）オーバＵＳＢプロトコルを使用してコンピューティングデバイス１０と通信するように構成することができるが、コンピューティングデバイス１０とブリッジデバイス１４との間のトランスポート層のために、他のプロトコルを使用することができることが理解されよう。代替実施形態では、ブリッジデバイス１４が無線接続を使用してコンピューティングデバイス１０に接続するように構成される。
【００６０】
また、ブリッジデバイス１４は、モバイルコンピューティングデバイス１２に接続する。Ｗｉ−Ｆｉ（登録商標）ダイレクト接続、ユニバーサルプラグ＆プレイ接続、またはブルートゥース（登録商標）接続などの、ユーザ空間アプリケーションが利用可能なピアツーピアワイヤレスプトコルに従い、上記ブリッジデバイス１４は無線接続を用いてコンピューティングデバイス１０に接続するように構成されてもよい。したがって、ブリッジデバイス１４は、他の有線の受信機（コンピューティングデバイス１０）に無線機能を追加することができることは明らかであろう。代替実施形態では、ブリッジデバイス１４が有線接続（例えば、ＵＳＢ、ＨＤＭＩ（登録商標）、ユニバーサルプラグアンドプレイ接続など）を使用してモバイルコンピューティングデバイス１２に接続するように構成される。
【００６１】
ブリッジデバイス１４およびＶＮＣサーバアプリケーション１２４はセキュアチャネル、例えば、セキュアソケットレイヤ（ＳＳＬ）接続を介して通信する。以下でより詳細に説明するように、ブリッジデバイス１４とＶＮＣサーバアプリケーション１２４との間のセキュアな通信は、（認証に使用される）投影技術とは独立した信頼できる証明書チェーンを具備し、少なくとも１つの対称暗号鍵を交換することによって、セキュアなチャネルを確立することができる。
【００６２】
コンピューティングデバイス１０は、ブリッジデバイス１４に接続し、ブリッジデバイス１４とユーザ空間のＶＮＣサーバアプリケーション１２４との組合せを、（図１に示す従来技術のモバイルコンピューティングデバイスのような）投影技術に関するシステムレベルのサポートを組み込んだ通常のスマートデバイスとして事実上参照する。
【００６３】
例えば、車両に統合されたディスプレイを有する車載ヘッドユニットのようなリモートコンピューティングデバイス１０のディスプレイに、ユーザアプリケーション１２２のグラフィカルユーザインタフェースを投影するために、モバイルコンピューティングデバイス１２上のユーザ空間で実行されるＶＮＣサーバアプリケーション１２４は、モバイルコンピューティングデバイス１２のディスプレイ上に表示された画像を取り込み、それをＰ２Ｐ通信インタフェース１２７を介し、ブリッジデバイス１４を介してリモートコンピューティングデバイス１０に送信するために使用される。
【００６４】
リモートコンピューティングデバイス１０上で実行される、対応のＶＮＣビューワアプリケーション１０２は、モバイルコンピューティングデバイス１２のディスプレイの画像を受信し、該画像をリモートコンピューティングデバイス１０上のディスプレイに出力するように構成される。
【００６５】
モバイルコンピューティングデバイス１２の「ディスプレイ」は、例えば、携帯電話機、ＰＤＡ、ラップトップまたはタブレットなどのディスプレイのような物理的ディスプレイであり得る。しかしながら、モバイルコンピューティングデバイス１２のディスプレイは物理的である必要はない。すなわち、コンピューティングデバイス１２のメモリ内の仮想ディスプレイであってもよい。また、モバイルコンピューティングデバイス１２は、Ｉｎｔｅｌ（登録商標）  Ｃｏｍｐｕｔｅ  Ｓｔｉｃｋなどのようなヘッドレスポータブルコンピューティングデバイス（物理的ディスプレイのないコンピューティングデバイス）とすることができる。ディスプレイが仮想ディスプレイであるこれらの代替の実施形態では、ヘッドレスポータブルコンピューティングデバイス１２と有線通信または無線通信し、ディスプレイを有する外部のコンピューティングデバイスを使用して、ＶＮＣビューワアプリケーション１０２に投影されたユーザアプリケーション１２２のグラフィカルユーザインタフェースを閲覧することができる。
【００６６】
ブリッジデバイス１４の目的は下記の２つであることは明らかである。
【００６７】
１．リモートコンピューティングデバイス１０とモバイルコンピューティングデバイス１２との間に関連する全ての遠隔制御セッションデータを透過的に橋渡しすること。すなわち、トランスポート層インタフェース１４６（例えば、ＵＳＢ  ＣＤＣ−ＮＣＭインタフェース）とＰ２Ｐ通信インタフェース１４２との間で遠隔制御セッションデータを透過的に橋渡しすること。
【００６８】
用語「遠隔制御セッションデータ」は、ブリッジデバイス１４を介してコンピューティングデバイス１０とモバイルコンピューティングデバイス１２との間で交換される任意のデータを含み、例えば、コンピューティングデバイス１０とモバイルコンピューティングデバイス１２との間の遠隔制御セッションの確立のために交換されるメッセージと、遠隔制御セッションの間に交換されるイメージデータと、遠隔制御セッションの間に交換されるユーザ入力イベントメッセージ（例えば、ユーザがコンピューティングデバイス１０上の投影されたアプリケーション１０４への入力操作、またはモバイルコンピューティングデバイス１２上で実行されるユーザアプリケーション１２２への入力操作を行ったとき）と、コンピューティングデバイス１０とモバイルコンピューティングデバイス１２との間の遠隔制御セッションの終了のために交換されるメッセージとが挙げられる。
【００６９】
２．証明書を格納するセキュアエレメントとして働くこと。該証明書を用いて、ＶＮＣサーバアプリケーション１２４は、自身を認証されたデバイスとしてリモートコンピューティングデバイス１０に提示し、ＶＮＣサーバアプリケーション１２４のための証明応答（例えば、ＤＡＰ証明応答）に署名する。
【００７０】
本発明の実施形態におけるブリッジデバイス１４を使用することにより、任意の第三者は、スマートデバイスオペレーティングシステムおよび好ましい投影技術とは独立し、目標の投影技術に完全に準拠した任意のスマートデバイス投影技術を実施することが可能である。
【００７１】
車両アプリケーション投影技術の実施例２００のより詳細な概略ブロック図を図３に示す。
【００７２】
図３に示すように、モバイルコンピューティングデバイス１２は、サーバアプリケーション証明書チェーン１２１、ブリッジメーカ信頼ルート証明書、およびサーバアプリケーション公開鍵／秘密鍵ペア１２５、を格納した、ユーザ空間内でアクセス可能なキーストア１２９を備える。
【００７３】
図３に示すように、ブリッジデバイス１４上のセキュアデータストア（例えば、セキュアエレメント）１４４は、ブリッジデバイス証明書チェーン１４０、投影デバイス証明書チェーン１４３、ブリッジデバイス公開鍵／秘密鍵ペア１４１、およびサーバアプリケーション信頼ルート証明書１４５、を格納する。
【００７４】
図３に示すように、コンピューティングデバイス１０は、投影信頼ルート証明書１０５を格納する。
【００７５】
図４（図４−１および図４−２）は、投影認証局、ブリッジデバイスベンダ、ブリッジデバイスベンダ認証局、サーバアプリケーションベンダ、およびサーバアプリケーションベンダ認証局を参照する、本実施形態によるキープロビジョニングプロセスを示す。図４に示す１つまたは複数のステップは、ブリッジデバイス１４、ＶＮＣサーバアプリケーション１２４、および／またはＶＮＣビューワアプリケーション１０２の製造／生成プロセスの一部として実施されてもよい。図４に示される１つ以上のステップは、ブリッジデバイス１４、ＶＮＣサーバアプリケーション１２４及び／又はＶＮＣビューワアプリケーション１０２が製造／生成された後に、代替的に又は追加的に実施されてもよい。
【００７６】
サーバアプリケーションベンダおよびサーバアプリケーションベンダ認証局は、実際には同じエンティティとすることができることを理解されたい。同様に、ブリッジデバイスベンダおよびブリッジデバイスベンダ認証局は、実際には同じエンティティとすることができる。さらに、ブリッジデバイスベンダおよびサーバアプリケーションベンダは、実際には同じエンティティとすることができる。
【００７７】
図４に示すように、ステップ１において、ブリッジデバイスベンダ認証局はメーカの公開鍵／秘密鍵ペア（ＳＫＢｒｉｄｇｅ／ＰＫＢｒｉｄｇｅ）を生成する。ここで、ＳＫは秘密（プライベート）鍵であり、ＰＫは公開鍵である。ステップ２として、ブリッジデバイスベンダ認証局は、投影メーカ証明書（その他に本願ではブリッジメーカ証明書と呼ばれる）の署名要求を投影認証局に送信する。ステップ３として、投影認証局は、ブリッジデバイスベンダ認証局に、投影認証局の秘密鍵ＳＫＰｒｏｊｅｃｔｉｏｎで署名された、ブリッジデバイスベンダの公開鍵ＰＫＢｒｉｄｇｅに対応する署名済み投影メーカ証明書（ＣｅｒｔＢｒｉｄｇｅ）を発行する。すなわち、投影認証局はブリッジデバイスベンダの公開鍵ＰＫＢｒｉｄｇｅの真実性を証明する。
【００７８】
投影メーカ証明書は、ブリッジデバイスベンダに投影認証局の補助認証局として動作することを許可する。したがって、ブリッジデバイスＣＡ秘密鍵ＳＫＢｒｉｄｇｅでブリッジデバイス公開鍵ＰＫＤｅｖｉｃｅを署名する場合、ブリッジデバイスベンダは、２つの信頼チェーン（または証明書チェーン）を確立する。すなわち、１つは（ＶＮＣサーバアプリケーション１２４がブリッジデバイス１４を信頼することを可能にする）ブリッジベンダ信頼ルート証明書１２３につながり、もう１つは、（ＶＮＣビューワアプリケーション１０２がブリッジデバイス１４を介してＶＮＣサーバアプリケーション１２４を信頼することを可能にする）投影信頼ルート証明書１０５につながる。
【００７９】
ステップ４において、ブリッジデバイス１４は、ブリッジデバイス公開鍵／秘密鍵のペア１４１（ＳＫＤｅｖｉｃｅ／ＰＫＤｅｖｉｃｅ）を生成する。ステップ５において、ブリッジデバイス１４は、ブリッジデバイス公開鍵１４１を有するブリッジデバイス証明書署名要求をブリッジデバイスベンダ認証局に送信する。ステップ６において、ブリッジデバイスベンダ認証局は、ブリッジデバイスベンダの秘密鍵ＳＫＢｒｉｄｇｅによって署名されたブリッジデバイスの公開鍵ＰＫＤｅｖｉｃｅに対応する署名済みブリッジデバイス証明書１４０（ＣｅｒｔＤｅｖｉｃｅ）（その他に本願ではデバイス証明書と呼ばれる）をブリッジデバイス１４に発行する。すなわち、ブリッジデバイス認証局は、ブリッジデバイス公開鍵ＰＫＤｅｖｉｃｅの真実性を証明する。ステップ６においてもまた、ブリッジデバイスベンダ認証局は署名済み投影デバイス証明書チェーン１４３をブリッジデバイス１４に発行する。
【００８０】
投影デバイス証明書チェーン１４３は、トップにある投影信頼ルート証明書１０５と、投影メーカ証明書（ＣｅｒｔＢｒｉｄｇｅ）と、ブリッジデバイス証明書１４０（ＣｅｒｔＤｅｖｉｃｅ）とを含む。ブリッジデバイス認証チェーン１４０は、トップにあるブリッジデバイスベンダ信頼ルート証明書１２３と、ブリッジデバイス証明書（ＣｅｒｔＤｅｖｉｃｅ）とを含む。
【００８１】
ステップ７において、サーバアプリケーションベンダは、サーバアプリケーション公開鍵／秘密鍵ペア１２５を生成する。ステップ８において、サーバアプリケーションベンダはサーバアプリケーション公開鍵１２５を有するサーバアプリケーション証明書署名要求をサーバアプリケーションベンダ認証局に送信する。ステップ９において、サーバアプリケーションベンダ認証局は、サーバアプリケーションベンダ秘密鍵ＳＫＶｅｎｄｏｒによって署名されたサーバアプリケーション公開鍵ＰＫｓｅｒｖｅｒに対応する署名済みサーバアプリケーション証明書チェーン１２１をサーバアプリケーションベンダに発行する。つまり、サーバアプリケーションベンダ認証局は、サーバアプリケーション公開鍵ＰＫＳｅｒｖｅｒの真実性を証明する。署名済みサーバアプリケーション証明書チェーン１２１及び公開鍵／秘密鍵ペア１２５は、ＶＮＣサーバアプリケーション１２４の一部として構築時に供給されるか、その後にユーザによってサーバアプリケーションベンダからダウンロードされるかの何れかである。
【００８２】
ステップ１０において、ブリッジデバイスベンダ認証局は、ブリッジデバイスベンダ信頼ルート証明書１２３（その他に本願ではブリッジメーカ信頼ルート証明書と呼ばれる）を、サーバアプリケーションベンダに発行する。ステップ１１において、サーバアプリケーションベンダは、ブリッジデバイスベンダ信頼ルート証明書１２３をＶＮＣサーバアプリケーション１２４の一部としてインストールする。
【００８３】
ステップ１２において、サーバアプリケーションベンダ認証局は、サーバアプリケーションベンダ信頼ルート証明書１４５をブリッジデバイスベンダに発行する。ステップ１３において、ブリッジデバイスベンダは、サーバアプリケーションベンダ信頼ルート証明書１４５をブリッジデバイス１４にインストールする。
【００８４】
最後に、ステップ１４として、投影認証局は、投影信頼ルート証明書１０５をＶＮＣビューワアプリケーション１０２に発行する。
【００８５】
また、図５は、投影認証局と、ブリッジデバイスベンダと、サーバアプリケーションベンダと、ブリッジデバイス１４と、ＶＮＣサーバアプリケーション１２４との間における証明書および公開鍵の配布を示す。図５で使用される符号は、図４で使用されるステップ番号に対応する。図５は、投影技術信頼チェーンを、ブリッジデバイス自体の信頼チェーンおよびＶＮＣサーバアプリケーション自体の信頼チェーンとシームレスに統合できる方法を示す。
【００８６】
次に、投影セッションシーケンスの概要を示す図６ａを参照する。
【００８７】
ステップ１において、ユーザは、コンピューティングデバイス１０上のＶＮＣビューワアプリケーション１０２を開始する。これにより、ＶＮＣビューワアプリケーション１０２は、ブリッジデバイス１４の動作を開始させ（ステップ２）、ブリッジデバイス１４に接続する（ステップ３）。
【００８８】
ステップ４において、ユーザは、ＶＮＣサーバアプリケーション１２４を、コンピューティングデバイス１２で起動する。
【００８９】
ステップ５において、ＶＮＣサーバアプリケーション１２４は、選択されたＰ２Ｐレイヤ（例えば、ＵＳＢエニュメレーション、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ（登録商標）−Ｐ２Ｐ等）に従ってブリッジデバイスをスキャンし、ステップ６において、ブリッジデバイス１４とＶＮＣサーバアプリケーション１２４とは、選択された通信レイヤ（ＵＳＢ物理接続、ＵＰｎＰ制御ポイント、ＷｉＦｉ（登録商標）−Ｐ２Ｐグループ形成等）を介して、ペアになる。
【００９０】
次に、投影セッションシーケンスはセキュア（secure）接続確立フェーズ６０２に進み、ステップ７において、ＶＮＣサーバアプリケーション１２４およびブリッジデバイス１４は互いに自身を認証し、ステップ８において、ＶＮＣサーバアプリケーション１２４およびブリッジデバイス１４はＶＮＣサーバアプリケーション１２４とブリッジデバイス１４との間にセキュア通信チャネル（例えば、ＳＳＬ接続）を確立する。
【００９１】
セキュア接続確立フェーズ６０２を実施する様々な方法があることは、当業者には理解されるであろう。
【００９２】
次に、セキュア接続確立フェーズ６０２を実施する１つの方法を示す図６ｂを参照する。
【００９３】
図６ｂのステップ６に示すように、Ｐ２Ｐ通信インタフェース１２７は、サーバアプリケーション秘密鍵１２５で署名されたサーバアプリケーション証明書チェーン１２１をブリッジデバイスのＰ２Ｐ通信インタフェース１４２に送信する。すなわち、サーバアプリケーション証明書チェーン１２１（ＶＮＣサーバアプリケーションの公開鍵１２５を含む）はメッセージにパッケージされ、メッセージ自体は、その秘密鍵１２５を使用してＶＮＣサーバアプリケーション１２４による署名で署名される。受信すると、ステップ７において、ブリッジデバイス１４は、メッセージの署名がサーバアプリケーション証明書チェーン１２１内のサーバアプリケーションの公開鍵に対応することを検証することによって、メッセージが真正であることを検証する。当業者に知られているように、署名は、秘密鍵によって暗号化されたメッセージのハッシュである。ブリッジデバイス１４はメッセージのハッシュを計算することによってこの検証を実行し、（サーバアプリケーション証明書チェーン１２１に含まれる）ＶＮＣサーバアプリケーションの公開鍵を使用して署名を解読し、２つの値を比較し、署名と一致する場合、それらが有効であると見なされる。ステップ７において、ブリッジデバイス１４は、サーバアプリケーションベンダ信頼ルート証明書１４５を使用してサーバアプリケーション証明書チェーン１２１を検証することによって、ＶＮＣサーバアプリケーション１２４が誰であるかをさらに検証する。認証が成功した場合、ステップ８において、Ｐ２Ｐ通信インタフェース１４２は認証受諾メッセージをＰ２Ｐ通信インタフェース１２７に送信し、その他、認証失敗の場合、Ｐ２Ｐ通信インタフェース１４２は、Ｐ２Ｐ通信インタフェース１２７との接続を切断する（ステップ１８）。
【００９４】
同様に、ステップ９において、ブリッジデバイス１４は、ブリッジデバイスの秘密鍵１４１で署名されたブリッジデバイス証明書チェーン１４０をブリッジデバイスのＰ２Ｐ通信インタフェース１４２からＰ２Ｐ通信インタフェース１２７に送信することによって応答する。すなわち、（ブリッジデバイスの公開鍵１４１を含む）ブリッジデバイス証明書チェーン１４０はメッセージにパッケージ化され、メッセージ自体は、その秘密鍵１４１を使用してブリッジデバイス１４による署名で署名される。受信すると、ステップ１０において、ＶＮＣサーバアプリケーション１２４は、メッセージの署名がブリッジデバイス証明書チェーン１４０内のブリッジデバイスの公開鍵に対応することを検証することによって、メッセージが真正であることを検証する。ＶＮＣサーバアプリケーション１２４はメッセージのハッシュを計算することによってこの検証を実行し、（ブリッジデバイス証明書チェーン１４０に含まれる）ブリッジデバイスの公開鍵を使用して署名を解読し、２つの値を比較し、署名と一致する場合、それらが有効であると見なされる。ステップ１０において、ＶＮＣサーバアプリケーション１２４は、ブリッジデバイスベンダ信頼ルート証明書１２３を使用して、ブリッジデバイスチェーン１４０を検証することによって、ブリッジデバイス１４が誰であるかをさらに検証する。認証が成功した場合、ステップ１１において、ＶＮＣサーバアプリケーション１２４はＰ２Ｐ通信インタフェース１２７を介してブリッジデバイスのＰ２Ｐ通信インタフェース１４２に認証受諾メッセージを送信し、その他、認証失敗の場合、Ｐ２Ｐ通信インタフェース１４２は、Ｐ２Ｐ通信インタフェース１２７との接続を切断する（ステップ１７）。
【００９５】
図６ｂに示すように、ＶＮＣサーバアプリケーション１２４とブリッジデバイス１４との間にセキュア通信チャネルを確立する。ＶＮＣサーバアプリケーション１２４およびブリッジデバイス１４は、図６ｂのステップ１２〜１６を参照して示されるＳＳＬ接続を確立することができる。
【００９６】
ステップ１２において、Ｐ２Ｐ通信インタフェース１２７はセキュア通信チャネル上で送信されるデータの暗号化および復号化の両方のために、ＶＮＣサーバアプリケーション１２４およびブリッジデバイス１４の両方によって使用される少なくとも１つの対称暗号鍵を生成する。Ｐ２Ｐ通信インタフェース１２７はＶＮＣサーバアプリケーション１２４およびブリッジデバイス１４の両方によって、それぞれ暗号化および復号化に使用される対称暗号鍵のペアを生成することができ、該鍵のペアは同一であってもよく、或いは２つの鍵にするために単純な変換があってもよい。
【００９７】
ステップ１３において、Ｐ２Ｐ通信インタフェース１２７は、（上記のステップ９で受信された）ブリッジデバイスの公開鍵を使用して、少なくとも１つの対称暗号鍵を暗号化し、少なくとも１つの暗号化された対称暗号鍵を生成する。
【００９８】
ステップ１４において、Ｐ２Ｐ通信インタフェース１２７はＳＳＬ接続を確立するために、少なくとも１つの暗号化された対称暗号鍵を、ブリッジデバイス１４のＰ２Ｐ通信インタフェース１４２に送信する。Ｐ２Ｐ通信インタフェース１４２は、ブリッジデバイスの秘密鍵１４１を使用して、少なくとも１つの暗号化された対称暗号鍵を復号する。
【００９９】
ステップ１５において、Ｐ２Ｐ通信インタフェース１４２は、少なくとも１つの対称暗号鍵で暗号化された肯定応答（acknowledgment）をＰ２Ｐ通信インタフェース１２７に送り返して、暗号化されたセッションを開始する。ステップ１６において、Ｐ２Ｐ通信インタフェース１２は、セキュア通信チャネルが確立されたことをＶＮＣサーバアプリケーション１２４に通知する。一度、セキュア通信チャネルが確立されると、ＶＮＣサーバアプリケーション１２４およびブリッジデバイス１４の両方は、少なくとも１つの対称暗号鍵を用いて送信データを暗号化することができる。
【０１００】
ここで、図６ａに示す投影セッションシーケンスの概要に戻る。
【０１０１】
ステップ９において、ユーザは、コンピューティングデバイス１０上で実行されているＶＮＣビューワアプリケーション１０２にユーザの入力を提供して、モバイルコンピューティングデバイス１２のディスプレイに表示された、ユーザアプリケーション１２２のグラフィカルユーザインタフェースをコンピューティングデバイス１０への投影を開始する。
【０１０２】
次に、投影セッションシーケンスは投影セッション確立フェーズ６０４に進み、ステップ１０において、ＶＮＣビューワアプリケーション１０２は、投影を開始する要求をブリッジデバイス１４に送信する。ステップ１１において、ブリッジデバイス１４は、ＶＮＣビューワアプリケーション１０２とＶＮＣサーバアプリケーション１２４との間に通信トンネリングを確立する。
【０１０３】
すなわち、ブリッジデバイス１４がセットアップしたブリッジは、ＶＮＣビューワアプリケーション１０２からブリッジデバイストランスポート層１４６およびＰ２Ｐ通信インタフェース１４２を介してＶＮＣサーバアプリケーション１２４に投影プロトコルデータフローをＰ２Ｐ接続により送信することを可能にする。同様に、上記ブリッジは、ＶＮＣサーバアプリケーション１２４からＰ２Ｐ接続によりＰ２Ｐ通信インタフェース１４２に、ブリッジデバイストランスポート層１４６を介して、ＶＮＣビューワアプリケーション１０２に投影プロトコルデータフローを送信することを可能にする。
【０１０４】
投影セッション確立フェーズ６０４は、図６ｃにより詳細に示されている。
【０１０５】
図６ｃに示すように、ＶＮＣビューワアプリケーション１０２はブリッジデバイスを介してＶＮＣサーバアプリケーション１２４にメッセージ（投影開始メッセージ）を伝送し（ステップ１〜４）、ＶＮＣサーバアプリケーション１２４に、ＶＮＣビューワアプリケーション１０２へのユーザアプリケーション１２２の投影を開始するように命令する。これは図６ａのステップ１２に示されている。応答にて、ＶＮＣサーバアプリケーション１２４はブリッジデバイスのＰ２Ｐインタフェース１４２にメッセージを伝送し（ステップ５および６）、ブリッジデバイスのトランスポートインタフェース１４６とＰ２Ｐインタフェース１４２との間に「トンネル」を確立するようにＰ２Ｐインタフェース１４２に命令する。その結果、ＶＮＣビューワアプリケーション１０２から送信された第１のフォーマットの遠隔制御セッションデータを、ブリッジデバイス１４が（トランスポートインタフェース１４６を使用して）受信し、（Ｐ２Ｐインタフェース１４２を使用して）第２のフォーマットでＶＮＣサーバアプリケーション１２４に送信することができる。反対に、ＶＮＣサーバアプリケーション１２４から送信された第２のフォーマットの遠隔制御セッションデータを、ブリッジデバイスが（Ｐ２Ｐインタフェース１４２を使用して）受信し、（トランスポートインタフェース１４６を使用して）第１のフォーマットでＶＮＣビューワアプリケーション１０２に送信することができる。
【０１０６】
Ｐ２Ｐインタフェース１４２は、ＶＮＣビューワアプリケーション１０２またはＶＮＣサーバアプリケーション１２４からデータを受信した場合に、（ブリッジとして動作する）通信トンネリングを実行するように自身を設定し、通信トンネリングの確立をＶＮＣビューワアプリケーション１０２に通知する（ステップ７および８）。
【０１０７】
いくつかの実施形態では、Ｐ２Ｐインタフェース１４２によって実行される通信トンネリングは、（トランスポートインタフェース１４６を使用して）ブリッジデバイス１４が受信した遠隔制御セッションデータを（Ｐ２Ｐインタフェース１４２を使用して）ＶＮＣサーバアプリケーション１２４に単に中継し、遠隔制御セッションデータを逆方向に中継する。すなわち、上述した第１のフォーマットと第２のフォーマットとは同じである。Ｐ２Ｐインタフェース１４２は、受信された遠隔制御セッションデータのカプセル化を実行することができる。例えば、Ｐ２Ｐインタフェース１４２は、ＩＰトンネリングを実行して、受信されたＩＰパケットを別のＩＰパケットにカプセル化し、カプセル化されたＩＰパケットを前方の目的地（ＶＮＣビューワアプリケーション１０２またはＶＮＣサーバアプリケーション１２４）に向けて送信することができる。
【０１０８】
他の実施形態では、Ｐ２Ｐインタフェース１４２によって実行される通信トンネリングは、様々なデータフォーマット間の変換（および逆変換）を実行するＰ２Ｐインタフェース１４２を備える。言い換えると、Ｐ２Ｐインタフェース１４２は、ＶＮＣビューワアプリケーション１０２から送信された第１のフォーマットの遠隔制御セッションデータを受信し、第１のフォーマットの遠隔制御セッションデータに対し、第２のフォーマットの遠隔制御セッションデータを生成する機能を実行し（第２のフォーマットは第１のフォーマットと異なる）、第２のフォーマットの遠隔制御セッションデータをＶＮＣサーバアプリケーション１２４に送信し、同様に、Ｐ２Ｐインタフェース１４２は、ＶＮＣサーバアプリケーション１２４から送信された第２のフォーマットの遠隔制御セッションデータを受信し、第２のフォーマットの遠隔制御セッションデータに対し逆の機能を実行して、第１のフォーマットの遠隔制御セッションデータを生成し、第１のフォーマットの遠隔制御セッションデータをトランスポートインタフェース１４６に供給して、ＶＮＣビューワアプリケーション１０２に送信する。
【０１０９】
上記で言及した機能は、カプセル化を含むことができる。例えば、第１のフォーマットはＵＳＢデータであってもよく、第２のフォーマットはＩＰデータであってもよい。この例では、Ｐ２Ｐインタフェース１４２がＶＮＣビューワアプリケーション１０２から受信したＵＳＢパケットを、ＶＮＣサーバアプリケーション１２４に送信するためのＩＰパケットにカプセル化し、同様に、ＶＮＣサーバアプリケーション１２４から受信したＩＰパケットを、ＶＮＣビューワアプリケーション１０２に送信するためのＵＳＢパケットにカプセル化する。したがって、実施形態では、モバイルコンピューティングデバイス１２がコンピューティングデバイス１０との通信に適合しないとき（たとえば、トランスポート層としてのＵＳＢ  ＣＤＣ／ＮＣＭの使用がＶＮＣサーバアプリケーション１２４に利用可能でないとき）、ブリッジデバイス１４は、ＶＮＣサーバアプリケーション１２４とＶＮＣビューワアプリケーション１０２との間の通信を可能にする。
【０１１０】
上記で言及した機能は、暗号化（対応する逆関数は復号化である）を含むことができ、例えば、第１のフォーマットは暗号化されていないＩＰデータであってもよく、第２のフォーマットは暗号化されたＩＰデータであってもよい。本願に記載されていないその他の機能がＰ２Ｐインタフェース１４２によって実行されてもよいことが理解されるであろう。
【０１１１】
ＶＮＣサーバアプリケーション１２４は、ＶＮＣビューワアプリケーション１０２に自身をアナウンスする。これは、図６ｃに示すように、ＶＮＣビューワアプリケーション１０２によって送信され、ＶＮＣサーバアプリケーション１２４によって検出された検索メッセージに対する応答であり得る（ステップ７〜８）。
【０１１２】
ＶＮＣビューワアプリケーション１０２とＶＮＣサーバアプリケーション１２４との間で通信トンネリングがアクティブになると、直ちに、投影セッションシーケンスは投影認証フェーズ６０６に進み、ステップ１３で、ＶＮＣビューワアプリケーション１０２はブリッジデバイス１４を介してＶＮＣサーバアプリケーション１２４に認証要求を送信し、応答として、ステップ１４で、ＶＮＣサーバアプリケーション１２４は、ブリッジデバイス１４を介してＶＮＣビューワアプリケーション１０２に認証応答を送信する。
【０１１３】
投影認証フェーズ６０６は、図６ｄにより詳細に示されている。
【０１１４】
ＶＮＣビューワアプリケーション１０２がＶＮＣサーバアプリケーション１２４を発見すると、直ちに、ＶＮＣビューワアプリケーション１０２は、ステップ１２で、ブリッジデバイス１４を介してＶＮＣサーバアプリケーション１２４に認証要求を送信する（ＶＮＣサーバアプリケーション１２４に自身を検証するように要求する）。
【０１１５】
本発明では、ＶＮＣサーバアプリケーション１２４は、コンピューティングデバイス上で実行することができないプロトコル特有動作をブリッジデバイス１４上のブリッジモジュール１１４に委託する。具体的には、ＶＮＣサーバアプリケーション１２４がブリッジデバイス１４を利用して、投影プロトコル認証機構によって必要とされる暗号化操作を実行する。
【０１１６】
ステップ１３で、ＶＮＣサーバアプリケーション１２４は、（少なくとも１つの対称暗号鍵を使用して）図６ａのステップ８で確立されたセキュアチャネルを介して、セキュアデータストア１４４に格納された投影デバイス証明書チェーン１４３の要求をブリッジデバイス１４に送信する。ステップ１４〜１６において、Ｐ２Ｐインタフェース１４２はセキュアデータストア１４４にアクセスして投影デバイス証明書チェーン１４３を検索し、セキュアチャネルを介して投影デバイス証明書チェーン１４３をＶＮＣサーバアプリケーション１２４に送信する。
【０１１７】
ＶＮＣサーバアプリケーション１２４は、投影証明書チェーン１４３を含む応答を生成し、ステップ１７で、セキュアチャネルを介してブリッジデバイス１４に、ブリッジデバイス秘密鍵１４１（図６ｄではスマートデバイス投影デバイス秘密鍵と呼ばれる）を使用して、応答に暗号署名するように命令する。
【０１１８】
ステップ１８〜２０において、Ｐ２Ｐインタフェース１４２は、セキュアデータストア１４４からブリッジデバイス秘密鍵１４１を検索し、ブリッジデバイス秘密鍵１４１を使用して、ステップ１７で受信された応答に暗号署名し、次に、署名済み証明応答としての少なくとも署名が、セキュアチャネルを介して、Ｐ２Ｐインタフェース１４２からＶＮＣサーバアプリケーション１２４に送信される。ステップ２０で送信される署名済み証明応答は、ブリッジデバイス秘密鍵１４１を使用して生成された署名のみを含むことができ、或いはブリッジデバイス秘密鍵１４１を使用して生成された署名と投影デバイス証明書チェーン１４３との両方を含むことができる。
【０１１９】
ステップ２１において、ＶＮＣサーバアプリケーション１２４は、ステップ１２で受信した認証要求に対する応答として、ブリッジデバイス１４を介してＶＮＣビューワアプリケーション１０２に認証応答を伝送する。ステップ２１でＶＮＣビューワアプリケーション１０２に送信される認証応答はステップ２０で受信された署名と投影デバイス証明書チェーン１４３の両方を含む。ＶＮＣビューワアプリケーション１０２は、投影信頼ルート証明書１０５を使用して投影デバイス証明書チェーン１４３を検証する。したがって、ＶＮＣビューワアプリケーション１０２は、ブリッジデバイス１４とユーザ空間のＶＮＣサーバアプリケーション１２４との組み合わせを、投影技術のためのシステムレベルサポートを組み込んだ通常のスマートデバイスとみなす。
【０１２０】
また、図６ｄには、ブリッジデバイスがコンピューティングデバイス１０上のＵＳＢポートにプラグインするように構成されるシナリオにおいて、図６ａのステップ３の後に実施される「投影トランスポート接続確立」フェーズが示されている。当業者に知られているように、ＵＳＢ周辺デバイスがコンピューティングデバイス上のＵＳＢポートにプラグインされると、コンピューティングデバイスは周辺デバイスを自動検出し、自動設定する。投影トランスポート接続確立フェーズはブリッジデバイス１４上のＵＳＢ投影トランスポート機能を設定し、作動させ、ブリッジデバイスとコンピューティングデバイス１０との間のＵＳＢインタフェース上で遠隔制御セッションデータを交換することができるようにする。
【０１２１】
再び図６ａを参照すると、投影セッションシーケンスは、次に投影フェーズ６０８に進み、該フェーズでは、ステップ１５において、ＶＮＣビューワアプリケーション１０２は、ＶＮＣサーバアプリケーション１２４がモバイルコンピューティングデバイス１２のディスプレイ上に表示されたユーザアプリケーション１２２のグラフィカルユーザインタフェースをＶＮＣビューワアプリケーション１０２に投影する要求を伝送する。ステップ１５において、ＶＮＣビューワアプリケーション１０２は、ブリッジデバイス１４を介して、ＶＮＣサーバアプリケーション１２４に要求を伝送する。
【０１２２】
ステップ１６において、ＶＮＣサーバアプリケーション１２４は、ユーザアプリケーション１２２のグラフィカルユーザインタフェースの画像データをキャプチャし、キャプチャされた画像データをブリッジデバイス１４を介してＶＮＣビューワアプリケーション１０２に送信し、その結果、ＶＮＣビューワアプリケーション１０２は、投影されたアプリケーション１０４をコンピューティングデバイス１０のディスプレイ上に表示する。
【０１２３】
ステップ１７によって示されるように、ユーザはコンピューティングデバイス１０上の入力機構を使用して、例えば、コンピューティングデバイス１０上の物理ボタンを押すことによって、コンピューティングデバイス１０上の回転ボタンを回転させることによって、或いは（コンピューティングデバイス１０のディスプレイがタッチ可能である場合）コンピューティングデバイス１０のディスプレイ上でタッチスクリーン選択を行うことによって、ＶＮＣビューワアプリケーション１０２を介して投影アプリケーション１０４を操作することができる。遠隔制御セッション中、ＶＮＣビューワアプリケーション１０２はユーザ入力イベントをＶＮＣサーバアプリケーション１２４に送信し、応答において、ユーザ入力イベントによって惹起されたユーザアプリケーション１２２のグラフィカルユーザインタフェースへの変更を反映する画像データを受信するように構成される。
【０１２４】
投影フェーズ６０８の間、モバイルコンピューティングデバイス１２の組み込み能力とは独立して、リモートコンピューティングデバイス１０とモバイルコンピューティングデバイス１２との間の関連する遠隔制御セッションデータのすべてを透過的にブリッジする。本発明の実施形態によれば、ＶＮＣサーバアプリケーション１２４は、システムレベルの依存性なしに投影プロトコルを実施することができる。
【０１２５】
図６ａに示すように、遠隔制御セッションはユーザがＶＮＣサーバアプリケーション１２４にユーザの入力を提供することによって終了することができ（ステップ１８）、ＶＮＣサーバアプリケーション１２４は、遠隔制御セッションの終了をＶＮＣビューワアプリケーション１０２に通信し（ステップ１９）、投影セッション確立フェーズ６０４で確立された通信トンネリングを終了するように構成される（ステップ２２）。
【０１２６】
図６ａに示すように、遠隔制御セッションはユーザがＶＮＣビューワアプリケーション１０２にユーザの入力を提供することによって終了することができ（ステップ２０）、ＶＮＣビューワアプリケーション１０２は、ＶＮＣサーバアプリケーション１２４に遠隔制御セッションの終了を通信するように構成され（ステップ２１）、応答において、ＶＮＣサーバアプリケーション１２４は、投影セッション確立フェーズ６０４で確立された通信トンネリングを終了するように構成される（ステップ２２）。
【０１２７】
図６ａに示すように、モバイルコンピューティングデバイス１２上で実行されているＶＮＣサーバアプリケーション１２４を終了（すなわち、シャットダウン）するためのユーザの入力の受信に応答して、ＶＮＣサーバアプリケーション１２４はブリッジデバイス１４とのセキュア通信チャネルを終了するように構成される。
【０１２８】
上記から、ブリッジデバイス１４を使用することにより、以下のような分野におけるターゲットスマートデバイス投影技術の向上が可能になることが理解されるであろう。
【０１２９】
・ＶＮＣサーバアプリケーション１２４で利用可能な伝送チャネルの数を投影技術に透過的に拡大することによる（すなわち、低帯域幅トラフィックにはＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙを使用し、高帯域幅トラフィックにはＷｉ−Ｆｉ（登録商標）を使用することによる）スマートデバイスの電力管理。
【０１３０】
・ＶＮＣサーバアプリケーション１２４自身の内部のデータの処理を制限することにより、専用のシステムコンポーネントと相互作用する必要の無いプライバシ。
【０１３１】
・スマートデバイス上のユーザ空間の外側にあるプロトコル固有のセキュリティ要素を、別個の異なるモジュールの内側に分離することによる不当変更（Tampering）。
【０１３２】
・オリジナルの投影技術の暗号化能力とは独立して、無線通信全体を完全に暗号化することを可能にすることによるセキュリティ。
【０１３３】
上記の利点の全ては、オリジナルの投影技術への適合性を変更することなく達成される。
【０１３４】
本願ではＭｉｒｒｏｒＬｉｎｋ車載アプリケーション投影技術について説明したが、これは車載アプリケーション投影技術の一実施例に過ぎず、ＶＮＣサーバアプリケーション１２４は、Ａｎｄｒｏｉｄ（登録商標）  Ａｕｔｏ  Ｐｒｏｊｅｃｔｉｏｎ、ＣａｒＰｌａｙ（登録商標）  、Ｍｉｒａｃａｓｔなどの任意の既知の車載アプリケーション投影技術に従って動作するように構成することができる。すなわち、サーバアプリケーション１２４およびビューワアプリケーション１０２は、ＶＮＣプロトコルに従って動作する必要はなく、これは単なる一実施例に過ぎない。したがって、ＶＮＣサーバアプリケーション１２４は、より一般的には、投影サーバアプリケーションと見なすことができ、ＶＮＣビューワアプリケーション１０２は、より一般的には、投影ビューワアプリケーションと見なすことができる。
【０１３５】
上述した実施形態では、スタンドアローンブリッジデバイス１４はブリッジモジュール１１４を備え、代替の実施形態ではコンピューティングデバイス１０はブリッジモジュール１１４を備える。すなわち、ブリッジモジュール１１４は、コンピューティングデバイス１０に統合される。
【０１３６】
本発明は好ましい実施形態に関して特に示され、説明されてきたが、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく、形態および詳細における様々な変更がなされ得ることが、当業者には理解されるであろう。
【図面の簡単な説明】
【０１３７】
【図１】公知の車載アプリケーション投影技術の実施例の概略ブロック図である。
【図２】本発明の実施形態による車載アプリケーション投影技術の実施例の概略ブロック図である。
【図３】本発明の実施形態による車載アプリケーション投影技術の実施例のより詳細な概略ブロック図である。
【図４−１】キープロビジョニングプロセスを示す。
【図４−２】キープロビジョニングプロセスを示す。
【図５】様々なシステム構成要素間の証明書および鍵の交換を示す。
【図６ａ−１】投影セッションシーケンスの概要を示す。
【図６ａ−２】投影セッションシーケンスの概要を示す。
【図６ｂ】投影セッションシーケンスにおける相互認証シーケンスを示す。
【図６ｃ】投影セッションシーケンスにおける投影セッション確立シーケンスを示す。
【図６ｄ−１】投影セッションシーケンスにおける投影認証シーケンスを示す。
【図６ｄ−２】投影セッションシーケンスにおける投影認証シーケンスを示す。
【図１】
2020530733.tif 000003
【図２】
2020530733.tif 000004
【図３】
2020530733.tif 000005
【図４−１】
2020530733.tif 000006
【図４−２】
2020530733.tif 000007
【図５】
2020530733.tif 000008
【図６ａ−１】
2020530733.tif 000009
【図６ａ−２】
2020530733.tif 000010
【図６ｂ】
2020530733.tif 000011
【図６ｃ】
2020530733.tif 000012
【図６ｄ−１】
2020530733.tif 000013
【図６ｄ−２】
2020530733.tif 000014
【国際調査報告】
2020530733.tif 000015
2020530733.tif 000016
2020530733.tif 000017