(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】仮想ブラウザサーバ及びプログラム、
(51)【国際特許分類】
H04L 9/08 20060101AFI20240612BHJP
G06F 21/44 20130101ALI20240612BHJP
G06F 21/32 20130101ALI20240612BHJP
G06F 21/60 20130101ALI20240612BHJP
【FI】
H04L9/08 A
G06F21/44
G06F21/32
G06F21/60 320
(21)【出願番号】P 2020163315
(22)【出願日】2020-09-29
【審査請求日】2023-05-18
(73)【特許権者】
【識別番号】302064762
【氏名又は名称】株式会社日本総合研究所
(74)【代理人】
【識別番号】100125645
【氏名又は名称】是枝 洋介
(74)【代理人】
【識別番号】100145609
【氏名又は名称】楠屋 宏行
(74)【代理人】
【識別番号】100149490
【氏名又は名称】羽柴 拓司
(72)【発明者】
【氏名】岡本 健
【審査官】行田 悦資
(56)【参考文献】
【文献】特開2019-040319(JP,A)
【文献】特開2002-157226(JP,A)
【文献】特開2009-258917(JP,A)
【文献】特開2005-011098(JP,A)
【文献】特開2004-133801(JP,A)
【文献】特開2002-108822(JP,A)
【文献】特開2016-144038(JP,A)
【文献】特開2017-049976(JP,A)
【文献】特開平05-173972(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
G06F 21/44
G06F 21/32
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
外部のユーザ端末から取得した一または複数のウェブサイトに対するパスワードを、所定の公開鍵を用いて暗号化して保存するパスワード保存手段と、
前記ユーザ端末から特定のウェブサイトへのアクセス要求を受け付けた場合に、保存したパスワードの中から当該ウェブサイトに係るパスワードを抽出して前記ユーザ端末に送信するパスワード送信手段と、
前記公開鍵とペアとなる秘密鍵を生成する秘密鍵生成手段と、
生成した秘密鍵を前記ユーザ端末に対して送信する秘密鍵送信手段と
、
復号されたパスワードを前記ユーザ端末から取得するパスワード取得手段と、
取得したパスワードを用いて前記特定のウェブサイトにアクセスするアクセス手段と、
前記ユーザ端末が使用不可の緊急時に使用される緊急鍵を生成する緊急鍵生成手段と、
生成した緊急鍵を用いて、前記生成した秘密鍵を暗号化して保存する秘密鍵保存手段と、
前記ユーザ端末とは異なる別のユーザ端末から前記緊急鍵を取得した場合、当該緊急鍵を用いて、保存した秘密鍵を復号する秘密鍵復号手段と、
復号した秘密鍵を用いて、前記保存したパスワードを復号するパスワード復号手段と
を備え、
前記パスワード保存手段は、復号したパスワードを前記公開鍵とは異なる別の公開鍵を用いて暗号化して保存し、
前記秘密鍵生成手段は、前記別の公開鍵とペアとなる別の秘密鍵を生成し、
前記秘密鍵送信手段は、生成した別の秘密鍵を前記別のユーザ端末に対して送信する、
仮想ブラウザサーバ。
【請求項2】
前記一または複数のウェブサイトに対するパスワードを変更するパスワード変更手段
をさらに備え、
前記パスワード保存手段は、変更後のパスワードを、前記公開鍵を用いて暗号化して保存する、
請求項1に記載の仮想ブラウザサーバ。
【請求項3】
前記パスワード変更手段は、前記アクセス手段による前記特定のウェブサイトへのアクセスが不可となった場合に、当該特定のウェブサイトに対するパスワードを変更する、
請求項2に記載の仮想ブラウザサーバ。
【請求項4】
前記一又は複数のウェブサイト毎に、パスワードの変更手順を記憶する変更手順記憶手段
をさらに備え、
前記パスワード変更手段は、記憶した変更手順に基づいてパスワードの変更を実行する、
請求項2又は3に記載の仮想ブラウザサーバ。
【請求項5】
前記アクセス手段による前記特定のウェブサイトへのアクセスが不可となった場合に、アラート情報を前記ユーザ端末に送信するアラート送信手段
をさらに備える、
請求項1乃至4の何れかに記載の仮想ブラウザサーバ。
【請求項6】
前記一又は複数のウェブサイトの中から、前記アクセス手段によるアクセスが所定期間以上実行されていないウェブサイトを抽出するサイト抽出手段と、
抽出したウェブサイトを識別するサイト識別情報を前記ユーザ端末に対して送信するサイト識別情報送信手段と
をさらに備える、
請求項1乃至5の何れかに記載の仮想ブラウザサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各種のユーザ端末に対して仮想ブラウザサービスを提供する仮想ブラウザサーバ、及び当該サービスをユーザ端末にて利用するためのプログラムに関する。
【背景技術】
【0002】
特許文献1には、複数の業務システムのそれぞれに対して設定されたパスワードを、マスターパスワードを用いて一元管理するパスワード管理システムが開示されている。このパスワード管理システムを利用するユーザは、各業務システムに対するパスワードを覚えていなくても、当該パスワード管理システムに対するマスターパスワードさえ覚えておけば、各業務システムを利用することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記のパスワード管理システムの場合、マスターパスワードが破られると、そのマスターパスワードで管理されている各パスワードを第三者が容易に取得することが可能になるなど、セキュリティが十分に確保されていないという問題がある。また、ユーザがマスターパスワードを忘れた場合には復旧することが極めて困難になるという問題もある。
【0005】
本発明は斯かる事情に鑑みてなされたものであり、その主たる目的は、上記課題を解決することができる仮想ブラウザサーバ及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一の態様の仮想ブラウザサーバは、外部のユーザ端末から取得した一または複数のウェブサイトに対するパスワードを、所定の公開鍵を用いて暗号化して保存するパスワード保存手段と、前記ユーザ端末から特定のウェブサイトへのアクセス要求を受け付けた場合に、保存したパスワードの中から当該ウェブサイトに係るパスワードを抽出して前記ユーザ端末に送信するパスワード送信手段と、前記ユーザ端末によって、前記公開鍵とペアとなる秘密鍵を用いて前記パスワードが復号された場合、復号されたパスワードを当該ユーザ端末から取得するパスワード取得手段と、取得したパスワードを用いて前記特定のウェブサイトにアクセスするアクセス手段とを備える。
【0007】
前記態様において、前記秘密鍵を生成する秘密鍵生成手段と、生成した秘密鍵を前記ユーザ端末に対して送信する秘密鍵送信手段とをさらに備え、前記パスワード取得手段は、前記ユーザ端末が前記仮想ブラウザサーバから取得した秘密鍵を用いて前記パスワードを復号した場合に、復号されたパスワードを当該ユーザ端末から取得してもよい。
【0008】
また、前記態様において、前記ユーザ端末が使用不可の緊急時に使用される緊急鍵を生成する緊急鍵生成手段と、生成した緊急鍵を用いて、前記生成した秘密鍵を暗号化して保存する秘密鍵保存手段と、前記ユーザ端末とは異なる別のユーザ端末から前記緊急鍵を取得した場合、当該緊急鍵を用いて、保存した秘密鍵を復号する秘密鍵復号手段と、復号した秘密鍵を用いて、前記保存したパスワードを復号するパスワード復号手段とをさらに備え、前記パスワード保存手段は、復号したパスワードを前記公開鍵とは異なる別の公開鍵を用いて暗号化して保存し、前記秘密鍵生成手段は、前記別の公開鍵とペアとなる別の秘密鍵を生成し、前記秘密鍵送信手段は、生成した別の秘密鍵を前記別のユーザ端末に対して送信してもよい。
【0009】
また、前記態様において、前記一または複数のウェブサイトに対するパスワードを変更するパスワード変更手段をさらに備え、前記パスワード保存手段は、変更後のパスワードを、前記公開鍵を用いて暗号化して保存してもよい。
【0010】
また、前記態様において、前記パスワード変更手段は、前記アクセス手段による前記特定のウェブサイトへのアクセスが不可となった場合に、当該特定のウェブサイトに対するパスワードを変更してもよい。
【0011】
また、前記態様において、前記一又は複数のウェブサイト毎に、パスワードの変更手順を記憶する変更手順記憶手段をさらに備え、前記パスワード変更手段は、記憶した変更手順に基づいてパスワードの変更を実行してもよい。
【0012】
また、前記態様において、前記アクセス手段による前記特定のウェブサイトへのアクセスが不可となった場合に、アラート情報を前記ユーザ端末に送信するアラート送信手段をさらに備えてもよい。
【0013】
また、前記態様において、前記一又は複数のウェブサイトの中から、前記アクセス手段によるアクセスが所定期間以上実行されていないウェブサイトを抽出するサイト抽出手段と、抽出したウェブサイトを識別するサイト識別情報を前記ユーザ端末に対して送信するサイト識別情報送信手段とをさらに備えてもよい。
【0014】
また、前記態様において、前記ユーザ端末は、当該ユーザ端末を使用するユーザの生体認証を実行する生体認証手段を備えており、前記パスワード取得手段は、前記ユーザ端末による生体認証が成功した場合において、前記ユーザ端末によって、前記秘密鍵を用いて前記パスワードが復号されたときに、復号されたパスワードを当該ユーザ端末から取得してもよい。
【0015】
また、前記態様において、前記生体認証の実行履歴を前記ユーザ端末から取得する実行履歴取得手段と、取得した実行履歴に基づいて、前記ユーザ端末の不正使用のおそれの有無を判定する不正判定手段とをさらに備え、前記アクセス手段は、不正使用のおそれがないと判定された場合に、前記特定のウェブサイトにアクセスしてもよい。
【0016】
また、本発明のプログラムは、前記態様の仮想ブラウザサーバと通信する前記ユーザ端末として機能し、ユーザの生体認証を実行する生体認証手段を備えるコンピュータを、前記公開鍵を用いて暗号化されたパスワードを前記仮想ブラウザサーバから取得した場合に、当該公開鍵とペアとなる秘密鍵を用いて、当該パスワードを復号する復号手段、復号したパスワードを前記仮想ブラウザサーバに対して送信する送信手段として機能させるためのものである。
【0017】
前記態様において、前記コンピュータを、前記復号したパスワードを前記表示部に表示させるパスワード表示手段として機能させてもよい。
【発明の効果】
【0018】
本発明によれば、各ウェブサイトに対して設定されているパスワードを安全に管理することが可能になる。
【図面の簡単な説明】
【0019】
【
図1】仮想ブラウザシステムの構成を示すブロック図。
【
図2】サービス開始処理の手順を示すフローチャート。
【
図3】サイト登録処理の手順を示すフローチャート。
【
図4】サイトアクセス処理の手順を示すフローチャート。
【
図6】不正使用判定処理の手順を示すフローチャート。
【
図7】ログイン時エラー処理の手順を示すフローチャート。
【
図8】緊急鍵使用処理の手順を示すフローチャート。
【
図9】アクセス分析処理の手順を示すフローチャート。
【発明を実施するための形態】
【0020】
以下、本発明の好ましい実施の形態について、図面を参照しながら説明する。なお、以下に示す各実施の形態は、本発明の技術的思想を具体化するための方法及び装置を例示するものであって、本発明の技術的思想は下記のものに限定されるわけではない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において種々の変更を加えることができる。
【0021】
本実施の形態の仮想ブラウザサーバは、スマートフォン等のユーザ端末が各ウェブサイトにアクセスする場合のセキュリティを確保するための装置である。また、本実施の形態のプログラムは、この仮想ブラウザサーバによって提供されるサービスをユーザ端末が利用するためのものである。以下、これらの仮想ブラウザサーバ及びユーザ端末で構成される仮想ブラウザシステムの構成及び動作について説明する。
【0022】
[仮想ブラウザシステムの構成]
図1は、本実施の形態の仮想ブラウザシステムの構成を示すブロック図である。本仮想ブラウザシステムは、仮想ブラウザサーバ1及び複数のユーザ端末2によって構成されている。仮想ブラウザサーバ1及びユーザ端末2は、インターネット101を介して相互に通信することが可能である。
【0023】
仮想ブラウザサーバ1は、CPU、RAM、及びROMを含む制御部を備えるコンピュータで構成されており、この制御部によって後述する各処理が実行される。また、仮想ブラウザサーバ1は、パスワードデータベース(DB)11、秘密鍵DB12、アクセス履歴DB13、認証履歴DB14、及び変更手順DB15の各データベースを有している。
【0024】
パスワードDB11は、ユーザ端末2を操作する各ユーザUによって設定された各ウェブサイト3に対するパスワードを記憶するためのデータベースである。後述するように、このパスワードは暗号化された上でパスワードDB11に保存される。なお、各パスワードは、ユーザU及びウェブサイト3の組と紐付けられて保存される。
【0025】
秘密鍵DB12は、各ユーザ端末2に対して設定された秘密鍵を記憶するためのデータベースである。この秘密鍵は、後述するように、暗号化された上で秘密鍵DB12に保存される。なお、各秘密鍵は、各ユーザ端末2と紐付けられて保存される。
【0026】
アクセス履歴DB13は、各ユーザ端末2が各ウェブサイト3にアクセスした実績であるアクセス履歴を記憶するためのデータベースである。仮想ブラウザサーバ1は、自身を介して各ユーザ端末2が各ウェブサイト3にアクセスした場合、そのときのアクセス日時を含むアクセス履歴をアクセス履歴DB13に保存する。
【0027】
認証履歴DB14は、各ユーザ端末2においてユーザUが生体認証された実績である認証履歴を記憶するためのデータベースである。仮想ブラウザサーバ1は、各ユーザ端末2から、認証が実行された日時及び認証の成否を含む認証履歴を定期的に取得し、認証履歴DB14に保存する。
【0028】
変更手順DB15は、各ウェブサイト3に対して設定されるユーザU毎のパスワードを当該ウェブサイト3において変更する際の手順を示す変更手順情報を記憶するためのデータベースである。この変更手順情報は、人間によってマニュアルで生成されたものでもよく、仮想ブラウザサーバ1などによって自動的に生成されたものでもよい。
【0029】
なお、後述するように、仮想ブラウザサーバ1は、ユーザ端末2が使用不可となった場合の緊急時に使用される緊急鍵を生成する。この緊急鍵は、紙媒体100に印字され、封印された上で、各ユーザUに発送される。
【0030】
ユーザ端末2は、各ウェブサイト3を利用する各ユーザUによって用いられる装置であって、スマートフォン、タブレット端末、又はパーソナルコンピュータ等の各種の情報端末で構成される。各ユーザ端末2は、仮想ブラウザサーバ1を介して各ウェブサイト3にアクセスする。
【0031】
ユーザ端末2の記憶装置には、仮想ブラウザサーバ1によって提供されるサービスを受けるためのプログラム21が記憶される。以下、このプログラムを仮想ブラウザアプリと称する。仮想ブラウザアプリ21は、各ユーザによってユーザ端末2に予めインストールされたプログラムである。
【0032】
ユーザ端末2は、表示部22及び入力部23を備えている。表示部22は、液晶ディスプレイ又は有機ELディスプレイ等で構成されており、入力部23は、静電容量方式のタッチパネル等で構成されている。
【0033】
また、ユーザ端末2は、ユーザUの生体情報を用いて本人認証を実行するための生体認証部24を備えている。生体情報としては、例えば、ユーザUの指紋、静脈、虹彩、顔などの画像が用いられる。
【0034】
[仮想ブラウザシステムの動作]
次に、上述したように構成された仮想ブラウザシステムの動作について、フローチャートなどを参照しながら説明する。本仮想ブラウザシステムでは、(1)仮想ブラウザサーバ1により提供される仮想ブラウザサービスを開始するためのサービス開始処理、(2)仮想ブラウザサーバ1を介して接続されるウェブサイト3を登録するためのサイト登録処理、(3)仮想ブラウザサーバ1を介してウェブサイト3にアクセスするためのサイトアクセス処理、(4)ウェブサイト3におけるログインがエラーとなった場合に実行されるログインエラー時処理、(5)緊急時に緊急鍵を使用するための緊急鍵使用処理、及び(6)各ウェブサイト3に対するアクセスの状況を分析するためのアクセス分析処理の各処理が行われる。以下、これらの処理の詳細について説明する。
【0035】
(1)サービス開始処理
図2は、仮想ブラウザサーバ1及びユーザ端末2によって実行されるサービス開始処理の手順を示すフローチャートである。なお、このサービス開始処理に先立って、ユーザUは、仮想ブラウザサーバ1を運営するサービス提供者側から、ユーザID及び初回時のみに使用される初回パスワードを取得しているものとする。
【0036】
仮想ブラウザサーバ1により提供される仮想ブラウザサービスの開始を希望するユーザUは、ユーザ端末2の生体認証部24による生体認証によってユーザ端末2のロックを解除した後、仮想ブラウザアプリ21の実行をユーザ端末2に指示する。ユーザUからの上記指示を受け付けたユーザ端末2は、仮想ブラウザアプリ21を起動する(S101)。ユーザ端末2におけるこれ以降の処理は、仮想ブラウザアプリ21により実現される。
【0037】
ユーザ端末2は、ユーザUからの指示に基づき、サービス開始要求を仮想ブラウザサーバ1に対して送信する(S102)。このサービス開始要求には、ユーザID及び初回パスワードが含まれている。
【0038】
仮想ブラウザサーバ1は、ユーザ端末2から送信されたサービス開始要求を受信すると(S201)、そのサービス開始要求に含まれるユーザID及び初回パスワードを用いてユーザ認証を実行する(S202)。ここで、ユーザ認証に失敗した場合、仮想ブラウザサーバ1は、その旨を示すエラー情報をユーザ端末2に送信し、処理を終了させる。以下、ユーザ認証に成功したものとして説明を続ける。
【0039】
仮想ブラウザサーバ1は、ユーザ端末2に対して設定される公開鍵・秘密鍵・緊急鍵の3つの暗号鍵を生成する(S203)。公開鍵及び秘密鍵はペアとなる暗号鍵であって、その公開鍵により暗号化されたデータは当該秘密鍵によって復号することができる。また、緊急鍵は、後述のとおり緊急時に使用される暗号鍵である。
【0040】
仮想ブラウザサーバ1は、生成した秘密鍵をユーザ端末2に対して送信する(S204)。ユーザ端末2は、この秘密鍵を受信し(S103)、記憶装置に保存する(S104)。後述するように、この秘密鍵は、ユーザ端末2が各ウェブサイト3にアクセスする際に用いられる。
【0041】
また、仮想ブラウザサーバ1は、生成した緊急鍵で秘密鍵を暗号化し(S205)、その暗号化された秘密鍵を秘密鍵DB12に保存する(S206)。その後、仮想ブラウザサーバ1は、緊急鍵を消去し(S207)、処理が終了する。
【0042】
なお、上述したとおり、上記の緊急鍵は紙媒体100に印字され、封印された上でユーザUに対して発送される。これを受け取ったユーザUは、緊急時が発生するまで緊急鍵の封印を解かずに紙媒体100を保管しておく。仮想ブラウザサーバ1では緊急鍵が消去されているため、この緊急鍵を知り得るのは紙媒体100を受け取ったユーザUのみである。
【0043】
(2)サイト登録処理
上記のサービス開始処理を実行がされた後、ユーザUは、仮想ブラウザサーバ1を介してアクセスすることを希望するウェブサイトの登録を行う。
図3は、仮想ブラウザサーバ1及びユーザ端末2によって実行されるサイト登録処理の手順を示すフローチャートである。ユーザUはまず、ユーザ端末2の生体認証部24による生体認証によってユーザ端末2のロックを解除した後、仮想ブラウザアプリ21の実行をユーザ端末2に指示する。この指示を受け付けたユーザ端末2は、仮想ブラウザアプリ21を起動する(S301)。
【0044】
次に、ユーザ端末2は、ユーザUからの指示に基づき、仮想ブラウザサーバ1を介してアクセスすることを希望する一又は複数のウェブサイト3を登録するためのサイト登録要求を仮想ブラウザサーバ1に対して送信する(S302)。このサイト登録要求には、各ウェブサイト3を識別するための識別情報(例えばURLなど)と、そのウェブサイト3をユーザUが利用するために必要となるユーザID及びパスワードとが少なくとも含まれている。
【0045】
仮想ブラウザサーバ1は、サイト登録要求をユーザ端末から受信すると(S401)、そのサイト登録要求に含まれている情報を用いて、当該ウェブサイト3にログインする(S402)。なお、複数のウェブサイト3に係る情報がサイト登録要求に含まれている場合、それらすべてのウェブサイト3に対してログインが試みられる。ここで、すべてのウェブサイト3からログインを拒否された場合、仮想ブラウザサーバ1は、その旨を示すエラー情報をユーザ端末2に送信し、処理を終了させる。以下、少なくとも1つのウェブサイト3についてはログインが成功したものとして説明を続ける。
【0046】
ユーザ端末2によって提供されたサイト登録要求に基づいてログインができたことを確認した仮想ブラウザサーバ1は、ログインに利用したパスワードを、上記のサービス開始処理において生成した公開鍵で暗号化し(S403)、その暗号化されたパスワードをパスワードDB11に保存する(S404)。このとき、当該パスワードは、ユーザUのユーザID及びウェブサイト3の識別情報と紐付けられて保存される。
【0047】
次に、仮想ブラウザサーバ1は、ウェブサイト3の登録が完了したことを示すサイト登録完了情報をユーザ端末2に対して送信する(S405)。ユーザ端末2がこれを受信することにより(S303)、ユーザUは、サイト登録がなされたことを確認することができる。
【0048】
(3)サイトアクセス処理
上記のサイト登録処理が完了した後、ユーザUは、ユーザ端末2で実行される仮想ブラウザアプリ21を用いて、仮想ブラウザサーバ1に登録済みのウェブサイト3に対してアクセスする。以下のサイトアクセス処理は、このときに実行される処理である。
【0049】
図4は、仮想ブラウザサーバ1及びユーザ端末2によって実行されるサイトアクセス処理の手順を示すフローチャートである。ユーザUはまず、ユーザ端末2の生体認証部24による生体認証によってユーザ端末2のロックを解除した後、仮想ブラウザアプリ21の実行をユーザ端末2に指示する。この指示を受け付けたユーザ端末2は、仮想ブラウザアプリ21を起動する(S501)。
【0050】
次に、ユーザ端末2は、仮想ブラウザサーバ1に登録済みのウェブサイトを示すサイト一覧画面を表示部22に表示する(S502)。
図5は、そのサイト一覧画面の一例を示す図である。
【0051】
図5に示すように、ユーザ端末2の表示部22に表示されるサイト一覧画面には、仮想ブラウザサーバ1においてユーザUについて登録済みの各ウェブサイト3のサイト名を示す領域201がそれぞれ設けられている。ユーザUは、これらのウェブサイト3の中から、アクセスを希望するウェブサイト3を選び、そのウェブサイト3のサイト名を示す領域201をタッチする。
【0052】
ユーザ端末2は、ユーザUによってタッチされた領域201に示されたウェブサイト3へのアクセス要求を仮想ブラウザサーバ1に対して送信する(S503)。仮想ブラウザサーバ1は、このアクセス要求を受信すると(S601)、ユーザ端末2におけるユーザUの生体認証の実行履歴に基づいてユーザ端末2の不正使用のおそれの有無を判定する不正使用判定処理を実行する(S602)。
【0053】
図6は、仮想ブラウザサーバ1によって実行される不正使用判定処理の手順を示すフローチャートである。仮想ブラウザサーバ1は、当該ユーザ端末2に係る認証履歴を認証履歴DB14から抽出し(S701)、ユーザ端末2において直近で生体認証がなされた日時が現在時刻から所定期間内であるか否かによって、ユーザ端末2の不正使用のおそれの有無を判定する(S702)。例えば、この期間が1時間と定められている場合、ユーザ端末2において直近で生体認証がなされた日時が現在時刻から1時間以内であれば不正使用のおそれなしと判定され、1時間を超えている場合は不正使用のおそれ有りと判定される。
【0054】
ステップS702にて不正使用のおそれ有りと判定した場合(S702でYES)、仮想ブラウザサーバ1は、ウェブサイト3に対するアクセスができないことを示すアクセス不可情報をユーザ端末2に対して送信し(S703)、処理を終了させる。この場合、ユーザ端末2は、ユーザUによる指示にしたがって生体認証部24による生体認証を実行した後、上記のステップS502に戻り、以降の処理を実行する。
【0055】
他方、ステップS702にて不正使用のおそれなしと判定した場合(S702でNO)、仮想ブラウザサーバ1は、アクセス要求先のウェブサイト3に対するパスワードをパスワードDB11から抽出する(S603)。上述したように、このパスワードは暗号化されている。
【0056】
仮想ブラウザサーバ1は、抽出したパスワードをユーザ端末2に対して送信する(S604)。ユーザ端末2は、パスワードを受信すると(S504)、仮想ブラウザサーバ1から事前に取得して保存している秘密鍵を用いてそのパスワードを復号し(S505)、復号された平文の状態のパスワードを仮想ブラウザサーバ1に対して送信する(S506)。
【0057】
仮想ブラウザサーバ1は、平文の状態のパスワードをユーザ端末2から受信すると(S605)、そのパスワードと、パスワードDB11に記憶されているユーザUのユーザIDとを用いて、アクセス要求先のウェブサイト3に対してログインし、当該ウェブサイト3へのアクセスを実行する(S606)。これにより、ユーザ端末2は、仮想ブラウザサーバ1を介して、当該ウェブサイト3にアクセスすることができる(S507)。ユーザ端末2とウェブサイト3との間のデータの送受信は、仮想ブラウザサーバ1を介して行われる。
【0058】
このように、本実施の形態によれば、ユーザUは各ウェブサイト3に対してパスワードを都度入力しなくてもウェブサイト3にアクセスすることができる。このときのパスワードは、仮想ブラウザサーバ1において暗号化されて記憶されているため、セキュリティが担保されている。仮にこのパスワードの漏洩が生じたとしても、当該パスワードを復号するためには秘密鍵を有していなければならないため、問題が生じることはない。
【0059】
なお、本実施の形態の場合、ユーザ端末2においてユーザUの生体認証が成功した場合にのみ、仮想ブラウザサーバ1を介したウェブサイト3へのアクセスが可能になる。そのため、ユーザU以外の者が仮想ブラウザアプリ21を用いてウェブサイト3にアクセスすることを防止することができる。さらに、仮想ブラウザサーバ1において上記の不正使用判定処理(S602)が行われることによって、そのような不正なアクセスをより一層防止することが可能になる。
【0060】
(4)ログインエラー時処理
上記のサイトアクセス処理において、仮想ブラウザサーバ1が復号されたパスワードを用いてウェブサイト3にログインを試みたときに、当該ウェブサイト3にログインが拒否される場合がありえる。以下のログインエラー時処理は、そのような場合に仮想ブラウザサーバ1にて実行される処理である。
【0061】
図7は、仮想ブラウザサーバ1によって実行されるログインエラー時処理の手順を示すフローチャートである。ウェブサイトによっては、セキュリティを確保するために、定期的なパスワードの変更が要求されることがある。そのようなウェブサイトでは、正しいパスワードが入力されたとしても、そのパスワードを変更しなければログインが拒否される(又はログインはできるもののその後のアクセスが拒否される)場合がある。仮想ブラウザサーバ1は、ウェブサイト3によってログインが拒否された場合(又はログイン後のアクセスが拒否された場合)、そのときにウェブサイト3から受信した情報に基づいて、上記のようなパスワードの変更要求がなされたか否かを判定する(S801)。この判定は、ウェブサイト3から受信した情報に「パスワード」及び「変更」等の文字列が含まれるか否かなどにより行われる。
【0062】
ステップS801においてパスワードの変更要求はなされていないと判定した場合(S801でNO)、仮想ブラウザサーバ1は、パスワードの変更要求以外の理由でログインが拒否されたためにアクセスができないことを示すアクセス不可情報をユーザ端末2に対して送信する(S802)。この場合、ユーザ端末2から当該ウェブサイト3にアクセスするためには、ユーザU側での対応が必要となる。
【0063】
他方、ステップS801においてパスワードの変更要求がなされたと判定した場合(S801でYES)、仮想ブラウザサーバ1は、そのウェブサイト3に係るパスワードの変更手順情報を変更手順DB15から抽出し(S803)、その変更手順情報に基づいてパスワード変更処理を実行する(S804)。この場合、仮想ブラウザサーバ1は、例えば、現在のパスワードと同一の文字数の文字列を生成し、これを新たなパスワードとしてウェブサイト3に対して入力することなどにより、パスワードの変更を行う。
【0064】
次に、仮想ブラウザサーバ1は、変更後のパスワードを用いてウェブサイト3にログインしてアクセスする(S805)。このとき、上記のサイトアクセス処理の場合と同様、ユーザ端末2は、仮想ブラウザサーバ1を介して当該ウェブサイト3にアクセスすることが可能になる。
【0065】
次に、仮想ブラウザサーバ1は、公開鍵を用いて変更後のパスワードを暗号化し(S806)、その暗号化されたパスワードをパスワードDB11に保存する(S807)。その後、仮想ブラウザサーバ1は、パスワードの変更が行われたことを示すパスワード変更情報をユーザ端末2に対して送信する(S808)。なお、変更後のパスワードは暗号化された上で仮想ブラウザサーバ1にて保管されているため、ユーザ端末2に対して送信する必要はない。但し、ユーザ端末2に送信されるパスワード変更情報に変更後のパスワードが含まれていても構わない。
【0066】
(5)緊急鍵使用処理
上記のようにして、本実施の形態では、ユーザ端末2が正常に使用されている限り、ユーザUが各ウェブサイト3のパスワードを管理しなくても当該ウェブサイト3に安全にアクセスすることができる。しかしながら、ユーザ端末2の故障又は紛失などの事態が発生した場合、ユーザ端末2を使用することができないため、パスワードを管理していないユーザUはウェブサイト3にアクセスすることができなくなってしまう。以下の緊急鍵使用処理は、このようにユーザ端末2の使用が不可となった緊急時に実行される処理である。
【0067】
図8は、仮想ブラウザサーバ1及びユーザ端末2’によって実行される緊急鍵使用処理の手順を示すフローチャートである。この緊急鍵使用処理では、使用不可となったユーザ端末2とは異なるユーザ端末2’が用いられる。このユーザ端末2’は、ユーザ端末2と同様の構成を有しているものとする。また、ユーザ端末2’には、仮想ブラウザアプリ21がインストールされているものとする。
【0068】
ユーザUはまず、ユーザ端末2’の生体認証機能によってユーザ端末2’のロックを解除した後、仮想ブラウザアプリ21の実行をユーザ端末2’に指示する。この指示を受け付けたユーザ端末2’は、仮想ブラウザアプリ21を起動する(S901)。
【0069】
次に、ユーザUは、保管している紙媒体100における緊急鍵の封印を解いて、その緊急鍵とユーザIDとを仮想ブラウザアプリ21に対して入力する。ユーザ端末2’は、この入力を受け付けると(S902)、そのユーザID及び緊急鍵を仮想ブラウザサーバ1に対して送信する(S903)。
【0070】
仮想ブラウザサーバ1は、ユーザ端末2’からユーザID及び緊急鍵を受信すると(S1001)、秘密鍵DB12から当該ユーザIDと紐付けられている緊急鍵を抽出し(S1002)、その秘密鍵を、受信した緊急鍵を用いて復号する(S1003)。
【0071】
次に、仮想ブラウザサーバ1は、このユーザIDと紐付けられている一又は複数のパスワードをパスワードDB11から抽出し(S1004)、当該パスワードを、ステップS1003にて復号された秘密鍵を用いて復号する(S1005)。これにより、ユーザUによって仮想ブラウザサーバ1に登録されているパスワードが平文の状態となる。
【0072】
次に、仮想ブラウザサーバ1は、ユーザ端末2’に対して設定される公開鍵・秘密鍵・緊急鍵の3つの暗号鍵を生成し(S1006)、その公開鍵を用いて、平文となっている上記のパスワードを暗号化し(S1007)、パスワードDB11に保存する(S1008)。
【0073】
その後、仮想ブラウザサーバ1は、生成した秘密鍵をユーザ端末2’に対して送信する(S1009)。ユーザ端末2’は、この秘密鍵を受信し(S904)、記憶装置に保存する(S905)。
【0074】
また、仮想ブラウザサーバ1は、生成した緊急鍵で秘密鍵を暗号化し(S1010)、その暗号化された秘密鍵を秘密鍵DB12に保存する(S1011)。その後、仮想ブラウザサーバ1は、緊急鍵を消去し(S1012)、処理が終了する。なお、緊急鍵は、上記と同様、紙媒体100に印字され、封印された上でユーザUに対して発送される。
【0075】
この緊急鍵使用処理を経た後、サイトアクセス処理と同様の処理が実行されることによって、ユーザUは、仮想ブラウザサーバ1を介して、ユーザ端末2’から各ウェブサイト3へのアクセスを実現させることができる。このように、緊急鍵を用いることにより、ユーザ端末2が使用不可となった場合であっても、ユーザUは、別のユーザ端末にて仮想ブラウザサーバ1による仮想ブラウザサービスを享受することができる。
【0076】
(6)アクセス分析処理
仮想ブラウザサーバ1に対して登録されたウェブサイトのうち、長期にわたってアクセスしていないようなものがある場合、そのウェブサイトについてのユーザIDはいわゆる休眠IDに相当することになる。休眠IDは、セキュリティ上の問題が生じるおそれがあるため、削除するなどの対応を行うことが好ましい。以下のアクセス分析処理では、そのような休眠IDの有無を検出するために、ウェブサイトのアクセス履歴を分析する処理である。
【0077】
図9は、仮想ブラウザサーバ1によって実行されるアクセス分析処理の手順を示すフローチャートである。仮想ブラウザサーバ1は、各ユーザUについて、アクセス履歴DB13からアクセス履歴情報を抽出し(S1101)、長期間にわたってアクセスが行われていないウェブサイトである非アクセスサイトを特定する(S1102)。例えば、6か月間アクセスが行われていないウェブサイトなどが非アクセスサイトとして特定される。
【0078】
次に、仮想ブラウザサーバ1は、特定した非アクセスサイトのサイト名を含む非アクセス情報を、ユーザUについて予め取得している電子メールアドレス宛に送信する(S1103)。これにより、ユーザUは、非アクセスサイトが存在していること、その非アクセスサイトについてのユーザID(休眠ID)を削除すべきであることなどを知ることができる。なお、仮想ブラウザサーバ1がこの休眠IDを削除した上で、そのことを示す情報をユーザUに対して通知するようにしてもよい。
【0079】
(その他の実施の形態)
上記の実施の形態では、ユーザ端末2において各ウェブサイト3に対するパスワードが表示されることはないが、仮想ブラウザアプリ21以外のアプリなどを用いて当該ウェブサイト3にアクセスするような場合、そのパスワードを画面上で確認することができると便宜である。そのため、仮想ブラウザアプリ21を実行中のユーザ端末2において、仮想ブラウザサーバ1から暗号化されたパスワードを受信した場合に、保存済みの秘密鍵を用いてそのパスワードを復号した後、復号されたパスワードをユーザ端末2の表示部22に表示するようにしてもよい。
【0080】
上記のようなユーザ端末2におけるパスワードの表示は、セキュリティが低下するおそれがあるため、一定時間にとどめることが好ましい。また、その一定時間が経過した後、ユーザUは、当該パスワードを別のパスワードに変更することが好ましい。その場合、上記の実施の形態のサイト登録処理と同様の処理が実行されることにより、仮想ブラウザサーバ1に変更後のパスワードが登録される。
【0081】
また、上記の実施の形態では、生体認証を行うことによってセキュリティを担保しているが、これに加えて、暗証番号・パスワード等の知識による認証を行ったり、マイナンバーカードなどの非接触のカードにより物による認証を行ったりしてもよい。また、ユーザ端末2において認証が複数回失敗したような場合には仮想ブラウザサーバ1によるサービスの提供を停止するようにしてもよい。
【0082】
また、上記の実施の形態では、ユーザ端末2によるユーザUの生体認証が実行されるが、これに限定されるわけではなく、生体認証が実行されなくてもよく、生体認証に代わる認証が実行されてもよい。さらに、上述した認証履歴を用いた不正使用判定処理が実行されてもされなくてもよい。
【0083】
なお、ユーザ端末2がスマートフォンのように機種変更可能な端末である場合、いわゆる引き継ぎコードを設定し、その引き継ぎコードを用いて、機種変更後のユーザ端末に秘密鍵を引き継ぐようにしてもよい。ユーザ端末2が、引き継ぎ又は端末の増設などが可能な端末である場合も同様である。
【0084】
なお、上記の実施の形態では、仮想ブラウザサーバ1が1台のコンピュータによって構成されているが、これに限定されるわけではなく、仮想ブラウザサーバ1が複数のコンピュータによる分散システムによって構成されていてもよい。
【符号の説明】
【0085】
1 仮想ブラウザサーバ
11 パスワードデータベース
12 秘密鍵データベース
13 アクセス履歴データベース
14 認証履歴データベース
15 変更手順データベース
2 ユーザ端末
21 仮想ブラウザアプリ
22 表示部
23 入力部
24 生体認証部
3 ウェブサイト
100 紙媒体
101 インターネット