JP7397052B2 - 接続制御装置、接続制御方法、及びプログラム - Google Patents
接続制御装置、接続制御方法、及びプログラム Download PDFInfo
- Publication number
- JP7397052B2 JP7397052B2 JP2021209120A JP2021209120A JP7397052B2 JP 7397052 B2 JP7397052 B2 JP 7397052B2 JP 2021209120 A JP2021209120 A JP 2021209120A JP 2021209120 A JP2021209120 A JP 2021209120A JP 7397052 B2 JP7397052 B2 JP 7397052B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- client
- connection
- port number
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000012545 processing Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 16
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 31
- 230000004913 activation Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 235000014510 cooky Nutrition 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
同図に示される電子機器100としての機能は、ハードウェアとしての電子機器100が備えるCPU(Central Processing Unit)、GPU(Graphics Processing Unit)がプログラムを実行することにより実現される。
通信部101は、ネットワークNWを経由して通信を行う。
表示部102は、制御部104の制御に応じて画面を表示する。表示部102は、ハードウェアとして、例えば液晶ディスプレイ、OLED(Organic Light-Emitting Diode)ディスプレイ等のディスプレイデバイスを備えてよい。また、ディスプレイデバイスがタッチパネルとして構成されてもよい。
操作部103は、電子機器100が備える操作子や入力デバイス、電子機器100に接続される入力デバイス等を備えて構成され、ユーザが操作子や入力デバイスに対して行った操作を受け付ける。
第1アプリケーションは、OS(Operating System)上で動作するネイティブアプリケーションである。第1アプリケーション自体は、例えばウェブシステムを外部から利用するためのプログラムの呼出機能(以下、「ウェブシステム対応機能」とも記載する)を有さないものであってよい。ウェブシステムとは、例えばインターネット上のECサイト、オークションサイト、銀行口座管理サイト等のように、ネットワーク上で利用可能なサービスやシステムである。
本実施形態において、第1アプリケーションは、後述のようにしてPWA(Progressive Web Apps)としての第2アプリケーションと通信可能に接続される。PWAとしての第2アプリケーションは、ウェブシステム対応機能を有するアプリケーションである。
第1アプリケーションはHTTPに対応するサーバ(ローカルサーバ)として機能する。第2アプリケーションがクライアントとして第1アプリケーションと接続されることで、第1アプリケーションは、第2アプリケーションのウェブシステム対応機能を間接的に利用して所定の機能を提供することができる。
そこで、ネイティブアプリケーションである第1アプリケーションのアプリケーション画面にて第2アプリケーションがアクセスしたウェブコンテンツを表示すれば、第1アプリケーションのアプリケーション画面にて、ユーザに提供したい高度なUI(User Interface)等を提供することも容易に可能となる。
第1アプリケーション対応処理部141は、後述の図2、図3に示す第2アプリケーションとの接続の制御に関連して、ポート番号取得部1411、アクセス情報生成部1412、情報保存制御部1413、起動制御部1414、及び接続制御部1415を備える。
本実施形態において、アクセス情報生成部1412は、アクセス情報としてチケットを生成する。チケットは、第2アプリケーションが第1アプリケーションにアクセスする際に用いられる認証情報である。また、チケットは、ワンタイム認証に対応して1回限りの認証処理に有効な認証情報である。
接続制御部1415は、第1アプリケーションが有するローカルサーバ機能に対応して、クライアントとの接続に関する制御を実行する。接続制御部1415は、第2アプリケーションが接続用ポートを使用してアクセス(ログイン)を行ったことに応じて、認証処理を実行する。接続制御部1415は、認証処理にあたり、第2アプリケーションが起動に際してローカルストレージにアクセスして取得したチケットを認証情報として利用する。接続制御部1415は、認証処理により認証が成立すると、第1アプリケーションのローカルサーバと第2アプリケーションとの接続を確立させる。
第2アプリケーションは、例えばネットワークNW経由でウェブコンテンツCTへのアクセスが可能で、OSが提供するAPI(Application Programming Interface)の利用が不可なアプリケーションである。
ウェブコンテンツCTは、ウェブ(ネットワーク)上で提供されるコンテンツである。ウェブコンテンツCTは、ウェブサイト(ウェブページ)などであってよい。
また、PWAは、オフラインでの動作、プッシュ通知、全画面表示、デバイスのハードウェアへのアクセスが可能である。一方で、PWAは、UI(User Interface)の構成や他のネイティブアプリとの連携に制限がある。
第2アプリケーションのインストールには、電子機器100にインストールされているウェブブラウザが用いられる。
このような第1アプリケーションと第2アプリケーションとの接続に関しては、第1アプリケーションがサーバとなり、第2アプリケーション500がクライアントとなる。この場合において、クライアントとなる第2アプリケーションについては、例えば正当性が確認されなければ第1アプリケーションと接続できないようにするというようにセキュリティ性を有することが求められる。
図2の説明は、図中において示す手順1~手順12に従って行う。また、以下の説明にあたり、電子機器100は、第1アプリケーション及び第2アプリケーションに加えて、ウェブブラウザのアプリケーションがインストールされて動作可能とされている場合を例に挙げる。
また、同図の手順は、第1アプリケーションに対応する処理については、第1アプリケーション対応処理部141が実行し、第2アプリケーションに対応する処理については、第2アプリケーション対応処理部142が実行する。
本実施形態の第1アプリケーション200は、PWAとしての第2アプリケーションとの通信のためにローカルサーバ210を備える。ローカルサーバ210は、電子機器100内(ローカル)にてウェブサーバとして機能する。
当該手順1にて取得する接続用ポート番号は、第1アプリケーション200におけるローカルサーバ210に第2アプリケーションを接続させることに用いられる。
同一オリジンのURLとは、URLにおけるプロトコル(スキーム)、ドメイン(ホスト)、ポートの記述が同じURLである。ローカルストレージ400は、図1のブラウザ対応記憶部151が対応し、ウェブブラウザからのアクセスが可能であるが、ウェブブラウザ以外のアプリケーションからのアクセスは不可なように管理される記憶領域である。そのうえで、ローカルストレージ400は、URLのオリジンごとにアクセス可否が制御される。つまり、ローカルストレージ400は、ウェブブラウザとしてのアプリケーションによるアクセスに制限されたうえで、さらに特定の同一オリジンに限定してアクセスが可能とされるものであり、アクセスの制限が強い記憶領域である。
具体的に、本実施形態のローカルストレージ400は、同一オリジンを持たないPWA等の第2アプリケーション500以外のアプリケーションがローカルストレージ400にアクセスをすることが不可とされる。このようにローカルストレージ400は、同一オリジン以外のアプリケーションからのアクセスを受け付けないようにしてセキュアが確保されている。
なお、第1アプリケーション200は、アクセス対象とするPWAコンテンツとURLが同一オリジンのウェブページとして、アクセス可能な任意のURLを指定してよい。
ウェブブラウザ300は、手順5により指定されたPWAコンテンツと同一オリジンのURLのウェブページにアクセスする。ウェブブラウザ300はアクセスしたウェブページから、当該URLのパラメータの領域に記述されている接続用ポート番号とチケットを取得し、ローカルストレージ400に記憶させる。つまり、第1アプリケーション200は、手順5によりPWAコンテンツと同一オリジンのURLにウェブブラウザ300をアクセスさせることで、URLに記述されていた接続用ポート番号とチケットとをローカルストレージ400に保存させるように制御する。
当該手順6において、接続用ポート番号とチケットの取得とローカルストレージ400に保存させる処理自体とについては、ウェブブラウザ300がアクセスしたPWAコンテンツと同一オリジンのURLのウェブページに埋め込まれたJavaScriptコードが実行してよい。
第2アプリケーション500は、ローカルストレージ400に記憶されている接続用ポート番号とチケットにアクセスし、アクセスした接続用ポート番号とチケットを取得する。
このような手順が実行されることで、電子機器100において、第1アプリケーション200と第2アプリケーション500とが接続される。
ステップS100:第1アプリケーション対応処理部141においてポート番号取得部1411は、接続用ポート番号を取得する。当該ステップS100の処理は、図2の手順1が対応する。
情報保存制御部1413が指定するURLは、PWAである第2アプリケーション500がアクセスするウェブコンテンツと同一オリジンの任意のウェブページを示すものである。
この際、情報保存制御部1413は、アクセス先として指定するURLのパラメータに、ステップS100により取得した接続用ポート番号とステップS102により生成したチケットとを記述する。
ステップS108とステップS110の処理は、図2の手順5が対応する。
同一オリジンのウェブページへのアクセスに応じて、第2アプリケーション対応処理部142は、ローカルストレージ400において保存されている同一オリジンのURLに記述された接続用ポート番号とチケットとを取得する。当該ステップS118の処理は、図2の手順9が対応する。
第2アプリケーション対応処理部142は、第1アプリケーション200へのアクセスにあたり、ステップS118により取得した接続用ポート番号が示すポートにアクセスする。また、当該ステップS120により第2アプリケーション対応処理部142が第1アプリケーション200に送信するチケットは、ステップS118により取得されたものである。当該ステップS120の処理は、図2の手順10が対応する。
ステップS102により生成したチケットと、ステップS120にて第2アプリケーション500から受信したチケットとが同一である場合には、今回において第1アプリケーション200にアクセスした第2アプリケーション500は、ステップS108~S112によりローカルストレージ400に保存された接続用ポート番号とチケットとを取得した正当なアプリケーションであることになる。そこで、接続制御部1415は、ステップS102により生成したチケットと、ステップS120により第2アプリケーション500から受信したチケットとが同一であると判定した場合には、認証が成立したものとして判定してよい。当該ステップS122の処理は、図2の手順11が対応する。
しかしながら、このようなログイン情報を利用する認証では、ログイン情報を管理するデータベース等の規模が大きくなる。この点で、本実施形態のような電子機器100内でのアプリケーション間の接続にログイン情報を用いて認証を行うことは避けることが好ましい。
そこで、本実施形態においては、ローカルサーバ210として機能する第1アプリケーション200がチケットを発行(生成)し、第2アプリケーション500は、生成されたチケットを取得して認証を受けるようにされている。これにより、本実施形態ではログイン情報を利用しない簡易な手順でありながらも適正に認証を行ってセキュリティを確保できる。
本実施形態の場合、第1アプリケーションが生成するチケットは、図3の手順5~手順9を経てウェブブラウザ300のローカルストレージ400を経由して第2アプリケーション500が取得するようにされる。このような取得経路とすることで、本実施形態では、第2アプリケーション500にチケットを提供するためのAPIを実装する必要はなくなることから、上記のようなセキュリティホールに対する外部攻撃から防御することができる。
しかしながら、電子機器100においてポートは、ローカルサーバを使用する第2アプリケーション500以外のアプリケーションも使用する。このため、第1アプリケーション200と第2アプリケーション500との接続に用いるものとして定めたポート番号が、他のアプリケーションが使用するものと定められたポート番号と重複してしまうといったように、ポート番号が競合する可能性がある。このために、第1アプリケーション200と第2アプリケーション500との接続に用いるポート番号を事前に定めておくことが難しい。
そこで、本実施形態においては、第1アプリケーション200が空きの状態にあるポートうちから接続用ポートを動的に決定するようにされている(図3の手順1、図4のステップS100)。また、決定された接続用ポート番号は、チケットとともに第2アプリケーション500がアクセス可能なウェブコンテンツと同一オリジンのURLに記述されることで、セキュリティを保って第2アプリケーション500に渡すことができる。
また、第1アプリケーション200と第2アプリケーション500との接続は、相互通信を行う場合には、スキームとして例えばWebSocketを使用してよい。この場合において、セキュアを高めるためWSSを用いてもよい。
また、第1アプリケーション200と第2アプリケーション500との接続のもとで送受信されるデータは暗号化されてよい。
Claims (5)
- サーバにクライアントを接続させる接続制御装置であって、
前記クライアントが前記サーバにアクセスするのに用いるアクセス情報を生成するアクセス情報生成部と、
前記クライアントがアクセスするウェブコンテンツと同一オリジンで、所定の接続用ポート番号と前記アクセス情報とを記述したURL(Uniform Resource Locator)にウェブブラウザをアクセスさせることにより、前記URLに記述された前記接続用ポート番号と前記アクセス情報とを前記ウェブブラウザのローカルストレージに保存させる情報保存制御部と、
前記クライアントを起動させる起動制御部と、
起動された前記クライアントが、前記同一オリジンのURLにアクセスしてローカルストレージから前記接続用ポート番号と前記アクセス情報とを取得し、前記接続用ポート番号のポートを使用して前記サーバにアクセスしてきたことに応じて、前記クライアントが取得したアクセス情報を利用して認証処理を実行し、認証成立に応じて前記サーバと前記クライアントとの接続を確立させる接続制御部と
を備える接続制御装置。 - 前記アクセス情報は、認証に使用可能な回数が制限されるチケットである
請求項1に記載の接続制御装置。 - 空き状態にあるポートのうちから決定したポートのポート番号を前記接続用ポート番号として取得するポート番号取得部を備える
請求項1または2に記載の接続制御装置。 - ウェブシステムを外部から利用するためのプログラムの呼出機能を有さないサーバにウェブアクセス機能を有するクライアントを接続させる接続制御装置における接続制御方法であって、
前記クライアントが前記サーバにアクセスするのに用いるアクセス情報を生成するステップと、
前記クライアントがアクセスするウェブコンテンツと同一オリジンで、所定の接続用ポート番号と前記アクセス情報とを記述したURLにウェブブラウザをアクセスさせることにより、前記URLに記述された前記接続用ポート番号と前記アクセス情報とを前記ウェブブラウザのローカルストレージに保存させるステップと、
前記クライアントを起動させるステップと、
起動された前記クライアントが、前記同一オリジンのURLにアクセスしてローカルストレージから前記接続用ポート番号と前記アクセス情報とを取得し、前記接続用ポート番号のポートを使用して前記サーバにアクセスしてきたことに応じて、前記クライアントが取得したアクセス情報を利用して認証処理を実行し、認証成立に応じて前記サーバと前記クライアントとの接続を確立させるステップと
を含む接続制御方法。 - ウェブシステムを外部から利用するためのプログラムの呼出機能を有さないサーバにウェブアクセス機能を有するクライアントを接続させる接続制御装置としてのコンピュータを、
前記クライアントが前記サーバにアクセスするのに用いるアクセス情報を生成するアクセス情報生成部、
前記クライアントがアクセスするウェブコンテンツと同一オリジンで、所定の接続用ポート番号と前記アクセス情報とを記述したURLにウェブブラウザをアクセスさせることにより、前記URLに記述された前記接続用ポート番号と前記アクセス情報とを前記ウェブブラウザのローカルストレージに保存させる情報保存制御部、
前記クライアントを起動させる起動制御部、
起動された前記クライアントが、前記同一オリジンのURLにアクセスしてローカルストレージから前記接続用ポート番号と前記アクセス情報とを取得し、前記接続用ポート番号のポートを使用して前記サーバにアクセスしてきたことに応じて、前記クライアントが取得したアクセス情報を利用して認証処理を実行し、認証成立に応じて前記サーバと前記クライアントとの接続を確立させる接続制御部
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021209120A JP7397052B2 (ja) | 2021-12-23 | 2021-12-23 | 接続制御装置、接続制御方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021209120A JP7397052B2 (ja) | 2021-12-23 | 2021-12-23 | 接続制御装置、接続制御方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023093961A JP2023093961A (ja) | 2023-07-05 |
JP7397052B2 true JP7397052B2 (ja) | 2023-12-12 |
Family
ID=87001189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021209120A Active JP7397052B2 (ja) | 2021-12-23 | 2021-12-23 | 接続制御装置、接続制御方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7397052B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012533823A (ja) | 2009-07-20 | 2012-12-27 | フェイスブック,インク. | ローカルマシンに関する情報をブラウザアプリケーションに通信すること |
JP2019053602A (ja) | 2017-09-15 | 2019-04-04 | キヤノン株式会社 | 管理システム、及び制御方法 |
JP2020009260A (ja) | 2018-07-10 | 2020-01-16 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP2021165905A (ja) | 2020-04-06 | 2021-10-14 | 株式会社リコー | 通信装置、通信装置の制御方法、及びプログラム |
WO2021236436A1 (en) | 2020-05-18 | 2021-11-25 | Capital One Services, Llc | Enabling communications between applications in a mobile operating system |
-
2021
- 2021-12-23 JP JP2021209120A patent/JP7397052B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012533823A (ja) | 2009-07-20 | 2012-12-27 | フェイスブック,インク. | ローカルマシンに関する情報をブラウザアプリケーションに通信すること |
JP2019053602A (ja) | 2017-09-15 | 2019-04-04 | キヤノン株式会社 | 管理システム、及び制御方法 |
JP2020009260A (ja) | 2018-07-10 | 2020-01-16 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
JP2021165905A (ja) | 2020-04-06 | 2021-10-14 | 株式会社リコー | 通信装置、通信装置の制御方法、及びプログラム |
WO2021236436A1 (en) | 2020-05-18 | 2021-11-25 | Capital One Services, Llc | Enabling communications between applications in a mobile operating system |
Also Published As
Publication number | Publication date |
---|---|
JP2023093961A (ja) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647005B2 (en) | Systems and methods for application pre-launch | |
JP6256116B2 (ja) | 通信端末、セキュアログイン方法、及びプログラム | |
US8468576B2 (en) | System and method for application-integrated information card selection | |
US11797636B2 (en) | Intermediary server for providing secure access to web-based services | |
US8589671B2 (en) | Security implementation within a browser | |
US9270644B2 (en) | Thwarting keyloggers using proxies | |
EP3241141A1 (en) | Containerizing web applications for managed execution | |
JP7076641B2 (ja) | Saasアプリケーションのためのプッシュ配信通知サービスのためのシステムおよび方法 | |
JP2008197973A (ja) | ユーザ認証システム | |
US20130104220A1 (en) | System and method for implementing a secure USB application device | |
US9104837B1 (en) | Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files | |
WO2022035515A1 (en) | Workspace resiliency with multi-feed status resource caching | |
JP2022504499A (ja) | 中間デバイスのシステムオンチップを介したトラフィック最適化のためのシステムおよび方法 | |
JP6994607B1 (ja) | Saasアプリケーションのためのインテリセンスのためのシステムおよび方法 | |
JP2007257500A (ja) | 被認証装置、被認証プログラム、被認証方法、WebブラウザプラグインおよびWebブラウザブックマークレット | |
JP7397052B2 (ja) | 接続制御装置、接続制御方法、及びプログラム | |
CA3118747A1 (en) | Systems and methods for live tiles for saas | |
US10311122B1 (en) | On-demand unprotected mode access | |
US20240089250A1 (en) | Systems and methods for token-based browser extension framework | |
US20240171543A1 (en) | Protectively displaying specific fields in specific views of a secure interface | |
US20230409680A1 (en) | System and method for client device authentication through remote browser isolation | |
WO2023199387A1 (ja) | 組み込み機器及び表示システム | |
KR20100018022A (ko) | 프락시 서버의 ssl 통신 기록 방법 | |
WO2022246343A1 (en) | Computing device and related methods providing virtual session launching from previously cached assets | |
WO2022177613A1 (en) | Computing device and associated methods providing browser launching of virtual sessions in an application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7397052 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |