(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025010032
(43)【公開日】2025-01-20
(54)【発明の名称】ノイズベースの乱数を用いた仮想セキュリティキーパッド生成システム、及び、その生成方法
(51)【国際特許分類】
H04L 9/08 20060101AFI20250109BHJP
G09C 1/00 20060101ALI20250109BHJP
G06F 7/58 20060101ALI20250109BHJP
【FI】
H04L9/08 C
G09C1/00 650B
G06F7/58 680
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2024104960
(22)【出願日】2024-06-28
(11)【特許番号】
(45)【特許公報発行日】2024-09-27
(31)【優先権主張番号】10-2023-0084474
(32)【優先日】2023-06-29
(33)【優先権主張国・地域又は機関】KR
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLACKBERRY
2.ZIGBEE
3.TIZEN
(71)【出願人】
【識別番号】520495973
【氏名又は名称】スティーリアン インコーポレイテッド
(74)【代理人】
【識別番号】100121728
【弁理士】
【氏名又は名称】井関 勝守
(74)【代理人】
【識別番号】100165803
【弁理士】
【氏名又は名称】金子 修平
(74)【代理人】
【識別番号】100179648
【弁理士】
【氏名又は名称】田中 咲江
(74)【代理人】
【識別番号】100222885
【弁理士】
【氏名又は名称】早川 康
(74)【代理人】
【識別番号】100140338
【弁理士】
【氏名又は名称】竹内 直樹
(74)【代理人】
【識別番号】100227695
【弁理士】
【氏名又は名称】有川 智章
(74)【代理人】
【識別番号】100170896
【弁理士】
【氏名又は名称】寺薗 健一
(74)【代理人】
【識別番号】100219313
【弁理士】
【氏名又は名称】米口 麻子
(74)【代理人】
【識別番号】100161610
【弁理士】
【氏名又は名称】藤野 香子
(74)【代理人】
【識別番号】100206586
【弁理士】
【氏名又は名称】市田 哲
(72)【発明者】
【氏名】ソ ドンヒョク
(72)【発明者】
【氏名】イ イェリ
(72)【発明者】
【氏名】イ ミンジ
(72)【発明者】
【氏名】シン ヨング
(57)【要約】 (修正有)
【課題】ノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステム及び方法を提供する。
【解決手段】仮想セキュリティキーパッド生成システムは、ユーザー周辺のノイズを測定するノイズ測定モジュール及びノイズ測定モジュールが測定したノイズに基づいて乱数を生成する第1ノイズ変換モジュールを含むユーザー端末100と、ユーザー端末で測定したノイズを受信した後、受信したノイズに基づいて乱数を生成する第2ノイズ変換モジュール及び第2ノイズ変換モジュールが生成した乱数に基づいて、暗復号鍵を生成する暗復号鍵生成モジュールを含む仮想セキュリティキーパッドサーバー200と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザー周辺のノイズを測定するノイズ測定モジュールと、前記ノイズ測定モジュールが測定した前記ノイズに基づいて乱数を生成する第1ノイズ変換モジュールとを含むユーザー端末;および
前記ユーザー端末で測定されたノイズを受信した後、受信したノイズに基づいて乱数を生成する第2ノイズ変換モジュールと、前記第2ノイズ変換モジュールによって生成された乱数に基づいて暗復号鍵を生成する暗復号鍵生成モジュールとを含む仮想セキュリティキーパッドサーバー;を含むことを特徴とする、
ノイズベースの乱数を用いた仮想セキュリティキーパッド生成システム。
【請求項2】
前記第1ノイズ変換モジュールが生成する乱数と前記第2ノイズ変換モジュールが生成する乱数は同じ値で生成されることを特徴とする、
請求項1に記載のノイズベースの乱数を用いた仮想セキュリティキーパッド生成システム。
【請求項3】
前記ユーザー端末は、
前記暗復号鍵生成モジュールが生成した公開鍵情報を受信した後、前記公開鍵情報に基づいて仮想セキュリティキーパッドに入力されたユーザーのセキュリティ情報を暗号化する暗号化処理モジュール;をさらに含むことを特徴とする、
請求項1に記載のノイズベースの乱数を用いた仮想セキュリティキーパッド生成システム。
【請求項4】
前記仮想セキュリティキーパッドサーバーは、
前記ユーザー端末から暗号化された前記ユーザーのセキュリティ情報を受信した後、前記暗復号鍵生成モジュールが生成した秘密鍵情報に基づいて前記ユーザーのセキュリティ情報を復号する復号処理モジュール;をさらに含むことを特徴とする、
請求項1に記載のノイズベースの乱数を用いた仮想セキュリティキーパッド生成システム。
【請求項5】
前記暗復号鍵生成モジュールは、
前記暗復号鍵を公開鍵と秘密鍵のペアで生成し、前記公開鍵のみを前記ユーザー端末に伝達することを特徴とする、
請求項1に記載のノイズベースの乱数を用いた仮想セキュリティキーパッド生成システム。
【請求項6】
ユーザー端末を介してユーザー周辺のノイズを測定する段階;
前記ノイズを前記ユーザー端末から仮想セキュリティキーパッドサーバーに伝達する段階;
前記ノイズに基づいて、前記ユーザー端末と前記仮想セキュリティキーパッドサーバーが乱数を生成する段階;
前記乱数を基に仮想セキュリティキーパッドを生成して前記ユーザーに表示する段階;
前記仮想セキュリティキーパッドを介して入力された前記ユーザーのセキュリティ情報を前記仮想セキュリティキーパッドサーバーに暗号化して送信する段階;および
前記暗号化されたデータを復号する段階;を含むことを特徴とする、
ノイズベースの乱数を用いた仮想セキュリティキーパッドの生成方法。
【請求項7】
前記暗号化されたデータを復号する段階は、
前記ユーザー端末で生成された仮想セキュリティキーパッドと同じ配列の仮想セキュリティキーパッドを前記仮想セキュリティキーパッドサーバーで生成する段階を含むことを特徴とする、
請求項6に記載のノイズベースの乱数を用いた仮想セキュリティキーパッドの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示された発明は、ノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法及び装置に関するものであって、より詳細には、ユーザー端末を介して収集された周辺のノイズに基づいて乱数を生成し、生成された乱数を活用して仮想セキュリティキーパッドの生成及びユーザーのセキュリティ情報の暗号化、復号を行う技術に関する発明である。
【背景技術】
【0002】
社会が急速に発展し、スマートフォンの普及率が漸進的に拡大するにつれて、多くのユーザーが金融取引、電子署名などの経済活動をスマートフォン上の金融およびビジネスアプリを活用して行っている状況である。
【0003】
これにより、このような金融サービスを利用する際に、ユーザー認証のためのパスワードや個人名義のクレジットカード番号などの情報を安全に入力するために仮想キーパッドが使用されている。
【0004】
ただし、仮想キーパッドは、様々な種類の中間者攻撃に対して脆弱であるという欠点を有している。したがって、他人が肩腰に覗き見るショルダーサーフィン攻撃(Shoulder-Surfing Attack)や撮影を介して入力値を調べるレコーディング攻撃(Recording Attack)などの攻撃を避けるため、最近の仮想キーパッドの場合には、キーパッドに配列されたキーの間に無作為の大きさを有する空のイメージを挿入したり、各キーの順番をランダムに配置したりするなど、スマートフォンの画面に表示されるキーパッドを人が早い時間内に把握しにくく変形して対応しているのが実情である。
【0005】
しかし、既存の仮想キーパッドは、画面に表示されるのに必要な情報を受け取ったり、ユーザーの入力に対するデータやキーなどの結果値を外部に送信したりするとき、エンドツーエンド暗号化(End-To-End Encryption、E2EE)が完全に具現されていない場合にサーバーと情報を送受信する過程でデータが露出される可能性があるという欠点がある。
【0006】
特に、仮想キーパッド配列のランダムな順序生成、暗号鍵および復号鍵の生成など、様々な方面で使用される乱数の値が中間子攻撃で盗み取られる場合、攻撃者は暗号化されたデータでも盗み取った乱数を利用して原文値を把握することができ、これにより、ユーザーの敏感な個人情報が漏洩する可能性があるという問題点がある。
【0007】
また、従来使用されていた乱数は、システム時間や特定のパターンに基づいて生成されるので攻撃者がこれを十分に予想できるため、既存の乱数生成方式に基づいて仮想キーパッドを具現する際にユーザーのデータセキュリティに脆弱であるという欠点がある。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法および装置は、前記説明した問題点を解決するために創作された発明であり、ユーザー端末から収集された周辺ノイズに基づいて攻撃者が予想不可能な乱数を生成するにつれて、より高いセキュリティレベルを有する仮想セキュリティキーパッドを生成する方法および装置を提供することにその目的がある。
【0009】
より具体的には、ユーザー端末とサーバーが同じノイズ変換モジュールを有することにより、端末とサーバー間の乱数ではなくノイズが送受信される可能性があるので、予測不可能に生成された乱数が直接露出されず、中間者攻撃に効果的に対応できる仮想セキュリティキーパッドを生成する方法および装置を提供することにその目的がある。
【課題を解決するための手段】
【0010】
開示された発明の一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成システムは、ユーザー周辺のノイズを測定するノイズ測定モジュールと、前記ノイズ測定モジュールが測定したノイズに基づいて乱数を生成する第1ノイズ変換モジュールとを含むユーザー端末、および前記ユーザー端末で測定されたノイズを受信した後、受信したノイズに基づいて乱数を生成する第2ノイズ変換モジュールと、前記第2ノイズ変換モジュールによって生成された乱数に基づいて、暗復号鍵を生成する暗復号鍵生成モジュールとを含む仮想セキュリティキーパッドサーバーを含むことができる。
【0011】
前記第1ノイズ変換モジュールが生成する乱数と前記第2ノイズ変換モジュールが生成する乱数とは同じ値で生成することができる。
【0012】
前記ユーザー端末は、前記暗復号鍵生成モジュールが生成した公開鍵情報を受信した後、前記公開鍵情報に基づいて仮想セキュリティキーパッドに入力されたユーザーのセキュリティ情報を暗号化する暗号化処理モジュールをさらに含むことができる。
【0013】
前記仮想セキュリティキーパッドサーバーは、前記ユーザー端末から暗号化された前記ユーザーのセキュリティ情報を受信した後、前記暗復号鍵生成モジュールが生成した秘密鍵情報に基づいて前記ユーザーのセキュリティ情報を復号する復号処理モジュールをさらに含むことができる。
【0014】
前記暗復号鍵生成モジュールは、前記暗復号鍵を公開鍵と秘密鍵のペアで生成し、前記公開鍵のみを前記ユーザー端末に送信することができる。
【0015】
開示された発明の一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、ユーザー端末を介してユーザー周辺のノイズを測定する段階、前記ノイズを前記ユーザー端末から仮想セキュリティキーパッドサーバーに伝達する段階、前記ノイズに基づいて前記ユーザー端末と前記仮想セキュリティキーパッドサーバーとが乱数を生成する段階、前記乱数を基に仮想セキュリティキーパッドを生成して前記ユーザーに表示する段階、前記仮想セキュリティキーパッドを介して入力された前記ユーザーのセキュリティ情報を前記仮想セキュリティキーパッドサーバーに暗号化して送信する段階、及び前記暗号化されたデータを復号する段階を含むことができる。
【0016】
暗号化されたデータを復号する段階は、前記ユーザー端末で生成された仮想セキュリティキーパッドと同じ配列の仮想セキュリティキーパッドを前記仮想セキュリティキーパッドサーバーで生成する段階をさらに含むことができる。
【発明の効果】
【0017】
一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステム及び方法は、ユーザー周辺環境のノイズを乱数生成のシードとして活用することにより、システム時間や特定パターンを基にする既存の乱数生成方式とは異なり、予測不可能な乱数を生成するので、中間者攻撃からセキュリティ上に安全であるという技術的利点がある。
【0018】
また、一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステム及び方法は、端末とサーバーが乱数を直接交換せずに端末を介して測定されたノイズを送受信し、ノイズに基づいて乱数をそれぞれ個別に生成するので、生成された乱数がデータ送受信中に露出されないという技術的利点がある。
【0019】
また、一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステム及び方法は、非対称鍵暗号方式を用いてサーバーがユーザー端末に乱数ベースの公開鍵のみを伝達するので、機密性が強化された仮想セキュリティキーパッドを生成できるという技術的な利点がある。
【図面の簡単な説明】
【0020】
【
図1】開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステムを示す図面である。
【
図2】開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステムにおいて、ユーザー端末の主な構成を示す図面である。
【
図3】開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する装置の主な構成を示す図面である。
【
図4】
図4は、開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法に関連するフローチャートである。
【
図5】開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法において、ユーザー端末とサーバーの全般的なデータ処理過程を示す図面である。
【発明を実施するための形態】
【0021】
以下、本発明による実施例は添付された図面を参照して説明する。各図面の構成要素に参照符号を付加する際には、同一の構成要素については、たとえ他の図面に表示されても可能な限り同一の符号を有するようにしていることに留意しなければならない。また、本発明の実施例を説明するにあたり、関連する公知の構成または機能の具体的な説明が本発明の実施例の理解を妨げると判断される場合には、その詳細な説明は省略する。また、以下で本発明の実施例を説明するが、本発明の技術的思想は、これに制限または限定されることなく、当業者によって変更されて多様に実施されることが可能である。
【0022】
また、本明細書で使用した用語は、実施例を説明するために使用されたもので、開示された発明を制限および/または限定しようとする意図ではない。単数の表現は、文脈上明らかに他に意味がない限り、複数の表現を含む。
【0023】
本明細書において、「含む」、「備える」、または「有する」などの用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであって、1つまたはそれ以上の他の特徴や数字、段階、動作、構成要素、部品、またはこれらを組み合わせたものの存在または付加の可能性を予め排除しない。
【0024】
また、明細書全体において、ある部分が他の部分と「連結」されている場合、これは「直接的に連結」されている場合だけでなく、その中間に他の素子を挟んで「間接的に連結」されている場合も含み、本明細書で使用される「第1」、「第2」などの序数を含む用語は、様々な構成要素を説明するために使用することができるが、前記構成要素は前記用語によって限定されない。
【0025】
以下では、添付された図面を参照して本発明の実施例について、本発明が属する技術分野で通常の知識を有する者が容易に実施できるように詳細に説明する。そして、図面で本発明を明確に説明するために、説明に関係のない部分は省略する。
【0026】
図1は、開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステムを示す図面である。
【0027】
図1を参照すると、一実施形態による仮想セキュリティキーパッド生成システムは、仮想セキュリティキーパッドに用いられる乱数を生成し、生成された乱数を基に暗号鍵を生成してユーザーデバイスに提供する仮想セキュリティキーパッドサーバー(200)と、仮想セキュリティキーパッドを用いてユーザーからセキュリティ情報を入力し、仮想セキュリティキーパッドサーバー(200)から提供された暗号鍵を用いて入力されたセキュリティ情報を暗号化して仮想セキュリティキーパッドサーバー(200)に伝達するユーザー端末(100)とを含むことができる。
【0028】
また、仮想セキュリティキーパッドサーバー(200)の場合、開示された発明の一実施形態による仮想セキュリティキーパッド生成装置の一実施形態として具現することができる。例えば、開示された発明の仮想セキュリティキーパッド生成装置は、ユーザー端末(100)にインストールされるソフトウェアプログラムまたはソフトウェアプログラミングインターフェース(Application Programming Interface、 API)で具現することができる。
【0029】
本発明におけるサーバー(server)は、通常のサーバーを意味するが、サーバーはプログラムが実行されているコンピュータハードウェアであり、プリンタ制御やファイル管理などのネットワーク全体を監視又は制御し、メインフレームや公衆網を介した他のネットワークとの連結、データ、プログラム、ファイルのようなソフトウェアリソースと、モデム、ファックス、プリンタ共有、その他の機器などのハードウェアリソースを共有できるように支援することができる。
【0030】
また、開示された発明の一実施形態によるユーザー端末(100)は、ネットワークを用いてデータを送受信し、様々なソフトウェアを実行することができるコンピューティング装置に該当することができる。
【0031】
ここで、ネットワークとは、複数の端末およびサーバーのようなそれぞれのノード相互間で情報交換が可能な連結構造を意味するものであり、このようなネットワークの一例には、ローカルエリアネットワーク(LAN:Local Area Network)、ワイドエリアネットワーク(WAN: Wide Area Network)、インターネット(WWW:World Wide Web)、有無線データ通信網、電話網、有無線テレビ通信網などが含まれる。無線データ通信網の一例には、3G、4G、5G、3GPP(登録商標)(3rd Generation Partnership Project)、5GPP(5th Generation Partnership Project)、LTE(Long Term Evolution)、WIMAX(World Interoperability for Microwave Access)、ワイファイ(Wi-Fi)、インターネット(Internet)、LAN(Local Area Network)、Wireless LAN(Wireless Local Area Network)、WAN(Wide Area Network)、PAN(Personal Area Network)、RF(Radio Frequency)、ブルートゥース(登録商標)(Bluetooth)ネットワーク、NFC(Near -Field Communication)ネットワーク、衛星放送ネットワーク、アナログ放送ネットワーク、DMB(Digital Multimedia Broadcasting)ネットワークなどが含まれるが、これらに限定されない。
【0032】
ユーザー端末(100)には、起動および駆動のためのオペレーティングシステム(Operating System)プログラムが格納されていてもよい。例えば、オペレーティングシステムプログラムは、アンドロイド(登録商標)OS(Android OS)、iOS(iPhone(登録商標)OS)、タイゼン OS(Tizen OS)、ブラックベリー OS(BlackBerry OS)、ウィンドウズ(登録商標)フォン OS(Windows Phone OS)などを含むことができる。
【0033】
また、ユーザー端末(100)は、そのようなアルゴリズムを実現できるようにプロセッサを含むいくつかの端末装置で具現することができるが、一例として、コンピュータ、スマートパッド、ノートパソコン、または携帯端末などで具現することができる。
【0034】
ここで、コンピュータは、例えば、ウェブブラウザ(WEB Browser)が搭載されたノートパソコン、デスクトップ(desktop)、ラップトップ(laptop)、タブレットPC、スレートPCなどを含み、携帯端末は、例えば、携帯性と移動性が保証される無線通信装置として、PCS(Personal Communication System)、GSM(Global System for Mobile communications)、PDC(Personal Digital Cellular)、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant)、IMT(International Mobile Telecommunication) -2000、CDMA (Code Division Multiple Access)-2000、W-CDMA(W-Code Division Multiple Access)、WiBro(Wireless Broadband Internet)端末、スマートフォン(Smart Phone) などのあらゆる種類のハンドヘルド(Handheld)ベースの無線通信デバイスと、時計、リング、ブレスレット、アンクレット、ネックレス、メガネ、コンタクトレンズ、または頭部装着型デバイス(head-mounted-device、HMD)などのようなウェアラブルデバイスとを含むことができる。
【0035】
以下では、一実施形態による仮想セキュリティキーパッド生成システムの細部構成について詳細に説明する。
【0036】
図2は、開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成するシステムにおいて、ユーザー端末の主な構成を示す図面である。
図3は、開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する装置の主な構成を示す図面である。
【0037】
図2を参照すると、ユーザー端末(100)は、ユーザー仮想キーパッドモジュール(110)および通信モジュール(120)を含むことができる。
【0038】
ユーザー仮想キーパッドモジュール(110)は、その機能と動作に応じて、ノイズ測定モジュール(111)、第1ノイズ変換モジュール(112)、第1キー配列生成モジュール(113)、および暗号化処理モジュール(114)を含むことができる。
【0039】
ノイズ測定モジュール(111)は、ユーザー端末(100)の入力部のうち1つであるマイクを用いてユーザー周辺のノイズを測定することができる。
【0040】
より詳細には、ノイズ測定モジュール(111)は、ユーザー端末(100)に装着されたマイクを介して周辺環境のノイズを入力することができる。ノイズ測定モジュール(111)に入力されたノイズを第1ノイズ変換モジュール(112)の乱数生成に活用することができる。
【0041】
第1ノイズ変換モジュール(112)は、ノイズ測定モジュール(111)から測定されたオーディオ信号をアナログ形式で入力することができる。
【0042】
具体的には、第1ノイズ変換モジュール(112)は、アナログ信号であるオーディオ信号をデジタル形式に変換することができる。このような過程は、アナログ - デジタル変換(ADC、Analog-to-Digital Conversion)を使用して行うことができる。第1ノイズ変換モジュール(112)は、オーディオ信号をサンプリングして一連のデジタルサンプルに変換することができる。
【0043】
また、第1ノイズ変換モジュール(112)は、必要に応じてノイズ除去アルゴリズムを適用してオーディオ信号からノイズを一部除去し、乱数生成に使用される信号をよりクリーンに加工することができる。
【0044】
その後、第1ノイズ変換モジュール(112)は、測定されたノイズから乱数を抽出することができる。ノイズから乱数を抽出する方法は多様に存在し得る。
【0045】
例えば、第1ノイズ変換モジュール(112)は、ノイズの周波数を分析して周波数スペクトルを得ることができる。第1ノイズ変換モジュール(112)は、周波数帯域における信号強度を測定し、これを乱数として活用することができる。
【0046】
また、別の例として、第1ノイズ変換モジュール(112)は、ノイズのデジタルサンプルを使用してサンプル値又はサンプル間の変化率などで乱数を生成することができる。
【0047】
また、別の例として、第1ノイズ変換モジュール(112)は、ノイズの時間ドメインで変化する特性を分析して乱数を抽出することができる。例えば、ノイズの特定区間における変化率、絶対値の変動などを乱数として活用することができる。
【0048】
第1ノイズ変換モジュール(112)は、抽出した乱数を後処理することにより、乱数が所望の特性を有するように調整することができる。例えば、第1ノイズ変換モジュール(112)は、乱数の分布を調整したり、統計的特性を操作したりするなどの過程を行うことができる。
【0049】
第1ノイズ変換モジュール(112)による乱数生成過程は、信号処理、統計分析、アルゴリズム設計などの技術を活用して具現することができる。このような乱数の実際の具現方法は、使用するプラットフォーム、プログラミング言語、目標とする乱数の特性によって異なり得る。
【0050】
第1キー配列生成モジュール(113)は、第1ノイズ変換モジュール(112)から生成された乱数を活用して、仮想セキュリティキーパッドの配列を生成することができる。
【0051】
より詳細には、第1キー配列生成モジュール(113)は、仮想セキュリティキーパッドに使用される文字または数字を含むキーパッド配列を定義することができる。
【0052】
その後、第1キー配列生成モジュール(113)は、定義されたキーパッド配列を混ぜることができる。このとき使用されるアルゴリズムとしては、Fisher-Yatesアルゴリズムを活用することができる。これにより、キーパッド配列内の要素の順序をランダムに変更することができる。
【0053】
より詳細には、第1キー配列生成モジュール(113)は、第1ノイズ変換モジュール(112)で生成され抽出された乱数をFisher-Yatesアルゴリズムでシードとして活用することができる。
【0054】
その後、第1キー配列生成モジュール(113)は、混ぜられたキーパッド配列を仮想セキュリティキーパッド画面に配置することができる。第1キー配列生成モジュール(113)は、仮想セキュリティキーパッド画面にキーパッド配列を表示し、ユーザーインターフェース(UI)を構成して仮想セキュリティキーパッドを視覚的に表示することができる。
【0055】
したがって、第1キー配列生成モジュール(113)は、ノイズベースの乱数を活用して仮想セキュリティキーパッドのランダム配列を生成してユーザーに表示することにより、ユーザーのセキュリティ情報に対する入力セキュリティを強化し、キーパッド入力のランダム性を提供することができる。
【0056】
暗号化処理モジュール(114)は、第1キー配列生成モジュール(113)によって起動された仮想セキュリティキーパッドを介してユーザーがキーを選択すると、当該キー入力を暗号化処理することができる。
【0057】
より詳細には、暗号化処理モジュール(114)は、後述する仮想セキュリティキーパッドサーバー(200)が生成したノイズベースの乱数を活用した公開鍵に関する情報を受け取り、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を公開鍵を用いて暗号化することができる。
【0058】
具体的には、暗号化処理モジュール(114)は、仮想セキュリティキーパッドサーバー(200)から提供された公開鍵を用いて、RSAなどの公開鍵暗号アルゴリズムを用いてユーザーのセキュリティ情報を暗号化することができる。
【0059】
このとき、暗号化処理モジュール(114)は、暗号化する情報を選択して暗号アルゴリズムを適用し、公開鍵を使用して暗号鍵を生成し、暗号鍵を使用してユーザーのセキュリティ情報を暗号化することができる。
【0060】
ユーザー端末(100)の通信モジュール(120)は、ユーザー端末(100)と仮想セキュリティキーパッドサーバー(200)との間で様々な情報を送受信できるように構成されてもよい。
【0061】
例えば、ユーザー端末(100)の通信モジュール(120)は、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバー(200)に送信することができる。
【0062】
このとき、仮想セキュリティキーパッドサーバー(200)に送信されるユーザーのセキュリティ情報は、暗号化処理モジュール(114)によって暗号化された状態であってもよい。
【0063】
したがって、暗号化処理モジュール(114)によって暗号化されたユーザーのセキュリティ情報は、仮想セキュリティキーパッドサーバー(200)の公開鍵で暗号化されているので、秘密鍵を有している仮想セキュリティキーパッドサーバー(200)のみがユーザーのセキュリティ情報を解読することができる。
【0064】
また、ユーザー端末(100)の通信モジュール(120)は、ユーザー端末(100)の入力部で測定され収集されたノイズを仮想セキュリティキーパッドサーバー(200)に送信するように構成されてもよい。
【0065】
図3を参照すると、仮想セキュリティキーパッドサーバーは、その機能および動作に応じてサーバー仮想キーパッドモジュール(210)および通信モジュール(220)を含むことができる。
【0066】
サーバー仮想キーパッドモジュール(210)は、第2ノイズ変換モジュール(211)、暗復号鍵生成モジュール(212)、復号処理モジュール(213)、第2キー配列生成モジュール(214)、および完全性検証モジュール(215)を含むことができる。
【0067】
サーバー仮想キーパッドモジュール(210)の第2ノイズ変換モジュール(211)は、前述したユーザー端末(100)の第1ノイズ変換モジュール(112)と同じ構成で設けることができる。第2ノイズ変換モジュール(211)は、ユーザー端末(100)から受信したユーザー周辺のノイズ情報を用いて乱数を生成することができる。
【0068】
具体的には、第2ノイズ変換モジュール(211)は、アナログ信号であるオーディオ信号をデジタル形式に変換することができる。このような過程は、アナログ - デジタル変換(ADC、Analog-to-Digital Conversion)を使用して行うことができる。第2ノイズ変換モジュール(211)は、オーディオ信号をサンプリングして一連のデジタルサンプルに変換することができる。
【0069】
また、第2ノイズ変換モジュール(211)は、必要に応じてノイズ除去アルゴリズムを適用してオーディオ信号からノイズを一部除去し、乱数生成に使用される信号をよりクリーンに加工することができる。
【0070】
その後、第2ノイズ変換モジュール(211)は、測定されたノイズから乱数を抽出することができる。ノイズから乱数を抽出する方法は多様に存在し得る。
【0071】
例えば、第2ノイズ変換モジュール(211)は、ノイズの周波数を分析して周波数スペクトルを得ることができる。第2ノイズ変換モジュール(211)は、周波数帯域における信号強度を測定し、これを乱数として活用することができる。
【0072】
また、別の例として、第2ノイズ変換モジュール(211)は、ノイズのデジタルサンプルを使用してサンプル値またはサンプル間の変化率などで乱数を生成することができる。
【0073】
また、別の例として、第2ノイズ変換モジュール(211)は、ノイズの時間ドメインで変化する特性を分析して乱数を抽出することができる。例えば、ノイズの特定区間における変化率、絶対値の変動などを乱数として活用することができる。
【0074】
第2ノイズ変換モジュール(211)は、抽出した乱数を後処理することにより、乱数が所望の特性を有するように調整することができる。例えば、第2ノイズ変換モジュール(211)は、乱数の分布を調整したり、統計的特性を操作したりするなどの過程を行うことができる。
【0075】
このような第2ノイズ変換モジュール(211)から生成された乱数は、ユーザー端末(100)の第1ノイズ変換モジュール(112)から生成された乱数と同じ値を有することができる。
【0076】
したがって、開示された発明は、ユーザー端末(100)と仮想セキュリティキーパッドサーバーとの間で乱数を直接送受信せず、乱数に活用されるノイズのみを送受信するので、クライアントとサーバー間のトランザクション中に中間攻撃者に乱数が露出されないという技術的効果が存在する。
【0077】
暗復号鍵生成モジュール(212)は、暗号化および復号に使用される暗復号鍵を生成することができる。より詳細には、暗復号鍵生成モジュール(212)は、第2ノイズ変換モジュールによって生成された乱数を使用して暗復号鍵を生成することができる。
【0078】
また、暗復号鍵生成モジュール(212)が生成した暗復号鍵は公開鍵と秘密鍵のペアで構成され、暗復号鍵生成モジュール(212)は公開鍵のみをユーザー端末(100)に伝達するように構成することができる。
【0079】
したがって、開示された発明による仮想セキュリティキーパッド生成システム(1)の場合、非対称鍵暗号化方式を用いてデータを暗号化することができる。
【0080】
具体的には、暗復号鍵生成モジュール(212)は、暗号化のための公開鍵と秘密鍵をRSAアルゴリズムによって生成することができる。ただし、鍵生成に使用されるアルゴリズムはこれに限定されず、様々なアルゴリズムで具現することができる。
【0081】
その後、仮想セキュリティキーパッドサーバー(200)の暗復号鍵生成モジュール(212)は、公開鍵情報およびセッション情報をユーザー端末(100)に送信することができる。したがって、ユーザー端末(100)の暗号化処理モジュール(114)は、伝達された仮想セキュリティキーパッドサーバー(200)の公開鍵を用いて仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を暗号化することができる。
【0082】
したがって、開示された発明はノイズベースの乱数を生成するが、予測不可能な乱数を用いたRSA、DSA、ECCのような非対称鍵暗号化方式を具現することにより、中間子攻撃にもっと効果的に備えることができるという技術的効果がある。
【0083】
復号処理モジュール(213)は、ユーザー端末(100)から伝達された暗号化されたユーザーのセキュリティ情報を復号することができる。より詳細には、復号処理モジュール(213)は、伝達されたユーザーのセキュリティ情報を暗復号鍵生成モジュール(212)が生成した秘密鍵を用いて復号することができる。
【0084】
このような秘密鍵は、仮想セキュリティキーパッドサーバー(200)のみが保持しているものなので、復号処理モジュール(213)はこれにより暗号化されたユーザーのセキュリティ情報を解読することができる。
【0085】
第2キー配列生成モジュール(214)は、前述したユーザー端末(100)の第2キー配列生成モジュール(214)と同じ役割を行う構成であってもよい。
【0086】
第2キー配列生成モジュール(214)は、第2ノイズ変換モジュール(211)から生成された乱数を活用して、ユーザー端末(100)に表示される仮想セキュリティキーパッドと同様に仮想セキュリティキーパッドの配列を生成することができる。
【0087】
より詳細には、第2キー配列生成モジュール(214)は、仮想セキュリティキーパッドに使用される文字または数字を含むキーパッド配列を定義することができる。
【0088】
その後、第2キー配列生成モジュール(214)は、定義されたキーパッド配列を混ぜることができる。このとき使用されるアルゴリズムとしては、Fisher-Yatesアルゴリズムを活用することができる。これにより、キーパッド配列内の要素の順序をランダムに変更することができる。
【0089】
したがって、第2キー配列生成モジュール(214)は、ユーザー端末(100)から伝達されたノイズを基に第2ノイズ変換モジュール(211)から生成された乱数を活用して、ユーザー端末(100)に表示されるランダム仮想セキュリティキーパッドと同じ配列の仮想セキュリティキーパッドを生成することができる。
【0090】
これにより、復号処理モジュール(213)は、第2キー配列生成モジュール(214)が生成した仮想セキュリティキーパッドとキー入力値とを照合してユーザーのセキュリティ情報の原本の値を抽出することができる。したがって、第2キー配列生成モジュール(214)と復号処理モジュール(213)とは、組み合わせを介してユーザー端末(100)から伝達されたユーザーのセキュリティ情報を復号するのに使用することができる。
【0091】
完全性検証モジュール(215)は、ユーザー端末(100)から伝達されたユーザーのセキュリティ情報に対する完全性を検証するように構成することができる。このような完全性検証モジュール(215)の完全性検証方式を多様に実行することができる。
【0092】
例えば、完全性検証モジュール(215)は、データの完全性を検証するためにデジタル署名を使用することができる。デジタル署名とは、情報の完全性と送信者の身元認証を提供するセキュリティメカニズムである。
【0093】
この場合、完全性検証モジュール(215)が完全性検証のためのハッシュなどの値を生成するときにノイズから抽出されたシードを使用することによって、変調が難しく、安全なハッシュを生成することができる。
【0094】
具体的には、デジタル署名方式に関連して説明すると、情報送信者は個人鍵を使用して原本のデータに対するハッシュ(Hash)を生成することができる。ハッシュ関数は、任意の長さのデータを固定長の値に変換するアルゴリズムである。
【0095】
このような情報送信者は、個人鍵を使用してハッシュ値を暗号化し、デジタル署名を生成することができる。デジタル署名は原本のデータと一緒に送信することができる。
【0096】
情報受信者は、情報送信者の公開鍵を使用してデジタル署名を復号することができる。さらに、情報受信者は、原本のデータに対して同じハッシュ値を計算し、復号されたデジタル署名と計算したハッシュ値を比較して、互いに一致するか否かを確認することができる。
【0097】
もし、ハッシュ値の比較結果が一致すれば、完全性検証モジュール(215)は原本のデータの完全性を検証することができる。
【0098】
仮想セキュリティキーパッドサーバー(200)の通信モジュール(220)は、ユーザー端末(100)と仮想セキュリティキーパッドサーバー(200)との間でデータを送受信するように構成することができる。例えば、仮想セキュリティキーパッドサーバー(200)は、ユーザー端末(100)を介して受信されたノイズに基づいて乱数を生成することができ、生成された乱数に基づく暗復号鍵を生成し、そのうち公開鍵のみをユーザー端末(100)に送信することができる。
【0099】
前述したユーザー端末(100)と仮想セキュリティキーパッドサーバー(200)で使用される通信モジュール(220)は、外部装置と通信を可能にする1つ以上の構成要素を含むことができ、例えば、近距離通信モジュール、有線通信モジュール、および無線通信モジュールのうち少なくとも1つを含むことができる。 近距離通信モジュールは、Bluetoothモジュール、赤外線通信モジュール、RFID(Radio Frequency Identification)通信モジュール、WLAN(Wireless Local Access Network)通信モジュール、NFC通信モジュール、ジグビー(Zigbee)通信モジュールなどの近距離で無線通信網を利用して信号を送受信する様々な近距離通信モジュールを含むことができる。有線通信モジュールは、地域通信(Local Area Network; LAN)モジュール、広域通信(Wide Area Network;WAN)モジュール、または付加価値通信(Value Added Network; VAN)モジュールなどの様々な有線通信モジュールだけでなく、USB(Universal Serial Bus) 、HDMI(登録商標)(High Definition Multimedia Interface)、DVI(Digital Visual Interface)、RS-232(recommended standard232)、電力線通信、またはPOTS(plain old telephone service)などの様々なケーブル通信モジュールを含むことができる。無線通信モジュールは、ワイファイ(Wi-Fi)モジュール、ワイブロ(Wireless broadband)モジュールの他に、GSM(global System for Mobile Communication)、CDMA(Code Division Multiple Access)、WCDMA(登録商標)(Wideband Code Division Multiple Access)、UMTS(Universal mobile telecommunications system)、TDMA(Time Division Multiple Access)、LTE(Long Term Evolution)などの様々な無線通信方式を支援する無線通信モジュールを含むことができる。
【0100】
一方、図面では示していないが、ユーザー端末(100)及び仮想セキュリティキーパッドサーバーは、ユーザーの入力値、ノイズベースの乱数、乱数に対応する暗復号鍵等の情報をデータ化して記憶するプロセッサ(processor)、及びメモリを含むことができる。プロセッサおよびメモリは、
図1で前述した動作に必要なプログラムおよびデータを記憶する記憶媒体のうち少なくとも1つで具現することができ、プロセッサおよびメモリは単一のチップで具現することができるが、別個のチップで具現することもできる。
【0101】
図4は、開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法に関連するフローチャートである。
【0102】
図4を参照すると、開示された発明の一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、ユーザー端末(100)を介してユーザー周辺のノイズを測定する段階(S110)を含むことができる。
【0103】
より詳細には、ユーザー端末(100)を介してユーザー周辺のノイズを測定する段階(S110)は、ノイズ測定モジュール(111)を用いてユーザー端末(100)の入力部の1つであるマイクを用いてユーザー周辺のノイズを測定する段階を含むことができる。
【0104】
また、ユーザー端末(100)を介してユーザー周辺のノイズを測定する段階(S110)は、ノイズ測定モジュール(111)を用いてユーザー端末(100)に装着されたマイクを介して周辺環境のノイズを入力する段階を含むことができる。このようなノイズ測定モジュール(111)によって入力されたノイズは、第1ノイズ変換モジュール(112)と第2ノイズ変換モジュール(211)の乱数生成に活用することができる。
【0105】
その後、一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、測定されたノイズをユーザー端末(100)から仮想セキュリティキーパッドサーバーに送信する段階(S120)を含むことができる。
【0106】
より詳細には、測定されたノイズをユーザー端末(100)から仮想セキュリティキーパッドサーバーに送信する段階(S120)は、ノイズを伝達するとともに仮想セキュリティキーパッドの使用を要求する段階を含むことができる。
【0107】
一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)を含むことができる。
【0108】
より詳細には、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)は、アナログ信号であるオーディオ信号をデジタル形式に変換する段階を含むことができる。
【0109】
このような過程は、アナログ - デジタル変換(ADC、Analog-to-Digital Conversion)を使用して実行することできる。ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)は、第1ノイズ変換モジュール(112)と第2ノイズ変換モジュール(211)を用いてオーディオ信号をサンプリングし、これを一連のデジタルサンプルに変換することができる。
【0110】
また、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)は、第1ノイズ変換モジュール(112)と第2ノイズ変換モジュール(211)を活用して必要に応じて雑音除去アルゴリズムを適用してオーディオ信号から雑音を一部除去し、乱数生成に使用される信号をよりクリーンに処理する段階を含むことができる。
【0111】
また、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)は、第1ノイズ変換モジュール(112)と第2ノイズ変換モジュール(211)を用いて測定されたノイズから乱数をそれぞれ抽出する段階を含むことができる。ノイズから乱数を抽出する方法は多様に存在し得る。
【0112】
例えば、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)は、第1ノイズ変換モジュール(112)と第2ノイズ変換モジュール(211)を用いてノイズの周波数を分析し、これに応じた周波数スペクトルを得る段階を含むことができる。
【0113】
このとき、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)は、第1ノイズ変換モジュール(112)と第2ノイズ変換モジュール(211)を用いて周波数帯域における信号強度を測定し、それを乱数として活用する段階を含むことができる。
【0114】
ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)で行われる乱数生成過程は、信号処理、統計分析、アルゴリズム設計などの技術を活用して具現することができる。この乱数の実際の具現方法は、使用するプラットフォーム、プログラミング言語、目標とする乱数の特性によって異なり得る。
【0115】
また、ノイズに基づいてユーザー端末(100)と仮想セキュリティキーパッドサーバーがそれぞれ乱数を生成する段階(S130)で生成されるそれぞれの乱数は、同じ値を有することができる。
【0116】
一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)を含むことができる。
【0117】
より詳細には、乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)は、第1キー配列生成モジュール(113)を用いて仮想セキュリティキーパッドの配列を生成する段階を含むことができる。
【0118】
より詳細には、乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)は、第1キー配列生成モジュール(113)を用いて仮想セキュリティキーパッドに使用する文字または数字を含むキーパッド配列を定義する段階を含むことができる。
【0119】
また、乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)は、第1キー配列生成モジュール(113)を用いて定義されたキーパッド配列を混ぜる段階を含むことができる。このとき、使用されるアルゴリズムとしては、Fisher-Yatesアルゴリズムを活用することができる。これにより、キーパッド配列内の要素の順序をランダムに変更することができる。
【0120】
その後、乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)は、第1キー配列生成モジュール(113)を用いて混ぜられたキーパッド配列を仮想セキュリティキーパッド画面に配置する段階を含むことができる。乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)は、仮想セキュリティキーパッド画面にキーパッド配列を表示し、ユーザーインターフェース(UI)を構成して仮想セキュリティキーパッドを視覚的に表示する段階を含むことができる。
【0121】
したがって、乱数を基に仮想セキュリティキーパッドを生成してユーザーに表示する段階(S140)は、ノイズベースの乱数を活用して仮想セキュリティキーパッドのランダムな配列を生成してユーザーに表示することにより、ユーザーのセキュリティ情報に対する入力セキュリティを強化し、キーパッド入力のランダム性を提供する段階を含むことができる。
【0122】
一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)を含むことができる。
【0123】
より詳細には、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)は、ユーザー端末(100)に表示された仮想セキュリティキーパッドを介してユーザーがセキュリティ情報が含まれたキーを選択すると、当該キー入力を暗号化処理する段階を含むことができる。
【0124】
より詳細には、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)は、仮想セキュリティキーパッドサーバー(200)が生成したノイズベースの乱数を活用した公開鍵に関する情報が伝達され、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を公開鍵を用いて暗号化する段階を含むことができる。
【0125】
具体的には、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)は、仮想セキュリティキーパッドサーバー(200)から提供された公開鍵を用いてRSA等の公開鍵暗号アルゴリズムを使用してユーザーのセキュリティ情報を暗号化する段階を含むことができる。
【0126】
このとき、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)は、暗号化する情報を選択して暗号アルゴリズムを適用し、公開鍵を用いて暗号鍵を生成し、暗号鍵を用いてユーザーのセキュリティ情報を暗号化する段階を含むことができる。
【0127】
また、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)は、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバー(200)に送信する段階を含むことができる。
【0128】
このとき、仮想セキュリティキーパッドサーバー(200)に送信されるユーザーのセキュリティ情報は、暗号化処理モジュール(114)によって暗号化された状態であってもよい。
【0129】
したがって、仮想セキュリティキーパッドを介して入力されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバーに暗号化して送信する段階(S150)において、暗号化されたユーザーのセキュリティ情報は、仮想セキュリティキーパッドサーバー(200)の公開鍵で暗号化されたので、秘密鍵を有している仮想セキュリティキーパッドサーバー(200)のみがユーザーのセキュリティ情報を解読することができる。
【0130】
一実施形態によるノイズベースの乱数を用いた仮想セキュリティキーパッド生成方法は、暗号化されたデータを復号する段階(S160)を含むことができる。
【0131】
より詳細には、暗号化されたデータを復号する段階(S160)は、ユーザー端末(100)から伝達された暗号化されたユーザーのセキュリティ情報を復号する段階を含むことができる。
【0132】
具体的には、暗号化されたデータを復号する段階(S160)は、伝達されたユーザーのセキュリティ情報を仮想セキュリティキーパッドサーバー(200)の暗復号鍵生成モジュール(212)が生成した秘密鍵を用いて復号する段階を含むことができる。
【0133】
このような秘密鍵は、仮想セキュリティキーパッドサーバー(200)のみが保持しているので、暗号化されたデータを復号する段階(S160)で暗号化されたユーザーのセキュリティ情報が解読され得る。
【0134】
また、暗号化されたデータを復号する段階(S160)は、ユーザー端末(100)から伝達されたノイズを基に第2ノイズ変換モジュール(211)から生成された乱数を活用して、ユーザー端末(100)に表示されるランダム仮想セキュリティキーパッドと同じ配列の仮想セキュリティキーパッドを生成する段階を含むことができる。
【0135】
これにより、暗号化されたデータを復号する段階(S160)は、復号処理モジュール(213)と第2キー配列生成モジュール(214)を活用して、仮想セキュリティキーパッドサーバー(200)で生成された仮想セキュリティキーパッドとキー入力値とを照合する段階を含むことができる。したがって、暗号化されたデータを復号する段階(S160)において、ユーザーのセキュリティ情報の原本の値を抽出することができる。
【0136】
図5は、開示された発明の一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法において、ユーザー端末とサーバーの全般的なデータ処理過程を示す図面である。
【0137】
図5を参照すると、ユーザー端末(100)は内蔵マイクを用いてユーザー周辺のノイズを測定することができる。
【0138】
その後、ユーザー端末(100)は、測定されたノイズを仮想セキュリティキーパッドサーバーに伝達し、仮想セキュリティキーパッドサーバー(200)に仮想セキュリティキーパッドの使用を要求することができる。
【0139】
より具体的には、ユーザー端末(100)は、仮想セキュリティキーパッドサーバー(200)にノイズデータを送信し、エンドツーエンド暗号化の具現のために公開鍵とセッション情報を要求することができる。
【0140】
その後、仮想セキュリティキーパッドサーバー(200)は、伝達されたノイズを基に乱数を生成することができる。具体的には、仮想セキュリティキーパッドサーバー(200)は、伝達されたノイズから乱数を抽出することができる。
【0141】
特に、仮想セキュリティキーパッドサーバー(200)は、生成された乱数を基に暗復号鍵を生成することができる。暗復号鍵は、公開鍵と秘密鍵のペアで生成することができる。言い換えれば、仮想セキュリティキーパッドサーバー(200)は、抽出された乱数を基に公開鍵と秘密鍵のペアを生成することができる。
【0142】
その後、仮想セキュリティキーパッドサーバー(200)は、乱数を基に生成された公開鍵とセッション情報を送信することができる。より具体的には、仮想セキュリティキーパッドサーバー(200)は、生成された公開鍵を送信し、セッション確立のためのセッション情報を送信することができる。
【0143】
ユーザー端末(100)は、マイクを使用して測定されたノイズから乱数を生成することができる。ユーザー端末(100)は、測定されたノイズから仮想セキュリティキーパッドサーバー(200)と同じ方式で乱数を抽出することができる。
【0144】
ユーザー端末(100)は、生成された乱数を活用して仮想セキュリティキーパッドを生成して使用することができる。具体的には、ユーザー端末(100)は、抽出した乱数を用いてキー配列のシャッフル、暗号化する際に用いる初期化ベクトル(Initialization Vector)生成、暗/復号鍵生成など、様々な部分で乱数を活用して仮想セキュリティキーパッドを生成して使用することができる。
【0145】
その後、ユーザー端末(100)は公開鍵を用いてユーザーのセキュリティ情報が含まれたデータを暗号化することができる。より具体的には、ユーザー端末(100)は、仮想セキュリティキーパッドサーバー(200)から伝達された公開鍵を用いてユーザーから入力されたセキュリティ情報を含むデータ(タッチ座標、キー配列のインデックスなどの様々な形態の値)を暗号化する。
【0146】
その後、ユーザー端末(100)は、暗号化されたユーザーのセキュリティ情報が含まれたデータを仮想セキュリティキーパッドサーバー(200)に送信する。
【0147】
仮想セキュリティキーパッドサーバー(200)は、伝達されたデータの偽変造を検証することができる。より詳細には、仮想セキュリティキーパッドサーバー(200)は、暗号化されたデータのハッシュ値を検査して完全性を検証することができる。
【0148】
また、仮想セキュリティキーパッドサーバー(200)は、乱数を活用して仮想セキュリティキーパッド領域を生成することができる。具体的には、仮想セキュリティキーパッドサーバー(200)は、ノイズベースの乱数を用いてユーザー端末(100)と同じ仮想セキュリティキーパッド上の各キーの領域を生成することができる。
【0149】
その後、仮想セキュリティキーパッドサーバー(200)は、秘密鍵でユーザーのセキュリティ情報が含まれたデータを復号することができる。具体的には、仮想セキュリティキーパッドサーバー(200)は、伝達された暗号化データを仮想セキュリティキーパッドサーバー(200)が有している秘密鍵を用いて復号することができる。
【0150】
最終的に、仮想セキュリティキーパッドサーバー(200)は、復号されたデータでユーザーのセキュリティ情報の原文値を導出することができる。具体的には、仮想セキュリティキーパッドサーバー(200)は、復号されたユーザーのセキュリティ情報を含むデータとユーザー端末(100)と同じ領域で生成された仮想セキュリティキーパッド配列を用いて、ユーザーセキュリティ情報を含むデータの原文値を導出することができる。
【0151】
前述の一実施形態による仮想セキュリティキーパッドを生成する方法および装置は、ユーザー周辺環境のノイズに基づいて乱数生成のシードとして活用し、予測不可能な乱数を生成することと説明した。
【0152】
ただし、乱数生成のシードとして活用されるデータはノイズに限定されず、ユーザー端末(100)を介して得られる様々なデータをシードとして活用することができる。例えば、ユーザー端末(100)のカメラを介して得られるユーザーの瞳孔位置など、ユーザーの個人特性データを乱数生成のシードとして活用することができる。また、例えば、ユーザー端末(100)の指紋タッチパッドを介して得られるユーザーの指紋などのデータを乱数生成のシードとして活用することができる。
【0153】
このように、開示された発明はノイズを例にとって説明したが、ユーザー端末(100)から収集することができ、予測不可能な乱数を生成できるデータであれば、それに関連する様々な種類のデータを乱数シードとして活用することができる。
【0154】
なお、前述した一実施形態では、他のノイズベースの仮想セキュリティキーパッド生成方法及び装置は、予測不可能な乱数を活用して仮想セキュリティキーパッドを生成することとして説明したが、乱数の活用領域はこれに限定されず、乱数を利用できるいかなる技術にも使用することができる。
【0155】
例えば、開示された発明によって抽出された乱数は、前述した仮想セキュリティキーパッド生成にのみ活用されず、ランダムに生成された乱数を活用する分野として仮パスワード生成、様々な状況のシミュレーション及び模擬実験、ゲーム開発、システムテスト及び検証、機械学習などのランダム性と多様性をモデル化し、統計的なサンプリングと変化を提供する様々な技術分野で使用することができる。
【0156】
一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法及び装置は、ユーザー周辺環境のノイズを乱数生成のシードとして活用することにより、システム時間や特定パターンを基にする既存の乱数生成方式とは異なり、予測不可能な乱数を生成するので、中間者攻撃からセキュリティ上に安全であるという技術的利点がある。
【0157】
また、一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法及び装置は、端末とサーバーが乱数を直接交換せずに端末を介して測定されたノイズを送受信し、ノイズに基づいて乱数をそれぞれ個別に生成するので、生成された乱数がデータ送受信中に露出されないという技術的利点がある。
【0158】
また、一実施形態によるノイズベースの乱数を用いて仮想セキュリティキーパッドを生成する方法及び装置は、非対称鍵暗号方式を用いてサーバーがユーザー端末に乱数ベースの公開鍵のみを伝達するので、機密性が強化された仮想セキュリティキーパッドを生成できるという技術的な利点がある。
【0159】
一方、本明細書に記載の「~部に記載された構成要素、ユニット、モジュール、コンポーネントなどは、一緒にまたは個別であるが、相互運用可能なロジックデバイスとして個別に具現することができる。モジュール、ユニットなどに対する互いに異なる特徴の描写は、互いに異なる機能的実施例を強調するために意図したものであり、それらが個別のハードウェアまたはソフトウェアコンポーネントによって実現されるべきであることを必須的に意味しない。むしろ、1つ以上のモジュールまたはユニットに関連する機能は、個別のハードウェアまたはソフトウェアコンポーネントによって実行されたり、または共通または個別のハードウェアまたはソフトウェアコンポーネント内に統合されたりすることができる。
【0160】
特定の順序で作動が図面に示されているが、これらの作動が望む結果を達成するために示された特定の順序、または順次的な順序で実行されるか、または示されたすべての作動が実行される必要があると理解されてはいけない。任意の環境では、マルチタスクおよび並列処理が有利であり得る。さらに、上述した実施例での多様な構成要素の区分は、すべての実施例でこうした区別を必要とするものと理解されてはならず、記述された構成要素が一般的な単一のソフトウェア製品として統合されたり、多数のソフトウェア製品としてパッケージされたりすることができると理解されるべきである。
【0161】
端末装置プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも知られている)は、コンパイルまたは解釈された言語や、先験的または手続き型言語を含むプログラミング言語のいかなる形態でも作成することができ、独立型プログラム、モジュール、コンポーネント、サブルーチン、または端末装置環境で使用するのに適合した他のユニットを含み、いかなる形態でも展開することができる。
【0162】
付加的に、本特許文献で記述する論理の流れと構造的ブロック図は、開示された構造的手段の支援を受けて対応する機能と段階の支援を受けて対応する行為および/または特定な方法を技術するものであり、対応するソフトウェア構造とアルゴリズムとその等価物とを構築するのにも使用可能である。
【0163】
本明細書で記述するプロセスと論理の流れは、入力データ上で作動し出力を生成することによって機能を行うために、1つ以上の端末装置プログラムを実行する1つ以上のプログラマブルプロセッサによって実行可能である。
【0164】
本記述した説明は、本発明の最上のモードを提示しており、本発明を説明するために、そして当業者が本発明を製作および利用できるようにするための例を提供している。このように作成された明細書は、その提示された具体的な用語に本発明を制限するものではない。
【0165】
以上では本発明の好ましい実施例を参照して説明したが、当該技術分野の熟練した当業者又は当該技術分野に通常の知識を有する者であれば、後述する特許請求の範囲に記載された本発明の思想及び技術領域から逸脱しない範囲内で本発明を多様に修正および変更することができることが理解できる。
【0166】
したがって、本発明の技術的範囲は、明細書の詳細な説明に記載された内容に限定されるのではなく、特許請求の範囲によって定められるべきである。
【符号の説明】
【0167】
100:ユーザー端末
111:ノイズ測定モジュール
112:第1ノイズ変換モジュール
200:仮想セキュリティキーパッドサーバー
211:第2ノイズ変換モジュール
212:暗復号鍵生成モジュール