(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-16
(45)【発行日】2023-01-24
(54)【発明の名称】ブラウザのウェブストレージを利用した簡易認証方法及びシステム
(51)【国際特許分類】
H04L 9/08 20060101AFI20230117BHJP
H04L 9/32 20060101ALI20230117BHJP
G06F 21/31 20130101ALI20230117BHJP
G06F 21/60 20130101ALI20230117BHJP
【FI】
H04L9/08 B
H04L9/32 100A
H04L9/32 200B
G06F21/31
G06F21/60 320
G06F21/60 360
(21)【出願番号】P 2021540594
(86)(22)【出願日】2020-09-14
(86)【国際出願番号】 KR2020012396
(87)【国際公開番号】W WO2021071116
(87)【国際公開日】2021-04-15
【審査請求日】2021-07-13
(31)【優先権主張番号】10-2019-0125975
(32)【優先日】2019-10-11
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0125976
(32)【優先日】2019-10-11
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2019-0125977
(32)【優先日】2019-10-11
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521268174
【氏名又は名称】エスダブリュー エンパイア カンパニー リミテッド
【氏名又は名称原語表記】SWEMPIRE CO., LTD.
【住所又は居所原語表記】701, 9, Yonghyeon-ro, Deogyang-gu, Goyang-si, Gyeonggi-do 10526, Republic of Korea
(74)【代理人】
【識別番号】100121382
【氏名又は名称】山下 託嗣
(72)【発明者】
【氏名】チェ,ミョン ス
(72)【発明者】
【氏名】ピ,スン リョル
【審査官】行田 悦資
(56)【参考文献】
【文献】特開平10-215284(JP,A)
【文献】特開2012-033145(JP,A)
【文献】特開2011-048782(JP,A)
【文献】特許第5801015(JP,B1)
【文献】特許第6494004(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/08
H04L 9/32
G06F 21/31
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
ブラウザのウェブストレージを利用した簡易認証方法において、
サーバが、認証要請によって、1回限りでセッション及び前記セッションに対応するセッション鍵を生成し、端末から受信したユーザ鍵に基づいて、認証トークン、公開鍵及び秘密鍵を生成して前記セッションに格納し、前記セッション鍵、前記認証トークン及び前記公開鍵を前記端末に伝送する段階と、
前記端末が、受信した公開鍵を用いて、ユーザが入力したPIN番号データを暗号化して、受信したセッション鍵と共に前記サーバに伝送する段階と、
前記サーバが、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、受信した暗号化されたPIN番号データを復号化し、復号化されたPIN番号データが
前記サーバに事前に格納されたPIN番号データとマッチするかを確認して1次認証を行う段階と、
前記1次認証の結果、マッチする場合、前記端末が、受信した公開鍵を用いて受信した認証トークンを暗号化して、受信したセッション鍵と共に前記サーバに伝送する段階と、
前記サーバが、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、受信した暗号化された認証トークンが前記セッションに格納された認証トークンとマッチするかを確認して2次認証を行う段階と、
前記サーバが、前記2次認証を完了すると、前記セッション及び前記セッション鍵を削除する段階とを含み、
前記ユーザ鍵及び前記PIN番号データは、前記ウェブストレージに格納されて機器又はブラウザ毎に異なるように設定され、
前記認証トークン、公開鍵、秘密鍵、セッション及びセッション鍵は、認証が要請される度に1回限りで生成される、
方法。
【請求項2】
前記ユーザ鍵は、暗号化アルゴリズムにより暗号化され、
PIN番号は、ハッシュ暗号化されて前記ウェブストレージに格納されることを特徴とする請求項1に記載の方法。
【請求項3】
前記公開鍵を端末に伝送する段階は、
前記端末が、前記ウェブストレージに前記ユーザ鍵が格納されているかを判断する段階と、
前記ユーザ鍵が格納されていない場合、前記ユーザからPIN番号の登録を受ける段階と、
を更に含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記サーバは、前記1次認証の結果、マッチしない場合、認証試行回数を更新し、前記認証試行回数が所定値以上であれば、前記サーバに事前に格納されたPIN番号データを削除することを特徴とする請求項1に記載の方法。
【請求項5】
ウェブストレージを利用した簡易認証システムにおいて、
認証要請によって1回限りでセッション及び前記セッションに対応するセッション鍵を生成し、端末から受信したユーザ鍵に基づいて認証トークン、公開鍵及び秘密鍵を生成して前記セッションに格納し、前記セッション鍵、前記認証トークン及び前記公開鍵を前記端末に伝送し、前記端末から暗号化されたPIN番号データとセッション鍵を受信すると、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、暗号化されたPIN番号データを復号化し、復号化されたPIN番号データが
サーバに事前に格納されたPIN番号データとマッチするかを確認して1次認証を行い、前記端末から暗号化された認証トークンとセッション鍵を受信すると、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、受信した暗号化された認証トークンが前記セッションに格納された認証トークンとマッチするかを確認して2次認証を行い、前記2次認証が完了すると、前記セッション及び前記セッション鍵を削除する、サーバと、
前記サーバに、前記ユーザ鍵に基づいて公開鍵の発行を要請し、前記サーバから受信した前記公開鍵を用いて、前記ユーザが入力したPIN番号データを暗号化して受信したセッション鍵と共に前記サーバに伝送し、前記1次認証の結果、マッチする場合、受信した公開鍵を用いて、受信した認証トークンを暗号化して、受信したセッション鍵と共に前記サーバに伝送する、端末とを含み、
前記ユーザ鍵及び前記PIN番号データは、前記ウェブストレージに格納されて機器又はブラウザ毎に異なるように設定され、
前記認証トークン、公開鍵、秘密鍵、セッション及びセッション鍵は、認証が要請される度に1回限りで生成される、
システム。
【請求項6】
前記サーバは、前記1次認証の結果、マッチしない場合、認証試行回数を更新し、前記認証試行回数が所定値以上であれば、前記サーバに事前に格納されたPIN番号データを削除することを特徴とする請求項5に記載のシステム。
【請求項7】
記録媒体に格納され、請求項1に記載の方法をハードウェアであるコンピュータに実行させるための簡易認証プログラム。
【請求項8】
前記ウェブストレージは、ブロックチェーン基盤のブラウザのウェブストレージを含み、
前記公開鍵は、前記ブロックチェーンに格納されて変造又は偽造されたかを検証するために用いられることを特徴とする請求項1に記載の方法。
【請求項9】
前記サーバが、生成された公開鍵及び秘密鍵から、係数(modulus)、秘密指数(private exponent)及び公開指数(public exponent)を抽出する段階と、
前記秘密指数を前記端末に格納し、前記係数及び前記公開指数をブロックチェーンに格納する段階と、
簡易認証時に、前記端末に格納された秘密指数と前記ブロックチェーンに格納された係数を受信して前記端末で生成された秘密鍵、及び、前記サーバで前記ブロックチェーンに格納された公開指数と係数を受信して生成された公開鍵を用いて簡易認証を行う段階とを更に含み、
前記簡易認証を行う段階で生成される秘密鍵及び公開鍵は、簡易認証要請の受信時に生成される1回限りの鍵であって、それぞれ暗号化又は復号化に1回用いられた後に廃棄されることを特徴とする請求項1に記載の方法。
【請求項10】
前記簡易認証を行う段階は、
前記ブロックチェーンで簡易認証要請によって前記端末に前記係数を伝送する段階と、
前記端末が、前記係数及び前記格納された秘密指数を用いて、前記秘密鍵を生成する段階と、
前記端末が、生成された秘密鍵を用いて、データを暗号化及び電子署名を行う段階と、
前記端末が、暗号化されたデータ及び電子署名を前記サーバに伝送する段階と、
前記端末が、前記秘密鍵を廃棄する段階と、
を更に含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記簡易認証を行う段階は、
前記ブロックチェーンで簡易認証要請によって前記サーバに前記係数及び前記公開指数を伝送する段階と、
前記サーバが、前記係数及び前記公開指数を用いて、前記公開鍵を生成する段階と、
前記サーバが、前記生成された公開鍵を用いて前記端末から受信した暗号化されたデータを復号化し、前記電子署名を用いて検証を行う段階と、
前記サーバが、前記公開鍵を廃棄する段階と、
を更に含むことを特徴とする請求項10に記載の方法。
【請求項12】
前記公開指数は、16進数に変換されてコンパイルされることを特徴とする請求項9に記載の方法。
【請求項13】
前記公開鍵は、ユーザ識別データと連係してRSA方式で生成されることを特徴とする請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブラウザのウェブストレージを利用した簡易認証方法及びシステムに関し、より具体的には、ウェブストレージに格納された簡易認証データを用いて使用機器及びブラウザ別の1回限りの公開鍵及び秘密鍵を発行し、発行された公開鍵及び秘密鍵を用いて簡易認証を行う方法及びシステムに関する。
【背景技術】
【0002】
インターネットサービスの発達に伴い、殆どの人はインターネットを介して政府機関、教育機関、医療機関、通信事業者、金融機関、旅客会社、資産管理、信用情報、ポータル、ソーシャルネットワークサービス(Social Network Service:SNS)、ゲーム、ショッピング、発券、宅配、電子投票などの数多くのオンラインサービスを利用する。
【0003】
従って、このようなサービスを利用しようとするユーザは、自身の実名などを含む個人情報を入力して会員登録を行うか、特定のIDとパスワードを入力して登録されているユーザであることを認証しなければならない。ところが、多数のサイト毎にこのような認証手順を繰り返すことは非常に煩雑であるため、近年は、より容易にログイン可能にすることで、インターネット上で金融取引を簡単に行えるようにする簡易認証という方法が発展しつつある。
【0004】
一方、従来は、このようなユーザを認証する方法に主に用いられた方式は、対称鍵を利用する方法であった。しかし、このような対称鍵方式は、1つのシークレットキーをサーバと端末の両方で共に使用するため、ハッカーから守れないという問題があった。
【0005】
一方、このような問題を解決するために、公開鍵(Public Key)と秘密鍵(Private Key)の組み合わせを用いてデータを暗号化し、認証を行う方法に発展した。
【0006】
しかし、従来のユーザ認証のための公開鍵(Public Key)と秘密鍵(Private Key)を使用する上で、ブラウザの保存場所(local storage)では依然として平文保存方式が用いられており、セキュリティの問題が多かった。もちろん、セキュリティ対策として暗号化方式を取ってはいるものの、このような方法も依然として個人情報の漏洩やセキュリティの問題がある。従って、このような問題解決のために公開鍵(Public Key)と秘密鍵(Private Key)の安全な保管及びその使用方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記事情に鑑みてなされたものであって、その目的は、ウェブストレージを利用した簡易認証方法及びシステムにおいて、ウェブストレージに格納された簡易認証データを用いて使用機器及びブラウザ別の1回限りの公開鍵を発行し、発行された公開鍵を用いて簡易認証を行って個人情報の保護とセキュリティを強化することにある。
【0008】
また、生成された秘密鍵をサーバのセッションに格納し、格納されたセッションに対するセッション鍵及び公開鍵を端末に伝送する方式を取ることによって、2次認証を行うようにすることにある。
【0009】
更に、サーバに格納される公開鍵をブロックチェーンに格納して公開鍵の偽造防止、及び、認証ログデータをブロックチェーンに格納して、認証に対する否認防止及び無欠性を確保することにある。
【0010】
本発明が解決しようとする課題は、上記で言及された課題に限らず、言及されていない更に他の課題は、以下の記載から通常の技術者が明確に理解できるだろう。
【課題を解決するための手段】
【0011】
上述した課題を解決するための本発明の一側面に係るブラウザのウェブストレージを利用した簡易認証方法は、サーバが、認証要請によって、1回限りでセッション及び前記セッションに対応するセッション鍵を生成し、端末から受信したユーザ鍵に基づいて、認証トークン、公開鍵及び秘密鍵を生成して前記セッションに格納し、前記セッション鍵、前記認証トークン及び前記公開鍵を前記端末に伝送する段階と、前記端末が、受信した公開鍵を用いて、ユーザが入力したPIN番号データを暗号化して、受信したセッション鍵と共に前記サーバに伝送する段階と、前記サーバが、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、受信した暗号化されたPIN番号データを復号化し、復号化されたPIN番号データがサーバに事前に格納されたPIN番号データとマッチするかを確認して1次認証を行う段階と、前記1次認証の結果、マッチする場合、前記端末が、受信した公開鍵を用いて受信した認証トークンを暗号化して、受信したセッション鍵と共に前記サーバに伝送する段階と、前記サーバが、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、受信した暗号化された認証トークンが前記セッションに格納された認証トークンとマッチするかを確認して2次認証を行う段階と、前記サーバが、前記2次認証を完了すると、前記セッション及び前記セッション鍵を削除する段階とを含み、前記ユーザ鍵及び前記PIN番号データは、前記ウェブストレージに格納されて機器又はブラウザ毎に異なるように設定され、前記認証トークン、公開鍵、秘密鍵、セッション及びセッション鍵は、認証が要請される度に1回限りで生成できる。
【0012】
また、前記ユーザ鍵は、暗号化アルゴリズムにより暗号化され、PIN番号は、ハッシュ暗号化されて前記ウェブストレージに格納できる。
【0013】
更に、前記公開鍵を端末に伝送する段階は、前記端末が、前記ウェブストレージに前記ユーザ鍵が格納されているかを判断する段階と、前記ユーザ鍵が格納されていない場合、前記ユーザからPIN番号の登録を受ける段階とを更に含むことができる。
【0014】
また、前記サーバは、前記1次認証の結果、マッチしない場合、認証試行回数を更新し、前記認証試行回数が所定値以上であれば、前記サーバに事前に格納されたPIN番号データを削除できる。
【0015】
上述した課題を解決するための本発明の他の側面に係るウェブストレージを利用した簡易認証システムは、認証要請によって1回限りでセッション及び前記セッションに対応するセッション鍵を生成し、端末から受信したユーザ鍵に基づいて認証トークン、公開鍵及び秘密鍵を生成して前記セッションに格納し、前記セッション鍵、前記認証トークン及び前記公開鍵を前記端末に伝送し、前記端末から暗号化されたPIN番号データとセッション鍵を受信すると、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、暗号化されたPIN番号データを復号化し、復号化されたPIN番号データがサーバに事前に格納されたPIN番号データとマッチするかを確認して1次認証を行い、前記端末から暗号化された認証トークンとセッション鍵を受信すると、受信したセッション鍵に対応するセッションに格納された秘密鍵を用いて、受信した暗号化された認証トークンが前記セッションに格納された認証トークンとマッチするかを確認して2次認証を行い、前記2次認証が完了すると、前記セッション及び前記セッション鍵を削除するサーバと、前記サーバに、前記ユーザ鍵に基づいて公開鍵の発行を要請し、前記サーバから受信した前記公開鍵を用いて、前記ユーザが入力したPIN番号データを暗号化して受信したセッション鍵と共に前記サーバに伝送し、前記1次認証の結果、マッチする場合、受信した公開鍵を用いて、受信した認証トークンを暗号化して、受信したセッション鍵と共に前記サーバに伝送する、端末とを含み、前記ユーザ鍵及び前記PIN番号データは、前記ウェブストレージに格納されて機器又はブラウザ毎に異なるように設定され、前記認証トークン、公開鍵、秘密鍵、セッション及びセッション鍵は、認証が要請される度に1回限りで生成できる。
【0016】
また、前記サーバは、前記1次認証の結果、マッチしない場合、認証試行回数を更新し、前記認証試行回数が所定値以上であれば、前記サーバに事前に格納されたPIN番号データを削除できる。
【0017】
上述した課題を解決するための本発明のさらに他の側面に係る簡易認証プログラムは、上記の方法をハードウェアであるコンピュータに実行させることができる。
【0018】
また、前記ウェブストレージは、ブロックチェーン基盤のブラウザのウェブストレージを含み、前記公開鍵は、前記ブロックチェーンに格納されて変造又は偽造されたかを検証するために用いることができる。
【0019】
更に、前記サーバが、生成された公開鍵及び秘密鍵から、係数(modulus)、秘密指数(private exponent)及び公開指数(public exponent)を抽出する段階と、前記秘密指数を前記端末に格納し、前記係数及び前記公開指数をブロックチェーンに格納する段階と、簡易認証時に、前記端末に格納された秘密指数と前記ブロックチェーンに格納された係数を受信して前記端末で生成された秘密鍵、及び、前記サーバで前記ブロックチェーンに格納された公開指数と係数を受信して生成された公開鍵を用いて簡易認証を行う段階とを更に含み、前記簡易認証を行う段階で生成される秘密鍵及び公開鍵は、簡易認証要請の受信時に生成される1回限りの鍵であって、それぞれ暗号化又は復号化に1回用いられた後に廃棄できる。
【0020】
また、前記簡易認証を行う段階は、前記ブロックチェーンで簡易認証要請によって前記端末に前記係数を伝送する段階と、前記端末が、前記係数及び前記格納された秘密指数を用いて、前記秘密鍵を生成する段階と、前記端末が、生成された秘密鍵を用いて、データを暗号化及び電子署名を行う段階と、前記端末が、暗号化されたデータ及び電子署名を前記サーバに伝送する段階と、前記端末が、前記秘密鍵を廃棄する段階と、を更に含むことができる。
【0021】
前記簡易認証を行う段階は、前記ブロックチェーンで簡易認証要請によって前記サーバに前記係数及び前記公開指数を伝送する段階と、前記サーバが、前記係数及び前記公開指数を用いて、前記公開鍵を生成する段階と、前記サーバが、前記生成された公開鍵を用いて前記端末から受信した暗号化されたデータを復号化し、前記電子署名を用いて検証を行う段階と、前記サーバが、前記公開鍵を廃棄する段階と、を更に含むことができる。
【0022】
前記公開指数は、16進数に変換されてコンパイルできる。
【0023】
前記公開鍵は、ユーザ識別データと連係してRSA方式で生成できる。
【0024】
本発明のその他の具体的な事項は、詳細な説明及び図面に含まれている。
【発明の効果】
【0025】
本発明は、ウェブストレージに格納された簡易認証データを用いて機器又はブラウザ毎に異なるように秘密鍵を発行して認証を行うことができる。また、認証が要請される度に公開鍵基盤の1回限りの鍵の生成を支援することによって、簡易認証方式においてより強力なセキュリティを提供できるため、公認認証書を代替可能な程度に信頼性が高いと共に、簡便な認証方法を提供できる。
【0026】
本発明の効果は、上記で言及された効果に限らず、言及されていない更に他の効果は、以下の記載から通常の技術者が明確に理解できるだろう。
【図面の簡単な説明】
【0027】
【
図1】本発明に係るブラウザのウェブストレージを利用した簡易認証システムを説明する概念図である。
【
図2】本発明に係るウェブストレージを利用した簡易認証方法を説明する順序図である。
【
図3】本発明によってPIN番号を登録する一例を説明する図である。
【
図4】本発明によってウェブストレージを利用した簡易認証を行う一例を説明する順序図である。
【
図5】本発明によってウェブストレージを利用した簡易認証を行う他の例を説明する順序図である。
【
図6】本発明に係るウェブストレージを利用した簡易認証過程を行うサーバの内部構成を概略的に示すブロック図である。
【
図7】本発明に係るウェブストレージを利用した簡易認証過程を行う端末の内部構成を概略的に示すブロック図である。
【
図8】本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証システムを説明する概念図である。
【
図9】本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証方法を説明する順序図である。
【
図10】本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を行う方法の一例を説明する図である。
【
図11】本発明に係る端末で秘密鍵を生成する一例を説明する順序図である。
【
図12】本発明に係るサーバで公開鍵を生成する一例を説明する順序図である。
【
図13】本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証過程を行うサーバの内部構成を概略的に示すブロック図である。
【
図14】本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証過程を行う端末の内部構成を概略的に示すブロック図である。
【発明を実施するための形態】
【0028】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付の図面と共に詳細に後述されている実施例を参照すれば明確になる。しかし、本発明は、以下で開示される実施例に制限されるものではなく、互いに異なる多様な形態に実現することができる。但し、本実施例は本発明の開示を完全なものにし、本発明が属する技術分野における通常の知識を有する者に本発明の範囲を完全に理解させるために提供されるものであり、本発明は請求項の範囲により定義されるに過ぎない。
【0029】
本明細書で用いられた用語は、実施例を説明するためのものであり、本発明を制限しようとするものではない。本明細書において、単数型は特に言及しない限り複数型も含む。明細書で用いられる「含む(comprises)」及び/又は「含んでいる(comprising)」は、言及された構成要素以外に1つ以上の他の構成要素の存在又は追加を排除しない。明細書全体に亘って同一の図面符号は同一の構成要素を示し、「及び/又は」は言及された構成要素のそれぞれ及び1つ以上の全ての組み合わせを含む。たとえ、「第1」、「第2」などが多様な構成要素を叙述するために用いられていても、これらの構成要素はこれらの用語により制限されないのは当然である。これらの用語は、単に1つの構成要素を他の構成要素と区別するために用いる。従って、以下で言及される第1構成要素は、本発明の技術的思想内で第2構成要素でもあり得るのは言うまでもない。
【0030】
他の定義がなければ、本明細書で用いられる全ての用語(技術及び科学的用語を含む)は、本発明が属する技術分野における通常の技術者が共通して理解できる意味として用いられる。また、一般に用いられる辞典に定義されている用語は、明白に特に定義されていない限り、理想的に又は過度に解釈されない。
【0031】
空間的に相対的な用語である「下(below)」、「真下(beneath)」、「下部(lower)」、「上(above)」、「上部(upper)」などは図示されているように、1つの構成要素と他の構成要素との相関関係を容易に記述するために使用される。空間的に相対的な用語は図示されている方向に加えて使用時又は動作時に構成要素の互いに異なる方向を含む用語として理解されるべきである。例えば、図示されている構成要素をひっくり返す場合、他の構成要素の「下(below)」又は「真下(beneath)」と記述されている構成要素は、他の構成要素の「上(above)」に置くことができる。従って、例示的な用語である「下」は下と上の方向を何れも含むことができる。構成要素は他の方向にも配向でき、これにより空間的に相対的な用語は配向によって解釈できる。
【0032】
以下、添付の図面を参照して本発明の実施例を詳細に説明する。
【0033】
図1は、本発明に係るブラウザのウェブストレージを利用した簡易認証システムを説明する概念図である。
【0034】
図1を参照すれば、本発明に係るブラウザのウェブストレージを利用した簡易認証システムは、サーバ100及び端末200を含むことができる。
【0035】
まず、サーバ100と端末200は、SSL暗号化方式によって全ての通信区間10において終端間(End-to-End)暗号化が可能である。まず、サーバ100は、公開鍵及び秘密鍵を生成してセッションに格納していて、段階101で公開鍵を配布しながら、公開鍵に対応するセッションに対するセッション鍵を端末200に伝送できる。
【0036】
端末200は、段階201で受信したセッション鍵に対して暗号化を行うことができ、段階202で受信した公開鍵を用いて簡易認証データを暗号化する。ここで、簡易認証データは、ユーザ鍵及びPIN番号データを含むことができる。段階101でサーバ100は、受信した認証情報の無欠性(認証情報が完全であるか否か)を検証し、段階102で端末200から暗号化されたデータとセッション鍵を受信すると、セッション鍵に対応する秘密鍵を用いて前記PIN番号データを復号することで、簡易認証を行うことができる。一方、伝達情報が完全であるか否かの検証には、認証トークンを別途利用でき、認証トークンを活用して2段階で簡易認証を行うことによって、セキュリティをより強化できる。
【0037】
段階203で、端末200は、最終的に簡易認証結果に基づいてログインなどの動作を実行できる。
【0038】
他の実施例に係る簡易認証方法で簡易認証のための情報がブロックチェーンに格納され、認証段階で検証されることができる。
【0039】
例えば、簡易認証のための公開鍵情報は、ブロックチェーンに格納できる。簡易認証情報は、公開鍵及び秘密鍵を基に暗号化及び復号化されるが、ユーザが入力したPIN番号を暗号化するための公開鍵が変造/偽造されるケースが発生し得る。従って、このようなケースを防ぐために公開鍵をブロックチェーン方式で格納して信頼性を確保し、サーバ100がなくても端末200で公開鍵を獲得してPIN番号を暗号化できる。
【0040】
更に他の例として、公開鍵を基に暗号化された認証データ(ユーザ鍵及びPIN番号)をブロックチェーンに格納できる。従って、サーバ100又は端末は、ブロックチェーンを基にユーザが入力したPIN番号の認証及び検証を行って変造可能性を低下させることによって、信頼性を向上させることもできる。
【0041】
上述したように、本発明に係るブラウザのウェブストレージを利用した簡易認証システムは、ウェブストレージに格納された簡易認証データを用いて使用機器及びブラウザ毎の1回限りの公開鍵を発行し、発行された公開鍵を用いて簡易認証を行って個人情報の保護とセキュリティを強化できる。
【0042】
また、生成された秘密鍵をサーバ100のセッションに格納し、格納されたセッションに対するセッション鍵及び公開鍵を端末200に伝送する方式を採用することによって、2次認証を行うようにし、セキュリティを更に強化できる。
【0043】
更に、サーバに格納される公開鍵をブロックチェーンに格納して公開鍵の偽変造防止及び認証ログデータをブロックチェーンに格納して認証に対する否認防止及び無欠性を確保できる。
【0044】
図2は、本発明に係るウェブストレージを利用した簡易認証方法を説明する順序図である。
【0045】
図2を参照すれば、本発明に係るウェブストレージを利用した簡易認証方法は、段階S200で、サーバ100が、受信したユーザ鍵に基づいて、認証トークン、公開鍵及び秘密鍵を生成してセッションに格納し、セッションに対応するセッション鍵、認証トークン及び前記公開鍵を端末200に伝送する。ここで、ユーザ鍵は、端末200のウェブストレージに格納されて機器又はブラウザ毎に異なるように設定できる。
【0046】
次に、段階S210で、本発明に係るウェブストレージを利用した簡易認証方法は、端末200が、受信した公開鍵を用いて、ユーザが入力したPIN番号データを暗号化し、暗号化されたデータを受信したセッション鍵と共にサーバ100に伝送する。
【0047】
次に、段階S220で、本発明に係るウェブストレージを利用した簡易認証方法において、サーバ100が、受信したセッション鍵に対応する秘密鍵を用いて前記PIN番号データを復号化して簡易認証を行う。
【0048】
より具体的に、サーバ100は、受信したセッション鍵によって取得した秘密鍵を基に、暗号化されたPIN番号データを復元して1次認証を行う。ここで、1次認証は、ユーザ鍵に対応するPIN番号データをサーバが格納している場合、サーバで認証が行われ、端末が有している場合、端末で認証が行われる。もちろん、サーバと端末とで交差検証を実行することもできる。1次認証が通過すると、端末200が、前記認証トークンを前記公開鍵を用いて暗号化し、暗号化されたデータを受信したセッション鍵と共にサーバ100に伝送する。仮に、PIN番号がマッチングされず、1次認証を通過できなければ、サーバ100は、ユーザ鍵毎の認証試行回数をカウントし、累積カウントが所定値以上であれば、ハッキングの可能性を考慮してサーバ100及び/又は端末200に格納されたPIN番号データを削除する。
【0049】
一方、サーバ100は、秘密鍵を基に復元した認証トークンとセッションに格納された認証トークンとを比較して2次認証を行った後、前記セッションを削除する。即ち、セッション及びセッション鍵は、認証が要請される度に1回限りで生成され、認証が完了すれば、削除されることによって生成された鍵が漏洩するのを防止できる。
【0050】
以下、
図3ないし
図5を参照して、本発明に係る簡易認証方法におけるユーザのPIN番号を登録する一例及び簡易認証を行う例を詳細に説明する。
【0051】
図3は、本発明によってPIN番号を登録する一例を説明する図である。
【0052】
図3を参照すれば、段階300でユーザがPIN登録を要請すると、端末200は、段階301で、PIN登録の有無を判断する。PINが登録されていると、直ちにPIN認証段階に進む。一方、PIN認証段階は、
図4及び
図5についての説明で詳細に後述する。
【0053】
段階301でPINが登録されていないと判断されると、端末200は、段階303に進み、本人認証又はID/PW認証を行う。そして、認証結果を基に獲得されたユーザ情報をサーバ100に伝送する。ここで、ユーザ情報は、CI又はユーザIDに連動されるか、基幹系システムを通じて照会される情報とできる。
【0054】
段階304で、サーバは、PIN登録のためのユーザ情報を基に登録トークンを生成する。ここで、登録トークンは、ユーザのブラウザ情報にホストネーム及びタイムスタンプが結合されている形でハッシュ暗号化されたデータとできる。
【0055】
そして、段階305で、PIN番号ポリシーを照会する。段階306で、ユーザ情報を用いて公開鍵及び秘密鍵を生成する。そして、段階307で、ユーザ情報を基にPINユーザ鍵を生成する。例えば、PINユーザ鍵は、ユーザ情報にブラウザ情報とサービスドメイン情報が追加されたデータとできる。従って、ユーザ鍵は、端末200で生成されてサーバ100に伝達することもできる。
【0056】
段階308で、サーバは、生成された登録トークン及び秘密鍵をセッションに格納し、PIN番号ポリシー、公開鍵、セッション鍵及びPINユーザ鍵を端末に伝送する。
【0057】
段階309で、端末200は、ユーザからPIN番号の入力を受ける。段階310で端末200は、受信したPIN番号ポリシーによるPIN番号が入力されているかを確認する。例えば、同一数字又は連続数字が基準に沿わない場合、エラーと判断して段階309を繰り返す。
【0058】
段階311で、PIN番号ポリシーに沿うPIN番号データは、公開鍵を基に暗号化される。また、端末200は、公開鍵を基に暗号化されたPINユーザ鍵、PIN番号、登録トークン及びセッション鍵を再びサーバに伝達する。このとき、端末200とサーバ100との間にSSL通信が用いられてセキュリティを強化できる。
【0059】
段階312で、サーバ100は、受信したセッション鍵に対応する秘密鍵を用いて、受信したデータを復号化できる。
【0060】
段階313で、サーバ100は、登録トークンをチェックする。例えば、ブラウザ、ホストネーム登録情報を基に登録トークンが再使用されたかを確認するか、タイムスタンプを用いて有効時間が経過したかをチェックする。再使用が確認されると、段階314に進み、セッションを削除して段階315でPIN登録手順を終了する。
【0061】
一方、サーバ100は、段階316で、もう1回PIN番号ポリシーを確認した後、段階317で、PIN番号関連のその他のポリシーをチェックする。例えば、生年月日、携帯電話番号が含まれているかを基幹系システムの登録情報を通じて照会できる。
【0062】
PIN番号関連のその他のポリシーチェックを通過すると、段階318でセッションを削除して段階319及び段階320に進み、PINユーザ鍵に対する登録トークン及びPIN番号を格納する。
【0063】
次に、PINユーザ鍵、PIN番号、認証ポリシーは、端末200に伝達され、段階321で、ウェブストレージの支援可否によってウェブストレージに格納されるか(322)、クッキーに格納され(323)、格納が完了すると、段階324で、PIN登録手順が終了する。一方、PINユーザ鍵は、暗号化アルゴリズムにより暗号化され、PIN番号はハッシュ暗号化できる。
【0064】
上述したところによって、PIN番号の登録が完了すると、次に、
図4又は
図5を用いて後述する一実施例によって登録されたPIN番号により認証を行うことができる。
図4は、サーバ100が1次認証を行い、端末200が検証を行う方法を示しており、
図5は、端末200が1次認証を行い、サーバ100が検証を行う方法を説明する。一方、後述する動作において一部の簡易認証手順は、ブロックチェーンを用いて実現できることが本発明の属する技術分野における当業者には自明であろう。
【0065】
図4は、本発明によってウェブストレージを利用した簡易認証を行う一例を説明する順序図である。
【0066】
図4を参照すれば、段階400で、PIN認証手順が開始する。段階401ないし段階409を通じて、PIN番号の登録が必要であるかを判断する。まず、段階401で、サーバ100は、認証ポリシーを照会して端末200に伝達し、端末200は、ユーザ鍵を照会して段階403でPIN登録を行うか否かを判断する。PIN番号がウェブストレージに登録されていると、サーバ100ではPIN登録が解除されたか(404)、有効期間が満了(405)しているかを確認し、これにより、PIN番号を解除(406)し、解除ログを格納(407)した後、最終的に端末200でPINを解除(408)し、段階409でPIN登録手順を再び行うことができる。
【0067】
段階410では、PIN登録が確認されると、サーバ100は、簡易認証のための認証トークンを生成してセッションに格納し、再び端末200に伝達する。ここで、認証トークンは、ホストネーム、IP、タイムスタンプが結合された形のデータとできる。
【0068】
端末200は、認証トークンを受信すると、段階411でユーザからPIN番号の入力を受け、段階412で公開鍵を要請する。
【0069】
段階413で、サーバ100は、ユーザ鍵を基に公開鍵及び秘密鍵を生成し、公開鍵及び秘密鍵を生成してセッションに格納し、セッションに対応するセッション鍵及び公開鍵を端末200に伝達する。
【0070】
段階414で、端末200は、受信した公開鍵を用いてユーザが入力したPIN番号データを暗号化し、暗号化されたデータを受信したセッション鍵と共にサーバに伝送する。
【0071】
段階415で、サーバ100は、受信したセッション鍵に対応する秘密鍵を用いて前記PIN番号データを復号化し、段階416で、PIN認証試行回数が超過しているかを確認する。PIN認証試行回数が超過していれば、段階417ないし段階421を行ってPIN認証を終了する。
【0072】
段階422で、PIN認証試行回数を増加させ、段階423でPIN番号がサーバ100に格納されたPIN番号と一致するかを確認する1次認証を行う。同一の動作を、段階425の端末200及び/又はサーバ100で実行することもできる。PIN番号が一致しなければ、段階424で認証失敗ログを格納し、再び段階411のPIN番号入力段階を繰り返す。1次認証が通過すると、端末200は、認証トークンをサーバから受信していた公開鍵を用いて暗号化し、暗号化されたデータを既に受信したセッション鍵と共にサーバに伝送する。
【0073】
段階426で、サーバ100は、認証トークンをチェックする。例えば、認証トークンの再使用又は認証有効時間が経過しているかの2次認証を行う。
【0074】
チェックを通過できなければ、セッションを削除し(段階427)、認証失敗ログを格納した後(段階428)、PIN認証を終了する(段階429)。サーバ100は、認証トークンチェックが通過すると、セッションを削除(段階430)し、認証トークンを別途格納(段階431)し、認証試行回数を初期化(段階432)する。段階433で、最終的にPIN番号簡易認証を通じた端末200のログインが完了する。
【0075】
図5は、本発明によってウェブストレージを利用した簡易認証を行う他の例を説明する順序図である。
【0076】
段階500でPIN認証が開始すると、段階501で、PIN登録の有無を判断し、PINが登録されていなければ、段階502に進み、
図3で上述された登録段階を行う。
【0077】
段階503で、PINが登録されていると確認されれば、ウェブストレージ又はクッキーに格納されているユーザ鍵を照会してサーバに伝達する。サーバ100は、段階504でPIN登録が解除されたかをチェックし、段階505でPIN番号の有効期間をチェックする。
【0078】
PIN登録が解除されていれば、段階506ないし509を通じてPIN登録手順を行う。
【0079】
段階510ではPIN登録が確認されると、サーバ100は、簡易認証のための認証トークンを生成してセッションに格納し、再び端末200に伝達する。ここで、認証トークンは、ホストネーム、IP、タイムズテンプが結合された形のデータとできる。
【0080】
端末200は、認証トークンを受信すると、段階511でユーザからPIN番号の入力を受け、段階512で公開鍵を要請する。
【0081】
段階513で、サーバ100は、ユーザ鍵を基に公開鍵及び秘密鍵を生成し、公開鍵及び秘密鍵を生成してセッションに格納し、セッションに対応するセッション鍵及び公開鍵を端末200に伝達する。
【0082】
段階514で、端末200が、受信した公開鍵を用いて、ユーザが入力したPIN番号データを暗号化し、暗号化されたデータを受信したセッション鍵と共にサーバに伝送する。
【0083】
段階515で、サーバ100は、受信したセッション鍵に対応する秘密鍵を用いて前記PIN番号データを復号化し、段階516で、PIN認証試行回数が超過しているかを確認する。PIN認証試行回数が超過していれば、段階517ないし522を行ってPIN認証を終了する。
【0084】
段階523で、サーバ100は、復号化されたPIN番号をハッシュ暗号化して端末200に伝送する。段階524で、端末200は、受信したPIN番号と格納されたPIN番号とが一致するかをチェックする。PIN番号が一致しなければ、段階532で、認証失敗ログを格納し、再び段階511のPIN番号の入力段階を繰り返す。1次認証が通過すると、端末200は、サーバから受信したユーザ鍵、PIN番号、認証トークンを、公開鍵を用いて暗号化し、暗号化されたデータを既に受信したセッション鍵と共にサーバに伝送する。
【0085】
段階526で、サーバ100は、セッション鍵に対応する秘密鍵を用いて認証トークン、ユーザ鍵、PIN番号を復号化し、段階527で、サーバ100は、認証トークンをチェックする。例えば、認証トークンの再使用又は認証有効時間が経過しているかの2次認証を行う。
【0086】
チェックを通過できなければ、セッションを削除し(段階528)、認証失敗ログを格納した後(段階529)、PIN認証を終了する(段階530)。サーバ100は、認証トークンチェックが通過すると、PIN番号をチェックした後(段階531)、チェックを通過できなければ、認証失敗ログを格納(段階532)し、チェックを通過すれば、セッションを削除(段階533)する。サーバ100は、認証トークンを別途格納(段階534)し、認証試行回数を初期化(段階535)する。段階536で、最終的にPIN番号簡易認証を通じた端末200のログインが完了する。
【0087】
図6は、本発明に係るウェブストレージを利用した簡易認証過程を行うサーバ100の内部構成を、
図7は、本発明に係るウェブストレージを利用した簡易認証過程を行う端末200の内部構成を概略的に示すブロック図である。
【0088】
図6及び
図7には、本発明を説明するために必要な構成のみ示したが、ディスプレイ装置など多様な構成を更に含むことができる。また、
図6及び
図7についての説明で省略されていても、
図1ないし5で上述された方法を行うために必要な構成を更に含みうることが、本発明の属する分野における通常の技術者には自明である。
【0089】
図6を参照すれば、本発明に係るサーバ100は、プロセッサ130、メモリ140及び通信部150を含むことができる。簡易認証を行うサーバ100の動作は、メモリ140に格納されたプログラムをプロセッサ130に実行させることによって実現できる。
【0090】
本発明に係るプロセッサ130で行われる演算は、受信したユーザ鍵に基づいて認証トークン、公開鍵及び秘密鍵を生成してセッションに格納し、前記セッションに対応するセッション鍵、前記認証トークン及び前記公開鍵を端末に伝送し、前記端末から暗号化されたデータとセッション鍵を受信すると、受信したセッション鍵に対応する秘密鍵を用いて前記PIN番号データを復号化して簡易認証を行うことができる。
【0091】
また、プロセッサ130は、受信したセッション鍵を通じて取得した秘密鍵を基に暗号化されたPIN番号データを復元して1次認証を行うこともできる。
【0092】
更に、プロセッサ130は、秘密鍵を基に復元した認証トークンと前記セッションに格納された認証トークンとを比較して2次認証を行った後、セッションを削除する動作を実行できる。
【0093】
また、プロセッサ130は、復元されたPIN番号がマッチしない度に認証試行回数を更新し、前記認証試行回数が所定数以上増加する場合、前記サーバ及び/又は端末に格納されたPIN番号データを削除できる。
【0094】
本発明において、通信部150は、端末200、他のサーバ、又は他の外部装置間の無線又は有線通信を行うことができる。例えば、通信部150は、端末200とSSL方式で暗号化通信を行うことができ、公開鍵及び暗号化されたデータを伝達できる。
【0095】
図7を参照すれば、本発明に係る端末200は、プロセッサ230、メモリ240、通信部250及び入力部260を含むことができる。簡易認証端末200の動作は、メモリ240に格納されたプログラムをプロセッサ230に実行させることで実現できる。
【0096】
本発明に係るプロセッサ230で行われる演算は、ユーザ鍵に基づいて公開鍵の発行を要請し、サーバから受信した公開鍵を用いて、ユーザが入力したPIN番号データを暗号化し、暗号化されたデータを受信したセッション鍵と共にサーバに伝送する演算を含むことができる。前記ユーザ鍵及びPIN番号は、端末のウェブストレージに格納されて機器又はブラウザ毎に異なるように設定できる。
【0097】
他の例として、プロセッサ230は、認証トークンを公開鍵を用いて暗号化し、暗号化されたデータをサーバ100から受信したセッション鍵と共にサーバに伝送できる。
【0098】
更に他の例として、公開鍵を基に暗号化された認証データ(ユーザ鍵及びPIN番号)をブロックチェーンに格納できる。従って、プロセッサ230は、ブロックチェーンを基にユーザが入力したPIN番号の認証及び検証を行って変造可能性を下げることによって、信頼性を向上させることもできる。
【0099】
更に別の例として、プロセッサ230は、ブロックチェーンに格納された公開鍵を用いてユーザが入力したPIN番号データを暗号化できる。
【0100】
一方、上述したサーバ100及び端末200は、1つ以上のプロセッサ130、230及び/又は1つ以上のメモリ140、240を含むことができる。また、メモリ140、240は、揮発性及び/又は不揮発性メモリを含むことができる。1つ以上のメモリ140、240は、1つ以上のプロセッサ130、230による実行時に、1つ以上のプロセッサ130、230が演算を行うようにする命令を格納できる。本開示において、プログラムないし命令は、メモリ140、240に格納されるソフトウェアであって、サーバ100のリソースを制御するためのオペレーティングシステム、アプリケーション及び/又はアプリケーションが装置のリソースを活用できるように多様な機能をアプリケーションに提供するミドルウェアなどを含むことができる。
【0101】
1つ以上のプロセッサ130、230は、ソフトウェア(例えば、プログラム、命令)を駆動してプロセッサ130、230に接続されたサーバ100及び端末200の少なくとも1つの構成要素を制御できる。また、プロセッサ130、230は、本開示と関連した多様な演算、処理、データの生成、加工などの動作を行うことができる。更に、プロセッサ130、230は、データなどをメモリ140、240からロードするか、メモリ140、240に格納できる。
【0102】
本発明では、サーバ100及び端末200の構成要素のうちの少なくとも1つを省略するか、他の構成要素を追加できる。また、追加的に(additionally)又は代わりに(alternatively)、一部の構成要素が統合されて実現されるか、単数又は複数の個体にて実現できる。
【0103】
上述した通信部150、250は、eMBB(enhanced Mobile Broadband)、URLLC(Ultra Reliable Low-Latency Communications)、MMTC(Massive Machine Type Communications)、LTE(long-term evolution)、LTE-A(LTE Advance)、UMTS(Universal Mobile Telecommunication System)、GSM(Global System for Mobile communications)、CDMA(code division multiple access)、WCDMA(登録商標)(wideband CDMA)、WiBro(Wireless Broadband)、WiFi(wireless fidelity)、ブルートゥース(登録商標)(Bluetooth(登録商標))、NFC(near field communication)、GPS(Global Positioning System)又はGNSS(global navigation satellite system)などの方式による無線通信を行うことができる。
【0104】
上述した入力部260は、キーボード、マウス、タッチパッド、カメラモジュールなどユーザの簡易認証情報(PIN番号)を端末200に入力する手段を含むことができる。
【0105】
一方、本発明と関連して説明された方法又はアルゴリズムの段階は、ハードウェアで直接実現するか、ハードウェアにより実行されるソフトウェアモジュールで実現するか、又はこれらの結合により実現することができる。ソフトウェアモジュールは、RAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ(Flash Memory)、ハードディスク、脱着型ディスク、CD-ROM、又は本発明の属する技術分野において周知となった任意の形態のコンピュータ読み出し可能な記録媒体に常に存在することもできる。
【0106】
また、本発明は、モバイルウェブやPCウェブで簡易認証を行うために公開鍵を基に1回限りの鍵を生成し、使用後にこれを直ちに廃棄する簡易認証方法を提供でき、特に、ウェブストレージを用いて使用機器及びブラウザ毎の秘密鍵を発行できる。
【0107】
更に、本発明は、公開鍵(Public Key)及び秘密鍵(Private Key)要素の端末及びサーバに分散して格納する方法によって個人情報とセキュリティを強化できる。
【0108】
また、本発明は、分散して格納された公開鍵(Public Key)及び秘密鍵(Private Key)の要素を用いて1回限りの鍵の生成を支援することによって、簡易認証方式においてより強力なセキュリティを提供できる。即ち、鍵値を保管せず、必要時に生成及び廃棄できるため、鍵値が漏洩するのを防止できる。また、ウェブストレージを活用して1つのプラットフォームで使用機器及びブラウザ毎の秘密鍵を発行して格納できるため、実現コスト及び管理コストを効率化できる。
【0109】
更に、ブラウザの保存場所及びサーバに保管された要素を用いてセキュリティが強力になった公開鍵及び秘密鍵を利用できるため、公認認証書を代替可能な程度に信頼性が高いと共に、簡便な認証方法を提供できる。
【0110】
以下、
図8ないし
図14を参照して、本発明によって公開鍵及び秘密鍵要素の分散格納を通じた簡易認証過程について詳細に説明する。
【0111】
図8は、本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証システムを説明する概念図である。
【0112】
図8を参照すれば、本発明に係る簡易認証システムは、サーバ1000と端末2000を含むことができる。具体的に、簡易認証システムでは、インターネットを介して政府機関、教育機関、医療機関、通信事業者、金融機関、旅客会社、資産管理、信用情報、ポータル、ソーシャルネットワークサービス(SoCIal Network Service:SNS)、ゲーム、ショッピング、発券、宅配、電子投票などの数多くのオンラインサービスを利用するためのユーザ認証に必要なデータを、端末2000が秘密鍵を基にデータを暗号化してサーバ1000に送ると、サーバ1000は、公開鍵を基にデータを復号化してユーザを認証できる。反対に、サーバ1000は、公開鍵基盤の暗号化データを端末に送り、端末2000でこれを秘密鍵を基に復号化することもできる。一方、上述した簡易認証のために秘密鍵を通じて暗号化されるデータは、PINユーザ鍵及びPIN番号を含むことができる。
【0113】
ところが、このようなユーザ認証方式に必要な公開鍵及び秘密鍵は、ブラウザの保存場所(local storage)に平文保存方式を用いて格納されている場合が多いため、セキュリティの問題が発生する恐れがある。もちろん、セキュリティ対策として暗号化方式を取っているが、このような方法も依然として個人情報の漏洩やセキュリティの問題が多く存在しうる。
【0114】
従って、本発明に係る簡易認証システムは、サーバ1000で生成された公開鍵及び秘密鍵から、係数(modulus、1100)、秘密指数(private exponent、2100)及び公開指数(public exponent、1200)を抽出した後、前記秘密指数2100を端末2000に格納し、前記係数1100及び公開指数1200をサーバ1000に格納してセキュリティを強化できる。
【0115】
即ち、簡易認証システムは、簡易認証時に端末2000に格納された秘密指数2100とサーバ1000に格納された係数1100を用いて秘密鍵を生成するか、サーバ1000に格納された公開指数1200と係数1100を用いて公開鍵を生成できる。
【0116】
一方、本発明に係る簡易認証システムは、このような秘密鍵及び公開鍵を生成するための係数1100、公開指数1200をブロックチェーンを用いて分散して格納することによって、中央サーバ1000がなくても上述した簡易認証システムを実現することもできる。
【0117】
従って、上述した簡易認証システムは、分散して格納された公開鍵(Public Key)及び秘密鍵(Private Key)の要素を用いて1回限りの鍵の生成を支援することによって、簡易認証方式においてより強力なセキュリティを提供できる。即ち、鍵値を保管せず、必要時に生成及び廃棄できるため、鍵値が漏洩するのを防止できる。また、ウェブストレージを活用して秘密鍵の要素を格納すると、1つのプラットフォームで使用機器及びブラウザ毎の秘密鍵を発行して格納できるため、実現コスト及び管理コストを効率化することもできる。
【0118】
更に、ブラウザの保存場所及びサーバに保管された要素を用いてセキュリティが強力になった公開鍵及び秘密鍵を利用できるため、公認認証書を代替できる程度に信頼性が高いと共に、簡便な認証方法を提供できる。
【0119】
以下、
図9ないし
図14を参照して、公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証方法及び装置についてより詳細に後述する。
【0120】
図9は、本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証方法を説明する順序図である。
【0121】
図9を参照すれば、段階S900で、本発明に係る簡易認証システムは、ユーザ簡易認証のためにサーバ1000で公開鍵及び秘密鍵を生成する。ここで、前記公開鍵は、ユーザ識別データと連係してRSA方式で生成されたものとできる。
【0122】
次に、段階S910で、簡易認証システムは、生成された公開鍵及び秘密鍵から、係数(modulus)、秘密指数(private exponent)及び公開指数(public exponent)を抽出する。ここで、公開指数は、16進数に変換されてコンパイルでき、従って、後で公開鍵の生成時にコンパイルされた状態のデータを利用できる。
【0123】
段階S920で、簡易認証システムにおいて、秘密指数が端末2000に格納され、係数及び公開指数がサーバ1000に格納される。
【0124】
段階S930で、簡易認証システムは、端末2000に格納された秘密指数とサーバ1000に格納された係数を用いて生成された秘密鍵、及び、サーバ1000に格納された公開指数と係数を用いて生成された公開鍵を用いて、簡易認証を行う。
【0125】
一方、端末2000に格納された秘密指数とサーバ1000に格納された係数を用いて生成された秘密鍵、及び、前記サーバに格納された公開指数と係数を用いて生成された公開鍵は、それぞれ、暗号化又は復号化に1回用いられた後に廃棄されてもよい。
【0126】
以下、
図10ないし
図12を参照して、上述した簡易認証システムでサーバ1000及び端末2000が動作することについてより詳細に説明する。
【0127】
図10は、本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を行う方法の一例を説明する図である。
【0128】
図10を参照すれば、段階S1010で、サーバ1000は、公開鍵及び秘密鍵を生成する。ここで生成される公開鍵は、ユーザ識別データと連係してRSA方式で生成できる。
【0129】
次に、段階S1020で、サーバ1000は、生成された公開鍵及び秘密鍵から、係数(modulus)、秘密指数(private exponent)及び公開指数(public exponent)を抽出する。前記公開指数は、16進数に変換されてコンパイルでき、従って、後で公開鍵の生成時にコンパイルされた状態のデータを利用できる。
【0130】
段階S1030で、サーバ1000は、抽出された秘密指数を端末2000に伝送し、段階S1040に進み、サーバ1000に係数及び公開指数を格納する。ここで、公開指数は、16進数に変換されてコンパイルできる。
【0131】
一方、段階S1050で、端末2000は、受信した秘密指数をブラウザの保存場所に格納する。
【0132】
図11は、本発明によって端末で秘密鍵を生成する一例を説明する順序図である。
【0133】
図11を参照すれば、段階S1110で、簡易認証を行うとの要請を端末2000から受信すると、サーバ1000は、
図10の段階S1040で格納した係数を端末2000に伝送する(S1120)。
【0134】
段階S1130で、端末2000は、受信した係数及び格納された秘密指数2100を用いて秘密鍵を生成する。
【0135】
段階S1140で、端末2000は、生成された秘密鍵を用いて、データ暗号化及び電子署名を行う。そして、段階S1150に進み、端末は、暗号化されたデータ及び電子署名をサーバ1000に伝送する。一方、秘密鍵は、1回用いられた後、即時に廃棄される(S1160)。
【0136】
段階S1170では、このようにサーバ1000に送られた暗号化されたデータ及び電子署名は公開鍵を用いて復号化され、復号化されたデータは、伝送された電子署名を用いて検証を受ける。
【0137】
例えば、
図12は、本発明によってサーバで公開鍵を生成する一例を説明する順序図である。
【0138】
図12を参照すれば、段階S1171で、サーバ1000は、格納された係数1100とコンパイルされた公開指数1200を用いて公開鍵を生成する。
【0139】
段階S1172で、サーバ1000は、生成された公開鍵を用いて復号化及び検証を行い、1回用いられた公開鍵は廃棄される(S1173)。
【0140】
従って、本発明によって分散して格納された公開鍵(Public Key)及び秘密鍵(Private Key)の要素を用いて1回限りの鍵の生成を支援することによって、簡易認証方式においてより強力なセキュリティを提供できる。
【0141】
図13は、本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証過程を行うサーバ1000の内部構成を、
図14は、本発明に係る公開鍵及び秘密鍵の構成要素の分散格納を通じた簡易認証過程を行う端末2000の内部構成を概略的に示すブロック図である。
【0142】
図13及び
図14には、本発明を説明するために必要な構成のみ示したが、ディスプレイ装置など多様な構成を更に含むことができる。また、
図13及び
図14についての説明で省略されていても、
図8ないし12で上述された方法を行うために必要な構成を更に含みうることが本発明の属する分野における通常の技術者には自明である。
【0143】
図13を参照すれば、本発明に係るサーバ1000は、プロセッサ1300、メモリ1400及び通信部1500を含むことができる。簡易認証サーバ1000の動作は、メモリ1400に格納されたプログラムをプロセッサ1300に実行させることによって実現できる。
【0144】
本発明に係るプロセッサ1300で行われる演算は、ユーザ簡易認証のために生成された公開鍵及び秘密鍵から係数(modulus)、前記秘密指数及び公開指数(public exponent)を抽出して前記秘密指数を端末に伝送し、前記係数及び公開指数を格納し、公開指数と係数を用いて生成された公開鍵を生成するようにする演算を含むことができる。ここで、1つ以上のメモリ1400は、係数及び公開指数を格納できる。
【0145】
本発明に係るプロセッサ1300は、格納された係数及び公開指数を用いて公開鍵を生成し、生成された公開鍵で端末から受信した暗号化されたデータを復号化した後、公開鍵を再び廃棄するようにする演算を行うこともできる。
【0146】
ここで、公開指数は、16進数に変換されてコンパイルされるものであり、前記公開鍵は、ユーザ識別データと連係してRSA方式で生成されたものであってもよい。
【0147】
また、通信部1500は、端末2000、他のサーバ、又は他の外部装置間の無線又は有線通信を行うことができる。例えば、通信部1500は、端末2000に秘密指数又は係数を伝達できる。
【0148】
図14を参照すれば、本発明に係る端末2000は、プロセッサ2300、メモリ2400、通信部2500及び入力部2600を含むことができる。簡易認証端末2000の動作は、メモリ2400に格納されたプログラムをプロセッサ2300に実行させることで実現できる。
【0149】
本発明に係るプロセッサ2300で行われる演算は、秘密指数(private exponent)を格納し、ユーザ簡易認証の際にサーバに格納された係数を受信して秘密鍵を生成するようにする演算を含むことができる。
【0150】
例えば、プロセッサ2300は、入力部2600を通じて入力されたユーザの簡易認証情報(例えば、PIN番号)を暗号化するためにサーバ1000で係数を受信し、秘密指数と結合させて秘密鍵を生成できる。
【0151】
また、プロセッサ2300は、秘密鍵を用いて暗号化したデータ及び電子署名情報をサーバ1000に伝達して簡易認証を行うようにできる。
【0152】
一方、上述したサーバ1000及び端末2000は、1つ以上のプロセッサ1300、2300及び/又は1つ以上のメモリ1400、2400を含むことができる。また、メモリ1400、2400は、揮発性及び/又は不揮発性メモリを含むことができる。1つ以上のメモリ1400、2400は、1つ以上のプロセッサ1300、2300による実行時に、1つ以上のプロセッサ1300、2300が演算を行うようにする命令を格納できる。本開示において、プログラムないし命令は、メモリ1400、2400に格納されるソフトウェアであって、サーバ1000のリソースを制御するためのオペレーションシステム、アプリケーション及び/又はアプリケーションが装置のリソースを活用できるように多様な機能をアプリケーションに提供するミドルウェアなどを含むことができる。
【0153】
1つ以上のプロセッサ1300、2300は、ソフトウェア(例えば、プログラム、命令)を駆動してプロセッサ1300、2300に接続されたサーバ1000及び端末2000の少なくとも1つの構成要素を制御できる。また、プロセッサ1300、2300は、本開示と関連した多様な演算、処理、データの生成、加工などの動作を行うことができる。また、プロセッサ1300、2300は、データなどをメモリ1400、2400からロードするか、メモリ1400、2400に格納できる。
【0154】
本発明では、サーバ1000及び端末2000の構成要素のうちの少なくとも1つを省略するか、他の構成要素を追加できる。また、追加的に(additionally)又は代わりに(alternatively)、一部の構成要素を統合して実現するか、単数又は複数の個体にて実現できる。
【0155】
上述した、通信部1500、2500は、eMBB(enhanced Mobile Broadband)、URLLC(Ultra ReliableLow-Latency Communications)、MMTC(Massive Machine Type Communications)、LTE(long-term evolution)、LTE-A(LTE Advance)、UMTS(Universal Mobile Telecommunications System)、GSM(Global System for Mobile communications)、CDMA(code division multiple access)、WCDMA(登録商標)(wideband CDMA)、WiBro(Wireless Broadband)、WiFi(wireless fidelity)、ブルートゥース(登録商標)(Bluetooth(登録商標))、NFC(near field communication)、GPS(Global Positioning System)又はGNSS(global navigation satellite system)などの方式による無線通信を行うことができる。
【0156】
上述した入力部2600は、キーボード、マウス、タッチパッド、カメラモジュールなどユーザの簡易認証情報を端末2000に入力する手段を含むことができる。
【0157】
一方、本発明と関連して説明された方法又はアルゴリズムの段階は、ハードウェアで直接実現するか、ハードウェアにより実行されるソフトウェアモジュールで実現するか、又はこれらの結合により実現することができる。ソフトウェアモジュールは、RAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ(Flash Memory)、ハードディスク、脱着型ディスク、CD-ROM、又は本発明の属する技術分野において周知となった任意の形態のコンピュータ読み出し可能な記録媒体に常に存在することもできる。
【0158】
以上、添付の図面を参照して本発明の実施例を説明したが、本発明が属する技術分野における通常の技術者は、本発明がその技術的思想や必須な特徴を変更することなく、他の具体的な形態に実施できるということが理解できるだろう。従って、上記で記述した実施例は、全ての面で例示的なものであり、制限的ではないものとして理解すべきである。