(58)【調査した分野】(Int.Cl.,DB名)
前記第1のプリセット・ルールが、前記プリセット・データの桁数未満の前記少なくとも1つのデジット・コードの桁数を生成するランダム関数を含む、請求項1に記載の方法。
前記クライアント端末が、パーソナル・コンピュータ、販売時点情報管理(POS)マシンまたは自動入出金機(ATM)である、請求項19に記載のデータ通信システム。
【発明を実施するための形態】
【0016】
当業者が本開示の技術的解決策を理解するために、本開示の例示的な実施形態及び対応する図面を参照しながら、本開示の技術的解決策を以下に説明する。説明される実施形態は、本開示の実施形態の一部分のみを表すものであり、すべての実施形態を表すものではないことが明らかである。創造的な努力を払うことなく、本開示の実施形態に基づき当業者が実施する他のすべての実施形態は、本開示の保護範囲に属する。
【0017】
図1は、本開示の例示的な実施形態による例示的なデータ通信方法を表すフローチャートである。
【0018】
102では、クライアント端末はサーバへ通信要求を送信する。
【0019】
例えば、例示的な実施形態のクライアント端末は、ユーザのパーソナル・コンピュータ、商業者の販売時点情報管理(POS)マシンまたはATMであってよい。代替として、クライアント端末は、そのようなハードウェア上で実行されるソフトウェアであってもよい。サーバは、ウェブサイトのサーバ、または銀行等の商業者のサーバであってよい。
【0020】
クライアント端末が通信要求をサーバへ送信する際、その要求は、ユーザは、クライアント端末を介してサーバへログインして、サーバに記憶された対応データを閲覧する、編集する、または使用することを示す場合がある。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0021】
例えば、通信要求は、文字で構成された文字列でもあってよく、この文字列は、クライアント端末が、サーバとの通信を確立することを要求していることを表す。その通信に基づき、クライアント端末は、サーバ上に記憶されたデータにアクセスしてもよい。ユーザウェブサイトへログインする際にユーザにログイン・ボタンをクリックさせる、またはユーザPOSマシンを介して支払いを行うためにユーザに銀行カードを使用させるような、通信要求を誘発する相当数のイベントが存在する。
【0022】
104では、サーバは、通信要求に応答し、第1のプリセット・ルールに従って、少なくとも1つのデジット・コードを生成する。サーバは、クライアント端末へ、少なくとも1つのデジット・コードを含む情報を送信する。
【0023】
例示的な実施形態では、デジット・コードは、プリセット・データのデジットのシリアル番号を表し得る。プリセット・データのデジット・コードの順序は、左から右の順序であっても、右から左の順序であってもよい。例えば、プリセット・データが「754962」であり、且つデジット・コードの順序が左から右の順序である場合、数字「7」のデジット・コードは1であり、数字「5」のデジット・コードは2であり、数字「4」、「9」、「6」及び「2」のデジット・コードは、それぞれ3、4、5及び6である。デジット・コードの順序が、右から左の順序である場合は、数字「2」のデジット・コードは1であり、数字「6」のデジット・コードは2であり、数字「9」、「4」、「5」及び「7」のデジット・コードは、それぞれ3、4、5及び6である。
【0024】
例えば、プリセット・データは、クライアント端末がサーバとの通信を確立する際、暗号化キーとして使用されるよう、サーバ内に予め記憶されてもよい。例えば、クライアント端末が、サーバ内のものと同じプリセット・データを入力すると、クライアント端末は、サーバとの通信を確立する。プリセット・データは、ユーザによって予め設定されたパスワードであってよい。プリセット・データは、ユーザのアカウント番号またはユーザ名に対応させて記憶されてもよい。ユーザが、正しいアカウント番号及びパスワード、またはユーザ名及びパスワードを入力すると、ユーザは、サーバに記憶されたデータへのアクセスを得る。例えば、プリセット・データは、ユーザがウェブサイトへログインするためのパスワードであってよい。ユーザは、ウェブサイトのログイン・インターフェースでユーザ名及びパスワードを入力してウェブサイトへログインし、さらなる操作を実行する。プリセット・データは、ユーザの銀行口座のパスワードであってもよい。ユーザは、銀行またはATMで取引きを行うために、口座番号及びパスワード、または口座名義及びパスワードを使用する。例えば、プリセット・データのデジット数は、固定数に予め設定されてもよい。
【0025】
例えば、第1のプリセット・ルールが、少なくとも1つのデジット・コードを生成するために使用される。少なくとも1つのデジット・コードの数及びそのような数の値は、プリセット・データのもの以下である。第1のプリセット・ルールは、数量または、そのような数量の値がプリセット・データのもの以下であるデジットの数を生成する。例えば、プリセット・データのデジット・コードの数は6である。プリセット・ルールは、毎回、1と6との間の2つの数を無作為に選択するものであり、そのように選択された2つの数は、デジット・コードとして使用される。もちろん、通信要求が受信された際に、少なくとも1つのデジット・コードの数がプリセット・データのデジット・コードの数未満である限り、生成された少なくとも1つのデジット・コードの数は、2つ(1、3、4、5または6であってもよい)に限定されなくてもよい。
【0026】
106では、クライアント端末は、少なくとも1つのデジット・コードの数に数が対応する、少なくとも1つの入力ボックスを生成し、少なくとも1つの入力ボックスの入力イベントを検出し、入力イベントが発生した際、その少なくとも入力ボックスのデータを取得する。
【0027】
例えば、少なくとも1つの入力ボックスは、ユーザからの入力を受信するために、クライアント端末のユーザ・インターフェースに提示される。
【0028】
例えば、クライアント端末が少なくとも1つのデジット・コードを受信した後、クライアント端末は、少なくとも入力ボックスを生成する。その入力ボックスへユーザがデータを入力すると、入力イベントが発生する。クライアント端末が入力イベントを検出すると、クライアント端末は、入力ボックス内のデータを取得する。入力ボックスは、クライアント端末にあるコントロールであってもよい。
【0029】
例えば、クライアント端末は、ユーザへ指示メッセージを提供する。例えば、クライアント端末は、各入力ボックスの近くに、各々の入力ボックスの対応するデジット・コードを示すことによって、ユーザに喚起する。ユーザがプリセット・データを承知している場合、ユーザは、指示メッセージに従って、プリセット・データ内のデータに対応するデジット・コードを入力する。クライアント端末は、少なくとも1つの入力ボックスの各々が入力イベントを有することを検出した後、入力ボックス内のデータを取得する。代替として、クライアント端末は、各々の入力ボックスが入力イベントを有することを検出すると、各々の入力ボックスのデータを取得する。
【0030】
108では、クライアント端末は、少なくとも1つの入力ボックスのデータを、少なくとも1つの検証データとして使用し、それをサーバへ送信する。
【0031】
例えば、クライアント端末は、すべての入力ボックスが入力イベントを有することを検出した後、すべての入力ボックス内のデータをサーバへ送信してもよい。代替として、クライアント端末は、ボタンを設定し、ボタンが誘発されたときにデータをサーバへ送信してもよい。
【0032】
例えば、クライアント端末は、検証データとして入力ボックス内のデータを取得する。この検証データは、データを入力する現在のユーザが、サーバに記憶されたデータに、クライアント端末を介してアクセスするための特権を有するかどうかを判定するために使用される。クライアント端末が、少なくとも1つのコードに対応する少なくとも1つの入力ボックスを生成するので、少なくとも1つの検証データ内の各デジットは、少なくとも1つのデジット・コード内のデジットに対応する。
【0033】
110では、サーバは、プリセット・データから、少なくとも1つのデジット・コードに対応する少なくとも1つのデジット・データを取得する。
【0034】
例えば、サーバは、少なくとも1つのデジット・コードに従って、そのデジット・コードに対応するデジット・データを読み取る。例えば、プリセット・データが754962であり、デジット・コードの順序が左から右の順序である場合、少なくとも1つのデジット・コードは、1及び4を含む。デジット・コード1はデジット・データ7に対応し、デジット・コード4はデジット数9に対応する。
【0035】
112では、サーバは、少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データと、検証データとを比較する。少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データが検証データと同じである場合、サーバは、クライアント端末へ成功情報コードを送信する。
【0036】
例えば、サーバは、各デジット・コードに対応するデジット・データと、検証データとを比較する。検証データがデジット・データと同じである場合、このことは、現在のユーザに、識別検証を通過する権限、またはログインする権限が与えられていることを示す。検証データの一部またはすべてがデジット・データと同じでない場合、このことは、データ検証の際にエラーがあることを示す。これは、また、現在のユーザに、識別検証を通過する権限がないか、ログインする権限がないか、または、サーバに記憶されたデータにアクセスする権限が与えられていないことを示す。
【0037】
例えば、成功情報コードは、デジット・コード全体に対応するデジット・データが、検証データと同じであることを表す文字または文字列であってもよい。クライアント端末は、サーバに記憶されたデータへさらにアクセスする権限が与えられる。例えば、ユーザがコンピュータを介してウェブサイトへログインし、コンピュータが成功情報コードをサーバから受信した後、サーバは、成功ログイン・メッセージを促す。その後、ユーザは、権限範囲内のデータにアクセスするために、コンピュータを使用する。別の実施例においては、ユーザがオンライン銀行へログインして、クライアント端末が成功情報コードを受信すると、ユーザは、さらに、支払い操作を実行する。別の例では、ユーザがATMから現金を引き出そうとする場合、ATMが成功情報コードを受信した後に、ユーザは、ATMを介して現金を引き出すか、または他の操作を実行する。
【0038】
本開示によって提供されるクライアント端末とサーバとの間のデータ通信方法は、プリセット・ルールに従ってデジット・コードを生成する。したがって、ユーザがクライアント端末を介してサーバへログインする場合、ユーザは、パスワードのデジット・コードに対応するデジット・データを入力する必要がある。クライアント端末及びサーバ間の相互作用プロセス中、クライアント端末によって入力される必要があるコンテンツは、毎回異なってもよいため、パスワードを解読する難易度が増大し、パスワードが解読されるリスクが低減する。
【0039】
例示的な実施形態においては、104では、少なくとも1つのデジット・コードの数及びそのような数の値は、プリセット・データのデジット・コード未満である。
【0040】
例えば、第1のプリセット・ルールは、プリセット・データのデジット・コードの数を、デジット・コードの上限数、またはデジット・コードの数の値として設定する。つまり、デジット・コードの数及びそのような数の値は、現在のデータのデジット・コードの数未満である。第1のプリセット・ルールは、デジット・データのデジット・コードの数の数または値未満の数または値を生成するランダム関数を含んでもよい。例えば、現在のデータのデジット・コードが6である場合、第1のプリセット・ルールは、1〜6の数1つを無作為に選択する。選択された数の数は、1、2、3、4または5であってよい。本開示によって提供されるデータ通信方法によれば、クライアント端末とサーバとの間の相互作用プロセス中、完全なパスワードは表示されない。ユーザがフィッシング・ウェブサイトに誤ってアクセスした、または、クライアント端末がトロイの木馬に感染している場合であっても、ハッカーはなおも完全なパスワードを取得することはできないため、完全なパスワードの漏洩が回避される。
【0041】
例示的な実施形態においては、102では、通信要求は、アカウント情報を含んでもよい。104では、デジット・コードの数及びそのような数の値は、アカウント情報に対応する現在のデータのデジット・コードの数未満である。
【0042】
例えば、アカウント情報は、アカウント名またはアカウント番号のいずれかを含んでもよい。プリセット・データは、サーバでアカウント情報に対応させて記憶される。例えば、ユーザは、ウェブサイトにアカウント名「taobaoyonghu」を有する。ユーザがウェブサイトへログインするとき、ユーザはアカウント名を入力して、サーバへそれを提出する。通信要求を受信した後、サーバは、アカウント名「taobaoyonghu」に対応するプリセット・データのデジット・コードの数を取得し、少なくとも1つのデジット・コードを生成し、以降の操作を実行する。
【0043】
図2を参照する。例示的な実施形態においては、
図1に示すデータ通信方法はまた、以下の下位操作を含んでもよい。
【0044】
202では、サーバは、第2のプリセット・ルールに従って検証コードを生成し、その検証コードをプリセット端末へ送信する。
【0045】
例えば、第2のプリセット・ルールは、検証コードを生成するために使用される。第2のプリセット・ルールは、乱数を生成するランダム関数を含んでもよい。ランダム関数によって生成された乱数は、検証コードである。第2のプリセット・ルールは、動的二次元コード・ジェネレータ等の二次元コードを生成する二次元コード・ジェネレータであってもよい。二次元コードまたは動的二次元コードは、検証コードである。第2のプリセット・ルールによって生成された二次元コードまたは動的二次元コードは、毎回異なってもよい。第2のプリセット・ルールはまた、バーコードを生成するバーコード・ジェネレータであってもよい。そのバーコードは検証コードであってもよい。第2のプリセット・ルールによって生成されたバーコードは、毎回異なる。
【0046】
例えば、プリセット端末は、ユーザの携帯電話でもよい。ユーザは、サーバ内に携帯電話番号を予め記憶してもよい。サーバは、ショートメッセージ・サービス(SMS)テキスト・メッセージを介して、携帯電話へ検証コードを送信する。もちろん、プリセット端末は、ユーザが使用するデバイス上にインストールされたソフトウェアであってもよく、そのソフトウェアが、そのデバイスを介して、サーバによって送信された検証コードを受信する。
【0047】
204では、クライアント端末は、プリセット端末によって受信された検証コードを取得し、その検証コードを、検証すべきコードとして使用し、その検証すべきコードをサーバへ送信する。
【0048】
例えば、クライアント端末は、プリセット端末からの検証コードをスキャンするスキャン装置を備えてもよい。代替として、ユーザがプリセット端末によって受信された検証コードを入力するために、入力ボックスが、クライアント端末によって提供される。例えば、クライアント端末はスキャン装置を備える。クライアント端末は、二次元コード、動的二次元コードまたはバーコードを取得するために、二次元コード、動的二次元コードまたはバーコードを表示するプリセット端末をスキャンする。言い換えれば、クライアント端末は、検証コードを取得する。もちろん、検証コードが乱数である場合は、クライアント端末が検証コードを取得するよう、クライアント端末は、ユーザが入力する乱数を受け取る入力ボックスを設定してもよい。加えて、プリセット端末及びクライアント端末は、通信してもよい。例えば、クライアント端末がプリセット端末から検証コードを取得するために、ブルートゥース(bluetooth)(登録商標)または赤外線技術が使用されてもよい。
【0049】
112の下位操作である206では、サーバは、少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データと検証データとを比較し、また、検証すべきコードと検証コードとを比較する。少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データが検証データと同じであり、且つ検証すべきコードが検証コードと同じである場合、サーバは、クライアント端末へ成功情報コードを送信する。
【0050】
この例示的な実施形態では、サーバは、少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データと検証データとを比較してもよく、また、検証すべきコードと検証コードとを比較してもよい。少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データが検証データと同じであり、且つ検証すべきコードが検証コードと同じである場合、サーバは、クライアント端末へ成功情報コードを送信する。
【0051】
この例示的な実施形態では、クライアント端末とサーバとの間のデータ通信方法は、プリセット・データに対応するランダムなデジット・コードに基づいて検証することに加えて、1回限り有効な検証コードの検証を追加するため、クライアント端末とサーバとの間の相互作用のセキュリティが向上する。したがって、本開示の技術は、ユーザ・アカウント及びユーザ・パスワードのセキュリティを向上させ、ユーザ・パスワードの漏洩を効果的に回避し、ユーザ・アカウントへハッカーが不法に侵入することを防止し、ハッカーがユーザの識別を使用してサーバへログインした場合に生じるユーザへの損害を回避する。
【0052】
例示的な実施形態では、第1のプリセット・ルールは、プリセット・データ内の少なくとも1つのコードを、予約コードとして設定することを含む。第1のプリセット・ルールによって生成された少なくとも1つのデジット・コードは、その予約コードのデジット・コードを含まない。
【0053】
例示的な実施形態においては、予約コードの数は、現在のデータ内の予約コードのコードが、クライアント端末へ提供される少なくとも1つのデジット・コード内に表示されないよう、プリセット・データの数未満である。したがって、本開示の技術によって、ユーザによって入力されたアカウント及び検証データが、クライアント端末とサーバとの間の相互作用プロセス中に複数回ハッキングされたとしても、ハッカーが完全なプリセット・データを取得することが不可能となる。
【0054】
例えば、プリセット・データが754962であり、デジット・コードの順序が左から右の順序であり、予約コードのデジット・コードが数字6に対応する「5」、及び数字2に対応する「6」である。第1のプリセット・ルールが少なくとも1つのデジット・コードを生成する際に、デジット・コード「5」及び「6」は表示されない。したがって、クライアント端末とサーバとの間の通信を確立するプロセス中、プリセット・データ内の数字6及び2は入力されない。したがって、トロイの木馬またはフィッシング・ウェブサイトが、クライアント端末とサーバとの間の通信中に複数回データを取得したとしても、ハッカーが第5のデジット・コード及び第6のデジット・コードのデータを取得することは不可能である。プリセット・データは、パスワードとして存在してもよい。本開示によって提供されるデータ通信方法は、パスワード・セキュリティを効果的に向上させる。
【0055】
図3を参照する。本開示はまた、クライアント端末302及びサーバ304を含む例示的なデータ通信システム300を提供する。クライアント端末302は、ユーザのパーソナル・コンピュータ、商業者の販売時点情報管理(POS)マシンまたはATMであってよい。代替として、クライアント端末302は、そのようなハードウェア上で実行されるソフトウェアであってもよい。サーバ304は、ウェブサイトのサーバ、または銀行などの商業者のサーバであってよい。
【0056】
例えば、クライアント端末302は、1つまたは複数のプロセッサ(複数可)、またはデータ処理ユニット(複数可)306、及びメモリ308を含んでもよい。クライアント端末302はさらに、1つまたは複数の入出力デバイス及びネットワーク・インターフェース(
図3に図示せず)を含んでもよい。メモリ304は、コンピュータ可読媒体の例である。
【0057】
コンピュータ可読媒体は、任意の方法または技術を介して情報記憶を実行する永久性、非永久性、可動性及び不動性媒体を含む。その情報は、コンピュータ可読もしくはコンピュータ実行可能命令、データ構造、プログラム・モジュールまたは他のデータであってもよい。コンピュータ可読媒体の例には、情報記憶に使用可能であり、演算デバイスによってアクセス可能な、相変化RAM(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、他のタイプのランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラム可能な読み出し専用メモリ(EEPROM)、フラッシュメモリもしくは他の内蔵メモリ技術、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは他の光メモリ、カセット、カセット及びディスクメモリもしくは他の磁気メモリ・デバイス、または他の任意の非透過媒体が含まれるが、これらに限定されるものではない。本明細書中のこの定義によると、コンピュータ可読媒体は、変調データ信号及び搬送波などの一過性媒体を含まない。
【0058】
メモリ308は、その中に、要求送信モジュール310、デジット・コード受信モジュール312、入力モジュール314及び検証データ送信モジュール316を含む複数のモジュールまたはユニットを格納してもよい。
【0059】
要求送信モジュール310は、通信要求をサーバ304へ送信する。
【0060】
例示的な実施形態において、要求送信モジュール310が通信要求をサーバ304へ送信するとき、その要求は、ユーザがサーバ304に記憶された対応データを閲覧する、編集する、または使用するために、クライアント端末302を介してサーバ304へログインすることを示す。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0061】
例えば、通信要求は、文字で構成される文字列でもよく、この文字列は、クライアント端末302がサーバ304との通信を確立することを要求していることを表す。通信に基づき、クライアント端末302は、サーバ304上に記憶されたデータにアクセスしてもよい。
【0062】
デジット・コード受信モジュール312は、サーバ304から、少なくとも1つのデジット・コードを含む情報を受信する。
【0063】
例示的な実施形態では、デジット・コードは、プリセット・データのデジットのシリアル番号を表してもよい。プリセット・データのデジット・コードの順序は、左から右へ順序、または右から左の順序であってもよい。例えば、プリセット・データが「754962」であり、且つデジット・コードの順序が左から右の順序である場合、数字「7」のデジット・コードは1であり、数字「5」のデジット・コードは2であり、数字「4」、「9」、「6」及び「2」のデジット・コードは、それぞれ3、4、5及び6である。デジット・コードの順序が右から左の順序である場合、数字「2」のデジット・コードは1であり、数字「6」のデジット・コードは2であり、数字「9」、「4」、「5」及び「7」のデジット・コードは、それぞれ3、4、5及び6である。プリセット・データは、ユーザによって予め設定されたパスワードであってもよい。
【0064】
入力モジュール314は、少なくとも1つのデジット・コードの数に数が対応する、少なくとも1つの入力ボックスを生成し、その少なくとも1つの入力ボックスの入力イベントを検出し、その入力イベントが発生した際、その少なくとも入力ボックスのデータを取得する。
【0065】
例えば、クライアント端末302が少なくとも1つのデジット・コードを受信した後、入力モジュール314は、少なくとも入力ボックスを生成する。その入力ボックスへユーザがデータを入力すると、入力イベントが発生する。入力モジュール314が入力イベントを検出すると、入力モジュール314は、入力ボックス内のデータを取得する。入力ボックスは、クライアント端末302にあるコントロールであってもよい。
【0066】
例えば、入力モジュール314は、ユーザへの指示メッセージを提供してもよい。例えば、入力モジュール314は、各入力ボックスの近くで各々の入力ボックスの対応するデジット・コードを示すことによって、ユーザに喚起する。ユーザがプリセット・データを承知している場合、ユーザは、指示メッセージに従って、プリセット・データ内のデータに対応するデジット・コードを入力する。入力モジュール314は、少なくとも1つの入力ボックスの各々が入力イベントを有することを検出した後、入力ボックス内のデータを取得する。代替として、入力モジュール314は、各々の入力ボックスが入力イベントを有することを検出した際に、各々の入力ボックスのデータを取得する。
【0067】
検証データ送信モジュール316は、その少なくとも1つの入力ボックスのデータを、少なくとも1つの検証データとして使用し、それをサーバへ送信する。
【0068】
例えば、検証データ送信モジュール316は、すべての入力ボックスが入力イベントを有することを検出した後、すべての入力ボックス内のデータをサーバ304へ送信してもよい。代替として、検証データ送信モジュール316は、ボタンを設定してもよく、そのボタンが誘発されたときにデータをサーバ304へ送信してもよい。
【0069】
例えば、検証データ送信モジュール316は、検証データとして入力ボックス内のデータを取得する。検証日は、クライアント端末302を介して、データを入力する現在のユーザが、サーバ304に記憶されたデータにアクセスする特権を有しているかどうかをサーバ304が判定する日である。入力モジュール314が少なくとも1つのコードに対応する少なくとも1つの入力ボックスを生成するため、少なくとも1つの検証データ内の各デジットは、少なくとも1つのデジット・コード内のデジットに対応する。
【0070】
サーバ304は、1つまたは複数のプロセッサ(複数可)またはデータ処理ユニット318、及びメモリ320を含んでもよい。サーバ304はさらに、1つまたは複数の入出力デバイス及びネットワーク・インターフェース(
図3に図示せず)を含んでもよい。メモリ320は、コンピュータ可読媒体の例である。
【0071】
メモリ320は、その中に、要求受信モジュール322、応答モジュール324、検証データ受信モジュール326及び比較モジュール328を含む複数のモジュールまたはユニットを格納してもよい。
【0072】
要求受信モジュール322は、クライアント端末302によって送信された通信要求を受信する。
【0073】
例示的な実施形態においては、クライアント端末302が通信要求をサーバ304へ送信する際、その要求は、ユーザが、サーバ304に記憶された対応データを閲覧する、編集する、または使用するために、クライアント端末302を介してサーバ304へログインすることを示す。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0074】
例えば、通信要求は、文字で構成される文字列でもよく、その文字列は、クライアント端末302がサーバ304との通信を確立することを要求していることを表す。通信に基づき、クライアント端末302は、サーバ304上に記憶されたデータにアクセスしてもよい。
【0075】
応答モジュール324は、通信要求に応答し、第1のプリセット・ルールに従って少なくとも1つのデジット・コードを生成し、少なくとも1つのデジット・コードを含む情報をクライアント端末へ送信する。
【0076】
例示的な実施形態では、デジット・コードは、プリセット・データのデジットのシリアル番号を表してもよい。プリセット・データのデジット・コードの順序は、左から右の順序、または右から左の順序であってもよい。例えば、プリセット・データが「754962」であり、且つデジット・コードの順序が左から右の順序である場合、数字「7」のデジット・コードは1であり、数字「5」のデジット・コードは2であり、数字「4」、「9」、「6」及び「2」のデジット・コードは、それぞれ3、4、5及び6である。デジット・コードの順序が右から左の順序である場合は、数字「2」のデジット・コードは1であり、数字「6」のデジット・コードは2であり、数字「9」、「4」、「5」及び「7」のデジット・コードは、それぞれ3、4、5及び6である。
【0077】
例えば、プリセット・データは、クライアント端末302がサーバ304との通信を確立する際に暗号化キーとして使用されるよう、サーバ304内に予め記憶されてもよい。例えば、クライアント端末302が、サーバ内のものと同じプリセット・データを入力すると、クライアント端末302は、サーバとの通信304を確立する。プリセット・データは、ユーザによって予め設定されたパスワードであってもよい。プリセット・データは、ユーザのアカウント番号またはユーザ名に対応させて記憶されてもよい。ユーザが、正しいアカウント番号及びパスワード、またはユーザ名及びパスワードを入力すると、ユーザは、サーバ304に記憶されたデータにアクセスする。例えば、プリセット・データは、ユーザがウェブサイトへログインするためのパスワードであってもよい。ユーザは、ウェブサイトのログイン・インターフェースでユーザ名及びパスワードを入力してウェブサイトへログインし、さらなる操作を実行する。プリセット・データは、ユーザの銀行口座のパスワードであってもよい。ユーザは、銀行またはATMで取引きを行うために、口座番号及びパスワードまたは口座名義及びパスワードを使用する。例えば、プリセット・データのデジット数は、固定数に予め設定されてもよい。
【0078】
例えば、第1のプリセット・ルールは、少なくとも1つのデジット・コードを生成するために使用される。少なくとも1つのデジット・コードの数及びそのような数の値は、プリセット・データの数以下である。第1のプリセット・ルールは、数量またはそのような数量の値がプリセット・データのもの以下であるデジットの数を生成する。例えば、プリセット・データのデジット・コードの数は6である。プリセット・ルールは、毎回1〜6の数を2つ無作為に選択するものであり、そのように選択された2つの数はデジット・コードとして使用される。もちろん、通信要求が受信された際、少なくとも1つのデジット・コードの数がプリセット・データのデジット・コードの数未満である限り、生成された少なくとも1つのデジット・コードの数は、2つ(1、3、4、5または6であってもよい)に限定されなくてもよい。
【0079】
検証データ受信モジュール326は、クライアント端末302によって送信された少なくとも1つの検証データを受信する。
【0080】
例示的な実施形態では、検証データは、クライアント端末302が、サーバ304にあるデータにアクセスする特権を有するかどうかを判定するために使用される。
【0081】
比較モジュール328は、少なくとも1つのデジット・コードに対応するプリセット・データ内のデジット・データと検証データとを比較し、少なくとも1つのデジット・コードに対応するデジット・データが検証データと同じである場合、クライアント端末へ成功情報コードを送信する。
【0082】
例えば、サーバ304は、各デジット・コードに対応するデジット・データと検証データとを比較する。検証データがデジット・データと同じである場合、このことは、現在のユーザが、識別検証を通過する権限を有する、またはログインする権限が与えられていることを示す。検証データの一部またはすべてがデジット・データと同じでない場合、このことは、データ検証の際にエラーがあることを示す。これはまた、現在のユーザが、識別検証を通過する権限を有さず、ログインする権限を与えられていないか、または、サーバに記憶されたデータにアクセスする権限を与えられていないことを示す。
【0083】
例えば、成功情報コードは、デジット・コード全体に対応するデジット・データが検証データと同じであることを表す文字または文字列であってもよい。クライアント端末は、サーバに記憶されたデータへさらにアクセスする権限が与えられる。例えば、ユーザがコンピュータを介してウェブサイトへログインし、コンピュータが成功情報コードをサーバから受信した後、サーバは、成功ログイン・メッセージを促す。その後ユーザは、権限範囲内のデータにアクセスするために、コンピュータを使用する。別の例においては、ユーザがオンライン銀行へログインして、クライアント端末が成功情報コードを受信すると、ユーザはさらに、支払い操作を実行する。もう1つの例示的なでは、ユーザがATMから現金を引き出そうとする場合、ATMが成功情報コードを受信した後に、ユーザは、ATMを介して現金を引き出すか、または他の操作を実行する。
【0084】
図4を参照する。本開示はまた、別の例示的なデータ通信方法を提供する。これは、以下の操作を含んでもよい。
【0085】
402では、通信要求がサーバへ送信される。
【0086】
例示的な実施形態において、クライアント端末が通信要求をサーバへ送信する場合、その要求は、ユーザが、サーバに記憶された対応データを閲覧する、編集する、または使用するために、クライアント端末を介してサーバへログインすることを示す場合がある。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0087】
例えば、通信要求は、文字で構成された文字列でもあってよく、この文字列は、クライアント端末が、サーバとの通信を確立することを要求していることを表す。その通信に基づき、クライアント端末は、サーバ上に記憶されたデータにアクセスしてもよい。
【0088】
404では、サーバによって送信された情報が受信され、その情報に含まれる少なくとも1つのデジット・コードが取得される。
【0089】
406では、少なくとも1つのデジット・コードの数に数が対応する、少なくとも1つの入力ボックスが生成される。その少なくとも1つの入力ボックスの入力イベントが検出される。入力イベントが発生した際、少なくとも1つの入力ボックスのデータが取得される。
【0090】
例えば、クライアント端末が少なくとも1つのデジット・コードを受信した後、クライアント端末は、少なくとも入力ボックスを生成する。その入力ボックスへユーザがデータを入力すると、入力イベントが発生する。クライアント端末が入力イベントを検出すると、クライアント端末は、入力ボックス内のデータを取得する。入力ボックスは、クライアント端末にあるコントロールであってもよい。
【0091】
例えば、クライアント端末は、ユーザへ指示メッセージを提供する。例えば、クライアント端末は、各入力ボックスの近くで、各々の入力ボックスの対応するデジット・コードを示すことによって、ユーザに喚起する。ユーザがプリセット・データを承知している場合、ユーザは、指示メッセージに従って、プリセット・データ内のデータに対応するデジット・コードを入力する。クライアント端末は、少なくとも1つの入力ボックスの各々が入力イベントを有することを検出した後、入力ボックス内のデータを取得する。代替として、クライアント端末は、各々の入力ボックスが入力イベントを有することを検出すると、各々の入力ボックスのデータを取得する。
【0092】
408では、少なくとも1つの入力ボックスのデータは、少なくとも1つの検証データとして使用され、サーバへ送信される。
【0093】
例えば、クライアント端末は、すべての入力ボックスが入力イベントを有することを検出した後、すべての入力ボックス内のデータをサーバへ送信してもよい。代替として、クライアント端末は、ボタンを設定し、そのボタンが誘発されたときにデータをサーバへ送信してもよい。
【0094】
例えば、クライアント端末は、検証データとして入力ボックス内のデータを取得する。検証データは、クライアント端末を介して、データを入力する現在のユーザが、サーバに記憶されたデータにアクセスする特権を有するかどうかを判定するために使用される。クライアント端末が、少なくとも1つのコードに対応する少なくとも1つの入力ボックスを生成するため、少なくとも1つの検証データ内の各デジットは、少なくとも1つのデジット・コード内のデジットに対応する。
【0095】
例示的な実施形態では、通信要求は、アカウント情報を含む。例えば、そのアカウント情報は、アカウント名またはアカウント番号のいずれかを含んでもよい。プリセット・データは、サーバでアカウント情報に対応させて記憶される。例えば、ユーザは、ウェブサイトにアカウント名「taobaoyonghu」を有する。ユーザがウェブサイトへログインするとき、ユーザはアカウント名を入力して、サーバへそれを提出する。通信要求を受信した後、サーバは、アカウント名「taobaoyonghu」に対応するプリセット・データのデジット・コードの数を取得し、少なくとも1つのデジット・コードを生成し、以降の操作を実行する。
【0096】
例示的な実施形態では、データ通信方法はさらに、プリセット端末から検証コードを受信すること、及びその検証コードを検証すべきコードとしてサーバへ送信することを含んでもよい。
【0097】
例えば、クライアント端末は、プリセット端末からの検証コードをスキャンするスキャン装置を備えてもよい。代替として、入力ボックスは、クライアント端末によって、プリセット端末により受信された検証コードをユーザが入力するために提供される。例えば、クライアント端末はスキャン装置を備える。クライアント端末は、二次元コード、動的二次元コードまたはバーコードを取得するために、二次元コード、動的二次元コードまたはバーコードを表示するプリセット端末をスキャンする。言い換えれば、クライアント端末は、検証コードを取得する。もちろん、検証コードが乱数である場合は、クライアント端末が検証コードを取得するよう、クライアント端末は、ユーザが入力する乱数を受け取る入力ボックスを設定してもよい。加えて、プリセット端末及びクライアント端末は、通信してもよい。例えば、クライアント端末がプリセット端末から検証コードを取得するために、ブルートゥースまたは赤外線技術が使用されてもよい。
【0098】
例えば、プリセット端末はユーザの携帯電話であってもよい。ユーザは、携帯電話番号をサーバ内に予め記憶してもよい。サーバは、ショートメッセージ・サービス(SMS)テキスト・メッセージを介して、携帯電話へ検証コードを送信する。もちろん、プリセット端末は、ユーザが使用するデバイス上にインストールされたソフトウェアであってもよく、そのソフトウェアは、そのデバイスを介して、サーバによって送信された検証コードを受信する。
【0099】
図5を参照する。本開示はまた、例示的なクライアント端末500を提供する。例えば、クライアント端末500は、ユーザのパーソナル・コンピュータ、商業者の販売時点情報管理(POS)マシンまたはATMであってもよい。代替として、クライアント端末500は、そのようなハードウェア上で実行されるソフトウェアであってもよい。
【0100】
クライアント端末500は、1つまたは複数のプロセッサ(複数可)、またはデータ処理ユニット(複数可)502、及びメモリ504を含んでもよい。クライアント端末500はさらに、1つまたは複数の入出力デバイス及びネットワーク・インターフェース(
図5に図示せず)を含んでもよい。メモリ504は、コンピュータ可読媒体の例である。
【0101】
メモリ504は、その中に、要求送信モジュール506、デジット・コード受信モジュール508、入力モジュール510及び検証データ送信モジュール512を含む複数のモジュールまたはユニットを格納してもよい。
【0102】
要求送信モジュール506は、サーバへ通信要求を送信する。
【0103】
例示的な実施形態においては、要求送信モジュール506がサーバへ通信要求を送信する場合、その要求は、ユーザが、サーバに記憶された対応データを閲覧する、編集する、または使用するために、クライアント端末500を介してサーバへログインすることを示す。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0104】
例えば、通信要求は、文字で構成された文字列でもあってよく、この文字列は、クライアント端末500が、サーバとの通信を確立することを要求していることを表す。その通信に基づき、クライアント端末500は、サーバ上に記憶されたデータにアクセスもよい。
【0105】
デジット・コード受信モジュール508は、少なくとも1つのデジット・コードを含む情報をサーバから受信する。
【0106】
例示的な実施形態では、デジット・コードは、プリセット・データのデジットのシリアル番号を表してもよい。プリセット・データのデジット・コードの順序は、左から右の順序、または右から左の順序であってもよい。例えば、プリセット・データが「754962」であり、且つデジット・コードの順序が左から右の順序である場合、数字「7」のデジット・コードは1であり、数字「5」のデジット・コードは2であり、数字「4」、「9」、「6」及び「2」のデジット・コードは、それぞれ3、4、5及び6である。デジット・コードの順位序列が、右から左の順序である場合は、数字「2」のデジット・コードは1であり、数字「6」のデジット・コードは2であり、数字「9」、「4」、「5」及び「7」のデジット・コードは、それぞれ3、4、5及び6である。プリセット・データは、ユーザによって予め設定されたパスワードであってもよい。
【0107】
入力モジュール510は、少なくとも1つのデジット・コードの数に数が対応する、少なくとも1つの入力ボックスを生成し、その少なくとも1つの入力ボックスの入力イベントを検出し、その入力イベントが発生した際の、少なくとも入力ボックスのデータを取得する。
【0108】
例えば、クライアント端末500が少なくとも1つのデジット・コードを受信した後、入力モジュール510は、少なくとも入力ボックスを生成する。その入力ボックスへユーザがデータを入力すると、入力イベントが発生する。入力モジュール510が入力イベントを検出すると、入力モジュール314は、入力ボックス内のデータを取得する。入力ボックスは、クライアント端末302にあるコントロールであってもよい。
【0109】
例えば、入力モジュール510は、ユーザへの指示メッセージを提供してもよい。例えば、入力モジュール510は、各入力ボックスの近くに、各々の入力ボックスの対応するデジット・コードを示すことによって、ユーザに喚起する。ユーザがプリセット・データを承知している場合、ユーザは、指示メッセージに従って、プリセット・データ内のデータに対応するデジット・コードを入力する。入力モジュール510は、少なくとも1つの入力ボックスの各々が入力イベントを有することを検出した後、入力ボックス内のデータを取得する。代替として、入力モジュール314は、各々の入力ボックスが入力イベントを有することを検出すると、各々の入力ボックスのデータを取得する。
【0110】
検証データ送信モジュール512は、少なくとも1つの入力ボックスのデータを少なくとも1つの検証データとして使用し、それをサーバへ送信する。
【0111】
例えば、検証データ送信モジュール512は、すべての入力ボックスが入力イベントを有することを検出した後、すべての入力ボックス内のデータをサーバへ送信してもよい。代替として、検証データ送信モジュール512は、ボタンを設定し、そのボタンが誘発されたときにデータをサーバへ送信してもよい。
【0112】
例えば、検証データ送信モジュール512は、入力ボックス内のデータを検証データとして取得する。検証日は、データを入力する現在のユーザが、クライアント端末500を介して、サーバ内に記憶されたデータにアクセスする特権を有しているかどうかをサーバが判定する日である。入力モジュール510が、少なくとも1つのコードに対応する少なくとも1つの入力ボックスを生成するので、少なくとも1つの検証データ内の各デジットは、少なくとも1つのデジット・コード内のデジットに対応する。
【0113】
図6を参照する。本開示はまた、以下の操作を含む別のデータ通信方法を提供する。
【0114】
602では、クライアント端末によって送信された通信要求が受信される。
【0115】
例示的な実施形態においては、クライアント端末が通信要求をサーバへ送信する際、その要求は、ユーザが、サーバに記憶された対応データを閲覧する、編集する、または使用するために、クライアント端末を介してサーバへログインすることを示す場合がある。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0116】
例えば、通信要求は、文字で構成された文字列でもあってよく、この文字列は、クライアント端末が、サーバとの通信を確立することを要求していることを表す。その通信に基づき、クライアント端末は、サーバ上に記憶されたデータにアクセスしてもよい。
【0117】
604では、通信要求に応答し、第1のプリセット・ルールに従って、少なくとも1つのデジット・コードが生成され、その少なくとも1つのデジット・コードを含む情報が、クライアント端末へ送信される。
【0118】
例示的な実施形態では、デジット・コードは、プリセット・データのデジットのシリアル番号を表してもよい。プリセット・データのデジット・コードの順序は、左から右の順序、または右から左の順序であってもよい。例えば、プリセット・データが「754962」であり、且つデジット・コードの順位序列が左から右の順序である場合、数字「7」のデジット・コードは1であり、数字「5」のデジット・コードは2であり、数字「4」、「9」、「6」及び「2」のデジット・コードは、それぞれ3、4、5及び6である。デジット・コードの順序が、右から左の順序である場合は、数字「2」のデジット・コードは1であり、数字「6」のデジット・コードは2であり、数字「9」、「4」、「5」及び「7」のデジット・コードは、それぞれ3、4、5及び6である。
【0119】
例えば、プリセット・データは、クライアント端末がサーバとの通信を確立する際、暗号化キーとして使用されるよう、サーバ内に予め記憶されてもよい。例えば、クライアント端末が、サーバ内のものと同じプリセット・データを入力すると、クライアント端末は、サーバとの通信を確立する。プリセット・データは、ユーザによって予め設定されたパスワードであってもよい。プリセット・データは、ユーザのアカウント番号またはユーザ名に対応させて記憶されてもよい。ユーザが、正しいアカウント番号及びパスワード、またはユーザ名及びパスワードを入力すると、ユーザは、サーバに記憶されたデータへのアクセスを得る。例えば、プリセット・データは、ユーザがウェブサイトへログインするためのパスワードであってよい。ユーザは、ウェブサイトのログイン・インターフェースで、ユーザ名及びパスワードを入力してウェブサイトへログインし、さらなる操作を実行する。プリセット・データは、ユーザの銀行口座のパスワードであってもよい。ユーザは、銀行またはATMで取引きを行うために、口座番号及びパスワード、または口座名義及びパスワードを使用する。例えば、プリセット・データのデジット数は、固定数に予め設定されてもよい。
【0120】
例えば、第1のプリセット・ルールは、少なくとも1つのデジット・コードを生成するために使用される。少なくとも1つのデジット・コードの数及びそのような数の値は、プリセット・データのもの以下である。第1のプリセット・ルールは、数量または、そのような数量の値がプリセット・データのもの以下であるデジットの数を生成する。例えば、プリセット・データのデジット・コードの数は6である。プリセット・ルールは、毎回、1〜6の数2つを無作為に選択するものであり、そのようにして選択された2つの数は、デジット・コードとして使用される。もちろん、通信要求が受信された際、少なくとも1つのデジット・コードの数がプリセット・データのデジット・コードの数未満である限り、生成された少なくとも1つのデジット・コードの数は、2つ(1、3、4、5または6であってもよい)に限定されなくてもよい。
【0121】
606では、クライアント端末によって送信された少なくとも1つの検証データが受信される。例示的な実施形態では、検証日は、クライアント端末が、サーバにあるデータにアクセスする特権または権限を有するかどうかを判定するために使用される。
【0122】
608では、少なくとも1つのデジット・コードに対応する少なくとも1つのデジット・データが、プリセット・データから取得される。
【0123】
例えば、サーバは、少なくとも1つのデジット・コードに従って、プリセット・データから、デジット・コードによるデジット・データを読み取る。例えば、プリセット・データが754962であり、且つデジット・コードの順序が左から右の順序ある場合、少なくとも1つのデジット・コードは、「1」及び「4」を含む。デジット・コード「1」はデジット・データ7に対応し、デジット・コード「4」はデジット・データ「9」に対応する。
【0124】
610では、プリセット・データから取得された少なくとも1つのデジット・コードに対応する少なくとも1つのデジット・データが、検証データと比較される。少なくとも1つのデジット・コードに対応するデジット・データが、検証データと同じである場合、成功情報コードがクライアント端末へ送信される。
【0125】
例えば、サーバは、各デジット・コードに対応するデジット・データと、検証データとを比較する。検証データがデジット・データと同じである場合、このことは、現在のユーザが、識別検証を通過する権限を有しているか、またはログインする権限が与えられていることを示す。検証データの一部またはすべてがデジット・データと同じでない場合、このことは、データ検証の際にエラーがあることを示す。これはまた、現在のユーザが、識別検証を通過する権限を有していない、ログインする権限が与えられていないか、または、サーバに記憶されたデータにアクセスする権限が与えられていないことを示す。
【0126】
例えば、成功情報コードは、デジット・コード全体に対応するデジット・データが、検証データと同じであることを表す文字または文字列であってもよい。クライアント端末は、サーバに記憶されたデータへさらにアクセスする権限が与えられる。例えば、ユーザがコンピュータを介してウェブサイトへログインし、コンピュータが成功情報コードをサーバから受信した後、サーバは、成功ログイン・メッセージを促す。ユーザはその後、権限範囲内のデータにアクセスするために、コンピュータを使用する。別の例において、ユーザがオンライン銀行へログインすると、クライアント端末は成功情報コードを受信し、ユーザはさらに、支払い操作を実行する。別の例では、ユーザがATMから現金を引き出そうとする場合、ATMが成功情報コードを受信した後に、ユーザは、ATMを介して現金を引き出すか、または他の操作を実行する。
【0127】
例示的な実施形態において、604では、少なくとも1つのデジット・コードの数及びそのような数の値は、プリセット・データのデジット・コード未満である。
【0128】
例えば、第1のプリセット・ルールは、プリセット・データのデジット・コードの数を、デジット・コードの上限数、またはデジット・コードの数の値として設定する。つまり、デジット・コードの数及びそのような数の値は、現在のデータのデジット・コードの数未満である。第1のプリセット・ルールは、デジット・データのデジット・コード数の数または値未満の数または値を生成するランダム関数を含んでもよい。例えば、現在のデータのデジット・コードが6である場合、第1のプリセット・ルールは、1〜6の数を1つ無作為に選択する。選択された数の数は、1、2、3、4または5であってよい。本開示によって提供されるデータ通信方法によれば、クライアント端末とサーバとの間の相互作用プロセス中、完全なパスワードは表示されない。ユーザがフィッシング・ウェブサイトに誤ってアクセスした、またはクライアント端末がトロイの木馬に感染している場合であっても、ハッカーが完全なパスワードを取得することはできないため、完全なパスワードの漏洩は回避される。
【0129】
例示的な実施形態では、通信要求はアカウント情報を含んでもよい。604では、デジット・コードの数及びそのような数の値は、アカウント情報に対応する現在のデータのデジット・コードの数未満である。
【0130】
例えば、アカウント情報は、アカウント名またはアカウント番号のいずれかを含んでもよい。プリセット・データは、サーバでアカウント情報に対応させて記憶される。例えば、ユーザは、ウェブサイトにアカウント名「taobaoyonghu」を有する。ユーザがウェブサイトへログインするとき、ユーザはアカウント名を入力して、サーバへそれを提出する。通信要求を受信した後、サーバは、アカウント名「taobaoyonghu」に対応するプリセット・データのデジット・コードの数を取得し、少なくとも1つのデジット・コードを生成し、以降の操作を実行する。
【0131】
図7を参照する。本開示の例示的な実施形態では、データ通信方法は、さらに以下の操作を含んでもよい。
【0132】
702では、第2のプリセット・ルールに従って検証コードが生成され、検証がプリセット端末へ送信される。
【0133】
例えば、第2のプリセット・ルールは、検証コードを生成するために使用される。第2のプリセット・ルールは、乱数を生成するランダム関数を含んでもよい。ランダム関数によって生成された乱数は、検証コードである。第2のプリセット・ルールは、動的二次元コード・ジェネレータ等の二次元コードを生成する二次元コード・ジェネレータであってもよい。二次元コードまたは動的二次元コードは、検証コードである。第2のプリセット・ルールによって生成された二次元コードまたは動的二次元コードは、毎回異なってもよい。第2のプリセット・ルールはまた、バーコードを生成するバーコード・ジェネレータであってもよい。バーコードは検証コードであってもよい。第2のプリセット・ルールによって生成されたバーコードは、毎回異なる。
【0134】
例えば、プリセット端末は、ユーザの携帯電話でもよい。ユーザは、サーバ内に携帯電話番号を予め記憶してもよい。サーバは、ショートメッセージ・サービス(SMS)テキスト・メッセージを介して、携帯電話へ検証コードを送信する。もちろん、プリセット端末は、ユーザが使用するデバイス上にインストールされたソフトウェアであってもよく、そのソフトウェアは、そのデバイスを介して、サーバによって送信された検証コードを受信する。
【0135】
704では、クライアント端末によって送信された検証すべきコードが受信される。例示的な実施形態では、検証すべきコードは、プリセット端末によって受信され、且つクライアント端末によってプリセット端末から取得された検証コードである。
【0136】
610の下位操作である706では、少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データは検証データと比較され、また、検証すべきコードは検証コードと比較される。少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データが検証データと同じであり、且つ検証すべきコードが検証コードと同じである場合、成功情報コードがクライアント端末へ送信される。
【0137】
この例示的な実施形態では、サーバは、少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データと、検証データとを比較してもよく、また、検証すべきコードと検証コードとを比較してもよい。少なくとも1つのデジット・コード内の各デジット・コードに対応するデジット・データが検証データと同じであり、且つ検証すべきコードが検証コードと同じである場合、サーバは、クライアント端末へ成功情報コードを送信する。
【0138】
この例示的な実施形態では、クライアント端末とサーバとの間のデータ通信方法は、プリセット・データに対応するランダムなデジット・コードに基づいて検証することに加えて、1回限り有効な検証コードの検証を追加するため、クライアント端末とサーバとの間の相互作用のセキュリティが向上する。したがって、本開示の技術は、ユーザ・アカウント及びユーザ・パスワードのセキュリティを向上させ、ユーザ・パスワードの漏洩を効果的に回避し、ユーザ・アカウントへハッカーが不法に侵入することを防止し、ハッカーがユーザの識別を使用してサーバへログインした場合に生じるユーザへの損害を回避する。
【0139】
例示的な実施形態では、第1のプリセット・ルールは、プリセット・データ内の少なくとも1つのコードを、予約コードとして設定することを含む。第1のプリセット・ルールによって生成された少なくとも1つのデジット・コードは、予約コードのデジット・コードを含まない。
【0140】
例示的な実施形態においては、予約コードの数は、現在のデータ内の予約コードのコードが、クライアント端末へ提供された少なくとも1つのデジット・コード内に表示されないよう、プリセット・データの数未満である。したがって、本開示の技術によって、ユーザにより入力されたアカウント及び検証データが、クライアント端末とびサーバとの間の相互作用プロセス中に複数回ハッキングされたとしても、ハッカーが完全なプリセット・データを取得することは不可能となる。
【0141】
例えば、プリセット・データが754962であり、デジット・コードの順序が左から右の順序であり、予約コードのデジット・コードが、数字6に対応する「5」、及び数字2に対応する「6」である。第1のプリセット・ルールが少なくとも1つのデジット・コードを生成する際、デジット・コード「5」及び「6」は表示されない。したがって、クライアント端末とサーバとの間の通信を確立するプロセス中、プリセット・データ内の数字6及び2は入力されない。したがって、トロイの木馬またはフィッシング・ウェブサイトが、クライアント端末とサーバとの間の通信中に複数回データを取得したとしても、ハッカーが第5のデジット・コード及び第6のデジット・コードのデータを取得することは不可能である。プリセット・データは、パスワードであってもよい。本開示によって提供されるデータ通信方法は、パスワード・セキュリティを効果的に向上させる。
【0142】
図8を参照する。本開示はまた、例示的なサーバ800を提供する。サーバ800は、1つまたは複数のプロセッサ(複数可)、またはデータ処理ユニット(複数可)802、及びメモリ804を含んでもよい。サーバ800はさらに、1つまたは複数の入出力デバイス及びネットワーク・インターフェース(
図8に図示せず)を含んでもよい。メモリ804は、コンピュータ可読媒体の例である。
【0143】
メモリ804は、その中に、要求受信モジュール806、応答モジュール808、検証データ受信モジュール810及び比較モジュール812を含む複数のモジュールまたはユニットを格納してもよい。
【0144】
要求受信モジュール806は、クライアント端末によって送信された通信要求を受信する。
【0145】
例示的な実施形態においては、クライアント端末が通信要求をサーバ800へ送信する場合、その要求は、ユーザが、サーバ800に記憶された対応データを閲覧する、編集する、または使用するために、クライアント端末を介してサーバ800へログインすることを示す。例えば、ユーザはパーソナル・コンピュータを介してウェブサイトへログインし、商業者に対して支払いを行うために銀行カードを使用し、ATMまたは入出金マシンから現金を引き出すために銀行カードを使用し、オンライン銀行等を介して支払いを行う。
【0146】
例えば、通信要求は、文字で構成された文字列でもあってよく、この文字列は、クライアント端末が、サーバ800との通信を確立することを要求していることを表す。その通信に基づき、クライアント端末は、サーバ800上に記憶されたデータにアクセスしてもよい。
【0147】
応答モジュール808は、通信要求に応答し、第1のプリセット・ルールに従って、少なくとも1つのデジット・コードを生成し、その少なくとも1つのデジット・コードを含む情報をクライアント端末へ送信する。
【0148】
例示的な実施形態では、デジット・コードは、プリセット・データのデジットのシリアル番号を表してもよい。プリセット・データのデジット・コードの順序は、左から右の順序、または右から左の順序であってもよい。例えば、プリセット・データが「754962」であり、且つデジット・コードの順序が左から右の順序である場合、数字「7」のデジット・コードは1であり、数字「5」のデジット・コードは2であり、数字「4」、「9」、「6」及び「2」のデジット・コードは、それぞれ3、4、5及び6である。デジット・コードの順位序列が、右から左の順序である場合は、数字「2」のデジット・コードは1であり、数字「6」のデジット・コードは2であり、数字「9」、「4」、「5」及び「7」のデジット・コードは、それぞれ3、4、5及び6である。
【0149】
例えば、プリセット・データは、クライアント端末がサーバ800との通信を確立する際に暗号化キーとして使用されるよう、サーバ800内に予め記憶されてもよい。例えば、クライアント端末が、サーバ800内のものと同じプリセット・データを入力すると、クライアント端末は、サーバ800との通信を確立する。プリセット・データは、ユーザによって予め設定されたパスワードであってもよい。プリセット・データは、ユーザのアカウント番号またはユーザ名に対応させて記憶されてもよい。ユーザが、正しいアカウント番号及びパスワード、またはユーザ名及びパスワードを入力すると、ユーザは、サーバ304に記憶されたデータへのアクセスを得る。例えば、プリセット・データは、ユーザがウェブサイトへログインするためのパスワードであってよい。ユーザは、ウェブサイトのログイン・インターフェースでユーザ名及びパスワードを入力してウェブサイトへログインし、さらなる操作を実行する。プリセット・データは、ユーザの銀行口座のパスワードであってもよい。ユーザは、銀行またはATMで取引きを行うために、口座番号及びパスワード、または口座名義及びパスワードを使用する。例えば、プリセット・データのデジット数は、固定数に予め設定されてもよい。
【0150】
例えば、第1のプリセット・ルールは、少なくとも1つのデジット・コードを生成するために使用される。少なくとも1つのデジット・コードの数及びそのような数の値は、プリセット・データのもの以下である。第1のプリセット・ルールは、数量または、そのような数量の値がプリセット・データのもの以下であるデジットの数を生成する。例えば、プリセット・データのデジット・コードの数は6である。プリセット・ルールは、毎回1〜6の数を2つ無作為に選択するものであり、そのように選択された2つの数は、デジット・コードとして使用される。もちろん、通信要求が受信された際は、少なくとも1つのデジット・コードの数がプリセット・データのデジット・コードの数未満である限り、生成された少なくとも1つのデジット・コードの数は、2つ(1、3、4、5または6であってもよい)に限定されなくてもよい。
【0151】
検証データ受信モジュール810は、クライアント端末によって送信された少なくとも1つの検証データを受信する。
【0152】
例示的な実施形態では、検証データは、クライアント端末が、サーバ800にあるデータにアクセスする特権を有するかどうかを判定するために使用される。
【0153】
比較モジュール812は、少なくとも1つのデジット・コードに対応するプリセット・データ内のデジット・データと検証データとを比較し、少なくとも1つのデジット・コードに対応するデジット・データが検証データと同じである場合、クライアント端末へ成功情報コードを送信する。
【0154】
例えば、サーバ800は、各デジット・コードに対応するデジット・データと検証データとを比較する。検証データがデジット・データと同じである場合、このことは、現在のユーザが、識別検証を通過する権限を有しているか、またはログインする権限が与えられていることを示す。検証データの一部またはすべてがデジット・データと同じでない場合、このことは、データ検証の際にエラーがあることを示す。これはまた、現在のユーザが、識別検証を通過する権限を有していない、ログインする権限が与えられていないか、または、サーバに記憶されたデータにアクセスする権限が与えられていないことを示す。
【0155】
例えば、成功情報コードは、デジット・コード全体に対応するデジット・データが、検証データと同じであることを表す文字または文字列であってもよい。クライアント端末は、サーバに記憶されたデータへさらにアクセスする権限が与えられている。例えば、ユーザがコンピュータを介してウェブサイトへログインし、コンピュータが成功情報コードをサーバから受信した後、サーバは、成功ログイン・メッセージを促す。ユーザはその後、権限範囲内のデータにアクセスするために、コンピュータを使用する。別の例では、ユーザがオンライン銀行へログインし、クライアント端末が成功情報コードを受信すると、ユーザはさらに、支払い操作を実行する。別の例では、ユーザがATMから現金を引き出そうとする場合、ATMが成功情報コードを受信した後に、ユーザは、ATMを介して現金を引き出すか、または他の操作を実行する。
【0156】
本開示の技術は、ユーザ識別検証プロセス中、プリセット・データ内の1つまたは複数の指定されたデジット・コードに対応する1つまたは複数のデジット・データを入力するようユーザに要求するために、1つまたは複数のプリセット・ルールを使用する。ユーザの入力が必要なコンテンツは、ユーザ・識別検証の度に変化してもよい。したがって、本開示の技術は、ユーザのパスワード・セキュリティを保証し、パスワードが解読されるリスクを低減する。
【0157】
当業者は、本開示の実施形態が、方法、システムまたはコンピュータ・プログラム製品として提供されてもよいことを理解すべきである。したがって、本開示は、ハードウェア実施形態、ソフトウェア実施形態、または、ソフトウェアとハードウェアとを組み合わせる実施形態として実装されてもよい。さらに、本開示は、コンピュータ実行可能命令を含む、1つまたは複数のコンピュータ可読媒体(磁気ディスクメモリ、CD-ROM、光メモリ等を含むがこれらに限定されない)上に実装されたコンピュータ・プログラム製品の形態であってもよい。
【0158】
上記説明は、単に本開示の実施形態であり、本開示を制限することは意図されていない。当業者は、本開示が種々の改変例及び変形例を有することを理解する。本開示の趣旨及び原理に従う任意の改変例、等価の代替例、改良例等は、すべて本開示の特許請求の範囲に属する。