JP2017017711A - ランダムかつ固有のコードを生成する電子装置及び方法 - Google Patents

ランダムかつ固有のコードを生成する電子装置及び方法 Download PDF

Info

Publication number
JP2017017711A
JP2017017711A JP2016131405A JP2016131405A JP2017017711A JP 2017017711 A JP2017017711 A JP 2017017711A JP 2016131405 A JP2016131405 A JP 2016131405A JP 2016131405 A JP2016131405 A JP 2016131405A JP 2017017711 A JP2017017711 A JP 2017017711A
Authority
JP
Japan
Prior art keywords
code
electronic device
character set
otp
subcode
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.)
Granted
Application number
JP2016131405A
Other languages
English (en)
Other versions
JP6199447B2 (ja
Inventor
泳澤 安
Young-Taek An
泳澤 安
裕▲ジン▼ 姜
Yoo-Jin Kang
裕▲ジン▼ 姜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INNOAUS KOREA Inc
Original Assignee
INNOAUS KOREA Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by INNOAUS KOREA Inc filed Critical INNOAUS KOREA Inc
Publication of JP2017017711A publication Critical patent/JP2017017711A/ja
Application granted granted Critical
Publication of JP6199447B2 publication Critical patent/JP6199447B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】本発明は、ランダムかつ固有のコードを生成する電子装置及び方法を提供する。【解決手段】本発明による電子装置は、通信モジュールと、OTPを生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを格納するメモリと、プロセッサとを含み、プロセッサは、第1のシードを用いて第1のOTPを生成し、第1のOTP及び第1の固有コードの演算結果を文字セットにマッピングして第1のサブコードを生成し、第1のOTPを文字セットにマッピングして第2のサブコードを生成し、第1のサブコード及び第2のサブコードを用いてコードを生成し、生成されたコードを通信モジュールを通じて他の電子装置に送信するように設定される。【選択図】図8

Description

本発明はランダムかつ固有のコードを生成する電子装置及び方法に関するもので、より詳細には時間ベースのワンタイムパスワードを用いてランダムかつ固有のコードを生成する電子装置及び方法に関する。
オペレーティングシステム及び他のすべてのコンピュータアプリケーションシステムは、アクセスするユーザーの区分のためにIDをユニークに生成して各ユーザーに割り当てる。IDは、容易に露出又は流出される可能性があって、これを補完するためにユーザーが容易に記憶できるパスワードを生成してIDとともにマッピングして管理できる。それによって、ユーザーのIDが露出された場合に比べてパスワードをともに利用する場合には、セキュリティが一層向上できる。
しかしながら、ユーザーは、一般的に記憶しやすいパスワード、例えば‘12345678’のように単純な形態を設定する場合が一般的である。それにより、他人又はハッカーが容易にパスワードを類推できる弱点が存在する。複雑なパスワード(例えば、aB3Pe#28dwqP)が設定される場合であっても、ハッカーは、発達したハッキング技術、例えばキーロガー(key logger)のようなハッキングツールを用いてIDとパスワードを容易に盗み出すことができる。これを補完するために、システムは、ユーザーに複雑なパスワード(一定の長さ、英文字の大/小文字、特殊文字、数字を混合)を周期的に変更して使用するように要求する。実際にユーザーがこのような複雑なパスワードを記憶することは非常に難しく、実際のユーザーは、自分のIDとパスワードをシステム別にメモして使用している。
さらに、単純ID/パスワードベースのみでユーザーを区分することは、ハッキング技術の発達により限界を有するので、これを解決するためにユーザーが記憶する情報(ID/パスワード)とユーザーのみが持っていること(例えば、ワンタイムパスワード(OTP)生成器、OTPトークン、セキュリティカードなど)をともに使用するようにし、このようなユーザー認証方法を2ファクタ認証という。
すなわち、ユーザーが認知(記憶)しているID/パスワードをユーザーが有しているもの(例えば、OTPトークン、セキュリティカードなど)とともに使用するようにする。これは、ユーザーが認知(記憶)しているID及びパスワードとユーザーが持っているものを用いて認証を実行するため、2ファクタ認証と称される。さらに、ユーザー認証に多様な要素、特にユーザー生体情報(指紋認識、虹彩、音声認識など)をともに使用することは、マルチファクタ(multi-factor)認証と称する。
実際に、システムにアクセスするユーザー区分のためにはIDのみが必要であるが、セキュリティ上、これを補完するために複雑なパスワードとマルチファクタ(multi factor)をともにユーザーに要求する。これは、ユーザーのためのものでなく、システムのための形態でユーザー認証技術が研究/開発されていることを意味すると見なされる。
ワンタイムコードは、ASCIIコードで構成された文字列であって、アルファベットと数字(alphanumeric){‘0’,…,‘9’,…,‘A’,…,‘Z’,‘a’,…,‘z’}と特殊文字(displayable ASCII character){‘!’,‘@’,…}との組み合わせで構成される。これは、システムに登録されている実際のユーザーIDを意味することでなく、一定長さの任意に生成されるIDであり、与えられた文字セットに含まれた文字で構成される文字列を意味する。
例えば、与えられた文字セットが{‘0’,…,‘9’,‘A’,…,‘Z’}であり、長さが6である場合、ユーザーに割り当てられたランダムIDは、‘A012ZE’、‘KABFZE’、‘019D3F’、…である。このとき、ユーザーに割り当てられたワンタイムコードは固有でなければならない、すなわち、与えられた文字セットを用いて生成できる最大コードは、36(アルファベット大文字の個数(26)+数字(10))^6(ランダムID長さ)=2,176,782,336個である。
このようなコードを周期的に異なる文字組み合わせで生成するためにTOTP(RFC6238)を使用し、生成されたTOTPの各桁を与えられた文字セットのインデックスとして使用することによって、固有かつランダムなコードを生成できる。しかしながら、OTPは、アルゴリズム的に同一の時点で他のシードを使用する場合、同一の結果が得られる。すなわち、衝突が発生する可能性がある。その結果、TOTPコードのみでは同一の時点でIDの要件である固有性を満たすことができないので、IDとして使用できない。
従来のユーザー区分技術は、IDとパスワードが固定した方式に基づいて動作し、それによりユーザーID及びパスワードが露出するという問題があった。
韓国特許出願公開第10−2011−0039947号
したがって、上記した従来技術の問題点を解決するために、本発明の目的は、ランダムかつ固有のコードを生成する電子装置及び方法を提供することにある。
上記のような目的を達成するために、本発明の一態様によれば、コードを生成する方法が提供される。その方法は、ワンタイムパスワード(OTP)を生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを獲得するステップと、第1のシードを用いて第1のOTPを生成するステップと、第1のOTP及び第1の固有コードの演算結果を文字セットにマッピングして第1のサブコードを生成するステップと、第1のOTPを文字セットにマッピングして第2サブコードを生成するステップと、第1のサブコード及び第2のサブコードを用いてコードを生成するステップとを有する。
本発明の他の態様によれば、コードを生成する電子装置が提供される。その電子装置は、メモリと、上記メモリに電気的に接続されるプロセッサとを含み、メモリは、実行時にプロセッサが、ワンタイムパスワードを生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを獲得し、第1のシードを用いて第1のOTPを生成し、第1のOTP及び第1の固有コードの演算結果を文字セットにマッピングして第1のサブコードを生成し、第1のOTPを文字セットにマッピングして第2のサブコードを生成し、第1のサブコード及び第2のサブコードを用いてコードを生成する指示(instruction)を格納する。
本発明の他の態様によれば、通信モジュールと、OTPを生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを格納するメモリと、プロセッサとを含み、プロセッサは、第1のシードを用いて第1のOTPを生成し、第1のOTP及び第1の固有コードの演算結果を文字セットにマッピングして第1のサブコードを生成し、第1のOTPを文字セットにマッピングして第2のサブコードを生成し、第1のサブコード及び第2のサブコードを用いてコードを生成し、生成されたコードを通信モジュールを通じて他の電子装置に送信するように設定される。
さらに、本発明の他の態様によれば、認証を遂行する電子装置が提供される。その電子装置は、他の電子装置から第1のコードを受信する通信モジュールと、OTPを生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを格納するメモリと、プロセッサとを含み、プロセッサは、第1のシードを用いて第1のOTPを生成し、第1のOTP及び第1の固有コードの演算結果を文字セットにマッピングして第1のサブコードを生成し、第1のOTPを文字セットにマッピングして第2のサブコードを生成し、第1のサブコード及び第2のサブコードを用いて第2のコードを生成し、第2のコードと通信モジュールを通じて受信された第1のコードが一致する場合に認証を遂行し、第2コードと通信モジュールを通じて受信された第1のコードが一致しない場合には認証を遂行しないように設定される。
本発明は、ランダムかつ固有のコードを生成する電子装置及び方法が提供される。生成されたランダムかつ固有のコードは、システムでユーザーを区分するためのID、電子商取引のための入力コード、文化商品券のような貨幣代用印刷物の識別コードなどの多様な技術分野で使用することができる。特に、本発明の多様な実施形態による電子装置及び方法は、ランダムかつ固有のコードを時間に従って動的に生成でき、それによってコードが流出される可能性が顕著に低下することができる。
本発明による実施形態の上記及び他の態様、特徴、及び利点は、添付の図面と共に述べる以下の詳細な説明から、一層明らかになるはずである。
本発明の一実施形態による固有コードの生成方法を示すフローチャートである。 本発明の一実施形態によるコードを生成する電子装置を示すブロック構成図である。 本発明の一実施形態によるコード生成方法を示すフローチャートである。 本発明の一実施形態によるコード生成方法を示すフローチャートである。 本発明の一実施形態によるオフセット決定プロセスを示すフローチャートである。 本発明の一実施形態による文字セット決定方法を示すフローチャートである。 本発明の一実施形態による文字セット決定方法を示すフローチャートである。 本発明の一実施形態によるスマートカード及びカードリーダー(reader)を示すブロック構成図である。 本発明の一実施形態によるスマートカード及びリーダーの動作を示すフローチャートである。 本発明の一実施形態による電子装置及び開閉システムの動作を示すフローチャートである。 本発明の一実施形態によるマルチファクタ認証システムを説明するための概念図である。 本発明の一実施形態によるスマートカードによる認証プロセスを説明するための概念図である。 本発明の一実施形態によるシステムログインプロセスを説明するための概念図である。 本発明の一実施形態によるIoT環境における電子装置の動作を説明するための概念図である。
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
したがって、本発明の実施形態は、説明のみを目的とし、添付の特許請求の範囲及びそれと均等なものに基づいて定義される発明を制限するものではないことは、当業者には明らかである。図面において、同一の構成要素に対してはできるだけ同一の参照符号及び参照番号を付して説明する。
図1は、本発明の一実施形態による固有コードの生成方法を示すフローチャートである。
図1による実施形態において、第1の電子装置100は、固有コードを生成する電子装置であって、サーバ200は、固有コードを生成し、検証要請された固有コードを検証する電子装置であり得る。サーバ200は、固有コードを使用するサービスを管理する電子装置であり得る。例えば、サーバ200は、Webサービスを管理する電子装置であって、ユーザーID及びこれに対応するログイン情報を管理する。
ステップ110において、第1の電子装置100は、サーバ200と第1の固有コード及び第1のシードを共有できる。一実施形態において、サーバ200は、第1の電子装置100を使用する第1のユーザーをシステムに加入させる場合に、第1の電子装置100に第1の固有コード及び第1のシードを送信できる。または、サーバ200は、第1の固有コード及び第1のシードをディスプレイできる情報を他の電子装置に送信できる。例えば、第1のユーザーは、第1の電子装置100又は他の電子装置を通じてサーバ200に加入を要請できる。サーバ200は、加入要請に対応して第1のユーザーに第1の固有コードを割り当てる。サーバ200は、第1の固有コードを第1の電子装置100又は他の電子装置に送信できる。また、サーバ200は、第1のユーザーに第1のシードを与えることができる。第1のシードは、時間ベースのワンタイムパスワードの生成のために第1のユーザーに与えられる。サーバ200は、第1のシードを第1の電子装置100又は他の電子装置に送信できる。一実施形態において、サーバ200は、第1の固有コード及び第1のシードをQRコード(登録商標)イメージを第1の電子装置100又は他の電子装置に送信できる。第1のユーザーは、他の電子装置に表示されるQRコード(登録商標)を第1の電子装置100で撮影でき、それによって第1の電子装置100は、第1の固有コード及び第1のシードを獲得できる。
ステップ120において、第1の電子装置100は、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。すなわち、第1の電子装置100は、第1の時点で、第1の時点に対応する第1の時間情報及び第1のシードを用いて第1のOTPを生成できる。さらに、第1の電子装置100は、第2の時点で、第2の時点に対応する第2の時間情報及び第1のシードを用いて第2のOTPを生成できる。第1の電子装置100は、時間のフローに従って動的にOTPを変更して生成できる。
ステップ130において、第1の電子装置100は、第1のOTP及び第1の固有コードを用いて第1のコードを生成できる。第1の電子装置100が第1のOTP及び第1の固有コードを用いてランダムかつ固有の第1のコードを生成するプロセスに対して、より詳細に後述する。第1のコードは、第1のOTP及び第1の固有コード全部を用いて生成されるに従って、第1のOTPのランダム性及び動的な変更可能性と第1の固有コードの固有性を保証され、ランダムかつ固有であり得る。第1のコードのランダム性及び固有性に対して一層詳細に後述する。
ステップ140において、サーバ200は、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。サーバ200は、第1の時点で第1の時点に対応する第1の時間情報と第1のシードを用いて第1の電子装置100により生成されるものと同一の第1のOTPを生成できる。サーバ200は、第2の時点で第2の時点に対応する第2の時間情報と第1のシードを用いて第1の電子装置100が第2の時点で生成するもとと同一の第2のOTPを生成できる。すなわち、サーバ200は、OTPを動的に変更しつつ生成できる。
ステップ150において、サーバ200は、第1のOTP及び第1の固有コードを用いて第1のコードを生成できる。サーバ200が第1のOTP及び第1の固有コードを用いて第1のコードを生成する方式は、第1の電子装置100が第1のOTP及び第1の固有コードを用いて第1のコードを生成する方式と同一であり得る。それによって、サーバ200により生成される第1のコードと第1の電子装置100により生成される第1のコードは、同一であり得る。
ステップ160において、サーバ200は、コード確認要請を受信できる。サーバ200は、第1のユーザーが操作する電子装置、例えば第1の電子装置100又は他の電子装置からコード確認要請を受信することができる。
ステップ170において、サーバ200は、コード確認要請内のコードがサーバ200により生成された第1のコードと同一であるか否かを判定できる。コード確認要請内のコードがサーバ200により生成された第1のコードと同一である場合に、ステップ180において、サーバ200は、コードが適合すると判定できる。コード確認要請内のコードがサーバ200により生成された第1のコードと異なる場合に、ステップ190において、サーバ200は、コードが適合しないと判定できる。サーバ200は、コードが適合するか否かによって、ユーザーログイン又は電子商取引決裁などの追加サービスを遂行するか、あるいは遂行しないことができる。
図2は、本発明の一実施形態によるコードを生成する電子装置を示すブロック構成図である。
電子装置100は、撮影モジュール101、プロセッサ102、及びメモリ103を含むことができる。
撮影モジュール101は、外部の景観を撮影するモジュールであって、例えばプロセッサ102は、撮影モジュール101を通じて獲得されるイメージを使用し、シード、固有コード、及び文字セットの情報を獲得できる。
プロセッサ102は、CPU、電子装置100の制御のための制御プログラムが格納されたROM、及びディスプレイ装置100の外部から入力される信号又はデータを記憶するか、あるいはディスプレイ装置100で遂行される作業のための記憶領域として使用されるRAMを含むことができる。CPUは、シングルコア、デュアルコア、トリプルコア、又はクアッドコアを含むことができる。CPU、ROM、及びRAMは、内部バスを通じて相互に連結され得る。
メモリ103は、上記のROM及びRAMを両方とも含み、コードを生成するためのプログラム又はアルゴリズム、シード、固有コード、及び文字セットに関する情報を格納することができる。
メモリ103は、実行の際にプロセッサ102が、ワンタイムパスワードを生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを獲得し、第1のシードを用いて第1のOTPを生成し、第1のOTP及び第1の固有コードの演算結果を文字セットにマッピングして第1のサブコードを生成し、第1のOTPを文字セットにマッピングして第2のサブコードを生成し、第1のサブコード及び第2のサブコードを用いてコードを生成する指示を格納することができる。
メモリ103は、実行時にプロセッサ102が、第1のシード及び第1の時点に対応する第1の時間情報を時間ベースのワンタイムパスワードアルゴリズムに入力し、第1のOTPを生成する指示を格納できる。
メモリ103は、実行の際にプロセッサ102が、文字セットと比較することによって、第1の固有コードを数字コードに変換し、数字コードを第1のOTPと合算し、その合算結果を文字セットにマッピングして第1のサブコードを生成する指示を格納することができる。
メモリ103は、実行の際にプロセッサ102が、その合算結果に対して文字セットのサイズでmod演算を実行し、合算結果に対するmod演算の実行結果を文字セットにマッピングして第1のサブコードを生成する指示を格納することができる。
メモリ103は、実行の際にプロセッサ102が、合算結果に予め設定されたオフセットを適用し、オフセットが適用された合算結果を文字セットにマッピングして第1のサブコードを生成する指示を格納することができる。
メモリ103は、実行の際にプロセッサ102が、オフセットが適用された合算結果に対して文字セットのサイズでmod演算を実行し、その合算結果に対するmod演算の実行結果を文字セットにマッピングして第1のサブコードを生成する指示を格納できる。
メモリ103は、実行時にプロセッサ102が、第1のOTPに所定のオフセットを適用し、オフセット適用された第1のOTPを文字セットにマッピングして第2のサブコードを生成する指示を格納できる。
メモリ103は、実行の際にプロセッサ102が、オフセット適用された第1のOTPに対して文字セットのサイズでmod演算を実行し、第1のOTPに対するmod演算の遂行結果を文字セットにマッピングして第2のサブコードを生成する指示を格納できる。
メモリ103は、実行の際にプロセッサ102が、基本文字セットを獲得し、基本文字セットの要素をシャッフリング(shuffling)することで、文字セットを獲得する指示を格納できる。
メモリ103は、実行時にプロセッサ102が、システムのすべてのユーザーに同一の第2のシードを獲得し、第2のシードを用いて第2のOTPを生成し、第2のOTPに対する基本文字セットの要素の個数のmod演算結果を用いて基本文字セットの各桁の要素を他の桁の要素とスワッピング(swapping)する指示を格納できる。
一方、サーバ200は、通信モジュール201及びプロセッサ202を含むことができる。
通信モジュール201は、要請によりシード、固有コード、及び文字セットに関する情報を他の電子装置に送信できる。さらに、通信モジュール201は、コードを含むコード確認要請を実行できる。
プロセッサ202は、固有コードをユーザーに割り当てる。あるいは、プロセッサ202は、コード確認要請に対応してコードを生成できる。プロセッサ202は、生成されたコードをコード確認要請内のコードと比較することにより、コード確認要請が適合するか否かを判定できる。
図3は、本発明の一実施形態によるコード生成方法を示すフローチャートである。
ステップ310において、第1の電子装置100は、第1の固有コード及び各ユーザーに異なる第1のシードを獲得できる。第1のシードは、第1のユーザーにサーバ200により与えられるものである。一方、第1の固有コードは、ASCIIコードに基づいた文字列であって、アルファベットと数字と特殊文字の組み合わせであり得る。第1の固有コードは、所定の文字セットの要素から選択されたコードであり得る。例えば、サーバ200は、文字セットから固有のコードを生成するアルゴリズムを用いて第1のユーザーのための第1の固有コードを生成し、これを第1の電子装置100に送信できる。サーバ200は、他のユーザーのために固有コードを生成でき、ユーザーの各々に与えられる固有コードは相互に異なる。
ステップ320において、第1の電子装置100は、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。第1のOTPは、例えば数字で構成され得る。
ステップ330において、第1の電子装置100は、第1の固有コードを予め設定された文字セットにマッピングして第1の固有コードに対応する数字コードを生成できる。
例えば、第1の電子装置100は、予め設定された文字セットで{‘0’,‘1’,‘2’,…,‘9’,‘A’,‘B’,…,‘Z’}を使用する場合を仮定する。さらに、第1の電子装置100は、第1の固有コード“AX83Z0”を獲得すると仮定する。一実施形態では、第1の電子装置100は、第1の固有コードの各桁の文字が文字セットで何番目のインデックスであるかを確認することによって、第1の固有コードの各桁の文字を数字コードに変換できる。例えば、第1の電子装置100は、第1のコードの最初の桁の文字である“A”が文字セットで11番目のインデックスであることを確認することによって、“A”の固有コードを“10”の数字コードに変換できる。これは、数字コードの開始点が0であることに起因する。同一の方式で、第1の電子装置100は、“X”が文字セットで34番目のインデックスであることを確認することによって、“X”の固有コードを“33”に変換できる。第1の電子装置100は、第1の固有コードである“AX83Z0”を{10,33,8,3,35,0}の数字コードに変換できる。
ステップ340において、第1の電子装置100は、第1のOTP及び数字コードを合算できる。例えば、第1のOTPが“382901”である場合、第1のOTPの各桁数を変換された数字コードの各桁数と合算できる。すなわち、電子装置100は、{10,33,8,3,35,0}の数字コードを{3,8,2,9,0,1}の第1のOTPと合算し、{13,41,10,12,35,1}の合算結果を獲得することができる。一方、合算結果のうち、文字セットの要素の総個数、例えば36個を超える場合には、第1の電子装置100は、該当合算結果を文字セットの要素の総個数にmod演算した結果に置換できる。この場合、第1の電子装置100は、“41”を“41”に36のmod演算を遂行した結果である“5”に置換できる。それによって、第1の電子装置100について後述する。{13,5,10,12,35,1}の合算結果を獲得できる。本発明の他の実施形態では、合算結果の生成時にオフセットを適用でき、これについてより詳細に説明する。
ステップ350において、第1の電子装置100は、合算結果を文字セットにマッピングして第1のサブコードを生成できる。例えば、第1の電子装置100は{13,5,10,12,35,1}の各数字をインデックスとして解析し、これに対応する文字を文字セットから獲得できる。すなわち、第1の電子装置100は、‘13’のインデックスに対応する“D”を第1のサブコードの最初の文字として獲得できる。電子装置100は、‘5’のインデックスに対応する“5”を第1のサブコードの2番目の文字として獲得できる。上記した方式により、第1の電子装置100は、“D5ACY1”の第1のサブコードを獲得できる。
ステップ360において、第1の電子装置100は、第1のOTPを文字セットにマッピングして第2のサブコードを生成できる。例えば、第1の電子装置100は、{3,8,2,9,0,1}の第1のOTPの各桁の数字がインデックスであると解析し、各桁の数字に対応する第2のサブコードの文字の各桁を生成する。例えば、第1の電子装置100は、‘3’の数字に対応して‘3’の文字を獲得し、‘8’の数字に対応して‘8’の文字を獲得する。それによって、第1の電子装置100は、“382901”の第2のサブコードを獲得できる。本発明の他の実施形態では、数字の各桁ごとにオフセットを適用した結果を文字セットにマッピングして第2のサブコードを獲得でき、これに対してより詳細に後述する。
ステップ370において、第1の電子装置100は、第1のサブコード及び第2のサブコードを含む第1のコードを生成できる。第1の電子装置100は、第1のサブコード及び第2のサブコードを連結して例えば“D5ACY1382901”の第1のコードを生成できる。上記したように、第1のコードの第1のサブコードである“D5ACY1”は動的かつランダムに生成されるOTP及び固有コードの合算によって設定されたことに、動的かつランダム性が保障され、同時に固有コードによる固有性が保証され得る。ただし、低い確率で合算結果が同一のコードが発生できるので、本発明の多様な実施形態による第1の電子装置100は第2のサブコードを連結させる(concatenate)ことで、固有コードである第1のコードを生成できる。
図4は、本発明の一実施形態によるコード生成方法を示すフローチャートである。
ステップ410において、第1の電子装置100は、第1の固有コード及びユーザーごとに異なる第1のシードを獲得できる。上記したように、第1の電子装置100は、サーバ200から第1の固有コード及び第1のシードを受信するか、あるいは他の電子装置でディスプレイされるQRコード(登録商標)を撮影し、それにより第1の固有コード及び第1のシードを受信することができる。第1のシードは、サーバにより第1のユーザーに割り当てられたOTP生成のためのシードであり得る。
ステップ420において、第1の電子装置100は、1のシード及び第1の時間情報を用いて第1のOTPを生成できる。
ステップ430において、第1の電子装置100は、第1の固有コードを文字セットにマッピングして第1の固有コードに対応する数字コードを生成できる。例えば、図3の実施形態と同様に、第1の電子装置100は、“AX83Z0”の第1の固有コードを獲得でき、第1の時点で第1の時点に対応する第1の時間情報及び第1のシードを用いて“382901”の第1のOTPを生成できる。第1の電子装置100は、所定の{‘0’,‘1’,‘2’,…,‘9’,‘A’,‘B’,…,‘Z’}の文字セットに第1の固有コードをマッピングし、第1の固有コードである“AX83Z0”を{10,33,8,3,35,0}の数字コードに変換できる。
ステップ440において、第1の電子装置100は、第1のOTP及び数字コードを合算できる。例えば、第1のOTPが“382901”である場合、第1のOTPの各桁数を変換された数字コードの各桁数と合算できる。すなわち、電子装置100は、{10,22,8,3,35,0}の数字コードを{3,8,2,9,0,1}の第1のOTPと合算し、{13,41,10,12,35,1}の合算結果を獲得できる。
ステップ450において、第1の電子装置100は、合算結果にオフセットを適用できる。第1の電子装置100は、オフセットを例えば18に設定できる。第1の電子装置100は、合算結果の毎桁数の数字にオフセットである18を合算できる。その上、図3と同様に、第1の電子装置は、オフセット適用された合算結果に文字セットのサイズをmod演算した結果を獲得できる。それによって、第1の電子装置100は、オフセット適用された合算結果である{31,23,28,30,17,19}を獲得できる。
ステップ460において、第1の電子装置100は、オフセット適用された合算結果を文字セットにマッピングして第1のサブコードを生成できる。第1の電子装置100は、オフセット適用された合算結果である‘31’を文字セットでのインデックスとして解析し、31番目の文字である‘V’を獲得できる。第1の電子装置100は、‘23’,‘28’,‘30’,‘17’,‘19’を順次に文字に変換でき、それによって“VNSUHJ”の第1のサブコードを生成できる。
ステップ470において、第1の電子装置100は、第1のOTPにオフセットを適用できる。それによって、{3,8,2,9,0,1}の第1のOTPの各数字にオフセット18を合算し、{21,26,20,27,18}のオフセットが適用された第1のOTPを生成できる。
ステップ480において、第1の電子装置100は、オフセット適用された第1のOTPを文字セットにマッピングして第2のサブコードを生成できる。すなわち、第1の電子装置100は、オフセット適用された第1のOTPの{21,26,20,27,18}の各数字を文字セットでのインデックスとして解析し、第2のサブコードを生成できる。例えば、第1の電子装置100は、オフセット適用された第1のOTPの最初の数字である‘21’に基づき、文字セットでの21番目の文字である‘L’を獲得できる。上記した方式で、第1の電子装置100は、オフセット適用された第1のOTPの{21,26,20,27,18}から“LQKRIJ”の第2のサブコードを生成できる。
ステップ490において、第1の電子装置100は、第1のサブコード及び第2サブコードを含む第1のコードを生成できる。第1の電子装置100は、第1のサブコード及び第2のサブコードを連結し、例えば“D5ACY1LQKRIJ”の第1のコードを生成できる。上記したように、第1のコードの第1のサブコードである“D5ACY1”は、動的かつランダムに生成されるOTP及び固有コードの合算により設定されることで、動的かつランダム性が保証されつつ、固有コードによる固有性が保証され得る。但し、低い確率で合算結果が同一であるコードが発生する可能性もあるので、本発明の多様な実施形態による第1の電子装置100は、第2のサブコードを連結することにより固有コードである第1のコードを生成できる。
以下、上記したコード生成プロセスをアルゴリズムを通じて説明する。
-定義
-C:ASCIIコードで表現される相異なる文字を要素とする文字セット
与えられた文字セットをCとし、Cは、ASCIIコードで表現される異なる文字(アルファベットの大/小文字、特殊文字、数字)で構成される。例えば、Cが数字だけで構成される場合、C={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’}であり、同一の数字が重複しない。また、数字と英文大文字で構成される場合、C={‘0’,…,‘9’,‘A’,…,‘Z’}である。同一の方法で与えられた文字セットCは、多様な形態で構成され得る。また、Cの要素を同一の集合内でシャッフリングできる。例えば、数字だけで構成される文字セットC={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’}がシャッフリングされる場合、C={‘8’,‘0’,‘7’,‘3’,‘1’,‘9’,‘6’,‘2’,‘4’,‘5’}のようになり得る。
-S:与えられた文字セットCの要素個数
-C(n):n番目Cの要素(0≦n<Cの文字個数)
Cのn番目の要素をC(n)であると定義し、このとき、nは0≦n<Sである整数である。すなわち、nは、Cに含まれる要素のインデックスを意味する。数字のみで構成された文字セットC={‘8’,‘0’,‘7’,‘3’,‘1’,‘9’,‘6’,‘2’,‘4’,‘5’}である場合、0≦n<10であり、C(0)=‘8’、C(9)=‘5’である。
-Index0f(c):与えられた文字cのC内のインデックス
与えられた文字セットC={‘8’,‘0’,‘7’,‘3’,‘1’,‘9’,‘6’,‘2’,‘4’,‘5’}である場合、Index0f(‘8’)=0、Index0f(‘5’)=9である。
-U:Cに含まれる文字で構成される任意の生成されたユーザー固有IDを示す文字列
与えられた文字セットC={‘8’,‘0’,‘7’,‘3’,‘1’,‘9’,‘6’,‘2’,‘4’,‘5’}である場合、Uは‘0382’、‘7192’のように表現される。
-U(n):Uのn番目の文字(0≦n<Uの文字個数)
与えられたU=‘0382’である場合、nは0≦n<4である整数であり、U(2)=‘8’、U(3)=‘2’である。
-T:TOTPコード
例えば、ランダムな6桁のTOTPコードは、‘839023’、‘659921’である。
-T(n):TOTPコード内のn番目に位置した数字(0≦n<TOTP桁数)
例えば、生成されたTOTPコードが‘839023’である場合、T(0)=‘8’、T(5)=‘3’である。
-N:ランダムコードの長さ(N≧1)
-R:ランダムコード
-num0f(c):ASCII文字数字cを数字に変換
-アルゴリズム
プログラミング言語C++に類似した形態で記述する。

String generate_random_id(C,U,N,T)
{
String preId;
String postId;
Int offset=18;// 任意に指定
for(n=0;n<N;n++)
{
Int d=numOf(T(n));// T(n) ASCIIコードを数字に変換、‘3’→3,‘9’→9
Int x=IndexOf(U(n));
preId+=C((d+x+offset)%S);// 以前ステップで作られた文字に加える。
postId+=C((d+offset)%S);
}
return(preId+postId);//作られた2個の文字を加えて最終Rを作る。
}
-シミュレーション

N=6,
C={‘0’,…,‘9’,‘A’,…,‘Z’}であり、
S=10+26=36
U=‘AX83Z0’であり、
T=‘382901’である場合、
0≦n<36,(0,…,35)
Index0f(U)={10,33,8,3,35,0}であり、
num0f(T)={3,8,2,9,0,1}であり、

各桁に対して演算を実行すると、
preld[0]=C((3+10+18)%36)=C(31%36)=C(31)=‘V’
preId[1]=C((8+33+18)%36)=C(59%36)=C(23)=‘N’
preId[2]=C((2+8+18)%36)=C(28%36)=C(28)=‘S’
preId[3]=C((9+3+18)%36)=C(30%36)=C(30)=‘U’
preId[4]=C((0+35+18)%36)=C(53%36)=C(17)=‘H’
preId[5]=C(1+0+18)%36)=C(19%36)=C(19)=‘J’であり、

postId[0]=C((3+18)%36)=C(21)=‘L’
postId[1]=C((8+18)%36)=C(26)=‘Q’
postId[2]=C((2+18)%36)=C(20)=‘K’
postId[3]=C((9+18)%36)=C(27)=‘R’
postId[4]=C((0+18)%36)=C(18)=‘I’
postId[5]=C((1+18)%36)=C(19)=‘J’であり、

R=generate_random_id(C,U,N,T)であり、R=‘VNSUHJ LQKRIJ’である。
-シミュレーション2- 同一の時点で異なるIDである場合、
上記と同様にN=6、C={‘0’,…,‘9’,‘A’,…,‘Z’}、S=10+26=36に設定する。

その代わりにU=‘B05EFA’であり、
上記のようなT=‘382901’である場合、
0≦n<36,(0,…,35)
Index0f(U)={11,0,6,14,15,10}であり、
num0f(T)={3,8,2,9,0,1}であり、

各桁に対して演算を実行する場合、
preId[0]=C((3+11+18)%36)=C(32%36)=C(31)=‘W’
preId[1]=C((8+0+18)%36)=C(26%36)=C(26)=‘Q’
preId[2]=C((2+6+18)%36)=C(26%36)=C(26)=‘Q’
preId[3]=C((9+14+18)%36)=C(41%36)=C(5)=‘5’
preId[4]=C((0+15+18)%36)=C(33%36)=C(33)=‘X’
preId[5]=C(1+10+18)%36)=C(29%36)=C(29)=‘T’であり、

postId[0]=C((3+18)%36)=C(21)=‘L’
postId[1]=C((8+18)%36)=C(26)=‘Q’
postId[2]=C((2+18)%36)=C(20)=‘K’
postId[3]=C((9+18)%36)=C(27)=‘R’
postId[4]=C((0+18)%36)=C(18)=‘I’
postId[5]=C((1+18)%36)=C(19)=‘J’であり、

R=generat_random_id(C,U,N,T)であり、R=‘WQQ5XT LQKRIJ’である。
したがって、同一の時点で同一のOTPが出ても異なるランダムコードは、相異なる結果を有する。
図5は、本発明の一実施形態によるオフセット決定プロセスを示すフローチャートである。
ステップ510において、第1の電子装置100は、すべてのユーザーに対して同一の第2のシードを獲得できる。ここで、第2のシードは、例えば時間ベースのワンタイムパスワードを生成するためのシード値であって、第1のシードとは異なり得る。ステップ520において、第1の電子装置100は、第2のシード及び第1の時間情報に基づいて第2のOTPを生成でき、ステップ530において、第2のOTPを用いて図4で使用するオフセットを決定できる。例えば、第1の電子装置100は、第2のシードを用いて生成したオフセットに文字セットの要素の個数に対するmod演算の結果値でオフセットを設定できる。第2のシードは、第1のユーザーだけでなくシステムに加入したユーザー全部に同一であり、それによって第1の時点で生成されたオフセットは、すべてのユーザーに同一であり、生成されたコードの固有性が連続して保証され得る。
図6は、本発明の一実施形態による文字セット決定方法を示すフローチャートである。
ステップ610において、第1の電子装置100は、すべてのユーザーに同一の第2のシードを獲得できる。ここで、第2のシードは、例えば時間ベースのワンタイムパスワードを生成するためのシード値であって、第1のシードとは異なり得る。
ステップ620において、第1の電子装置100は、第2のシード及び第1の時間情報を用いて第2のOTPを生成できる。ステップ630において、第1の電子装置100は、第2のOTPを用いて文字セットを決定できる。例えば、第1の電子装置100は、基本文字セットを最初に獲得でき、基本文字セットを第2のOTPに基づいて変形することによって、コード生成に使用する文字セットを決定できる。
図7は、本発明の一実施形態による文字セット決定方法を示すフローチャートである。
ステップ710において、第1の電子装置100は、基本文字セットを獲得できる。例えば、第1の電子装置100は、{‘0’,‘1’,‘2’,…,‘9’}の基本文字セットを獲得できる。基本文字セットの要素の個数は、10であり得る。
ステップ720において、第1の電子装置100は、第2のシード及び第1の時間情報を用いて第2のOTPを生成できる。本発明の一実施形態では、第1の電子装置100は、hOTPアルゴリズムで第2のOTPを生成してもよい。例えば、第1の電子装置100は、123456の第2のOTPを生成すると仮定する。
ステップ730において、第1の電子装置100は、第2のOTP及び文字セットのサイズをmod演算し、演算結果値を獲得できる。ステップ740において、第1の電子装置100は、演算結果値を用いて基本文字セットの2個の文字の位置をスワッピングできる。例えば、第1の電子装置100は、123456に対するmod演算結果である6を獲得できる。第1の電子装置100は、6の演算結果を文字セットのインデックスとして解析し、文字セットの6番目の文字を0番目の文字とスワッピングできる。
ステップ750において、第1の電子装置100は、すべての文字に対して順次にスワッピングを実行し、基本文字セットをシャッフリングした文字セットを獲得できる。例えば、第1の電子装置100は、文字セットの1番目の文字に対して、OPT生成、mod演算、演算結果値をインデックスとして解析して1番目の文字とインデックスに対応する文字とスワッピングを実行して、上記したプロセスを2番目の文字乃至9番目の文字に対してすべて遂行できる。
ステップ760において、第1の電子装置100は、シャッフリングした文字セットを用いて第1のコードを生成できる。
上記したように、文字セットは、動的に変更でき、シードのみが共有される場合、すべてのユーザーに対して同一の文字セットが生成され、上記したように生成されたコードの固有性が連続され保証できる。
以下、上記した文字セットシャッフリング方法のアルゴリズムを説明する。
1.基本文字セットC={‘0’,‘1’,‘3’,‘4’、‘5’,‘6’,‘7’,‘8’,‘9’}である。
2.グローバルキーを設定してこれをOTPのシードとして使用される。
3.文字セットのサイズSだけ次を反復してランダムな文字セットを作る。
1)C(n)の桁を変更するために、HOTPを一つ作り、集合サイズでmod計算する。
2)HOTPが123456である場合、文字セットのサイズである10でmod計算して6が得られる。
3)得られた6は、Cのインデックスを意味し、C[6]に該当する数字を現在変更しようとするC[0]番目の文字と桁を変え、すなわちスワッピングする。
4)1,2,3のステップを9回さらに反復してC[9]まで遂行する。
5)上記の計算が完了する場合、シャッフリングされた文字セットが出て、この集合を用いてランダムIDを生成できる。
シミュレーション- 文字セットシャッフリング
文字セットC={0,1,2,3,4,5,6,7,8,9}であり、CのサイズS=10,0≦n<10である。
各ステップで生成されるHOTPをSでモジューロした値を0とし、
0(0)=1111 2222%10,
0(1)=3333 4444%10,
0(2)=5555 6666%10,
0(3)=7777 8888%10,
0(4)=9999 0000%10,
0(5)=1111 2222%10,
0(6)=3333 4444%10、
0(7)=5555 6666%10,
0(8)=7777 8888%10,
0(9)=9999 0000%10であると仮定する。
1)C[0]=0シャッフル
0[0]=1111 2222%10=2であるので、C[2]をC[0]の桁に移動させ、C[0]をC[2]に移動させてスワッピングする。したがって、文字セットはC={2,1,0,3,4,5,6,7,8,9}である。
2)C[1]=1シャッフル
0[1]=333 4444%10=4であるので、C[4]をC[1]の桁に移動させ、C[1]をC[4]に移動させてスワッピングする。したがって、文字セットはC={2,4,0,3,1,5,6,7,8,9}である。
3)C[2]=0シャッフル
0[2]=5555 6666%10=6であるので、C[6]をC[2]の桁に移動させ、C[2]をC[6]に移動させてスワッピングする。したがって、文字セットはC={2,4,6,3,1,5,0,7,8,9}である。
4)C[3]=1シャッフル
0[3]=7777 8888%10=8であるので、C[8]をC[3]の桁に移動させ、C[3]をC[8]に移動させてスワッピングする。したがって、文字セットはC={2,4,6,8,1,5,0,7,3,9}である。
5)C[4]=4シャッフル
0[4]=9999 0000%10=0であるので、C[0]をC[4]の桁に移動させ、C[4]をC[0]に移動させてスワッピングする。したがって、文字セットはC={1,4,6,8,2,5,0,7,3,9}である。
6)C[5]=5シャッフル
0[5]=1111 2222%10=2であるので、C[2]をC[5]の桁に移動させ、C[5]をC[2]に移動させてスワッピングする。したがって、文字セットはC={1,4,5,8,2,6,0,7,3,9}である。
7)C[6]=0 シャッフル
0[6]=3333 4444%10=4であるので、C[4]をC[6]の桁に移動させ、C[6]をC[4]に移動させてスワッピングする。したがって、文字セットはC={1,4,5,8,0,6,2,7,3,9}である。
8)C[7]=7シャッフル
0[7]=5555 6666%10=6であるので、C[6]をC[7]の桁に移動させ、C[7]をC[6]に移動させてスワッピングする。したがって、文字セットはC={1,4,5,8,0,6,7,2,3,9}である。
9)C[8]=3シャッフル
0[8]=7777 8888%10=8であるので、C[8]をC[8]の桁に移動させ、C[8]をC[8]に移動させてスワッピングする。したがって、文字セットはC={1,4,5,8,0,6,7,2,3,9}である。
10)C[9]=9シャッフル
0[9]=99990000%10=0であるので、C[0]をC[9]の桁に移動させ、C[9]をC[0]に移動させてスワッピングする。したがって、文字セットはC={9,4,5,8,0,6,7,2,3,1}である。
したがって、シャッフリングされた文字セットは、C={‘9’,‘4’,‘5’,‘8’,‘0’,‘6’,‘7’,‘2’,‘3’,‘1’}であり、このシャッフリング文字セットを用いてランダムコードを一度生成するようになる。
上記したように生成されたコードの固有性が保証される文字セットがシャッフリングされ得る。
図8は、本発明の一実施形態によるスマートカード及びカードリーダーを示すブロック構成図である。図8に示すように、スマートカード800は、プロセッサ810、メモリ820、及び通信回路830を含むことができる。スマートカード800は、一般的なクレジットカードと同一の材質とサイズであるプラスチックカードの表面自体に演算機能を有することができる。スマートカード800は、金融カードで実現するか、あるいはパスポート内にも挿入することができ、特定情報を利用して認証を遂行する分野では制限がないことは、当業者には容易に理解できることである。
例えば、オペレーティングシステム(Chip Operating System:COS)がメモリ820に格納され得る。オペレーティングシステムは、メモリ820に格納されているアプレットを格納及び管理でき、アプレットから送受信されるデータをハードウェア端に送受信できる。メモリ820に格納されているアプレットは、java言語で構成される小さいアプリケーションプログラムを意味する。java言語は、インターネットベースの言語であるので、容量と速度の限界でプログラムを大きく作る必要がないので、小規模アニメーション、絵描き、天気変化表示、株価情報表示などの簡単な機能を処理する小さいプログラムを作って使用し、これを意味できる。例えば、アプレットは、メモリ820に格納されているセキュリティ情報から固有かつランダムなコードを出力できる。より詳しくは、アプレットは、格納されたセキュリティ情報を用いて上記したプロセスを通じて固有かつランダムなコードを出力するように設定できる。さらに、メモリ820は、ワンタイムパスワードを生成するための第1のシード、第1のユーザーに割り当てられた第1の固有コード及び文字セットを格納できる。
プロセッサ810は、例えば、データライン811を介して生成されるコードをリーダー850に出力する。プロセッサ810は、データライン811を通じて受信された電力で駆動できる。他の実施形態において、プロセッサ810は、生成されたコードを通信回路830を通じてリーダー850の通信回路853に送信できる。通信回路830は、ブルートゥース(登録商標)、ジグビー、赤外線通信、可視光通信、NFC通信、Wi-Fiダイレクトなどの多様な通信方式に基づいてプロセッサ810から提供されるコードを通信回路853に送信できる。それにより、スマートカード800は、接触式又は非接触式で生成されたコードをカードリーダー850に送信できる。
カードリーダー850に接触式又は非接触式で受信したコードは、プロセッサ851に提供される。プロセッサ851は、コードを生成できる。プロセッサ851は、生成したコードと受信されたコードとを比較することによって、受信されたコードが適合するか否かを判定できる。あるいは、カードリーダー850は、受信されたコードを管理サーバにフォワーディングできる。この場合、管理サーバは、コードを生成でき、フォワーディングされるコードと生成されるコードとを比較することによって、受信されたコードが適合するか否かを判定できる。
図9は、本発明の一実施形態によるスマートカード及びリーダーの動作を示すフローチャートである。
ステップ905において、スマートカード900は、リーダー901から電力を受信できる。スマートカード900は、リーダー901からデータライン又は電力ラインを介して電力を受信してもよく、あるいは無線で電力を受信してもよい。
ステップ910において、スマートカード900は、リーダー901と第1の固有コード及び第1のシードを共有できる。割り当てられた第1の固有コードは、スマートカード900に予め格納され得る。リーダー901又は管理サーバにも第1の固有コードを予め格納され得る。第1のシードは、時間ベースのワンタイムパスワード(OTP)の生成のために第1のユーザーに割り当てられる。管理サーバは、第1のシードをスマートカード900に割り当て、これをスマートカード900に格納することができる。スマートカード900は、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。すなわち、スマートカード900は、第1の時点で、第1の時点に対応する第1の時間情報及び第1のシードを用いて第1のOTPを生成できる。さらに、スマートカード900は、第2の時点では、第2の時点に対応する第2の時間情報及び第1のシードを用いて第2のOTPを生成できる。スマートカード900は、時間の流れに従って動的にOTPを変更して生成してもよい。
ステップ920において、スマートカード900は、第1のOTP及び第1の固有コードを用いて第1のコードを生成できる。スマートカード900が第1のOTP及び第1の固有コードを用いてランダムかつ固有の第1のコードを生成するプロセスについては詳細に説明したので、ここではその説明を省略する。第1のコードは、第1のOTP及び第1の固有コードをすべて利用して生成されるに従って、第1のOTPのランダム性及び動的な変更可能性と第1の固有コードの固有性が保証されることで、ランダムかつ固有であり得る。
ステップ930において、リーダー901又は管理サーバは、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。リーダー901は、第1の時点で第1の時点に対応する第1の時間情報と第1のシードを用いてスマートカード900により生成されたものと同一の第1のOTPを生成できる。
リーダー901は、第2の時点で第2の時点に対応する第2の時間情報と第1のシードを用いてスマートカード900が第2の時点で生成したものと同一の第2のOTPを生成できる。すなわち、リーダー901は、OTPを動的に変更しつつ生成できる。ステップ940において、リーダー901は、第1のOTP及び第1の固有コードを用いて第1のコードを生成できる。
ステップ950において、リーダー901は、スマートカード900からコード確認要請を受信できる。すなわち、リーダー901は、スマートカード900により生成したコードを接触式又は非接触式で受信できる。
ステップ960において、リーダー901は、コード確認要請内のコードがリーダー901により生成された第1のコードと同一であるか否かを判定できる。コード確認要請内のコードがリーダー901により生成された第1のコードと同一である場合には、ステップ980において、リーダー901は、コードが適合すると判定する。コード確認要請内のコードがリーダー901により生成された第1のコードと異なる場合には、ステップ970において、リーダー901は、コードが適合しないと判定する。
図10は、本発明の一実施形態による電子装置1000及び開閉システム1001の動作を示すフローチャートである。開閉システムは、自動車のドア、又はセキュリティ通過が要求されるシステム等であって、多様な形態で実現することができる。
ステップ1005において、電子装置1000は、開閉システム1001から電力を受信できる。電子装置1000は、開閉システム1001からデータライン又は電力ラインを通じて電力を受信してもよく、あるいは無線で電力を受信してもよい。
ステップ1010において、電子装置1000は、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。ステップ1020において、電子装置1000は、第1のOTP及び第1の固有コードを用いて第1のコードを生成できる。電子装置1000は、第1のOTP及び第1の固有コードを用いてランダムかつ固有の第1のコードを生成するプロセスについては詳細に説明したので、ここでその詳細な説明を省略する。
ステップ1030において、開閉システム1001又は管理サーバは、第1のシード及び第1の時間情報を用いて第1のOTPを生成できる。開閉システム1001は、第1の時点で第1の時点に対応する第1の時間情報と第1のシードを用いて電子装置1000により生成したものと同一の第1のOTPを生成できる。
開閉システム1001は、第2の時点で第2の時点に対応する第2の時間情報と第1のシードを用いて電子装置1000により第2の時点で生成されたものと同一の第2のOTPを生成できる。
ステップ1050において、開閉システム1001は、電子装置1000からコード確認要請を受信できる。すなわち、開閉システム1001は、電子装置1000により生成されたコードを接触式又は非接触式で受信できる。
ステップ1060において、開閉システム1001は、コード確認要請内のコードが開閉システム1001により生成された第1のコードと同一であるか否かを判定する。コード確認要請内のコードが開閉システム1001により生成された第1のコードと同一である場合、ステップ1080において、開閉システム1001は、コードが適合すると判定できる。コード確認要請内のコードが開閉システム1001により生成された第1のコードと異なる場合、ステップ1070において、開閉システム1001は、コードが適合しないと判定できる。
図11は、本発明の一実施形態によるマルチファクタ認証システムを説明するための概念図である。
図11を参照すると、電子装置1100は、パスワードの入力のための画面1110を表示できる。パスワードの入力のための画面1110は、複数の数字を含むことができる。例えば、電子装置1100は、パスワード入力のための画面1110に“1”1111、“2”1112、“3”1113、“4”1114が連続して入力されることを検出できる。電子装置1100は、まず入力された“1”1111の固有コードを用いてコードである“SrDCC1040”を生成できる。さらに、“2”1112の固有コードを用いて“FQd3se4tT”のコードを生成し、“3”1113の固有コードを用いて“FrWwre0Te”のコードを生成し、“4”1114の固有コードを用いて“hwDYQzQキー”のコードを生成することができる。電子装置1100は、生成したコードの連結である“SrDCC1040FQd3se4tTFrWwre0TehwDYQzQ”を管理サーバ1101に送信できる。管理サーバ1101は、予め格納されている“1234”の各々の数字を用いるコードである“SrDCC1040FQd3se4tTFrWwre0TehwDYQzQ”を電子装置1100から受信されたコードと比較でき、その比較結果により、コードが適合するか否かを判定できる。それにより、ユーザーの記憶による“1234”の情報及びこれから生成されたコードを用いるマルチファクタ認証が可能である。
図12は、本発明の一実施形態によるスマートカードによる認証プロセスを説明するための概念図である。
図12に示すように、スマートカード1201は、セキュリティゲート1202に接触式又は非接触式で生成したコードを送信できる。スマートカード1201は、セキュリティゲート1202から有線又は無線で電力を受信してもよく、受信された電力を用いてアプレットを動作させ、コードを生成して出力してもよい。セキュリティゲート1202は、スマートカード1201から受信されたコード1203をセキュリティサーバ1210に送信できる。セキュリティサーバ1210は、コード1211を管理サーバ1230に送信できる。管理サーバ1230は、予めコードを生成し、受信されたコード1211と生成したコードとを比較できる。その比較結果、予め生成されたコードと受信されたコート1211が一致する場合、管理サーバ1230は、該当ユーザー識別子(ID)とパスワード関連情報1241をセキュリティサーバ1210に送信できる。セキュリティサーバ1210は、受信された該当ユーザー識別子とパスワード関連情報1241に基づいて開放命令1242をセキュリティゲート1202に送信できる。セキュリティゲート1202は、受信された開放命令1242に従ってドアを開放することができる。一方、管理サーバ1230の比較結果、予め生成されたコードと受信されたコード1211が一致しない場合、認証失敗メッセージをセキュリティサーバ1210に送信してもよく、この場合、セキュリティサーバ1210は、セキュリティゲート1202に閉鎖命令を送信してもよい。
図13は、本発明の一実施形態によるシステムログイン過程を説明するための概念図である。
電子装置1301は、スマートカードを挿入できる構造で実現できる。それにより、スマートカードは、電子装置1301から電力を受信してアプレットを実行し、アプレットの実行結果として生成されたコードを電子装置1301に出力する。電子装置1301は、スマートカードから受信されたコード(ランダムID)とユーザー名をともに表示できる。ユーザーは、これを確認してコンピュータのようなグループウェアログイン(groupware login)が可能な装置1310にユーザー名1311及び表示されたコード(例えば、6GHtY)1312をログインウィンドウで記載できる。グループウェアログインが可能な装置1310は、受信したユーザー名及びコード1313をグループウェアサーバ1320に送信し、グループウェアサーバ1320は、ユーザー名及びコード1321を管理サーバ1330にフォワーディングすることができる。
管理サーバ1330は、コードを予め生成し、予め生成したコードと受信されたコードとを比較する。その比較結果、予め生成したコードと受信されたコードが同一である場合、管理サーバ1330は、ユーザー名及びパスワード関連情報1341をグループウェアサーバ1320に送信する。グループウェアサーバ1320は、受信された該当ユーザー識別子(ID)とパスワード関連情報1341に基づいてグループウェアログイン関連メッセージ1342をログインが可能な装置1310に送信できる。一方、管理サーバ1330の比較結果、予め生成したコードと受信されたコード1321が一致しない場合、認証失敗メッセージをグループウェアサーバ1320に送信する。この場合、グループウェアサーバ1320は、ログイン失敗メッセージを送信できる。一方、図12及び図13に示すように、一つのスマートカードを用いてオンライン/オフライン両方ともに認証を遂行することができる。
図14は、本発明の一実施形態によるIoT(Internet of Things)環境における電子装置の動作を説明するための概念図である。
電子装置1401又はスマートカード1402は、コード1403を生成してホームネットワーク制御ポイント1410に送信できる。電子装置1401又はスマートカード1402は、ホームネットワークの複数の電子装置1411乃至1419のうち少なくとも一つに対する制御信号をともに送信する。一方、制御ポイント1410は、コードを生成し、これを受信されたコード1403と比較する。その比較結果、受信されたコード1403と生成したコードが一致する場合、制御ポイント1410は、該当命令を実行する電子装置を制御できる。それにより、例えばユーザーの安全に直接関連したガスバルブ制御システム等に対する制御がセキュリティ保証環境で実行できる。
一方、本発明は、認証が要求される分野ではどこでも適用することができる。例えば、本発明による商品券番号生成器は、上記したアルゴリズムを通じて固有かつランダムなコードを生成し、商品券のタイプごとに与えられ、認証システムとも共有できる。認証システムでは、商品券番号がオンライン使用システムを通じて受信される場合に、受信された商品券番号と予め共有にされた商品券番号を比較することによって認証を実行できる。上記したように、生成されたコードは、固有かつランダム性が保証されるにしたがって、他人により商品券番号を類推及び生成されることを防止することができる。
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、特許請求の範囲の記載及びこれと均等なものに基づいて定められる本発明の範囲及び精神を逸脱することなく、形式や細部の様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。
800 スマートカード
810、851 プロセッサ
820 メモリ
830、853 通信回路
850 カードリーダー

Claims (20)

  1. コードを生成する方法であって、
    ワンタイムパスワード(OTP)を生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを獲得するステップと、
    前記第1のシードを用いて第1のOTPを生成するステップと、
    前記第1のOTP及び第1の固有コードの演算結果を前記文字セットにマッピングして第1のサブコードを生成するステップと、
    前記第1のOTPを前記文字セットにマッピングして第2のサブコードを生成するステップと、
    前記第1のサブコード及び前記第2のサブコードを用いて前記コードを生成するステップと、
    を有することを特徴とする方法。
  2. 前記第1のシードを用いて第1のOTPを生成するステップは、
    前記第1のシード及び第1の時点に対応する第1の時間情報を時間ベースのOTPアルゴリズムに入力して前記第1のOTPを生成することを特徴とする請求項1に記載の方法。
  3. 前記第1のOTP及び第1の固有コードのオペレーション結果を前記文字セットにマッピングして第1のサブコードを生成するステップは、
    前記文字セットと比較することにより前記第1の固有コードを数字コードに変換するステップと、
    前記数字コードを前記第1のOTPと合算するステップと、
    前記合算結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップと、を有することを特徴とする請求項1に記載の方法。
  4. 前記合算結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップは、
    前記合算結果に対して前記文字セットのサイズとmod演算を遂行するステップと、
    前記合算結果に対するmod演算の遂行結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップと、を有することを特徴とする請求項3に記載の方法。
  5. 前記合算結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップは、
    前記合算結果に所定のオフセットを適用するステップと、
    前記オフセット適用された合算結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップとを有することを特徴とする請求項3に記載の方法。
  6. 前記オフセット適用された合算結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップは、
    前記オフセット適用された合算結果に対して前記文字セットのサイズとmod演算を遂行するステップと、
    前記合算結果に対するmod演算遂行結果を前記文字セットにマッピングして前記第1のサブコードを生成するステップと、を有することを特徴とする請求項5に記載の方法。
  7. 前記第1のOTPを前記文字セットにマッピングして第2サブコードを生成するステップは、
    前記第1のOTPに前記所定のオフセットを適用するステップと、
    前記オフセット適用された第1のOTPを前記文字セットにマッピングして前記第2サブコードを生成するステップと、を有することを特徴とする請求項5に記載の方法。
  8. 前記オフセット適用された第1のOTPに対して前記文字セットのサイズとmod演算を遂行するステップと、
    前記第1のOTPに対するmod演算の遂行結果を前記文字セットにマッピングして前記第2サブコードを生成するステップと、を有することを特徴とする請求項7に記載の方法。
  9. 前記文字セットを獲得するステップは、
    基本文字セットを獲得するステップと、
    前記基本文字セットの要素をシャッフリングすることにより前記文字セットを獲得するステップと、を有することを特徴とする請求項1に記載の方法。
  10. 前記基本文字セットの要素をシャッフリングするステップは、
    システムのすべてのユーザーに同一の第2のシードを獲得するステップと、
    前記第2のシードを用いて第2のOTPを生成するステップと、
    前記第2のOTPに対する前記基本文字セットの要素の個数のmod演算結果を用いて前記基本文字セットの各桁の要素を他の桁の要素とスワッピングするステップと、を有することを特徴とする請求項9に記載の方法。
  11. 通信モジュールと、
    ワンタイムパスワード(OTP)を生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを格納するメモリと、
    プロセッサと、を含み、
    前記プロセッサは、前記第1のシードを用いて第1のOTPを生成し、
    前記第1のOTP及び第1の固有コードの演算結果を前記文字セットにマッピングして第1のサブコードを生成し、
    前記第1のOTPを前記文字セットにマッピングして第2のサブコードを生成し、
    前記第1のサブコード及び前記第2のサブコードを用いてコードを生成し、
    前記生成されたコードを前記通信モジュールを通じて他の電子装置に送信するように設定されることを特徴とする電子装置。
  12. 前記電子装置はスマートカードであり、前記他の電子装置は認証を遂行する電子装置であることを特徴とする請求項11に記載の電子装置。
  13. 前記電子装置はスマートカードであり、前記他の電子装置は前記生成されたコードを中継する電子装置であり、
    前記他の電子装置は、認証を遂行する電子装置に前記生成されたコードを中継することを特徴とする請求項11に記載の電子装置。
  14. 前記電子装置はスマートカードであり、前記他の電子装置は開閉システムであることを特徴とする請求項11に記載の電子装置。
  15. 前記開閉システムは、受信されたコードを用いて認証を遂行するか、あるいは認証を遂行する他の電子装置に前記受信されたコードに対する認証を要請するように設定されることを特徴とする請求項14に記載の電子装置。
  16. 前記開閉システムは、前記認証結果又は前記他の電子装置から受信された認証結果に基づいてシステムの開閉を制御することを特徴とする請求項15に記載の電子装置。
  17. 前記他の電子装置は、ホームネットワークを構成する電子装置であることを特徴とする請求項11に記載の電子装置。
  18. 前記ホームネットワークを構成する電子装置は、認証結果に基づいて、前記ホームネットワークを構成する電子装置を制御し、あるいは前記ホームネットワークを構成するもう一つの電子装置を制御するように設定されることを特徴とする請求項17に記載の電子装置。
  19. 認証を遂行する電子装置であって、
    他の電子装置から第1のコードを受信する通信モジュールと、
    ワンタイムパスワード(OTP)を生成するための第1のシード、第1のユーザーに割り当てられる第1の固有コード及び文字セットを格納するメモリと、
    プロセッサと、を含み、
    前記プロセッサは、前記第1のシードを用いて第1のOTPを生成し、
    前記第1のOTP及び第1の固有コードの演算結果を前記文字セットにマッピングして第1のサブコードを生成し、
    前記第1のOTPを前記文字セットにマッピングして第2のサブコードを生成し、
    前記第1のサブコード及び前記第2のサブコードを用いて第2のコードを生成し、
    前記第2のコードと前記通信モジュールを通じて受信された前記第1のコードが一致する場合に認証を遂行し、
    前記第2のコードと前記通信モジュールを通じて受信された前記第1のコードが一致しない場合には認証を遂行しないように設定されることを特徴とする電子装置。
  20. 前記認証を遂行する電子装置は、スマートカードで前記第1のコードを生成するための電力を送信し、
    前記通信モジュールは、スマートカードから前記第1のコードを受信することを特徴とする請求項19に記載の電子装置。
JP2016131405A 2015-07-01 2016-07-01 ランダムかつ固有のコードを生成する電子装置及び方法 Active JP6199447B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150094374A KR101572111B1 (ko) 2015-07-01 2015-07-01 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 방법
KR10-2015-0094374 2015-07-01

Publications (2)

Publication Number Publication Date
JP2017017711A true JP2017017711A (ja) 2017-01-19
JP6199447B2 JP6199447B2 (ja) 2017-09-20

Family

ID=54847747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016131405A Active JP6199447B2 (ja) 2015-07-01 2016-07-01 ランダムかつ固有のコードを生成する電子装置及び方法

Country Status (7)

Country Link
US (1) US10341336B2 (ja)
EP (1) EP3113410B1 (ja)
JP (1) JP6199447B2 (ja)
KR (1) KR101572111B1 (ja)
CN (1) CN106452777B (ja)
AU (1) AU2016204540B2 (ja)
WO (2) WO2017003051A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190018973A (ko) * 2017-08-16 2019-02-26 (주)디에스멘토링 서버 패스워드 관리 방법 및 장치
KR20210006782A (ko) * 2019-07-09 2021-01-19 에스지에이 주식회사 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 otp 설정 방법
KR20220049497A (ko) * 2020-02-14 2022-04-21 주식회사 대림 세대단말기를 중심으로 하는 스마트홈 보안 강화 시스템
WO2023145729A1 (ja) * 2022-01-28 2023-08-03 株式会社ギガ・システム 認証システム、認証モジュール、および認証プログラム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101751887B1 (ko) * 2015-12-29 2017-07-11 한국정보통신주식회사 일회용 카드 코드 생성 방법, 그를 이용한 카드 결제 승인 방법, 카드 리더기 및 서버
KR101751894B1 (ko) * 2015-12-29 2017-07-03 한국정보통신주식회사 결제 단말 장치 및 일회용 카드 코드를 이용한 결제 처리 방법
US20170357799A1 (en) * 2016-06-12 2017-12-14 Logmein, Inc. Tracking and managing multiple time-based one-time password (TOTP) accounts
KR101945738B1 (ko) * 2016-11-29 2019-02-08 충남대학교산학협력단 어플리케이션의 무결성을 검증하기 위한 어플리케이션 서버 및 그 제어 방법
EP3425602B1 (en) * 2017-07-06 2020-09-02 Wincor Nixdorf International GmbH Method and system of performing an authorization mechanism between a service terminal system and a helpdesk system
US11190495B2 (en) * 2017-10-02 2021-11-30 Colossio, Inc. One-time-pad encryption
US10068082B1 (en) * 2017-11-16 2018-09-04 Fmr Llc Systems and methods for maintaining split knowledge of web-based accounts
JP7192208B2 (ja) * 2017-12-01 2022-12-20 ヤマハ株式会社 機器制御システム、デバイス、プログラム、及び機器制御方法
JP6962158B2 (ja) 2017-12-01 2021-11-05 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
JP7067082B2 (ja) 2018-01-24 2022-05-16 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
CN110391897A (zh) * 2018-04-20 2019-10-29 武汉真元生物数据有限公司 一种基于生物标识的口令生成方法及系统
US10460221B1 (en) * 2018-09-07 2019-10-29 Ryan C. Tucker Displaying a seeded, continuously updating identifier in a QR code
US10893041B2 (en) * 2018-10-10 2021-01-12 International Business Machines Corporation Single use passcode authentication
US10389708B1 (en) * 2019-01-03 2019-08-20 Capital One Services, Llc Secure authentication of a user associated with communication with a service representative
US10769873B1 (en) 2019-06-28 2020-09-08 Alibaba Group Holding Limited Secure smart unlocking
KR102227505B1 (ko) * 2019-09-19 2021-03-16 주식회사 이노스코리아 와이파이를 제공하는 억세스 포인트에 연결하는 전자 장치 및 그 동작 방법
US11402814B2 (en) * 2020-04-22 2022-08-02 Capital One Services, Llc Interactive home system including wireless devices
CN111935178B (zh) * 2020-09-23 2020-12-29 南京中孚信息技术有限公司 一种移动设备双因子离线认证方法、系统及装置
EP4020267A1 (en) * 2020-12-22 2022-06-29 Banco Bilbao Vizcaya Argentaria, S.A. Anti-fraud method for authorizing operations
KR20230120309A (ko) * 2022-02-09 2023-08-17 (주)가온아이 포스트 양자 암호 환경을 위한 고 차원 다형성 암호화를 수행하는 전자 장치 및 그 동작 방법
KR102600593B1 (ko) * 2022-12-22 2023-11-09 장준 가상 키보드를 이용하여 데이터를 암호화하기 위한 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018773A (ja) * 2004-07-05 2006-01-19 Fujitsu Ltd パスワード認証装置、パスワード認証方法およびパスワード認証プログラム
JP2007523431A (ja) * 2004-02-23 2007-08-16 ベリサイン・インコーポレイテッド トークン認証システムおよび方法
US20100242104A1 (en) * 2009-03-23 2010-09-23 Wankmueller John R Methods and systems for secure authentication
JP2015515218A (ja) * 2010-11-30 2015-05-21 フォーティコム、グループ、リミテッドForticom Group Ltd 抽象化およびランダム化された取引認証用ワンタイム使用パスワードのための方法およびシステム

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4879747A (en) * 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
JP3053527B2 (ja) 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置
US10326798B2 (en) * 1998-07-16 2019-06-18 Grid7, LLC System and method for secure data transmission and storage
US7069584B1 (en) * 1998-12-08 2006-06-27 Davis Campbell Engineering Llc Process and apparatus for improving the security of authentication procedures using a new “Super PIN”
AU2001253034A1 (en) * 2000-03-29 2001-10-08 Vadium Technology, Inc. One-time-pad encryption with central key service and keyable characters
US7363494B2 (en) 2001-12-04 2008-04-22 Rsa Security Inc. Method and apparatus for performing enhanced time-based authentication
US20060034456A1 (en) * 2002-02-01 2006-02-16 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
US7519989B2 (en) * 2003-07-17 2009-04-14 Av Thenex Inc. Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions
CN1731721A (zh) 2004-08-22 2006-02-08 西安海星现代科技股份有限公司 动态口令生成方法
US7437755B2 (en) * 2005-10-26 2008-10-14 Cisco Technology, Inc. Unified network and physical premises access control server
US9002750B1 (en) * 2005-12-09 2015-04-07 Citicorp Credit Services, Inc. (Usa) Methods and systems for secure user authentication
CN101000673A (zh) 2006-01-13 2007-07-18 蒋利 用户交易口令确认系统及方法
JP4693171B2 (ja) * 2006-03-17 2011-06-01 株式会社日立ソリューションズ 認証システム
US20070234064A1 (en) * 2006-03-29 2007-10-04 Casio Computer Co., Ltd. Identification information output device
US20080072058A1 (en) * 2006-08-24 2008-03-20 Yoram Cedar Methods in a reader for one time password generating device
US20080132235A1 (en) * 2006-11-30 2008-06-05 Motorola, Inc. Method to Facilitate Pre-Provisioning a Wireless Access Point With a One-Time Password to Facilitate Authorized Handoffs for a Given Communication Session
US8255696B2 (en) * 2007-05-01 2012-08-28 Microsoft Corporation One-time password access to password-protected accounts
US8788835B2 (en) * 2007-08-28 2014-07-22 Alcatel Lucent Methods for selectively capturing and replicating one-time password generator functionality from device to device
KR101049728B1 (ko) * 2007-10-01 2011-07-19 에스케이 텔레콤주식회사 이동통신 단말기에서의 공인 인증서 비밀번호 인증 장치 및방법
US8424057B2 (en) * 2007-12-28 2013-04-16 Ebay, Inc. Mobile anti-phishing
US20090220075A1 (en) * 2008-02-28 2009-09-03 Akros Techlabs, Llc Multifactor authentication system and methodology
JP2010102637A (ja) * 2008-10-27 2010-05-06 Kddi Corp 数字列変換装置、ユーザ認証システム、数字列変換方法、およびプログラム
US9521142B2 (en) 2009-02-03 2016-12-13 Inbay Technologies Inc. System and method for generating passwords using key inputs and contextual inputs
BRPI1012793A2 (pt) * 2009-05-11 2019-09-24 Emue Holdings Pty Ltd dispositivo de autenticação, método de autenticação de um serviço, e, mídia legível por computador.
KR20110039947A (ko) * 2009-10-13 2011-04-20 주식회사 아레오네트웍스 온라인 무선 결제 방법 및 시스템과 이를 위한 기록매체
US8799668B2 (en) * 2009-11-23 2014-08-05 Fred Cheng Rubbing encryption algorithm and security attack safe OTP token
WO2011079872A1 (en) * 2009-12-30 2011-07-07 Nec Europe Ltd. Method and system for user authentication
US8412928B1 (en) * 2010-03-31 2013-04-02 Emc Corporation One-time password authentication employing local testing of candidate passwords from one-time password server
EP2598984A4 (en) * 2010-07-29 2017-04-19 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password
US8640206B2 (en) * 2010-08-20 2014-01-28 Regis J. Betsch System and method for controlling access to information stored at plurality of sites
US8312519B1 (en) * 2010-09-30 2012-11-13 Daniel V Bailey Agile OTP generation
KR101360615B1 (ko) 2011-10-18 2014-02-10 김성수 근거리 무선통신을 이용한 주문 서비스 시스템 및 방법
TWI466525B (zh) * 2011-11-21 2014-12-21 Inst Information Industry 存取控制系統及其存取控制方法
US20130185780A1 (en) * 2012-01-12 2013-07-18 Infosys Limited Computer implemented method and system for generating a one time password
US9172698B1 (en) * 2012-10-12 2015-10-27 Ut-Battelle, Llc System and method for key generation in security tokens
US8909933B2 (en) * 2012-10-25 2014-12-09 International Business Machines Corporation Decoupled cryptographic schemes using a visual channel
US9218476B1 (en) * 2012-11-07 2015-12-22 Amazon Technologies, Inc. Token based one-time password security
CN103067892B (zh) 2012-12-21 2015-06-03 深圳一卡通新技术有限公司 一种使用水印的短信传输方法
GB2509322A (en) * 2012-12-28 2014-07-02 Securenvoy Plc Time-based two factor authentication
US8904482B1 (en) 2012-12-31 2014-12-02 Emc Corporation Techniques for securing a one-time passcode with an alteration code
US9313024B1 (en) 2013-06-13 2016-04-12 Masergy Communications, Inc. Keyed communication token
KR101483864B1 (ko) * 2013-07-03 2015-01-16 (주)에이티솔루션즈 오류 관리를 위한 엔에프씨 기반 다중 오티피 운영 방법
FR3008837B1 (fr) * 2013-07-19 2015-08-07 In Webo Technologies Procede d'authentification forte
US9361445B2 (en) * 2014-01-31 2016-06-07 Google Inc. Multiline one time password
KR101428650B1 (ko) * 2014-03-07 2014-08-13 (주)케이사인 암호화 방법 및 복호화 방법
US9332008B2 (en) * 2014-03-28 2016-05-03 Netiq Corporation Time-based one time password (TOTP) for network authentication
US9621526B2 (en) * 2014-04-10 2017-04-11 OTP Technologies, Inc. Content encryption and decryption
CN105095701A (zh) 2014-05-06 2015-11-25 黄熙镜 一种用户认证的方法、装置和终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007523431A (ja) * 2004-02-23 2007-08-16 ベリサイン・インコーポレイテッド トークン認証システムおよび方法
JP2006018773A (ja) * 2004-07-05 2006-01-19 Fujitsu Ltd パスワード認証装置、パスワード認証方法およびパスワード認証プログラム
US20100242104A1 (en) * 2009-03-23 2010-09-23 Wankmueller John R Methods and systems for secure authentication
JP2015515218A (ja) * 2010-11-30 2015-05-21 フォーティコム、グループ、リミテッドForticom Group Ltd 抽象化およびランダム化された取引認証用ワンタイム使用パスワードのための方法およびシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190018973A (ko) * 2017-08-16 2019-02-26 (주)디에스멘토링 서버 패스워드 관리 방법 및 장치
KR102036155B1 (ko) * 2017-08-16 2019-10-24 (주)디에스멘토링 서버 패스워드 관리 방법 및 장치
KR20210006782A (ko) * 2019-07-09 2021-01-19 에스지에이 주식회사 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 otp 설정 방법
KR102242720B1 (ko) 2019-07-09 2021-04-21 에스지에이 주식회사 클라이언트별 능동적 시각 오프셋 윈도우를 통한 고유 시각 방식의 otp 설정 방법
KR20220049497A (ko) * 2020-02-14 2022-04-21 주식회사 대림 세대단말기를 중심으로 하는 스마트홈 보안 강화 시스템
KR102395240B1 (ko) 2020-02-14 2022-05-06 주식회사 대림 세대단말기를 중심으로 하는 스마트홈 보안 강화 시스템
WO2023145729A1 (ja) * 2022-01-28 2023-08-03 株式会社ギガ・システム 認証システム、認証モジュール、および認証プログラム

Also Published As

Publication number Publication date
CN106452777A (zh) 2017-02-22
EP3113410A1 (en) 2017-01-04
CN106452777B (zh) 2019-12-13
WO2017003051A1 (ko) 2017-01-05
AU2016204540B2 (en) 2017-10-12
WO2017003243A1 (ko) 2017-01-05
KR101572111B1 (ko) 2015-11-27
AU2016204540A1 (en) 2017-01-19
JP6199447B2 (ja) 2017-09-20
US20170006026A1 (en) 2017-01-05
US10341336B2 (en) 2019-07-02
EP3113410B1 (en) 2019-03-27

Similar Documents

Publication Publication Date Title
JP6199447B2 (ja) ランダムかつ固有のコードを生成する電子装置及び方法
CN109951489B (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
US11468151B2 (en) System and method for memetic authentication and identification
CN102804200B (zh) 双因素用户认证系统及其方法
US8875264B2 (en) System, method and program for off-line two-factor user authentication
Ibrokhimov et al. Multi-factor authentication in cyber physical system: A state of art survey
US20160191494A1 (en) Method and apparatus for securing a mobile application
CN110245482B (zh) 认证方法和系统
CN102648610A (zh) 能够与多个独立的应用提供者一起使用的强认证令牌
WO2012142354A1 (en) Remote authentication and transaction signatures
CN111770063A (zh) 数字身份信息的派生、验证方法、装置及设备
CN111669377B (zh) 一种区块链上链信息的安全管控方法
CN113709181A (zh) 基于浏览器插件的网站登录方法、装置、设备及存储介质
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
CN104598805A (zh) 密码验证的方法、密码验证系统、控制器
CN114365134A (zh) 使用不可克隆函数的安全身份证
TWI621029B (zh) Personal identity authentication method and system using graphic lock
CN115834074A (zh) 一种身份认证方法、装置及设备
CN114299636A (zh) 用于处理设备离线密码的方法和装置
KR20110005612A (ko) 생체 인식을 이용한 오티피 운영 방법 및 시스템과 이를 위한 오티피 장치 및 기록매체
Cha et al. Design of new P2P-enabled Mobile-OTP system using fingerprint features
CN105827591B (zh) 一种身份认证方法、客户端、服务器及系统
JP2024016271A (ja) Nfcおよび非接触スマートカードを使用した安全なパスワードの生成および管理
KR20070008331A (ko) 보안 카드를 이용한 사용자 인증 방법
AYGÜN SMART CARD AND BIOMETRIC BASED GENERAL PURPOSE ACCESS CONTROL SYSTEM DESIGN

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170711

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: 20170731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170823

R150 Certificate of patent or registration of utility model

Ref document number: 6199447

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350