(57)【要約】      （修正有）【課題】ウェブブラウザを介したネイティブアプリケーションとウェブアプリケーション間の通信において、非正規のアクセスを防止する方法、通信システムおよび通信プログラムを提供する。【解決手段】ネイティブアプリケーションとウェブアプリケーションは、任意の方法によって共通鍵を共有し、以降のウェブブラウザを介したネイティブアプリケーションとウェブアプリケーション間の通信を、共有した共通鍵によって暗号化し、保護する。【選択図】図１
2019071598.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザと同じ端末上で実行されるネイティブアプリケーションに対するウェブアプリケーションからのアクセスについて、非正規のアクセスによって、通信内容が改竄傍受されることを防止する方法であって、ウェブブラウザが実行可能コードを含むコンテンツを受信することと、ウェブブラウザが実行可能コードを実行することと、ウェブブラウザがネイティブアプリケーションと通信を行うことと、ウェブブラウザがウェブアプリケーションと通信を行うことと、ネイティブアプリケーションとウェブアプリケーションが共通鍵を共有することと、ネイティブアプリケーションが電文を暗号化して送信することと、ウェブアプリケーションが電文を暗号化して送信することとを含む通信システムおよび通信プログラム。
【請求項２】
前記実行可能コードを含むコンテンツを受信することは、ＨＴＭＬコンテンツ発行部から前記実行可能コードを含むＨＴＭＬコンテンツを前記ウェブブラウザに送信することを含む、請求項１に記載の通信システムおよび通信プログラム。
【請求項３】
前記ネイティブアプリケーションが電文を暗号化して送信することは、
前記ネイティブアプリケーションが前記共通鍵を使用して電文を暗号化することと、暗号化済み電文を前記実行可能コードを介して前記ウェブアプリケーションに送信することと、前記ウェブアプリケーションが前記共通鍵を使用して電文を復号化することとを含む、請求項１に記載の通信システムおよび通信プログラム。
【請求項４】
前記ウェブアプリケーションが電文を暗号化して送信することは、
前記ウェブアプリケーションが前記共通鍵を使用して電文を暗号化することと、暗号化済み電文を前記実行可能コードを介して前記ネイティブアプリケーションに送信することと、前記ネイティブアプリケーションが前記共通鍵を使用して電文を復号化することとを含む、請求項１に記載の通信システムおよび通信プログラム。
【請求項５】
前記実行可能コードを実行することは、前記ネイティブアプリケーションと前記ウェブブラウザとの間で通信をすることと、前記ウェブアプリケーションと前記ウェブブラウザとの間で通信をすることとを含む、請求項１、または請求項２、または請求項３、または請求項４、のいずれかに記載の通信システムおよび通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】本発明はウェブアプリケーションとネイティブアプリケーションがウェブブラウザを介して安全に通信する方法、通信システムおよび通信プログラムに関するものである。
【背景技術】
【０００２】ウェブアプリケーションの需要が高まる中で、ウェブアプリケーション上で高度な処理を行う事が求められている。ウェブアプリケーション上で高度な処理を行う方法として、ウェブアプリケーションにまだ広く利用されていない機能の一つは、実行可能コード（すなわち、ＪａｖａＳｃｒｉｐｔコード）が、ウェブブラウザが動作している同じ端末上で動作するネイティブアプリケーションにアクセスできるようにする機能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６−５１７５７１
【非特許文献】
【０００４】
【非特許文献１】ＷｅｂＳｏｃｋｅｔが切り開くネイティブアプリとＷｅｂアプリの融合、ネイティブアプリのＧＵＩツールキットとしてのＨＴＭＬ  ｈｔｔｐ：／／ｄ．ｈａｔｅｎａ．ｎｅ．ｊｐ／ｅｅｌ３／２０１２０９０１／１３４６４３８６０６
【発明の概要】
【発明が解決しようとする課題】
【０００５】ネイティブアプリケーションとウェブアプリケーションがウェブブラウザを介して通信する場合、ウェブブラウザとウェブアプリケーション間、またはウェブブラウザとネイティブアプリケーション間の通信はＳＳＬ通信により暗号化が可能であったが、ウェブブラウザ上に展開されるＨＴＭＬコンテンツの情報はユーザーが容易に改竄できるため、通信の改竄傍受が可能であった。
本発明の目的は、ウェブアプリケーションと、ウェブブラウザと同端末上で実行されるネイティブアプリケーションの通信において、非正規のウェブアプリケーションとの通信や、第三者のなりすましによる通信の改竄傍受から、通信内容を保護し、また不正な通信による命令を排除する方法を提供することである。
【課題を解決するための手段】
【０００６】ウェブブラウザと同じ端末上で実行されるネイティブアプリケーションに対するウェブアプリケーションからのアクセスについて、ウェブブラウザが実行可能コードを含むコンテンツを受信することと、ウェブブラウザが実行可能コードを実行することと、ウェブブラウザがネイティブアプリケーションと通信を行うことと、ウェブブラウザがウェブアプリケーションと通信を行うことと、ネイティブアプリケーションとウェブアプリケーションが共通鍵を共有することと、ネイティブアプリケーションが電文を暗号化して送信することと、ウェブアプリケーションが電文を暗号化して送信することで、通信内容を保護することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態を示すブロック図
【図２】ネイティブアプリケーションからウェブアプリケーションに共通鍵を送信する場合の実施形態を示すブロック図
【図３】ウェブアプリケーションからネイティブアプリケーションに共通鍵を送信する場合の実施形態を示すブロック図
【図４】ウェブアプリケーションとネイティブアプリケーションにパスワードを設定してパスワードから共通鍵を生成する場合の実施形態を示すブロック図
【図５】ネイティブアプリケーションからウェブアプリケーションに共通鍵を送信する場合の共通鍵の取得方法を示すフローチャート
【図６】ウェブアプリケーションからネイティブアプリケーションに共通鍵を送信する場合の共通鍵の取得方法を示すフローチャート
【図７】ネイティブアプリケーションからウェブアプリケーションに電文を送信するためのフローチャート
【図８】ウェブアプリケーションからネイティブアプリケーションに電文を送信するためのフローチャート
【発明を実施するための形態】
【０００８】ウェブブラウザと同端末上で実行されるネイティブアプリケーションとウェブアプリケーションの通信において、非正規のアクセスによって、通信内容を改竄傍受されることを防止する方法は、ネイティブアプリケーションが電文の暗号化または復号化を可能にする事を含み、ネイティブアプリケーションがウェブブラウザと通信するウェブサーバーを組み込み、ウェブサーバーが電文の暗号化または復号化を可能にする事を含み、その結果、ネイティブアプリケーションとウェブアプリケーションの通信において、通信内容の保護、または不正な通信による命令を排除することが出来る。
たとえば、ウェブアプリケーション提供者が、提供するウェブアプリケーションに対応したネイティブアプリケーションを発行し、ウェブアプリケーションのユーザーがネイティブアプリケーションをインストール済みの場合は、ウェブブラウザとウェブアプリケーションが通信を行い、ウェブブラウザとネイティブアプリケーションが通信を行うことで、ウェブアプリケーションとネイティブアプリケーションの相互通信が可能となる。
または、第三者が発行するネイティブアプリケーションの通信機能に、ウェブアプリケーションが対応することで、ウェブアプリケーションとネイティブアプリケーションの相互通信が可能となる。
さらにウェブアプリケーションとネイティブアプリケーションの双方が同一の共通鍵を共有し、共有した共通鍵によって通信内容を暗号化または復号化することによって、通信の内容を保護することが出来る。
【０００９】図１は、ネイティブアプリケーションとウェブアプリケーションの通信において、安全な通信を提供するためのシステムの実施形態を例示する機能ブロック図である。クライアント端末１００は、ワールドワイドウェブにアクセスすることが可能で、かつネットワーク１５０を通じてウェブサーバー１４１に接続されうる任意のコンピュータデバイスでありうる。ネットワーク１５０は、ＨＴＴＰ、またはＨＴＴＰＳ、またはウェブソケット、またはその他いかなる通信プロトコルでもありうる。
【００１０】ウェブアプリケーション１３１は、１つ以上のウェブページ１０３の形のコンテンツを保持し、配信することができる。ＨＴＭＬコンテンツ１０３はＨＴＭＬコンテンツを含む様々なウェブベースのコンテンツを含むことができる。ネットワーク１５０は、任意の広域ネットワークまたはローカルエリアネットワークでありうるし、また、ワールドワイドウェブでありうる。
【００１１】クライアント端末１００は、図１において、ワールドワイドウェブにアクセス可能な簡略化されたデバイスとして示されている。当業者は、クライアント端末１００が、簡略化のために図１では省略されている多くのその他の構成要素を有していることを理解する。クライアント端末１００は、ネイティブアプリケーション１０１とウェブブラウザ１０２を含む。
ネイティブアプリケーション１０１は、ウェブアプリケーション１３１または第三者のサーバーからクライアント端末１００にダウンロードされ、実行される。ネイティブアプリケーション１０１は、ひとつまたは複数の、任意のモジュールまたはアプリケーションでありうる。
【００１２】組込ウェブサーバー１１３は、任意のポートでネットワーク１０４の接続を待ち受けすることができる。
組込ウェブサーバー１１３は任意の制御フローに基づき、電文復号化部１１１、または電文暗号化部１１２のいづれかと通信し、任意の情報をネットワーク１０４を通じてネイティブアプリケーション通信部１２１に送信することができる。
また、組込ウェブサーバー１１３は任意の制御フローに基づき、ネイティブアプリケーション通信部１２１と、任意の情報を相互に通信することができる。
【００１３】共通鍵１１４は、ＡＥＳ、またはＤＥＳ、またはＰＢＥを共通鍵暗号化方式として用いて作成された共通鍵データである。
【００１４】共通鍵１１４と共通鍵１４５は、任意の方法によって共有された、同一の共通鍵データである。
【００１５】クライアント端末１００とウェブアプリケーション１３１が任意の方法で共通鍵データを交換し、共通鍵１１４と共通鍵１４５が設置されると、以降はネイティブアプリケーション１０１とウェブアプリケーション１３１の間で、共通鍵暗号化方式による暗号化通信が可能となる。
【００１６】電文暗号化部１１２は、組込ウェブサーバー１１３から送信された電文を、共通鍵１１４を使用して、前記共通鍵暗号化方式を用いて暗号化し、組込ウェブサーバー１１３に送信することができる。
暗号化した電文は、ネットワーク１０４を通じてネイティブアプリケーション通信部１２１に送信し、ネイティブアプリケーション通信部１２１からウェブアプリケーション通信部１２２に送信し、ウェブアプリケーション通信部１２２からネットワーク１５０を通じて、ウェブサーバー１４１に送信する。
【００１７】電文復号化部１１１は、組込ウェブサーバー１１３から送信された電文を、共通鍵１１４を使用して、前記共通鍵暗号化方式を用いて復号化し、組込ウェブサーバー１１３に送信することができる。
【００１８】ネットワーク１０４は、ネイティブアプリケーション通信部１２１をクライアントとしたＨＴＴＰ、またはＨＴＴＰＳ、またはウェブソケット、またはＷｅｂＲＴＣの通信チャンネルでありうる。
【００１９】組込ウェブサーバー１１３は、ネットワーク１０４がＨＴＴＰまたはＨＴＴＰＳである場合、Ｃｒｏｓｓ−Ｏｒｉｇｉｎ  Ｒｅｓｏｕｒｃｅ  Ｓｈａｒｉｎｇを実装して他ドメインとの通信を許可する。
【００２０】ウェブブラウザ１０２は、ＨＴＭＬ５準拠のウェブサーバとのウェブソケット接続が可能であるＨＴＭＬ５準拠ウェブブラウザである。
【００２１】ＨＴＭＬコンテンツ１０３は、ＨＴＭＬまたはＪａｖａＳｃｒｉｐｔコードを含みうる。
また、ＪａｖａＳｃｒｉｐｔコードはネイティブアプリケーション通信部１２１とウェブアプリケーション通信部１２２を構成する。
【００２２】ＨＴＭＬコンテンツ１０３は、ＨＴＭＬコンテンツ発行部１４２からネットワーク１５１を通じてダウンロードされる。
その際の通信方法はＨＴＴＰ、またはＨＴＴＰＳである。
【００２３】ＨＴＭＬコンテンツ１０３は、ウェブブラウザ１０２によって表示される際に、ネイティブアプリケーション通信部１２１とウェブアプリケーション通信部１２２を実行可能な状態に構成する。
【００２４】ネイティブアプリケーション通信部１２１は、任意の制御フローに基づきネットワーク１０４の接続を組込ウェブサーバー１１３に要求する。
【００２５】ネイティブアプリケーション通信部１２１は、ネットワーク１０４を通じて、組込ウェブサーバー１１３と任意の情報を相互に通信することができる。
その際の通信フォーマットは、ＪＳＯＮ、またはＸＭＬ、またはバイナリデータ、または任意の通信フォーマットでありうる。
【００２６】ネイティブアプリケーション通信部１２１は、ウェブアプリケーション通信部１２２と任意の情報を相互に通信することが出来る。
その際の通信方法は実行可能コード上での情報の交換、またはＣＯＯＫＩＥ、またはＨＴＭＬ５準拠のデータストレージ、またはネイティブアプリケーション通信部１２１とウェブアプリケーション通信部１２２が相互にアクセス可能な任意の情報交換手段でありうる。
その際の通信フォーマットは、ＪＳＯＮ、またはＸＭＬ、またはバイナリデータ、または任意の通信フォーマットでありうる。
【００２７】ウェブアプリケーション通信部１２２は、ネットワーク１５０を通じてウェブサーバー１４１と通信することができる。
ウェブアプリケーション通信部１２２は、任意の制御フローに基づき、ネットワーク１５０を通じて、ＡＪＡＸ、またはＩＦＲＡＭＥ、または任意のＨＴＭＬ５準拠の通信方法を用いて、ウェブサーバー１４１と任意の情報を相互に通信することができる。
その際の通信フォーマットは、ＪＳＯＮ、またはＸＭＬ、またはバイナリデータ、または任意の通信フォーマットでありうる。
【００２８】ネットワーク１５０は、インターネット、またはイントラネット、または任意のネットワークでありうる。
【００２９】ネットワーク１５１は、インターネット、またはイントラネット、または任意のネットワークでありうる。
【００３０】ウェブアプリケーション１３１は、任意のコンピューターデバイス上に構築された、任意のプログラムである。
ウェブアプリケーション１３１はひとつまたは複数の任意のモジュールまたはアプリケーションで構成されうる。
【００３１】ウェブサーバー１４１は、ＡｐａｃｈｅまたはＮｇｉｎｘまたはＩＩＳまたは任意のウェブサーバープログラム上で動作する、任意のプログラムである。
【００３２】ＨＴＭＬコンテンツ発行部１４２は、ＨＴＴＰ、またはＨＴＴＰＳによるウェブブラウザ１０２の要求に基づき、ネットワーク１５１を通じて、ウェブブラウザ１０２にＨＴＭＬコンテンツ１０３を送信する。
ＨＴＭＬコンテンツ発行部１４２は、ウェブブラウザ１０２によりアクセス可能な、ＵＲＬまたは任意のアドレスとして表現される。
【００３３】ウェブサーバー１４１は、ＨＴＴＰ、またはＨＴＴＰＳ、またはウェブソケット、またはＷｅｂＲＴＣ、または任意のプロトコルにより、任意のポートでウェブアプリケーション通信部１２２の接続を待ち受けすることができる。
【００３４】ウェブサーバー１４１は任意の制御フローに基づき、電文復号化部１４３、電文暗号化部１４４、のいづれかと通信し、任意の情報をネットワーク１５０を通じてウェブアプリケーション通信部１２２に送信することができる。
【００３５】電文暗号化部１４４は、ウェブサーバー１４１から送信された電文を、共通鍵１４５を使用して、前記共通鍵暗号化方式を用いて暗号化し、ウェブサーバー１４１に送信することができる。
暗号化した電文は、ネットワーク１５０を通じて、ウェブアプリケーション通信部１２２に送信し、ウェブアプリケーション通信部１２２からネイティブアプリケーション通信部１２１に送信し、ネイティブアプリケーション通信部１２１からネットワーク１０４を通じて、組込ウェブサーバー１１３に送信する。
【００３６】電文復号化部１４３は、ウェブサーバー１４１から送信された電文を、共通鍵１４５を使用して、前記共通鍵暗号化方式を用いて復号化し、ウェブサーバー１４１に送信することができる。
【００３７】図２は、ネイティブアプリケーション１０１からウェブアプリケーション１３１に、共通鍵を送信する場合の実施形態を説明するブロック図である。
【００３８】共通鍵発行部２１１は、前記共通鍵暗号化方式を用いて共通鍵１１４を発行することができる。
【００３９】公開鍵２１３は、ＤＳＡ暗号またはＲＳＡ暗号を用いて作成された１０２４〜４０９６ビットの長さの公開鍵データでありうる。
また、公開鍵２１３は、秘密鍵２２２と対応したものであり、秘密鍵２２２の発行時に公開鍵２１３が共に発行される。
また、公開鍵２１３は、任意のタイミングでネイティブアプリケーション１０１に設定される。
また、公開鍵２１３は、共通鍵暗号化部２１２がアクセス可能な任意のストレージに格納される。
【００４０】共通鍵暗号化部２１２は、公開鍵２１３を使用して、共通鍵１１４を暗号化する。
【００４１】共通鍵暗号化部２１２は、暗号化した共通鍵を、組込ウェブサーバー１１３を通じ、ネットワーク１０４を通じて、ネイティブアプリケーション通信部１２１に送信する。
【００４２】ネイティブアプリケーション通信部１２１は、暗号化した共通鍵を、ウェブアプリケーション通信部１２２に送信する。
【００４３】ウェブアプリケーション通信部１２２は、暗号化した共通鍵を、ネットワーク１５０を通じ、ウェブサーバー１４１に送信する。
【００４４】ウェブサーバー１４１は、暗号化した共通鍵を、共通鍵復号化部２２１に送信する。
【００４５】共通鍵復号化部２２１は、暗号化した共通鍵を、秘密鍵２２２を使用して復号化し、共通鍵１４５として設置する。
【００４６】図３は、ウェブアプリケーション１３１からネイティブアプリケーション１０１に、共通鍵を送信する場合の実施形態を説明するブロック図である。
【００４７】共通鍵発行部３２２は、前記共通鍵暗号化方式を用いて共通鍵１４５を発行することができる。
【００４８】公開鍵３２３は、ＤＳＡ暗号またはＲＳＡ暗号を用いて作成された１０２４〜４０９６ビットの長さの公開鍵データでありうる。
また、公開鍵３２３は、秘密鍵３１２と対応したものであり、秘密鍵３１２の発行時に公開鍵３２３が共に発行される。
また、公開鍵３２３は、任意のタイミングでウェブアプリケーション１３１に設定される。
また、公開鍵３２３は、共通鍵暗号化部３２１がアクセス可能な任意のストレージに格納される。
【００４９】共通鍵暗号化部３２１は、公開鍵３２３を使用して、共通鍵１４５を暗号化する。
【００５０】共通鍵暗号化部３２１は、暗号化した共通鍵を、ウェブサーバー１４１を通じ、ネットワーク１５０を通じて、ウェブアプリケーション通信部１２２に送信する。
【００５１】ウェブアプリケーション通信部１２２は、暗号化した共通鍵を、ネイティブアプリケーション通信部１２１に送信する。
【００５２】ネイティブアプリケーション通信部１２１は、暗号化した共通鍵を、ネットワーク１０４を通じ、組込ウェブサーバー１１３に送信する。
【００５３】組込ウェブサーバー１１３は、暗号化した共通鍵を、共通鍵復号化部３１１に送信する。
【００５４】共通鍵復号化部３１１は、暗号化した共通鍵を、秘密鍵３１２を使用して復号化し、共通鍵１１４として設置する。
【００５５】図３は、ネイティブアプリケーション１０１とウェブアプリケーション１３１へ、パスワードを使用して共通鍵を設定する場合の実施形態を説明するブロック図である。
【００５６】ユーザー４０１は、ネイティブアプリケーション１０１およびウェブアプリケーション１３１の利用者である。
【００５７】パスワード設定４０２は、ユーザー４０１からパスワードを受け取る。
ユーザー４０１からパスワードを受け取る方法は、ネイティブアプリケーション１０１に備え付けられた設定ダイアログからの入力、またはネイティブアプリケーション１０１と関連付けられた設定ファイル、または任意の設定方法でありうる。
【００５８】パスワード設定４０２は、ユーザー４０１から受け取ったパスワードを使用して、ＰＢＥにより共通鍵１１４を生成して、ネイティブアプリケーション１０１に設置する。
【００５９】パスワード設定４０３は、ユーザー４０１からパスワードを受け取る。
ユーザー４０１からパスワードを受け取る方法は、ウェブアプリケーション１３１に備え付けられた設定フォームからの入力、またはウェブアプリケーション１３１と関連付けられた設定ファイル、または任意の設定方法でありうる。
【００６０】パスワード設定４０３は、ユーザー４０１から受け取ったパスワードを使用して、ＰＢＥにより共通鍵１４５を生成して、ウェブアプリケーション１３１に設置する。
【００６１】図４は、ネイティブアプリケーション１０１からウェブアプリケーション１３１へ、共通鍵を送信する場合の実施形態を説明するフローチャートである。
【００６２】ウェブブラウザ１０２とネイティブアプリケーションの１０１の間で接続が確立された後、任意のタイミングで共通鍵発行５０１が実行され、共通鍵１１４が発行される。
【００６３】共通鍵１１４は、ネイティブアプリケーション１０１からアクセス可能なストレージに保持される。
共通鍵１１４が発行された後、公開鍵２１３を使用して共通鍵暗号化５０２が実行される。
【００６４】共通鍵暗号化５０２が実行された後、暗号化済共通鍵返却５０３によって、ウェブブラウザ１０２に暗号化済共通鍵が返却される。
【００６５】次に、暗号化済共通鍵返却５０４によって、ウェブアプリケーション１３１に暗号化済共通鍵が返却される。
【００６６】ウェブアプリケーション１３１が暗号化済共通鍵を受け取った後、秘密鍵２２２を使用して、共通鍵復号化５０５が実行され、復号化された共通鍵１４５が取得される。
共通鍵１４５は、ウェブアプリケーション１３１からアクセス可能なストレージに保持される。
【００６７】図５は、ウェブアプリケーション１３１からネイティブアプリケーション１０１へ、共通鍵を送信する場合の実施形態を説明するフローチャートである。
【００６８】ウェブブラウザ１０２とウェブアプリケーション１３１の間で接続が確立された後、任意のタイミングで共通鍵発行６０１が実行され、共通鍵１４５が発行される。
【００６９】共通鍵１４５は、ウェブアプリケーション１３１からアクセス可能なストレージに保持される。
共通鍵１４５が発行された後、公開鍵３２３を使用して共通鍵暗号化６０２が実行される。
【００７０】共通鍵暗号化６０２が実行された後、暗号化済共通鍵返却６０３によって、ウェブブラウザ１０２に暗号化済共通鍵が返却される。
【００７１】次に、暗号化済共通鍵返却６０４によって、ネイティブアプリケーション１０１に暗号化済共通鍵が返却される。
【００７２】ネイティブアプリケーション１０１が暗号化済共通鍵を受け取った後、秘密鍵３１２を使用して、共通鍵復号化６０５が実行され、復号化された共通鍵１１４が取得される。
共通鍵１１４は、ネイティブアプリケーション１０１からアクセス可能なストレージに保持される。
【００７３】図６は、ネイティブアプリケーション１０１からウェブアプリケーション１３１に、暗号化電文を送信するための実施形態を説明するフローチャートである。
【００７４】処理開始７０１は、ネイティブアプリケーション１０１からウェブアプリケーション１３１に電文を送信する必要があるタイミングで、実行される。
【００７５】電文発行７０２では、任意の制御フローに基づき、送信が必要な任意の情報の電文を構築する。
電文フォーマットは、ＪＳＯＮ、またはＸＭＬ、またはバイナリ、または任意のフォーマットでありうる。
【００７６】電文暗号化７０３では、共通鍵１１４を使用して、電文を暗号化する。
暗号化の方法は前記共通鍵暗号化方式でありうる。
【００７７】暗号化済電文送信７０４では、ネイティブアプリケーション１０１からウェブブラウザ１０２に暗号化済電文を送信する。
【００７８】暗号化済電文送信７０５では、ウェブブラウザ１０２からウェブアプリケーション１３１に暗号化済電文を送信する。
【００７９】電文復号化７０６では、共通鍵１４５を使用して、電文を復号化する。
【００８０】電文受信７０７では、電文を任意のプログラムに送信する。
【００８１】図７は、ウェブアプリケーション１３１からネイティブアプリケーション１０１に、暗号化電文を送信するための実施形態を説明するフローチャートである。
【００８２】処理開始８０１は、ウェブアプリケーション１３１からネイティブアプリケーション１０１に電文を送信する必要があるタイミングで、実行される。
【００８３】電文発行８０２では、任意の制御フローに基づき、送信が必要な任意の情報を任意の電文フォーマットで構築する。
電文フォーマットは、ＪＳＯＮ、またはＸＭＬ、またはバイナリ、または任意のフォーマットでありうる。
【００８４】電文暗号化８０３では、共通鍵１４５を使用して、電文を暗号化する。
暗号化の方法は前記共通鍵暗号化方式でありうる。
【００８５】暗号化済電文送信８０４では、ウェブアプリケーション１３１からウェブブラウザ１０２に暗号化済電文を送信する。
【００８６】暗号化済電文送信８０５では、ウェブブラウザ１０２からネイティブアプリケーション１０１に暗号化済電文を送信する。
【００８７】電文復号化８０６では、共通鍵１１４を使用して、電文を復号化する。
【００８８】電文受信８０７では、電文を任意のプログラムに送信する。
【図１】
2019071598.tif 000003
【図２】
2019071598.tif 000004
【図３】
2019071598.tif 000005
【図４】
2019071598.tif 000006
【図５】
2019071598.tif 000007
【図６】
2019071598.tif 000008
【図７】
2019071598.tif 000009
【図８】
2019071598.tif 000010
【手続補正書】
【提出日】平成30年7月25日(2018.7.25)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウェブブラウザと同じクライアント端末上で実行されるネイティブアプリケーションが、ウェブブラウザを介して、コンピューターデバイス上で実行されるウェブアプリケーションと相互に行う通信について、非正規のアクセスによって、通信内容が改竄傍受されることを防止する通信システムであって、
クライアント端末がＣＰＵおよびメモリおよびネットワークインターフェースを備え、
前記クライアント端末はウェブブラウザ部と、前記ウェブブラウザ部と同じ端末上で実行されるネイティブアプリケーション部を備え、
コンピューターデバイスがＣＰＵおよびメモリおよびネットワークインターフェースを備え、
前記コンピューターデバイスはウェブアプリケーション部を備え、
前記クライアント端末が備えるネットワークインターフェースと前記コンピューターデバイスが備えるネットワークインターフェースが、ネットワークにより接続され、
前記ウェブブラウザ部は実行可能コードを含むコンテンツを受信することと、
前記ウェブブラウザ部が前記ウェブブラウザ部上で前記実行可能コードを実行することと、
前記ネイティブアプリケーション部が所定のポートで前記ウェブブラウザ部からの接続を待ち受けし、前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記ウェブブラウザ部と前記ネイティブアプリケーション部の通信を確立することと、
前記ウェブアプリケーション部が所定のポートで前記ウェブブラウザ部からの接続を待ち受けし、前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記クライアント端末および前記コンピューターデバイスのネットワークインターフェースを使用して、前記ウェブブラウザ部と前記ウェブアプリケーション部の通信を確立することと、
前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記ネイティブアプリケーション部と前記ウェブアプリケーション部の情報を交換し、前記ウェブブラウザ部経由で前記ウェブアプリケーション部から前記ネイティブアプリケーション部への通信、または、その逆の通信を可能に構成することと、
前記ネイティブアプリケーション部と前記ウェブアプリケーション部が共通鍵を共有し、前記クライアント端末および前記コンピューターデバイスのメモリに保存することと、
前記ネイティブアプリケーション部が共有された前記共通鍵を使用し、電文を暗号化し、暗号化済電文を前記ウェブブラウザ部に送信し、前記ウェブブラウザ部は前記ネイティブアプリケーション部から受信した前記暗号化済電文を、前記ウェブアプリケーション部に送信し、前記ウェブアプリケーション部が前記コンピューターデバイス上のメモリに保存された前記共通鍵を使用して、前記ウェブアプリケーション部が前記ウェブブラウザ部から受信した前記暗号化済電文を復号化することと、
前記ウェブアプリケーション部が共有された前記共通鍵を使用し、電文を暗号化し、暗号化済電文を前記ウェブブラウザ部に送信し、前記ウェブブラウザ部は前記ウェブアプリケーション部から受信した前記暗号化済電文を、前記ネイティブアプリケーション部に送信し、前記ネイティブアプリケーション部が前記クライアント端末上のメモリに保存された前記共通鍵を使用して、前記ネイティブアプリケーション部が前記ウェブブラウザ部から受信した前記暗号化済電文を復号化することを特徴とする、通信システム。
【請求項２】
前記ウェブブラウザ部が実行可能コードを含むコンテンツを受信することは、前記コンピューターデバイスがＨＴＭＬコンテンツ発行部を備え、前記クライアント端末のネットワークインターフェースと、前記コンピューターデバイスのネットワークインターフェースを使用し、前記ＨＴＭＬコンテンツ発行部から、前記ウェブブラウザ部が備える機能によって構築可能な前記実行可能コードを含むＨＴＭＬコンテンツを、前記ウェブブラウザ部に送信し、前記ウェブブラウザ部が前記実行可能コードを含むＨＴＭＬコンテンツを構築し、前記ウェブブラウザ部に表示することを含む、請求項１に記載の通信システム。
【請求項３】
前記ウェブブラウザ部が、前記ウェブブラウザ部上で実行される前記実行可能コードによって、前記ネイティブアプリケーション部と前記ウェブアプリケーション部の情報を交換し、前記ウェブブラウザ部経由で前記ウェブアプリケーション部から前記ネイティブアプリケーション部への通信、または、その逆の通信を可能に構成することは、前記ネイティブアプリケーション部と前記ウェブブラウザ部との間で通信をすることと、前記クライアント端末のネットワークインターフェースおよび前記コンピューターデバイスのネットワークインターフェースを使用し、前記ウェブアプリケーション部と前記ウェブブラウザ部との間で通信をすることと、前記ウェブブラウザ部は前記ウェブアプリケーション部から受信した前記暗号化済電文の復号化を行わず、前記ネイティブアプリケーション部に送信する、または、その逆の通信を可能に構成することを含む、請求項１、または請求項２、のいずれかに記載の通信システム。