(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】コンピューティングデバイスの遠隔制御
(51)【国際特許分類】
H04L 9/32 20060101AFI20220216BHJP
G09C 1/00 20060101ALI20220216BHJP
G06F 21/44 20130101ALI20220216BHJP
【FI】
H04L9/32 200D
H04L9/32 200B
G09C1/00 640E
G06F21/44
(21)【出願番号】P 2020528520
(86)(22)【出願日】2018-05-17
(86)【国際出願番号】 GB2018051335
(87)【国際公開番号】W WO2019025749
(87)【国際公開日】2019-02-07
【審査請求日】2021-03-09
(32)【優先日】2017-08-02
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】520038529
【氏名又は名称】ヴィーエヌシー オートモーティブ リミテッド
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】ブラッキー,トーマス
(72)【発明者】
【氏名】クレマー,ローレント
(72)【発明者】
【氏名】ボナミコ,アルベルト
【審査官】行田 悦資
(56)【参考文献】
【文献】米国特許出願公開第2016/0094546(US,A1)
【文献】特表2014-526093(JP,A)
【文献】特表2010-531516(JP,A)
【文献】特開2001-134534(JP,A)
【文献】特開2015-222915(JP,A)
【文献】特開2010-287078(JP,A)
【文献】上條 隆,6章モバイルデバイスにおける情報共有技術,映像情報メディア学会誌,日本,一般社団法人映像情報メディア学会,2014年05月01日,第68巻,第5号,pp.376-379
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G09C 1/00
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが、第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、第1のコンピューティングデバイスにて実施される方法において、
第1のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立するステップと、
前記接続を使用して前記ブリッジモジュールとの認証手順を実行するステップと、
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップと、
第2のコンピューティングデバイスから送信された認証要求をブリッジモジュールから受信するステップと、
前記認証要求の受信に応じて、
(i)前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスするステップと、
(ii)前記投影証明書チェーンを含む応答を生成するステップと、
(iii)前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令するステップ、および応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信するステップと、
前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび前記署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第2のコンピューティングデバイスに送信するステップとを含む、方法。
【請求項2】
前記投影証明書チェーンにアクセスするステップは、前記セキュア通信チャネルを介して前記ブリッジモジュールに前記投影証明書チェーンの要求を送信するステップと、前記セキュア通信チャネルを介して前記ブリッジモジュールから前記投影証明書チェーンを受信するステップとを含む、請求項1に記載の方法。
【請求項3】
前記認証手順を実行するステップは、
第1のコンピューティングデバイス上のストレージから第1のコンピューティングデバイスに関連付けられた証明書チェーンを検索するステップと、
第1のコンピューティングデバイスに関連付けられた前記証明書チェーンに、第1のコンピューティングデバイスに関連付けられた秘密鍵で署名するステップと、
前記ブリッジモジュールによる検証のために、署名済み証明書チェーンを、前記ブリッジモジュールに送信するステップとを含み、
前記秘密鍵は、第1のコンピューティングデバイス上のメモリに格納されている、請求項1から2のいずれかに記載の方法。
【請求項4】
前記認証手順を実行するステップは、
前記ブリッジモジュールに関連付けられた署名済み証明書チェーンを、前記ブリッジモジュールに関連付けられた公開鍵と共に受信するステップと、
第1のコンピューティングデバイス上のメモリに格納されたルート証明書を使用して、前記ブリッジモジュールに関連付けられた証明書チェーンを検証するステップとを含む、請求項1から3のいずれかに記載の方法。
【請求項5】
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップは、
少なくとも1つの対称暗号鍵を生成するステップと、
前記ブリッジモジュールに関連付けられた公開鍵を使用して、前記少なくとも1つの対称暗号鍵を暗号化して、少なくとも1つの暗号化された対称暗号鍵を生成するステップと、
前記少なくとも1つの暗号化された対称暗号鍵を前記ブリッジモジュールに送信するステップと、を含む、請求項1から4のいずれかに記載の方法。
【請求項6】
前記接続の喪失を検出することに応じて、前記少なくとも1つの対称暗号鍵を無効にするステップをさらに含む、請求項5に記載の方法。
【請求項7】
第2のコンピューティングデバイスに由来する要求であって、第2のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記ブリッジモジュールから受信するステップと、
第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記ブリッジモジュールに送信するステップを含む、請求項1から6のいずれかに記載の方法。
【請求項8】
前記ブリッジモジュールとの前記接続を確立するステップは、前記第1のコンピューティングデバイスにおいて受信されたユーザの入力に対する応答である、請求項1から7のいずれかに記載の方法。
【請求項9】
前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスの両方の外部のブリッジデバイスが前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記ブリッジデバイスとの接続を確立するステップを含む、請求項1から8のいずれかに記載の方法。
【請求項10】
第2のコンピューティングデバイスは前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記第2のコンピューティングデバイスとの接続を確立するステップを含む、請求項1から8のいずれかに記載の方法。
【請求項11】
前記ブリッジモジュールと確立された前記接続は、無線接続である、請求項1から10のいずれかに記載の方法。
【請求項12】
前記無線接続は、ピアツーピアワイヤレスプロトコルに従って確立される、請求項11に記載の方法。
【請求項13】
前記無線接続は、Wi-Fi(登録商標)ダイレクト接続またはBluetooth(登録商標)接続である、請求項12に記載の方法。
【請求項14】
前記ブリッジモジュールと確立される前記接続は、有線接続である、請求項1から10のいずれかに記載の方法。
【請求項15】
第2のコンピューティングデバイスは車両に統合された車両ヘッドユニットであり、前記車両ヘッドユニットは、前記アプリケーションの前記グラフィカルユーザインタフェースを表示するためのディスプレイを備える、請求項1から14のいずれかに記載の方法。
【請求項16】
第1のコンピューティングデバイスはモバイルコンピューティングデバイスであり、前記モバイルコンピューティングデバイスは、携帯電話機、ラップトップコンピュータ、タブレットコンピュータ、およびヘッドレスコンピューティングデバイスのうちの1つである、請求項1から15のいずれかに記載の方法。
【請求項17】
第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御装置セッションを確立するためのコンピュータプログラム製品であって、
非一時的なコンピュータ読み取り可能な媒体上で具現化され、第1のコンピューティングデバイスのプロセッサ上で実行されるときに、請求項1から16のいずれかの方法を実行するように構成されたコードを備える、コンピュータプログラム製品。
【請求項18】
コンピューティングデバイスであって、
前記コンピューティングデバイスのプロセッサによって実行されるユーザアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、前記コンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのアプリケーションを実行するようになっているプロセッサを備え、該プロセッサは、
第1のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立し、
前記接続を使用して前記ブリッジモジュールとの認証手順を実行し、
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立し、
第2のコンピューティングデバイスから送信された認証要求を前記ブリッジモジュールから受信し、
前記認証要求の受信に応じて、
(i)前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスし、
(ii)前記投影証明書チェーンを含む応答を生成し、
(iii)前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令し、応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信し、かつ、
前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第2のコンピューティングデバイスに送信するように構成される、コンピューティングデバイス。
【請求項19】
第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、ブリッジモジュール上で実施される方法において、
前記ブリッジモジュールの外部にある前記第1のコンピューティングデバイスとの接続を確立するステップと、
前記接続を使用して第1のコンピューティングデバイスとの認証手順を実行するステップと、
前記接続上の第1のコンピューティングデバイスへのセキュア通信チャネルを確立するステップと、
第2のコンピューティングデバイスから受信した認証要求を第1のコンピューティングデバイスに送信するステップと、
前記セキュア通信チャネルを介して第1のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから前記投影証明書チェーンを検索し、前記投影証明書チェーンを前記セキュア通信チャネルを介して第1のコンピューティングデバイスに送信するステップと、
前記セキュア通信チャネルを介して第1のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信するステップと、
第1のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関連付けられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して第1のコンピューティングデバイスに前記署名を送信するステップと、
前記遠隔制御セッションを確立するために、第1のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第2のコンピューティングデバイスに送信するステップと、を含む方法。
【請求項20】
前記認証手順を実行するステップは、
第1のコンピューティングデバイスに関連付けられた署名済み証明書チェーンを第1のコンピューティングデバイスから受信するステップと、
前記セキュアデータストアに格納されたルート証明書を使用して、第1のコンピューティングデバイスに関連付けられた証明書チェーンを検証するステップと、を含む請求項19に記載の方法。
【請求項21】
前記認証手順を実行するステップは、
前記ブリッジモジュールに関連する証明書チェーンを前記セキュアデータストアから検索するステップと、
前記ブリッジモジュールに関連付けられた証明書チェーンに対し、前記ブリッジモジュールに関連付けられた秘密鍵で署名するステップと、
第1のコンピューティングデバイスによる検証のために、署名済み証明書チェーンを第1のコンピューティングデバイスに送信するステップと、を含み、
前記秘密鍵は前記セキュアデータストアに格納されている、請求項19または20に記載の方法。
【請求項22】
第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間でデータを通信可能にするブリッジを確立するステップを含む、請求項19から21のいずれかに記載の方法。
【請求項23】
前記ブリッジの確立に続いて、
第1のコンピューティングデバイスに送信するために第2のコンピューティングデバイスから第1のフォーマットのデータを受信し、第2のフォーマットの前記データを第1のコンピューティングデバイスに中継するステップと、
第2のコンピューティングデバイスに送信するために第1のコンピューティングデバイスから第2のフォーマットのデータを受信し、第1のフォーマットの前記データを第2のコンピューティングデバイスに中継するステップと、を含む請求項22に記載の方法。
【請求項24】
前記第1のフォーマットと前記第2のフォーマットとは同じである、請求項23に記載の方法。
【請求項25】
前記第1のフォーマットと前記第2のフォーマットとは異なり、
前記第1のフォーマットと前記第2のフォーマットとの間で前記データの変換を実行するステップを含む、請求項23に記載の方法。
【請求項26】
前記第2のコンピューティングデバイスに由来する要求であって、前記第2のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記第1のコンピューティングデバイスに送信するステップと、
応答として、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記第1のコンピューティングデバイスから受信するステップと、をさらに含む請求項22から25のいずれかに記載の方法。
【請求項27】
前記第1のコンピューティングデバイスと確立される前記接続は無線接続である、請求項19から26のいずれかに記載の方法。
【請求項28】
前記第1のコンピューティングデバイスと確立される前記接続は有線接続である、請求項19から26のいずれかに記載の方法。
【請求項29】
第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのコンピュータプログラム製品であって、
非一時的なコンピュータ読み取り可能な媒体上で具現化され、プロセッサ上で実行されるときに、請求項19から28のいずれかに記載の方法を実行するように構成されたコードを備える、コンピュータプログラム製品。
【請求項30】
第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのブリッジモジュールであって、
前記ブリッジモジュールの外部にある第1のコンピューティングデバイスとの接続を確立し、
前記接続を使用して、第1のコンピューティングデバイスと認証手順を実行し、
前記接続上の第1のコンピューティングデバイスへのセキュア通信チャネルを確立し、
第2のコンピューティングデバイスから受信した認証要求を第1のコンピューティングデバイスに送信し、
前記セキュア通信チャネルを介して第1のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから投影証明書チェーンを検索し、前記セキュア通信チャネルを介して前記投影証明書チェーンを第1のコンピューティングデバイスに送信し、
前記セキュア通信チャネルを介して第1のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信し、
第1のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関係づけられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して、第1のコンピューティングデバイスに前記署名を送信し、
前記遠隔制御セッションを確立するために、第1のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第2のコンピューティングデバイスに送信する、ブリッジモジュール。
【請求項31】
前記ブリッジモジュールはブリッジデバイスに統合され、該ブリッジデバイスは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスの両方の外部にある、請求項30に記載のブリッジモジュール。
【請求項32】
前記ブリッジモジュールは前記第2のコンピューティングデバイスに統合されている、請求項30に記載のブリッジモジュール。
【発明の詳細な説明】
【発明の詳細な説明】
【0001】
〔発明の分野〕
本発明は、コンピューティングデバイスを遠隔制御及び/又は閲覧(view)するための方法とシステムに関する。
【0002】
〔発明の背景〕
第1のコンピュータ装置を使用して第2のコンピュータ装置の閲覧および制御を実行することが知られており、該閲覧および制御に用いられる仮想ネットワークコンピューティング(VNC)ビューワアプリケーションおよびVNCサーバアプリケーションとは、それぞれ、第1のコンピュータ装置(VNCビューワ)および第2のコンピュータ装置(VNCサーバ)上で実行される。第2のコンピュータ装置の表示のコンテンツは、第1のコンピュータ装置上で複製される。第1のコンピュータ装置はインタフェース機構を有し、該インタフェース機構により、ユーザは、上記装置上の物理キーを押す、マウスカーソルを動かす、或いはタッチスクリーン入力にタッチする、などのユーザ入力イベントを第2のコンピュータ装置に送信して、第2のコンピュータ装置を制御することができる。理解されるように、データリンクの形態およびコンピュータ装置の特性は、使用される状況に応じて変化し得る。
【0003】
MirrorLinkなどのスマートデバイス車載アプリケーション投影技術により、例えばスマートフォンなどであるがこれに限定されないスマートデバイス上で実行されるアプリケーションが、車両本来のディスプレイおよび制御メカニズムを使用して、車両内で表示され、使用されることを可能にする。
【0004】
スマートデバイスの観点から、車両は、技術特有のハードウェアおよびソフトウェアのインタフェースの仕様の背後に抽象化される。
【0005】
現行のスマートデバイス車載アプリケーション投影技術は、(i)通常は送信側(VNCサーバ)のシステム空間で制御されるデバイス間の物理的な接続に依存し、(ii)通常は送信側のシステム空間で制御されるセキュアエレメントを使用して、信頼できる証明書チェーン、その他の認証手段を記憶するように命じる認証レイヤに依存し、かつ(iii)投影を可能にするためのアプリケーションによって使用される必要がある、送信側に統合されるシステムコンポーネントに依存する。
【0006】
〔発明の概要〕
本発明の一態様によれば、第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが、第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、第1のコンピューティングデバイスにて実施される方法が提供され、該方法は、第1のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立するステップと、前記接続を使用して前記ブリッジモジュールとの認証手順を実行するステップと、前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップと、第2のコンピューティングデバイスから送信された認証要求をブリッジモジュールから受信するステップと、前記認証要求の受信に応じて、(i)前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスするステップと、(ii)前記投影証明書チェーンを含む応答を生成するステップと、(iii)前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令するステップ、および応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信するステップと、前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび前記署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第2のコンピューティングデバイスに送信するステップとを含む。
【0007】
前記投影証明書チェーンにアクセスするステップは、前記セキュア通信チャネルを介して前記ブリッジモジュールに前記投影証明書チェーンの要求を送信するステップと、前記セキュア通信チャネルを介して前記ブリッジモジュールから前記投影証明書チェーンを受信するステップとを含んでもよい。
【0008】
前記認証手順を実行するステップは、第1のコンピューティングデバイス上のストレージから第1のコンピューティングデバイスに関連付けられた証明書チェーンを検索するステップと、第1のコンピューティングデバイスに関連付けられた前記証明書チェーンに、第1のコンピューティングデバイスに関連付けられた秘密鍵で署名するステップと、前記ブリッジモジュールによる検証のために、署名済み証明書チェーンを、前記ブリッジモジュールに送信するステップとを含み、前記秘密鍵は、第1のコンピューティングデバイス上のメモリに格納されていてもよい。
【0009】
前記認証手順を実行するステップは、前記ブリッジモジュールに関連付けられた署名済み証明書チェーンを、前記ブリッジモジュールに関連付けられた公開鍵と共に受信するステップと、第1のコンピューティングデバイス上のメモリに格納されたルート証明書を使用して、前記ブリッジモジュールに関連付けられた証明書チェーンを検証するステップとを含んでもよい。
【0010】
前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立するステップは、少なくとも1つの対称暗号鍵を生成するステップと、前記ブリッジモジュールに関連付けられた公開鍵を使用して、前記少なくとも1つの対称暗号鍵を暗号化して、少なくとも1つの暗号化された対称暗号鍵を生成するステップと、前記少なくとも1つの暗号化された対称暗号鍵を前記ブリッジモジュールに送信するステップと、を含んでもよい。
【0011】
前記方法は、前記接続の喪失を検出することに応じて、前記少なくとも1つの対称暗号鍵を無効にするステップをさらに含んでもよい。
【0012】
前記方法は、第2のコンピューティングデバイスに由来する要求であって、第2のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記ブリッジモジュールから受信するステップと、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記ブリッジモジュールに送信するステップをさらに含んでもよい。
【0013】
前記ブリッジモジュールとの前記接続を確立するステップは、前記第1のコンピューティングデバイスにおいて受信されたユーザの入力に対する応答であってもよい。
【0014】
前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスの両方の外部のブリッジデバイスが前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記ブリッジデバイスとの接続を確立するステップを含んでもよい。
【0015】
第2のコンピューティングデバイスは前記ブリッジモジュールを含み、前記ブリッジモジュールとの接続を確立するステップは、前記第2のコンピューティングデバイスとの接続を確立するステップを含んでもよい。
【0016】
前記ブリッジモジュールと確立された前記接続は、無線接続であってもよい。前記無線接続は、ピアツーピアワイヤレスプロトコルに従って確立されてもよい。前記無線接続は、Wi-Fi(登録商標)ダイレクト接続またはBluetooth(登録商標)接続であってもよい。
【0017】
前記ブリッジモジュールと確立される前記接続は、有線接続であってもよい。
【0018】
第2のコンピューティングデバイスは車両に統合された車両ヘッドユニットであり、前記車両ヘッドユニットは、前記アプリケーションの前記グラフィカルユーザインタフェースを表示するためのディスプレイを備えてもよい。
【0019】
第1のコンピューティングデバイスはモバイルコンピューティングデバイスであり、前記モバイルコンピューティングデバイスは、携帯電話機、ラップトップコンピュータ、タブレットコンピュータ、およびヘッドレスコンピューティングデバイスのうちの1つであってもよい。
【0020】
本発明の別の態様によれば、第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御装置セッションを確立するためのコンピュータプログラム製品が提供され、該コンピュータプログラム製品は、非一時的なコンピュータ読み取り可能な媒体上で具現化され、第1のコンピューティングデバイスのプロセッサ上で実行されるときに、本書に記載の方法ステップを実行するように構成されたコードを備える。
【0021】
コードは、ディスク、CD-ROMまたはDVD-ROMのような担体上に、または読み取り専用メモリ(ファームウェア)のようなプログラムされたメモリー上に、または光電信号担体のようなデータ担体上に、提供されることができる。本発明の実施形態を実施するためのコード(および/またはデータ)は、Cなどの従来のプログラミング言語(インタープリタまたはコンパイルされた)、またはアセンブリコード、ASIC(特定用途向け集積回路)またはFPGA(書替え可能ゲートアレイ)をセットアップまたは制御するためのコード、またはハードウェア記述言語のためのコードで、ソースコード、物体コード、または実行可能コードを含むことができる。
【0022】
本発明の別の態様によれば、コンピューティングデバイスが提供され、該コンピューティングデバイスは、前記コンピューティングデバイスのプロセッサによって実行されるユーザアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、前記コンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのアプリケーションを実行するようになっているプロセッサを備え、該プロセッサは、第1のコンピューティングデバイスの外部にあるブリッジモジュールとの接続を確立し、前記接続を使用して前記ブリッジモジュールとの認証手順を実行し、前記接続上の前記ブリッジモジュールへのセキュア通信チャネルを確立し、第2のコンピューティングデバイスから送信された認証要求を前記ブリッジモジュールから受信し、前記認証要求の受信に応じて、(i)前記セキュア通信チャネルを使用して前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンにアクセスし、(ii)前記投影証明書チェーンを含む応答を生成し、(iii)前記ブリッジモジュールに関連付けられ、かつ前記セキュアデータストアに格納された秘密鍵を使用して応答に暗号署名するように、前記セキュア通信チャネルを介して前記ブリッジモジュールに命令し、応答として、前記セキュア通信チャネルを介して前記ブリッジモジュールから署名を受信し、かつ前記遠隔制御セッションを確立するために、前記投影証明書チェーンおよび署名を含む署名済み認証応答を、前記ブリッジモジュールを介して第2のコンピューティングデバイスに送信するように構成される。
【0023】
本発明の別の態様によれば、第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立する方法であって、ブリッジモジュール上で実施される方法が提供され、該方法は、前記ブリッジモジュールの外部にある前記第1のコンピューティングデバイスとの接続を確立するステップと、前記接続を使用して第1のコンピューティングデバイスとの認証手順を実行するステップと、前記接続上の第1のコンピューティングデバイスへのセキュア通信チャネルを確立するステップと、第2のコンピューティングデバイスから受信した認証要求を第1のコンピューティングデバイスに送信するステップと、前記セキュア通信チャネルを介して第1のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから前記投影証明書チェーンを検索し、前記投影証明書チェーンを前記セキュア通信チャネルを介して第1のコンピューティングデバイスに送信するステップと、前記セキュア通信チャネルを介して第1のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信するステップと、第1のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関連付けられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して第1のコンピューティングデバイスに前記署名を送信するステップと、前記遠隔制御セッションを確立するために、第1のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第2のコンピューティングデバイスに送信するステップと、を含む。
【0024】
前記認証手順を実行するステップは、第1のコンピューティングデバイスに関連付けられた署名済み証明書チェーンを第1のコンピューティングデバイスから受信するステップと、前記セキュアデータストアに格納されたルート証明書を使用して、第1のコンピューティングデバイスに関連付けられた証明書チェーンを検証するステップと、を含んでもよい。
【0025】
前記認証手順を実行するステップは、前記ブリッジモジュールに関連する証明書チェーンを前記セキュアデータストアから検索するステップと、前記ブリッジモジュールに関連付けられた証明書チェーンに対し、前記ブリッジモジュールに関連付けられた秘密鍵で署名するステップと、第1のコンピューティングデバイスによる検証のために、署名済み証明書チェーンを第1のコンピューティングデバイスに送信するステップと、を含み前記秘密鍵は前記セキュアデータストアに格納されていてもよい。
【0026】
前記方法は、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間でデータを通信可能にするブリッジを確立するステップを含んでもよい。
【0027】
前記ブリッジの確立に続いて、第1のコンピューティングデバイスに送信するために第2のコンピューティングデバイスから第1のフォーマットのデータを受信し、第2のフォーマットの前記データを第1のコンピューティングデバイスに中継するステップと、第2のコンピューティングデバイスに送信するために第1のコンピューティングデバイスから第2のフォーマットのデータを受信し、第1のフォーマットの前記データを第2のコンピューティングデバイスに中継するステップと、を含んでもよい。
【0028】
前記第1のフォーマットと前記第2のフォーマットとは同じであってもよい。
【0029】
あるいは、前記第1のフォーマットと前記第2のフォーマットとは異なり、前記第1のフォーマットと前記第2のフォーマットとの間で前記データの変換を実行するステップを含んでもよい。
【0030】
前記方法は、前記第2のコンピューティングデバイスに由来する要求であって、前記第2のコンピューティングデバイスへの前記グラフィカルユーザインタフェースの投影を開始する要求を前記第1のコンピューティングデバイスに送信するステップと、応答として、前記第1のコンピューティングデバイスと前記第2のコンピューティングデバイスとの間でデータを通信可能にするブリッジをセットアップするためのコマンドを前記第1のコンピューティングデバイスから受信するステップと、をさらに含んでもよい。
【0031】
前記第1のコンピューティングデバイスと確立される前記接続は有線接続または無線接続であってもよい。
【0032】
別の態様の本発明によれば、第1のコンピューティングデバイスのプロセッサによって実行されるアプリケーションのグラフィカルユーザインタフェースが第2のコンピューティングデバイス上で遠隔制御され閲覧されることを可能にするために、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間で遠隔制御セッションを確立するためのブリッジモジュールが提供され、該ブリッジモジュールは、前記ブリッジモジュールの外部にある第1のコンピューティングデバイスとの接続を確立し、前記接続を使用して、第1のコンピューティングデバイスと認証手順を実行し、前記接続上の第1のコンピューティングデバイスへのセキュア通信チャネルを確立し、第2のコンピューティングデバイスから受信した認証要求を第1のコンピューティングデバイスに送信し、前記セキュア通信チャネルを介して第1のコンピューティングデバイスからの要求であって、前記ブリッジモジュールのセキュアデータストアに格納された投影証明書チェーンに対する要求を受信し、応答として、前記セキュアデータストアから投影証明書チェーンを検索し、前記セキュア通信チャネルを介して前記投影証明書チェーンを第1のコンピューティングデバイスに送信し、前記セキュア通信チャネルを介して第1のコンピューティングデバイスから、前記投影証明書チェーンを含む応答と、前記応答に署名する要求とを受信し、第1のコンピューティングデバイスのための署名を生成するためにセキュアデータストアに格納され、前記ブリッジモジュールに関係づけられた秘密鍵を使用して、前記応答に暗号署名し、前記セキュア通信チャネルを介して、第1のコンピューティングデバイスに前記署名を送信し、前記遠隔制御セッションを確立するために、第1のコンピューティングデバイスから受信された、投影証明書チェーンおよび署名を含む署名済み認証応答を第2のコンピューティングデバイスに送信する。
【0033】
前記ブリッジモジュールはブリッジデバイスに統合され、該ブリッジデバイスは、前記第1のコンピューティングデバイスおよび前記第2のコンピューティングデバイスの両方の外部にあってもよい。
【0034】
前記ブリッジモジュールは前記第2のコンピューティングデバイスに統合されていてもよい。
【0035】
これらおよび他の態様は、以下に記載される実施形態から明らかになるであろう。本開示の範囲は、この概要によって限定されることも、言及された問題点のいずれかまたはすべてを必然的に解決する実施形態に限定されることも意図されていない。
【0036】
〔図面の簡単な説明〕
本発明をより良く理解し、実施形態がどのように実施され得るかを示すために、添付の図面を参考にする。
【0037】
図1は、公知の車載アプリケーション投影技術の実施例の概略ブロック図である。
【0038】
図2は、本発明の実施形態による車載アプリケーション投影技術の実施例の概略ブロック図である。
【0039】
図3は、本発明の実施形態による車載アプリケーション投影技術の実施例のより詳細な概略ブロック図である。
【0040】
図4(
図4-1・
図4-2)は、キープロビジョニングプロセスを示す。
【0041】
図5は、様々なシステム構成要素間の証明書および鍵の交換を示す。
【0042】
図6a(
図6a-1・
図6a-2)は、投影セッションシーケンスの概要を示す。
【0043】
図6bは、投影セッションシーケンスにおける相互認証シーケンスを示す。
【0044】
図6cは、投影セッションシーケンスにおける投影セッション確立シーケンスを示す。
【0045】
図6d(
図6d-1・
図6d-2)は、投影セッションシーケンスにおける投影認証シーケンスを示す。
【0046】
〔詳細な説明〕
図1には、公知の車載アプリケーション投影技術の実施例100の概略ブロック図が示されている。
【0047】
図1に示すように、ユーザアプリケーション122(例えば、ナビゲーションアプリケーション、通信アプリケーション、音楽アプリケーション等)は、モバイルコンピューティングデバイス12上のユーザ空間で実行されている。
【0048】
モバイルコンピューティングデバイス12のディスプレイ上に表示されるユーザアプリケーション122のグラフィカルユーザインタフェースを、例えば、車両に統合された車両ヘッドユニットのようなリモートコンピューティングデバイス10のディスプレイ上に投影するために、モバイルコンピューティングデバイス12上のシステム空間(例えばAndroid(登録商標)オペレーティングシステム)にて稼働しているVNCサーバアプリケーション124を用いて、上記モバイルコンピューティングデバイスのディスプレイ上に表示される画像が取り込まれ、トランスポートリンク(例えば、USBケーブル)を介してリモートコンピューティングデバイス10に送信される。したがって、モバイルコンピューティングデバイス12は、リモートコンピューティングデバイス10上で閲覧されるための情報を送信しているので、VNCサーバと呼ぶこともできる。対応するVNCビューワアプリケーション102は、リモートコンピューティングデバイス10上で実行されて、モバイルコンピューティングデバイス12のディスプレイの画像を受信し、リモートコンピューティングデバイス10上のディスプレイに上記画像を出力する。したがって、上記リモートデバイスはVNCビューワと呼ぶこともできる。
【0049】
当業者には周知のように、現代のコンピューティングデバイスのオペレーティングシステムは、通常、仮想メモリをシステム空間およびユーザ空間に分離する。主に、この分離は、悪意のあるまたは誤ったソフトウェア動作からのメモリ保護およびハードウェア保護を提供する役割を果たす。システム空間は、特権オペレーティングシステムカーネル、カーネル拡張、および大部分のデバイスドライバを実行するために厳密に予約されている。対照的に、ユーザ空間は、アプリケーションソフトウェアおよびいくつかのドライバが実行されるメモリ領域である。
【0050】
リモートコンピューティングデバイスとは、モバイルコンピューティングデバイスから物理的に離れた任意のデバイスを意味する。リモートコンピューティングデバイスはモバイルデバイスから著しく離れて配置されてもよく、或いは(例えば、両方とも車両内に)近接して配置されてもよい。
【0051】
既知のMirrorLink車載アプリケーション投影技術は、以下に依存する。
・送信レイヤ124としてのUSB CDC/NCM(Universal Serial Bus Communication Device Class Network Control Mode)を利用すること。しなしながら、Android(登録商標)のような既知のオペレーティングシステムに元来サポートされておらず、VNCサーバアプリケーション124を直ちに動作できるとは限らない。
・認証レイヤはスマートデバイス上のセキュアデータストア126に安全に格納された秘密鍵/公開鍵ペアおよび投影デバイス証明書チェーンの使用を義務付け、該投影デバイス証明書チェーンはコンピューティングデバイス10上に格納されたCar Connectivity Consortium(CCC)信頼ルート証明書106に戻されること。
・システム特権を有するMirrorLinkサーバ(例えば、VNCサーバアプリケーション124)はセキュアデータストア126にアクセスして、投影デバイス証明書チェーンを検索し署名交換することができ、かつ、ユーザアプリケーション122のグラフィカルユーザインタフェースを、システムレベルAPIを用いてMirrorLinkクライアント(例えば、VNCビューワアプリケーション102)に転送することができるシステム特権を有すること。
【0052】
そこで、モバイルコンピューティングデバイス12が携帯電話機であるという例を考える。MirrorLink車載アプリケーション投影技術を実施するために、携帯電話機のベンダは、携帯電話機上で動作するオペレーティングシステムを修正して、必要なUSBプロトコルを追加したり、さらに、セキュアデータストア126が投影デバイス証明書チェーンを記憶するように、例えばDAP(デバイス証明プロトコル)認証のように認証された携帯電話機を取得したりする必要がある。その結果、携帯電話機は、それ自体を認証されたMirrorLinkサーバデバイスとして車両ヘッドユニットに提供することができる。
【0053】
本発明の実施形態は、既知の解決策におけるハードウェア固有の限界を克服する。
【0054】
本発明の実施形態による車載アプリケーション投影技術の実施例200の概略ブロック図を
図2に示す。
【0055】
図2に示されるコンピューティングデバイス10(その他に本願では第2のコンピューティングデバイスと呼ばれる)は、
図1に示されるコンピューティングデバイス10と同じである。
【0056】
本発明の実施形態において、ブリッジモジュール114は、モバイルコンピューティングデバイス12(その他に本願では第1のコンピューティングデバイスおよびスマートデバイスと呼ばれる)にシステムレベルで通常組み込まれるであろう、ハードウェアおよびソフトウエアシステムの機能を実施する役割を担っている。
【0057】
図2に示すように、ブリッジデバイス14はブリッジモジュール114を含むことができる。これらの実施形態でのブリッジデバイス14は、コンピューティングデバイス10およびモバイルコンピューティングデバイス12の両方と通信するように構成された(コンピューティングデバイス10およびモバイルコンピューティングデバイス12の両方の外部にある)スタンドアロンデバイスである。
【0058】
したがって、ブリッジデバイス14は、ターゲットビューワのトランスポート要件108に合致するトランスポート構成要素146を含み、例えばMirrorLinkなどのモバイルコンピューティングデバイス投影技術のセキュリティ要件に合致する記憶、暗号化、および署名の動作を提供するセキュアデータストア144(例えば、セキュアエレメント)を含み、かつ、モバイルコンピューティングデバイス12上で実行されるVNCサーバアプリケーション124がスマートデバイス投影技術準拠サーバとして動作するために、ブリッジデバイスのトランスポート146およびセキュアエレメント144を使用することを可能にするセキュアP2P通信インタフェース142およびAPIを含む。
【0059】
ブリッジデバイス14は、コンピューティングデバイス10に接続する。ブリッジデバイス14は、有線接続を使用してコンピューティングデバイス10に接続するように構成することができる。例えば、ブリッジデバイス14はコンピューティングデバイス10上のポート(例えば、USBポート)に差し込まれるドングルの形態をとることができる。ブリッジデバイス14はUSB CDC/NCMプロトコルなどのイーサネット(登録商標)オーバUSBプロトコルを使用してコンピューティングデバイス10と通信するように構成することができるが、コンピューティングデバイス10とブリッジデバイス14との間のトランスポート層のために、他のプロトコルを使用することができることが理解されよう。代替実施形態では、ブリッジデバイス14が無線接続を使用してコンピューティングデバイス10に接続するように構成される。
【0060】
また、ブリッジデバイス14は、モバイルコンピューティングデバイス12に接続する。Wi-Fi(登録商標)ダイレクト接続、ユニバーサルプラグ&プレイ接続、またはブルートゥース(登録商標)接続などの、ユーザ空間アプリケーションが利用可能なピアツーピアワイヤレスプトコルに従い、上記ブリッジデバイス14は無線接続を用いてコンピューティングデバイス10に接続するように構成されてもよい。したがって、ブリッジデバイス14は、他の有線の受信機(コンピューティングデバイス10)に無線機能を追加することができることは明らかであろう。代替実施形態では、ブリッジデバイス14が有線接続(例えば、USB、HDMI(登録商標)、ユニバーサルプラグアンドプレイ接続など)を使用してモバイルコンピューティングデバイス12に接続するように構成される。
【0061】
ブリッジデバイス14およびVNCサーバアプリケーション124はセキュアチャネル、例えば、セキュアソケットレイヤ(SSL)接続を介して通信する。以下でより詳細に説明するように、ブリッジデバイス14とVNCサーバアプリケーション124との間のセキュアな通信は、(認証に使用される)投影技術とは独立した信頼できる証明書チェーンを具備し、少なくとも1つの対称暗号鍵を交換することによって、セキュアなチャネルを確立することができる。
【0062】
コンピューティングデバイス10は、ブリッジデバイス14に接続し、ブリッジデバイス14とユーザ空間のVNCサーバアプリケーション124との組合せを、(
図1に示す従来技術のモバイルコンピューティングデバイスのような)投影技術に関するシステムレベルのサポートを組み込んだ通常のスマートデバイスとして事実上参照する。
【0063】
例えば、車両に統合されたディスプレイを有する車載ヘッドユニットのようなリモートコンピューティングデバイス10のディスプレイに、ユーザアプリケーション122のグラフィカルユーザインタフェースを投影するために、モバイルコンピューティングデバイス12上のユーザ空間で実行されるVNCサーバアプリケーション124は、モバイルコンピューティングデバイス12のディスプレイ上に表示された画像を取り込み、それをP2P通信インタフェース127を介し、ブリッジデバイス14を介してリモートコンピューティングデバイス10に送信するために使用される。
【0064】
リモートコンピューティングデバイス10上で実行される、対応のVNCビューワアプリケーション102は、モバイルコンピューティングデバイス12のディスプレイの画像を受信し、該画像をリモートコンピューティングデバイス10上のディスプレイに出力するように構成される。
【0065】
モバイルコンピューティングデバイス12の「ディスプレイ」は、例えば、携帯電話機、PDA、ラップトップまたはタブレットなどのディスプレイのような物理的ディスプレイであり得る。しかしながら、モバイルコンピューティングデバイス12のディスプレイは物理的である必要はない。すなわち、コンピューティングデバイス12のメモリ内の仮想ディスプレイであってもよい。また、モバイルコンピューティングデバイス12は、Intel(登録商標) Compute Stickなどのようなヘッドレスポータブルコンピューティングデバイス(物理的ディスプレイのないコンピューティングデバイス)とすることができる。ディスプレイが仮想ディスプレイであるこれらの代替の実施形態では、ヘッドレスポータブルコンピューティングデバイス12と有線通信または無線通信し、ディスプレイを有する外部のコンピューティングデバイスを使用して、VNCビューワアプリケーション102に投影されたユーザアプリケーション122のグラフィカルユーザインタフェースを閲覧することができる。
【0066】
ブリッジデバイス14の目的は下記の2つであることは明らかである。
【0067】
1.リモートコンピューティングデバイス10とモバイルコンピューティングデバイス12との間に関連する全ての遠隔制御セッションデータを透過的に橋渡しすること。すなわち、トランスポート層インタフェース146(例えば、USB CDC-NCMインタフェース)とP2P通信インタフェース142との間で遠隔制御セッションデータを透過的に橋渡しすること。
【0068】
用語「遠隔制御セッションデータ」は、ブリッジデバイス14を介してコンピューティングデバイス10とモバイルコンピューティングデバイス12との間で交換される任意のデータを含み、例えば、コンピューティングデバイス10とモバイルコンピューティングデバイス12との間の遠隔制御セッションの確立のために交換されるメッセージと、遠隔制御セッションの間に交換されるイメージデータと、遠隔制御セッションの間に交換されるユーザ入力イベントメッセージ(例えば、ユーザがコンピューティングデバイス10上の投影されたアプリケーション104への入力操作、またはモバイルコンピューティングデバイス12上で実行されるユーザアプリケーション122への入力操作を行ったとき)と、コンピューティングデバイス10とモバイルコンピューティングデバイス12との間の遠隔制御セッションの終了のために交換されるメッセージとが挙げられる。
【0069】
2.証明書を格納するセキュアエレメントとして働くこと。該証明書を用いて、VNCサーバアプリケーション124は、自身を認証されたデバイスとしてリモートコンピューティングデバイス10に提示し、VNCサーバアプリケーション124のための証明応答(例えば、DAP証明応答)に署名する。
【0070】
本発明の実施形態におけるブリッジデバイス14を使用することにより、任意の第三者は、スマートデバイスオペレーティングシステムおよび好ましい投影技術とは独立し、目標の投影技術に完全に準拠した任意のスマートデバイス投影技術を実施することが可能である。
【0071】
車両アプリケーション投影技術の実施例200のより詳細な概略ブロック図を
図3に示す。
【0072】
図3に示すように、モバイルコンピューティングデバイス12は、サーバアプリケーション証明書チェーン121、ブリッジメーカ信頼ルート証明書、およびサーバアプリケーション公開鍵/秘密鍵ペア125、を格納した、ユーザ空間内でアクセス可能なキーストア129を備える。
【0073】
図3に示すように、ブリッジデバイス14上のセキュアデータストア(例えば、セキュアエレメント)144は、ブリッジデバイス証明書チェーン140、投影デバイス証明書チェーン143、ブリッジデバイス公開鍵/秘密鍵ペア141、およびサーバアプリケーション信頼ルート証明書145、を格納する。
【0074】
図3に示すように、コンピューティングデバイス10は、投影信頼ルート証明書105を格納する。
【0075】
図4(
図4-1および
図4-2)は、投影認証局、ブリッジデバイスベンダ、ブリッジデバイスベンダ認証局、サーバアプリケーションベンダ、およびサーバアプリケーションベンダ認証局を参照する、本実施形態によるキープロビジョニングプロセスを示す。
図4に示す1つまたは複数のステップは、ブリッジデバイス14、VNCサーバアプリケーション124、および/またはVNCビューワアプリケーション102の製造/生成プロセスの一部として実施されてもよい。
図4に示される1つ以上のステップは、ブリッジデバイス14、VNCサーバアプリケーション124及び/又はVNCビューワアプリケーション102が製造/生成された後に、代替的に又は追加的に実施されてもよい。
【0076】
サーバアプリケーションベンダおよびサーバアプリケーションベンダ認証局は、実際には同じエンティティとすることができることを理解されたい。同様に、ブリッジデバイスベンダおよびブリッジデバイスベンダ認証局は、実際には同じエンティティとすることができる。さらに、ブリッジデバイスベンダおよびサーバアプリケーションベンダは、実際には同じエンティティとすることができる。
【0077】
図4に示すように、ステップ1において、ブリッジデバイスベンダ認証局はメーカの公開鍵/秘密鍵ペア(SK
Bridge/PK
Bridge)を生成する。ここで、SKは秘密(プライベート)鍵であり、PKは公開鍵である。ステップ2として、ブリッジデバイスベンダ認証局は、投影メーカ証明書(その他に本願ではブリッジメーカ証明書と呼ばれる)の署名要求を投影認証局に送信する。ステップ3として、投影認証局は、ブリッジデバイスベンダ認証局に、投影認証局の秘密鍵SK
Projectionで署名された、ブリッジデバイスベンダの公開鍵PK
Bridgeに対応する署名済み投影メーカ証明書(Cert
Bridge)を発行する。すなわち、投影認証局はブリッジデバイスベンダの公開鍵PK
Bridgeの真実性を証明する。
【0078】
投影メーカ証明書は、ブリッジデバイスベンダに投影認証局の補助認証局として動作することを許可する。したがって、ブリッジデバイスCA秘密鍵SKBridgeでブリッジデバイス公開鍵PKDeviceを署名する場合、ブリッジデバイスベンダは、2つの信頼チェーン(または証明書チェーン)を確立する。すなわち、1つは(VNCサーバアプリケーション124がブリッジデバイス14を信頼することを可能にする)ブリッジベンダ信頼ルート証明書123につながり、もう1つは、(VNCビューワアプリケーション102がブリッジデバイス14を介してVNCサーバアプリケーション124を信頼することを可能にする)投影信頼ルート証明書105につながる。
【0079】
ステップ4において、ブリッジデバイス14は、ブリッジデバイス公開鍵/秘密鍵のペア141(SKDevice/PKDevice)を生成する。ステップ5において、ブリッジデバイス14は、ブリッジデバイス公開鍵141を有するブリッジデバイス証明書署名要求をブリッジデバイスベンダ認証局に送信する。ステップ6において、ブリッジデバイスベンダ認証局は、ブリッジデバイスベンダの秘密鍵SKBridgeによって署名されたブリッジデバイスの公開鍵PKDeviceに対応する署名済みブリッジデバイス証明書140(CertDevice)(その他に本願ではデバイス証明書と呼ばれる)をブリッジデバイス14に発行する。すなわち、ブリッジデバイス認証局は、ブリッジデバイス公開鍵PKDeviceの真実性を証明する。ステップ6においてもまた、ブリッジデバイスベンダ認証局は署名済み投影デバイス証明書チェーン143をブリッジデバイス14に発行する。
【0080】
投影デバイス証明書チェーン143は、トップにある投影信頼ルート証明書105と、投影メーカ証明書(CertBridge)と、ブリッジデバイス証明書140(CertDevice)とを含む。ブリッジデバイス認証チェーン140は、トップにあるブリッジデバイスベンダ信頼ルート証明書123と、ブリッジデバイス証明書(CertDevice)とを含む。
【0081】
ステップ7において、サーバアプリケーションベンダは、サーバアプリケーション公開鍵/秘密鍵ペア125を生成する。ステップ8において、サーバアプリケーションベンダはサーバアプリケーション公開鍵125を有するサーバアプリケーション証明書署名要求をサーバアプリケーションベンダ認証局に送信する。ステップ9において、サーバアプリケーションベンダ認証局は、サーバアプリケーションベンダ秘密鍵SKVendorによって署名されたサーバアプリケーション公開鍵PKserverに対応する署名済みサーバアプリケーション証明書チェーン121をサーバアプリケーションベンダに発行する。つまり、サーバアプリケーションベンダ認証局は、サーバアプリケーション公開鍵PKServerの真実性を証明する。署名済みサーバアプリケーション証明書チェーン121及び公開鍵/秘密鍵ペア125は、VNCサーバアプリケーション124の一部として構築時に供給されるか、その後にユーザによってサーバアプリケーションベンダからダウンロードされるかの何れかである。
【0082】
ステップ10において、ブリッジデバイスベンダ認証局は、ブリッジデバイスベンダ信頼ルート証明書123(その他に本願ではブリッジメーカ信頼ルート証明書と呼ばれる)を、サーバアプリケーションベンダに発行する。ステップ11において、サーバアプリケーションベンダは、ブリッジデバイスベンダ信頼ルート証明書123をVNCサーバアプリケーション124の一部としてインストールする。
【0083】
ステップ12において、サーバアプリケーションベンダ認証局は、サーバアプリケーションベンダ信頼ルート証明書145をブリッジデバイスベンダに発行する。ステップ13において、ブリッジデバイスベンダは、サーバアプリケーションベンダ信頼ルート証明書145をブリッジデバイス14にインストールする。
【0084】
最後に、ステップ14として、投影認証局は、投影信頼ルート証明書105をVNCビューワアプリケーション102に発行する。
【0085】
また、
図5は、投影認証局と、ブリッジデバイスベンダと、サーバアプリケーションベンダと、ブリッジデバイス14と、VNCサーバアプリケーション124との間における証明書および公開鍵の配布を示す。
図5で使用される符号は、
図4で使用されるステップ番号に対応する。
図5は、投影技術信頼チェーンを、ブリッジデバイス自体の信頼チェーンおよびVNCサーバアプリケーション自体の信頼チェーンとシームレスに統合できる方法を示す。
【0086】
次に、投影セッションシーケンスの概要を示す
図6aを参照する。
【0087】
ステップ1において、ユーザは、コンピューティングデバイス10上のVNCビューワアプリケーション102を開始する。これにより、VNCビューワアプリケーション102は、ブリッジデバイス14の動作を開始させ(ステップ2)、ブリッジデバイス14に接続する(ステップ3)。
【0088】
ステップ4において、ユーザは、VNCサーバアプリケーション124を、コンピューティングデバイス12で起動する。
【0089】
ステップ5において、VNCサーバアプリケーション124は、選択されたP2Pレイヤ(例えば、USBエニュメレーション、Bluetooth(登録商標)、WiFi(登録商標)-P2P等)に従ってブリッジデバイスをスキャンし、ステップ6において、ブリッジデバイス14とVNCサーバアプリケーション124とは、選択された通信レイヤ(USB物理接続、UPnP制御ポイント、WiFi(登録商標)-P2Pグループ形成等)を介して、ペアになる。
【0090】
次に、投影セッションシーケンスはセキュア(secure)接続確立フェーズ602に進み、ステップ7において、VNCサーバアプリケーション124およびブリッジデバイス14は互いに自身を認証し、ステップ8において、VNCサーバアプリケーション124およびブリッジデバイス14はVNCサーバアプリケーション124とブリッジデバイス14との間にセキュア通信チャネル(例えば、SSL接続)を確立する。
【0091】
セキュア接続確立フェーズ602を実施する様々な方法があることは、当業者には理解されるであろう。
【0092】
次に、セキュア接続確立フェーズ602を実施する1つの方法を示す
図6bを参照する。
【0093】
図6bのステップ6に示すように、P2P通信インタフェース127は、サーバアプリケーション秘密鍵125で署名されたサーバアプリケーション証明書チェーン121をブリッジデバイスのP2P通信インタフェース142に送信する。すなわち、サーバアプリケーション証明書チェーン121(VNCサーバアプリケーションの公開鍵125を含む)はメッセージにパッケージされ、メッセージ自体は、その秘密鍵125を使用してVNCサーバアプリケーション124による署名で署名される。受信すると、ステップ7において、ブリッジデバイス14は、メッセージの署名がサーバアプリケーション証明書チェーン121内のサーバアプリケーションの公開鍵に対応することを検証することによって、メッセージが真正であることを検証する。当業者に知られているように、署名は、秘密鍵によって暗号化されたメッセージのハッシュである。ブリッジデバイス14はメッセージのハッシュを計算することによってこの検証を実行し、(サーバアプリケーション証明書チェーン121に含まれる)VNCサーバアプリケーションの公開鍵を使用して署名を解読し、2つの値を比較し、署名と一致する場合、それらが有効であると見なされる。ステップ7において、ブリッジデバイス14は、サーバアプリケーションベンダ信頼ルート証明書145を使用してサーバアプリケーション証明書チェーン121を検証することによって、VNCサーバアプリケーション124が誰であるかをさらに検証する。認証が成功した場合、ステップ8において、P2P通信インタフェース142は認証受諾メッセージをP2P通信インタフェース127に送信し、その他、認証失敗の場合、P2P通信インタフェース142は、P2P通信インタフェース127との接続を切断する(ステップ18)。
【0094】
同様に、ステップ9において、ブリッジデバイス14は、ブリッジデバイスの秘密鍵141で署名されたブリッジデバイス証明書チェーン140をブリッジデバイスのP2P通信インタフェース142からP2P通信インタフェース127に送信することによって応答する。すなわち、(ブリッジデバイスの公開鍵141を含む)ブリッジデバイス証明書チェーン140はメッセージにパッケージ化され、メッセージ自体は、その秘密鍵141を使用してブリッジデバイス14による署名で署名される。受信すると、ステップ10において、VNCサーバアプリケーション124は、メッセージの署名がブリッジデバイス証明書チェーン140内のブリッジデバイスの公開鍵に対応することを検証することによって、メッセージが真正であることを検証する。VNCサーバアプリケーション124はメッセージのハッシュを計算することによってこの検証を実行し、(ブリッジデバイス証明書チェーン140に含まれる)ブリッジデバイスの公開鍵を使用して署名を解読し、2つの値を比較し、署名と一致する場合、それらが有効であると見なされる。ステップ10において、VNCサーバアプリケーション124は、ブリッジデバイスベンダ信頼ルート証明書123を使用して、ブリッジデバイスチェーン140を検証することによって、ブリッジデバイス14が誰であるかをさらに検証する。認証が成功した場合、ステップ11において、VNCサーバアプリケーション124はP2P通信インタフェース127を介してブリッジデバイスのP2P通信インタフェース142に認証受諾メッセージを送信し、その他、認証失敗の場合、P2P通信インタフェース142は、P2P通信インタフェース127との接続を切断する(ステップ17)。
【0095】
図6bに示すように、VNCサーバアプリケーション124とブリッジデバイス14との間にセキュア通信チャネルを確立する。VNCサーバアプリケーション124およびブリッジデバイス14は、
図6bのステップ12~16を参照して示されるSSL接続を確立することができる。
【0096】
ステップ12において、P2P通信インタフェース127はセキュア通信チャネル上で送信されるデータの暗号化および復号化の両方のために、VNCサーバアプリケーション124およびブリッジデバイス14の両方によって使用される少なくとも1つの対称暗号鍵を生成する。P2P通信インタフェース127はVNCサーバアプリケーション124およびブリッジデバイス14の両方によって、それぞれ暗号化および復号化に使用される対称暗号鍵のペアを生成することができ、該鍵のペアは同一であってもよく、或いは2つの鍵にするために単純な変換があってもよい。
【0097】
ステップ13において、P2P通信インタフェース127は、(上記のステップ9で受信された)ブリッジデバイスの公開鍵を使用して、少なくとも1つの対称暗号鍵を暗号化し、少なくとも1つの暗号化された対称暗号鍵を生成する。
【0098】
ステップ14において、P2P通信インタフェース127はSSL接続を確立するために、少なくとも1つの暗号化された対称暗号鍵を、ブリッジデバイス14のP2P通信インタフェース142に送信する。P2P通信インタフェース142は、ブリッジデバイスの秘密鍵141を使用して、少なくとも1つの暗号化された対称暗号鍵を復号する。
【0099】
ステップ15において、P2P通信インタフェース142は、少なくとも1つの対称暗号鍵で暗号化された肯定応答(acknowledgment)をP2P通信インタフェース127に送り返して、暗号化されたセッションを開始する。ステップ16において、P2P通信インタフェース12は、セキュア通信チャネルが確立されたことをVNCサーバアプリケーション124に通知する。一度、セキュア通信チャネルが確立されると、VNCサーバアプリケーション124およびブリッジデバイス14の両方は、少なくとも1つの対称暗号鍵を用いて送信データを暗号化することができる。
【0100】
ここで、
図6aに示す投影セッションシーケンスの概要に戻る。
【0101】
ステップ9において、ユーザは、コンピューティングデバイス10上で実行されているVNCビューワアプリケーション102にユーザの入力を提供して、モバイルコンピューティングデバイス12のディスプレイに表示された、ユーザアプリケーション122のグラフィカルユーザインタフェースをコンピューティングデバイス10への投影を開始する。
【0102】
次に、投影セッションシーケンスは投影セッション確立フェーズ604に進み、ステップ10において、VNCビューワアプリケーション102は、投影を開始する要求をブリッジデバイス14に送信する。ステップ11において、ブリッジデバイス14は、VNCビューワアプリケーション102とVNCサーバアプリケーション124との間に通信トンネリングを確立する。
【0103】
すなわち、ブリッジデバイス14がセットアップしたブリッジは、VNCビューワアプリケーション102からブリッジデバイストランスポート層146およびP2P通信インタフェース142を介してVNCサーバアプリケーション124に投影プロトコルデータフローをP2P接続により送信することを可能にする。同様に、上記ブリッジは、VNCサーバアプリケーション124からP2P接続によりP2P通信インタフェース142に、ブリッジデバイストランスポート層146を介して、VNCビューワアプリケーション102に投影プロトコルデータフローを送信することを可能にする。
【0104】
投影セッション確立フェーズ604は、
図6cにより詳細に示されている。
【0105】
図6cに示すように、VNCビューワアプリケーション102はブリッジデバイスを介してVNCサーバアプリケーション124にメッセージ(投影開始メッセージ)を伝送し(ステップ1~4)、VNCサーバアプリケーション124に、VNCビューワアプリケーション102へのユーザアプリケーション122の投影を開始するように命令する。これは
図6aのステップ12に示されている。応答にて、VNCサーバアプリケーション124はブリッジデバイスのP2Pインタフェース142にメッセージを伝送し(ステップ5および6)、ブリッジデバイスのトランスポートインタフェース146とP2Pインタフェース142との間に「トンネル」を確立するようにP2Pインタフェース142に命令する。その結果、VNCビューワアプリケーション102から送信された第1のフォーマットの遠隔制御セッションデータを、ブリッジデバイス14が(トランスポートインタフェース146を使用して)受信し、(P2Pインタフェース142を使用して)第2のフォーマットでVNCサーバアプリケーション124に送信することができる。反対に、VNCサーバアプリケーション124から送信された第2のフォーマットの遠隔制御セッションデータを、ブリッジデバイスが(P2Pインタフェース142を使用して)受信し、(トランスポートインタフェース146を使用して)第1のフォーマットでVNCビューワアプリケーション102に送信することができる。
【0106】
P2Pインタフェース142は、VNCビューワアプリケーション102またはVNCサーバアプリケーション124からデータを受信した場合に、(ブリッジとして動作する)通信トンネリングを実行するように自身を設定し、通信トンネリングの確立をVNCビューワアプリケーション102に通知する(ステップ7および8)。
【0107】
いくつかの実施形態では、P2Pインタフェース142によって実行される通信トンネリングは、(トランスポートインタフェース146を使用して)ブリッジデバイス14が受信した遠隔制御セッションデータを(P2Pインタフェース142を使用して)VNCサーバアプリケーション124に単に中継し、遠隔制御セッションデータを逆方向に中継する。すなわち、上述した第1のフォーマットと第2のフォーマットとは同じである。P2Pインタフェース142は、受信された遠隔制御セッションデータのカプセル化を実行することができる。例えば、P2Pインタフェース142は、IPトンネリングを実行して、受信されたIPパケットを別のIPパケットにカプセル化し、カプセル化されたIPパケットを前方の目的地(VNCビューワアプリケーション102またはVNCサーバアプリケーション124)に向けて送信することができる。
【0108】
他の実施形態では、P2Pインタフェース142によって実行される通信トンネリングは、様々なデータフォーマット間の変換(および逆変換)を実行するP2Pインタフェース142を備える。言い換えると、P2Pインタフェース142は、VNCビューワアプリケーション102から送信された第1のフォーマットの遠隔制御セッションデータを受信し、第1のフォーマットの遠隔制御セッションデータに対し、第2のフォーマットの遠隔制御セッションデータを生成する機能を実行し(第2のフォーマットは第1のフォーマットと異なる)、第2のフォーマットの遠隔制御セッションデータをVNCサーバアプリケーション124に送信し、同様に、P2Pインタフェース142は、VNCサーバアプリケーション124から送信された第2のフォーマットの遠隔制御セッションデータを受信し、第2のフォーマットの遠隔制御セッションデータに対し逆の機能を実行して、第1のフォーマットの遠隔制御セッションデータを生成し、第1のフォーマットの遠隔制御セッションデータをトランスポートインタフェース146に供給して、VNCビューワアプリケーション102に送信する。
【0109】
上記で言及した機能は、カプセル化を含むことができる。例えば、第1のフォーマットはUSBデータであってもよく、第2のフォーマットはIPデータであってもよい。この例では、P2Pインタフェース142がVNCビューワアプリケーション102から受信したUSBパケットを、VNCサーバアプリケーション124に送信するためのIPパケットにカプセル化し、同様に、VNCサーバアプリケーション124から受信したIPパケットを、VNCビューワアプリケーション102に送信するためのUSBパケットにカプセル化する。したがって、実施形態では、モバイルコンピューティングデバイス12がコンピューティングデバイス10との通信に適合しないとき(たとえば、トランスポート層としてのUSB CDC/NCMの使用がVNCサーバアプリケーション124に利用可能でないとき)、ブリッジデバイス14は、VNCサーバアプリケーション124とVNCビューワアプリケーション102との間の通信を可能にする。
【0110】
上記で言及した機能は、暗号化(対応する逆関数は復号化である)を含むことができ、例えば、第1のフォーマットは暗号化されていないIPデータであってもよく、第2のフォーマットは暗号化されたIPデータであってもよい。本願に記載されていないその他の機能がP2Pインタフェース142によって実行されてもよいことが理解されるであろう。
【0111】
VNCサーバアプリケーション124は、VNCビューワアプリケーション102に自身をアナウンスする。これは、
図6cに示すように、VNCビューワアプリケーション102によって送信され、VNCサーバアプリケーション124によって検出された検索メッセージに対する応答であり得る(ステップ7~8)。
【0112】
VNCビューワアプリケーション102とVNCサーバアプリケーション124との間で通信トンネリングがアクティブになると、直ちに、投影セッションシーケンスは投影認証フェーズ606に進み、ステップ13で、VNCビューワアプリケーション102はブリッジデバイス14を介してVNCサーバアプリケーション124に認証要求を送信し、応答として、ステップ14で、VNCサーバアプリケーション124は、ブリッジデバイス14を介してVNCビューワアプリケーション102に認証応答を送信する。
【0113】
投影認証フェーズ606は、
図6dにより詳細に示されている。
【0114】
VNCビューワアプリケーション102がVNCサーバアプリケーション124を発見すると、直ちに、VNCビューワアプリケーション102は、ステップ12で、ブリッジデバイス14を介してVNCサーバアプリケーション124に認証要求を送信する(VNCサーバアプリケーション124に自身を検証するように要求する)。
【0115】
本発明では、VNCサーバアプリケーション124は、コンピューティングデバイス上で実行することができないプロトコル特有動作をブリッジデバイス14上のブリッジモジュール114に委託する。具体的には、VNCサーバアプリケーション124がブリッジデバイス14を利用して、投影プロトコル認証機構によって必要とされる暗号化操作を実行する。
【0116】
ステップ13で、VNCサーバアプリケーション124は、(少なくとも1つの対称暗号鍵を使用して)
図6aのステップ8で確立されたセキュアチャネルを介して、セキュアデータストア144に格納された投影デバイス証明書チェーン143の要求をブリッジデバイス14に送信する。ステップ14~16において、P2Pインタフェース142はセキュアデータストア144にアクセスして投影デバイス証明書チェーン143を検索し、セキュアチャネルを介して投影デバイス証明書チェーン143をVNCサーバアプリケーション124に送信する。
【0117】
VNCサーバアプリケーション124は、投影証明書チェーン143を含む応答を生成し、ステップ17で、セキュアチャネルを介してブリッジデバイス14に、ブリッジデバイス秘密鍵141(
図6dではスマートデバイス投影デバイス秘密鍵と呼ばれる)を使用して、応答に暗号署名するように命令する。
【0118】
ステップ18~20において、P2Pインタフェース142は、セキュアデータストア144からブリッジデバイス秘密鍵141を検索し、ブリッジデバイス秘密鍵141を使用して、ステップ17で受信された応答に暗号署名し、次に、署名済み証明応答としての少なくとも署名が、セキュアチャネルを介して、P2Pインタフェース142からVNCサーバアプリケーション124に送信される。ステップ20で送信される署名済み証明応答は、ブリッジデバイス秘密鍵141を使用して生成された署名のみを含むことができ、或いはブリッジデバイス秘密鍵141を使用して生成された署名と投影デバイス証明書チェーン143との両方を含むことができる。
【0119】
ステップ21において、VNCサーバアプリケーション124は、ステップ12で受信した認証要求に対する応答として、ブリッジデバイス14を介してVNCビューワアプリケーション102に認証応答を伝送する。ステップ21でVNCビューワアプリケーション102に送信される認証応答はステップ20で受信された署名と投影デバイス証明書チェーン143の両方を含む。VNCビューワアプリケーション102は、投影信頼ルート証明書105を使用して投影デバイス証明書チェーン143を検証する。したがって、VNCビューワアプリケーション102は、ブリッジデバイス14とユーザ空間のVNCサーバアプリケーション124との組み合わせを、投影技術のためのシステムレベルサポートを組み込んだ通常のスマートデバイスとみなす。
【0120】
また、
図6dには、ブリッジデバイスがコンピューティングデバイス10上のUSBポートにプラグインするように構成されるシナリオにおいて、
図6aのステップ3の後に実施される「投影トランスポート接続確立」フェーズが示されている。当業者に知られているように、USB周辺デバイスがコンピューティングデバイス上のUSBポートにプラグインされると、コンピューティングデバイスは周辺デバイスを自動検出し、自動設定する。投影トランスポート接続確立フェーズはブリッジデバイス14上のUSB投影トランスポート機能を設定し、作動させ、ブリッジデバイスとコンピューティングデバイス10との間のUSBインタフェース上で遠隔制御セッションデータを交換することができるようにする。
【0121】
再び
図6aを参照すると、投影セッションシーケンスは、次に投影フェーズ608に進み、該フェーズでは、ステップ15において、VNCビューワアプリケーション102は、VNCサーバアプリケーション124がモバイルコンピューティングデバイス12のディスプレイ上に表示されたユーザアプリケーション122のグラフィカルユーザインタフェースをVNCビューワアプリケーション102に投影する要求を伝送する。ステップ15において、VNCビューワアプリケーション102は、ブリッジデバイス14を介して、VNCサーバアプリケーション124に要求を伝送する。
【0122】
ステップ16において、VNCサーバアプリケーション124は、ユーザアプリケーション122のグラフィカルユーザインタフェースの画像データをキャプチャし、キャプチャされた画像データをブリッジデバイス14を介してVNCビューワアプリケーション102に送信し、その結果、VNCビューワアプリケーション102は、投影されたアプリケーション104をコンピューティングデバイス10のディスプレイ上に表示する。
【0123】
ステップ17によって示されるように、ユーザはコンピューティングデバイス10上の入力機構を使用して、例えば、コンピューティングデバイス10上の物理ボタンを押すことによって、コンピューティングデバイス10上の回転ボタンを回転させることによって、或いは(コンピューティングデバイス10のディスプレイがタッチ可能である場合)コンピューティングデバイス10のディスプレイ上でタッチスクリーン選択を行うことによって、VNCビューワアプリケーション102を介して投影アプリケーション104を操作することができる。遠隔制御セッション中、VNCビューワアプリケーション102はユーザ入力イベントをVNCサーバアプリケーション124に送信し、応答において、ユーザ入力イベントによって惹起されたユーザアプリケーション122のグラフィカルユーザインタフェースへの変更を反映する画像データを受信するように構成される。
【0124】
投影フェーズ608の間、モバイルコンピューティングデバイス12の組み込み能力とは独立して、リモートコンピューティングデバイス10とモバイルコンピューティングデバイス12との間の関連する遠隔制御セッションデータのすべてを透過的にブリッジする。本発明の実施形態によれば、VNCサーバアプリケーション124は、システムレベルの依存性なしに投影プロトコルを実施することができる。
【0125】
図6aに示すように、遠隔制御セッションはユーザがVNCサーバアプリケーション124にユーザの入力を提供することによって終了することができ(ステップ18)、VNCサーバアプリケーション124は、遠隔制御セッションの終了をVNCビューワアプリケーション102に通信し(ステップ19)、投影セッション確立フェーズ604で確立された通信トンネリングを終了するように構成される(ステップ22)。
【0126】
図6aに示すように、遠隔制御セッションはユーザがVNCビューワアプリケーション102にユーザの入力を提供することによって終了することができ(ステップ20)、VNCビューワアプリケーション102は、VNCサーバアプリケーション124に遠隔制御セッションの終了を通信するように構成され(ステップ21)、応答において、VNCサーバアプリケーション124は、投影セッション確立フェーズ604で確立された通信トンネリングを終了するように構成される(ステップ22)。
【0127】
図6aに示すように、モバイルコンピューティングデバイス12上で実行されているVNCサーバアプリケーション124を終了(すなわち、シャットダウン)するためのユーザの入力の受信に応答して、VNCサーバアプリケーション124はブリッジデバイス14とのセキュア通信チャネルを終了するように構成される。
【0128】
上記から、ブリッジデバイス14を使用することにより、以下のような分野におけるターゲットスマートデバイス投影技術の向上が可能になることが理解されるであろう。
【0129】
・VNCサーバアプリケーション124で利用可能な伝送チャネルの数を投影技術に透過的に拡大することによる(すなわち、低帯域幅トラフィックにはBluetooth(登録商標) Low Energyを使用し、高帯域幅トラフィックにはWi-Fi(登録商標)を使用することによる)スマートデバイスの電力管理。
【0130】
・VNCサーバアプリケーション124自身の内部のデータの処理を制限することにより、専用のシステムコンポーネントと相互作用する必要の無いプライバシ。
【0131】
・スマートデバイス上のユーザ空間の外側にあるプロトコル固有のセキュリティ要素を、別個の異なるモジュールの内側に分離することによる不当変更(Tampering)。
【0132】
・オリジナルの投影技術の暗号化能力とは独立して、無線通信全体を完全に暗号化することを可能にすることによるセキュリティ。
【0133】
上記の利点の全ては、オリジナルの投影技術への適合性を変更することなく達成される。
【0134】
本願ではMirrorLink車載アプリケーション投影技術について説明したが、これは車載アプリケーション投影技術の一実施例に過ぎず、VNCサーバアプリケーション124は、Android(登録商標) Auto Projection、CarPlay(登録商標) 、Miracastなどの任意の既知の車載アプリケーション投影技術に従って動作するように構成することができる。すなわち、サーバアプリケーション124およびビューワアプリケーション102は、VNCプロトコルに従って動作する必要はなく、これは単なる一実施例に過ぎない。したがって、VNCサーバアプリケーション124は、より一般的には、投影サーバアプリケーションと見なすことができ、VNCビューワアプリケーション102は、より一般的には、投影ビューワアプリケーションと見なすことができる。
【0135】
上述した実施形態では、スタンドアローンブリッジデバイス14はブリッジモジュール114を備え、代替の実施形態ではコンピューティングデバイス10はブリッジモジュール114を備える。すなわち、ブリッジモジュール114は、コンピューティングデバイス10に統合される。
【0136】
本発明は好ましい実施形態に関して特に示され、説明されてきたが、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく、形態および詳細における様々な変更がなされ得ることが、当業者には理解されるであろう。
【図面の簡単な説明】
【0137】
【
図1】公知の車載アプリケーション投影技術の実施例の概略ブロック図である。
【
図2】本発明の実施形態による車載アプリケーション投影技術の実施例の概略ブロック図である。
【
図3】本発明の実施形態による車載アプリケーション投影技術の実施例のより詳細な概略ブロック図である。
【
図5】様々なシステム構成要素間の証明書および鍵の交換を示す。
【
図6a-1】投影セッションシーケンスの概要を示す。
【
図6a-2】投影セッションシーケンスの概要を示す。
【
図6b】投影セッションシーケンスにおける相互認証シーケンスを示す。
【
図6c】投影セッションシーケンスにおける投影セッション確立シーケンスを示す。
【
図6d-1】投影セッションシーケンスにおける投影認証シーケンスを示す。
【
図6d-2】投影セッションシーケンスにおける投影認証シーケンスを示す。