(57)【要約】【課題】情報を安全に特定の宛先へ送信できる端末装置を提供すること。【解決手段】端末装置２０は、情報を送信するための命令が記述された送信スクリプトを記憶する第１の記憶部２１と、特定の送信先から受信した起動スクリプトにより送信スクリプトを起動し、送信スクリプトを実行することにより、情報を送信先へ送信する送信処理部２４と、を備える。【選択図】図１
2019061696.tif 000002
【特許請求の範囲】
【請求項１】
特定の送信先へ送信可能な情報を記憶する端末装置であって、
前記情報を送信するための命令が記述された送信スクリプトを記憶する第１の記憶部と、
前記送信先から受信した起動スクリプトにより前記送信スクリプトを起動し、前記送信スクリプトを実行することにより、前記情報を前記送信先へ送信する送信処理部と、を備える端末装置。
【請求項２】
前記送信スクリプトは、用途が実行に限定される請求項１に記載の端末装置。
【請求項３】
前記送信スクリプトには、前記情報の一部が記述される請求項２に記載の端末装置。
【請求項４】
前記第１の記憶部は、ブラウザキャッシュである請求項２又は請求項３に記載の端末装置。
【請求項５】
前記情報の少なくとも一部は、アクセス元のドメインが制限される第２の記憶部に記憶される請求項１から請求項４のいずれかに記載の端末装置。
【請求項６】
前記送信先のアドレスは、アクセス元のドメインが制限される第２の記憶部に記憶される請求項１から請求項５のいずれかに記載の端末装置。
【請求項７】
前記第２の記憶部は、ＨＴＭＬ５に規定されるｌｏｃａｌＳｔｏｒａｇｅである請求項５又は請求項６に記載の端末装置。
【請求項８】
前記送信スクリプトは、さらに、前記送信先のアドレスが記述されたものである請求項１から請求項５のいずれかに記載の端末装置。
【請求項９】
前記命令は、前記情報を暗号化して送信するためのものである請求項１から請求項８のいずれかに記載の端末装置。
【請求項１０】
前記情報は、前記端末装置のユーザを特定する認証情報であり、
前記送信先は、前記認証情報により前記ユーザの正当性を認証する認証サーバである請求項１から請求項９のいずれかに記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を送信する端末装置に関する。
【背景技術】
【０００２】
従来、ユーザが端末装置のブラウザからネットワークを介してサービスサイトにアクセスした際には、入力されたＩＤ及びパスワードが認証サーバにより登録情報と照合され、このユーザが正規の会員であることが認証される。
この場合、認証サーバは、ユーザを特定するための認証情報を発行してブラウザのクッキー（ＨＴＴＰ  ｃｏｏｋｉｅ）に保存させる。すると、同一のサイトへの２回目以降のアクセスに対しては、端末装置がクッキーに保存された認証情報を認証サーバへ送信することにより、ユーザによる入力の手間が省かれる（例えば、特許文献１参照）。
【０００３】
図５は、従来のクッキーを利用したユーザ認証の流れを示す図である。
ユーザが端末装置（Ｄｅｖｉｃｅ）においてＩＤ及びパスワードを入力すると（１）、認証サーバ（ＷｅｂＳｅｒｖｅｒ）において、認証情報（Ｃｏｏｋｉｅ  Ｋｅｙ）が発行され（２）、ＨＴＭＬファイルを媒介してブラウザのクッキーに記憶される（３）。端末装置がＵＲＬを指定して認証サーバへアクセスすると、このＵＲＬに関連付けられた認証情報が自動的に付加される（４）。これにより、認証サーバは、認証情報によりユーザを特定し、特定したユーザに固有のサービス（ＨＴＭＬページ）を提供する（５）。
【０００４】
また、ブラウザは、上述のクッキーを含む複数の記憶領域を備えており、例えば、ＨＴＭＬ５に対応したブラウザが有するローカルストレージ（ｌｏｃａｌＳｔｏｒａｇｅ）を利用したサービスの提供手法が提案されている（例えば、特許文献２及び３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００３−５２７６４６号公報
【特許文献２】特開２０１４−０８５８１２号公報
【特許文献３】特開２０１２−０６９０８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、クッキー内の情報は、外部からのアクセス攻撃により漏洩するリスクがあるため、安全性に課題があった。このため、定期的に（例えば、２週間に１度）ＩＤ及びパスワードをユーザに再入力させ、クッキーを更新する運用が求められる。
【０００７】
本発明は、情報を安全に特定の宛先へ送信できる端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る端末装置は、特定の送信先へ送信可能な情報を記憶する端末装置であって、前記情報を送信するための命令が記述された送信スクリプトを記憶する第１の記憶部と、前記送信先から受信した起動スクリプトにより前記送信スクリプトを起動し、前記送信スクリプトを実行することにより、前記情報を前記送信先へ送信する送信処理部と、を備える。
【０００９】
前記送信スクリプトは、用途が実行に限定されてもよい。
【００１０】
前記送信スクリプトには、前記情報の一部が記述されてもよい。
【００１１】
前記第１の記憶部は、ブラウザキャッシュであってもよい。
【００１２】
前記情報の少なくとも一部は、アクセス元のドメインが制限される第２の記憶部に記憶されてもよい。
【００１３】
前記送信先のアドレスは、アクセス元のドメインが制限される第２の記憶部に記憶されてもよい。
【００１４】
前記第２の記憶部は、ＨＴＭＬ５に規定されるｌｏｃａｌＳｔｏｒａｇｅであってもよい。
【００１５】
前記送信スクリプトは、さらに、前記送信先のアドレスが記述されたものであってもよい。
【００１６】
前記命令は、前記情報を暗号化して送信するためのものであってもよい。
【００１７】
前記情報は、前記端末装置のユーザを特定する認証情報であり、前記送信先は、前記認証情報により前記ユーザの正当性を認証する認証サーバであってもよい。
【発明の効果】
【００１８】
本発明によれば、情報を安全に特定の宛先へ送信できる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る認証システムの機能構成を示す図である。
【図２】実施形態に係る認証サーバへの初回アクセス時の処理の流れを示す図である。
【図３】実施形態に係る認証サーバへ２回目以降にアクセスした時の処理の流れを示す図である。
【図４】実施形態に係る認証システムの外部からの攻撃に対する耐性を示す図である。
【図５】従来のクッキーを利用したユーザ認証の流れを示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態の一例について説明する。
セキュリティ技術のレイヤには、ＯＳレイヤ、ハードウェアレイヤ、アプリケーションレイヤ等があるが、本発明はアプリケーションレイヤでのセキュリティ技術に該当する。本実施形態は、特にブラウザ上で実行される第三者のスクリプトの働きにより第三者が機密情報を取得することを防ぐために好適なものである。
【００２１】
図１は、本実施形態に係る認証システム１の機能構成を示す図である。
認証システム１は、認証サーバ１０と端末装置２０とを備え、端末装置２０のユーザの正当性を、このユーザを特定する認証情報に基づいて認証サーバ１０によって認証する。
【００２２】
認証サーバ１０は、生成部１１と、第１の送信部１２と、第２の送信部１３と、認証部１４と、記憶部１５（第３の記憶部）とを備えた情報処理装置である。
端末装置２０は、第１の記憶部２１と、第２の記憶部２２と、記憶処理部２３と、送信処理部２４（第３の送信部）とを備える情報処理装置である。これら各機能部は、例えば、Ｗｅｂサービスを利用するためのブラウザアプリケーションによって実装される。端末装置２０は、例えば単一のユーザにより利用される携帯電話機、スマートフォン又はタブレット端末等の携帯端末であってよい。
【００２３】
生成部１１は、端末装置２０からの初回のアクセスに応じて、ユーザを特定するための認証情報を生成すると共に、この認証情報を端末装置２０から前記認証サーバへ送信するための送信スクリプトを生成する。送信スクリプトには、認証情報、認証サーバのアドレス、及びこのアドレスへ認証情報を送信する命令が記述されている。
認証情報は、例えば、以下の手順により生成される。
【００２４】
（１）生成部１１は、端末装置２０から第１の認証情報（例えば、ＩＤ及びパスワード）を受信した後に、この第１の認証情報に対応付けて第２の認証情報（ＩＤ及びＫＥＹ）を生成する。なお、第２の認証情報におけるＩＤは、第１の認証情報のＩＤとは異なっていてもよい。ＫＥＹ（認証鍵）は、ＩＤに基づいて生成される。
（２）生成部１１は、端末装置２０から端末固有情報を受信した後に、この端末固有情報に対応付けて認証情報（ＩＤ及びＫＥＹ）を生成する。
（３）生成部１１は、認証情報として、ランダムな値（ＩＤ及びＫＥＹ）を生成する。
【００２５】
第１の送信部１２は、生成部１１により生成された送信スクリプト、及びこの送信スクリプトを端末装置２０における所定の記憶領域に記憶するための記憶スクリプトを、端末装置２０へ送信する。
第２の送信部１３は、端末装置２０からの２回目以降のアクセスに応じて、送信スクリプトを起動するための起動スクリプトを、端末装置２０へ送信する。
なお、送信スクリプト、記憶スクリプト及び指示スクリプトは、例えば、ＪａｖａＳｃｒｉｐｔ（登録商標）であってよい。また、送信スクリプト、記憶スクリプト及び指示スクリプトのうちのいずれか２つ又は３つ全てが一体であってもよい。
【００２６】
認証部１４は、生成部１１により生成された認証情報と、端末装置２０から受信した認証情報とを照合し、端末装置２０のユーザが正当であることを認証する。
【００２７】
記憶部１５は、ユーザそれぞれの認証情報に対応付けて、各ユーザへ提供されるサービスに関する情報を記憶する。
さらに、記憶部１５は、機種変更等により複数の端末装置２０に対して同一ユーザの認証情報を再生成した場合に、新旧の認証情報が紐付けられる情報を受け付けて記憶する。例えば、認証サーバ１０は、ＩＤ及びパスワードによる紐付け、又はグループの指定入力に基づくグループＩＤの発行により、同一ユーザの複数の認証情報を識別する。
【００２８】
第１の記憶部２１は、記憶されているスクリプトの用途がこのスクリプトの実行に限定された記憶領域であり、例えばブラウザキャッシュである。第１の記憶部２１に記憶されたスクリプトは、実行以外のアクセス方法が制限又は禁止される。すなわち、第１の記憶部２１に記憶されたスクリプトは、アクセスされるとスクリプト内の命令を実行し、外部からスクリプト内のデータを取得できない性質を持つ。このため、第三者が認証情報を取得すること、送信先アドレスを改竄すること等が防止される。
【００２９】
第２の記憶部２２は、少なくともアクセス元のドメインが制限された記憶領域であり、例えばＨＴＭＬ５に規定されたｌｏｃａｌＳｔｏｒａｇｅである。ｌｏｃａｌＳｔｏｒａｇｅは、オリジン（「プロトコル：／／ドメイン名：ポート番号」）が制限され、認証サーバとは異なる攻撃者のドメインからのアクセス（データの記憶及び取り出し）ができない。
【００３０】
記憶処理部２３は、認証サーバ１０から受信した記憶スクリプトを実行し、送信スクリプトを、第１の記憶部２１に記憶する。
さらに、記憶処理部２３は、送信スクリプトにより読み込まれる認証情報の一部を、第２の記憶部２２に記憶してもよい。これにより、第三者による送信スクリプトの実行が抑制される。
【００３１】
送信処理部２４は、起動スクリプトを介して送信スクリプトを実行し、この送信スクリプトに含まれているＵＲＬにより特定される認証サーバ１０へ、認証情報を送信する。
ここで、送信処理部２４は、送信スクリプトによって、認証情報を所定のプロトコルにより暗号化して送信してもよい。
【００３２】
図２は、本実施形態に係る認証サーバ１０への初回アクセス時の処理の流れを示す図である。
【００３３】
ユーザが端末装置２０においてＩＤ及びパスワードを入力してログインすると（１）、認証サーバ１０は、入力されたＩＤ及びパスワードに基づいて又は無関係に認証情報（例えば、ＩＤ及びＫＥＹ）を生成する（２）。
このとき、同一セッションを保証するためのセッションキーが発行され、ＨＴＭＬファイルを媒介してブラウザのクッキーに記憶される。なお、同一セッションを保証するための仕組みはこれには限られず、既存の技術が利用可能である。
【００３４】
生成された認証情報の少なくとも一部（例えば、ＩＤ）、認証サーバ１０のＵＲＬ、及び認証情報を端末装置２０から認証サーバ１０へ送信するための命令を含む送信スクリプトＡが、記憶スクリプトＢを実行することにより、第１の記憶部２１（ブラウザキャッシュ）に記憶される。さらに、認証情報の残りの一部（例えば、ＫＥＹ）は、第２の記憶部２２（ＨＴＭＬ５  ｌｏｃａｌＳｔｏｒａｇｅ）に記憶される（３）。
【００３５】
図３は、本実施形態に係る認証サーバ１０へ２回目以降にアクセスした時の処理の流れを示す図である。
【００３６】
ユーザが端末装置２０においてＵＲＬを指定して、ＩＤ及びパスワードを入力することなく認証サーバ１０へアクセスすると（１）、認証サーバ１０は、送信スクリプトＡを起動するための起動スクリプトＣを、ＨＴＭＬファイル上に又はＨＴＭＬファイルに付随して端末装置２０へ送信する（２）。
【００３７】
端末装置２０は、起動スクリプトＣを実行することにより、第１の記憶部２１（ブラウザキャッシュ）に記憶されている送信スクリプトＡにアクセスすると、この送信スクリプトＡが実行される（３）。
端末装置２０は、送信スクリプトＡに記述されている送信命令によって、第２の記憶部２２（ＨＴＭＬ５  ｌｏｃａｌＳｔｏｒａｇｅ）に記憶されている認証情報の一部（例えば、ＫＥＹ）を取得すると（４）、認証情報の全体を暗号化し、送信スクリプトＡに埋め込まれているＵＲＬを宛先にして、暗号化データを認証サーバ１０へ送信する（５）。
【００３８】
図４は、本実施形態に係る認証システム１の外部からの攻撃に対する耐性を示す図である。
【００３９】
認証システム１は、例えば、ＭＩＴＭ（ｍａｎ−ｉｎ−ｔｈｅ−ｍｉｄｄｌｅ）又はＸＳＳ（ｃｒｏｓｓ  ｓｉｔｅ  ｓｃｒｉｐｔｉｎｇ）による攻撃が想定される。
【００４０】
ＭＩＴＭ攻撃に対しては、暗号化によって、通信経路２００において認証情報そのものを取得される可能性が低減される。さらに、例えば、ワンタイムのキーを用いて送受信される暗号情報を固定しない方式を採用することにより、第三者により取得された暗号情報が不正利用される可能性が低減される。
【００４１】
また、ＸＳＳ攻撃によって、たとえブラウザキャッシュの送信スクリプトＡにアクセスされたとしても、この送信スクリプトＡが実行されることにより、認証情報は、正規の認証サーバ１０に対してのみ送信される。
【００４２】
具体的には、例えば、端末装置２０は、第三者のサーバ１００が用意した攻撃スクリプトＤを実行し（１）、認証サーバ１０へ接続した場合（２）、起動スクリプトＣを受信して（３）、送信スクリプトＡにアクセスしたとしても（４）、この送信スクリプトＡを実行した結果、認証情報は第三者へは提供されず、正規の認証サーバ１０に対してのみ送信される（５）。
また、攻撃スクリプトＤによって直接、送信スクリプトＡにアクセスされた場合であっても、認証情報は正規の認証サーバ１０に対してのみ送信される。さらに、認証情報の一部（ＫＥＹ）が第２の記憶部２２（ｌｏｃａｌＳｔｏｒａｇｅ）に記憶されていると、この情報は認証サーバ１０とは異なるサーバ１００のドメインからは取得されず、認証情報の送信自体がされない。
したがって、認証情報を第三者に不正利用される可能性が低減される。
【００４３】
以上のように、本実施形態によれば、端末装置２０は、機密情報（認証情報）及びこの機密情報を送信するための命令が記述された送信スクリプトを、第１の記憶部２１（ブラウザキャッシュ）に記憶して、この送信スクリプトにアクセスする際の用途をスクリプトの実行に制限する。
ブラウザ上で実行される第三者のスクリプトが、第１の記憶部２１に格納されたスクリプト（送信スクリプト）にアクセスする場合、ブラウザが規定するアクセス制限及びインタフェースに従う。すなわち、第三者のスクリプトは、たとえ送信スクリプトを実行することが可能だとしても、送信スクリプトの記述内容を、インタフェースの規定外で直接読み込むことは不可能である。また、送信スクリプトには、送信スクリプトを起動したスクリプトへ認証情報を提供する命令は記述されていない。したがって、送信スクリプトは、特定の宛先である認証サーバ１０に対してのみ認証情報を送信する。このため、第三者のスクリプトが送信スクリプトを実行しても、正規の認証サーバ１０以外が認証情報を受け取ることはない。
このように、端末装置２０は、機密情報を安全に特定の宛先へ送信できる。
【００４４】
特に、認証システム１は、ブラウザキャッシュに記憶した送信スクリプトによって、ユーザを特定するための認証情報を端末装置２０から特定の認証サーバ１０にのみ送信する。したがって、認証システム１は、認証情報を端末装置２０に保存してユーザによる認証情報の入力操作の負担を軽減できる。さらに、記憶された認証情報は、正規の認証サーバ１０へ送信する用途に限ってアクセス可能であるため、認証システム１は、安全性の高いユーザ認証を実現できる。
【００４５】
認証システム１は、認証情報の一部を、アクセス元（オリジン）が制限されるＨＴＭＬ５のｌｏｃａｌＳｔｏｒａｇｅに記憶するので、例えば異なるドメインからのアクセスを拒否し、送信スクリプトの不正な実行を抑制できる。
【００４６】
認証システム１は、認証情報を暗号化して認証サーバ１０へ送信するので、通信経路において認証情報そのものが読み取られる可能性を低減できる。
【００４７】
また、認証システム１は、初回のユーザから第１の認証情報（ＩＤ及びパスワード）の入力を受け付けた後、この第１の認証情報に対応付けて管理される第２の認証情報を生成し、端末装置２０に記憶させることができる。これにより、認証システム１は、ユーザが管理する第１の認証情報によってユーザを特定しつつ、新たに発行された第２の認証情報によって安全性の高いユーザ認証を実現できる。
【００４８】
また、認証システム１は、端末固有情報に対応づけて管理される第２の認証情報を生成し、端末装置２０に記憶させることができる。これにより、認証システム１は、ユーザによる入力操作をさらに削減しつつも、ユーザの端末装置２０を特定し、新たに発行された第２の認証情報によって安全性の高いユーザ認証を実現できる。
【００４９】
また、認証システム１は、認証情報としてランダムな値を生成し、端末装置２０に記憶させることができる。これにより、認証システム１は、端末装置２０からユーザ又は端末装置２０を特定することなく、同一端末からアクセスしたユーザであることを認証できる。
【００５０】
認証システム１は、認証サーバ１０によって生成された認証情報（第２の認証情報）のみでユーザを特定できない。このため、認証サーバ１０は、例えば機種変更等によって同一ユーザの新たな端末装置２０に対して認証情報を再発行すると、認証情報のそれぞれに対応付けて管理されている管理情報を同一ユーザのものとして相互に関連付ける必要がある。そこで、認証サーバ１０は、複数の認証情報をグループ化する情報（例えば、パスワード）を受け付けて記憶する。これにより、複数の認証情報を紐付けて、同一ユーザの情報を管理できる。
【００５１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００５２】
前述の実施形態では、端末装置２０に記憶される情報はユーザの認証情報であり、この認証情報を認証サーバ１０に送信する認証システム１を説明したが、本発明はこれには限られない。端末装置２０は、認証情報に限らず他の機密情報を、第１の記憶部２１及び第２の記憶部２２に対して認証情報と同様の構成により記憶し、特定の宛先へ送信する構成であってもよい。
【００５３】
また、前述の実施形態では、端末装置２０は、ブラウザアプリケーションの機能を用いて認証情報の送信を行ったが、これには限られず、所定のアプリケーションからアクセス可能な第１の記憶部２１を備える構成として実現されてよい。
【００５４】
また、第２の記憶部２２に記憶される情報は、認証情報の一部の他、送信先（認証サーバ１０のアドレス）であってもよいし、これらの両方であってもよい。これにより、端末装置２０が認証情報を送信するためには、送信スクリプトの命令によって第２の記憶部から情報を読取る必要があるので、既定のドメインから送信スクリプトへアクセスしなければならない。したがって、送信スクリプトの不正な実行が抑制され安全性が向上する。
【００５５】
認証システム１による認証方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（認証サーバ１０及び端末装置２０）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてコンピュータに提供されてもよい。
【符号の説明】
【００５６】
Ａ  送信スクリプト
Ｂ  記憶スクリプト
Ｃ  起動スクリプト
１  認証システム
１０  認証サーバ
１１  生成部
１２  第１の送信部
１３  第２の送信部
１４  認証部
１５  記憶部（第３の記憶部）
２０  端末装置
２１  第１の記憶部
２２  第２の記憶部
２３  記憶処理部
２４  送信処理部（第３の送信部）
【図１】
2019061696.tif 000003
【図２】
2019061696.tif 000004
【図３】
2019061696.tif 000005
【図４】
2019061696.tif 000006
【図５】
2019061696.tif 000007