JP2016530802A - Encryption of raw sensor input for passcode input security - Google Patents

Encryption of raw sensor input for passcode input security Download PDF

Info

Publication number
JP2016530802A
JP2016530802A JP2016531736A JP2016531736A JP2016530802A JP 2016530802 A JP2016530802 A JP 2016530802A JP 2016531736 A JP2016531736 A JP 2016531736A JP 2016531736 A JP2016531736 A JP 2016531736A JP 2016530802 A JP2016530802 A JP 2016530802A
Authority
JP
Japan
Prior art keywords
input
passcode
sensor
interface
electronic device
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.)
Pending
Application number
JP2016531736A
Other languages
Japanese (ja)
Inventor
ピー. マッコーリー,ネイサン
ピー. マッコーリー,ネイサン
エス.シー. キグリー,オリバー
エス.シー. キグリー,オリバー
シー. アダムス,デイビッド
シー. アダムス,デイビッド
ジェイ. エドワーズ,トロイ
ジェイ. エドワーズ,トロイ
シー. スクーグ,ルーカス
シー. スクーグ,ルーカス
ディー. ポール,ジョナサン
ディー. ポール,ジョナサン
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.)
Block Inc
Original Assignee
Square 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
Priority claimed from US14/055,838 external-priority patent/US20140324708A1/en
Application filed by Square Inc filed Critical Square Inc
Publication of JP2016530802A publication Critical patent/JP2016530802A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code
    • G07F7/1033Details of the PIN pad
    • G07F7/1041PIN input keyboard gets new key allocation at each use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/031Protect user input by software means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • User Interface Of Digital Computer (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Abstract

パスコード入力セキュリティのためのセンサインプット入力の暗号化方法が開示される。一実施形態における方法は、ユーザがパスコード入力をインプットするためのパスコード入力インタフェースを電子デバイス上に提示することを含む。次に、該電子デバイスは、該ユーザによる該パスコード入力の少なくとも一部を示すインプットイベントを、該電子デバイスのセンサより受信する。続いて、該電子デバイスは、該インプットイベントのセンサ値を暗号化して、該暗号化されたセンサ値を外部システムへとネットワーク越しに伝送し、それによって該暗号化されたセンサ値からの該パスコード入力を解読する。【選択図】図1A sensor input input encryption method for passcode input security is disclosed. The method in one embodiment includes presenting a passcode input interface on the electronic device for a user to input a passcode input. Next, the electronic device receives an input event indicating at least a portion of the passcode input by the user from a sensor of the electronic device. Subsequently, the electronic device encrypts the sensor value of the input event and transmits the encrypted sensor value over the network to an external system, thereby the path from the encrypted sensor value. Decode the code input. [Selection] Figure 1

Description

関連出願の相互参照
本出願は、2013年6月28日出願の米国仮出願第61/859,253号の利益を主張する2013年10月16日出願の米国特許出願第14/055,838号についての利益を主張し、上記出願の全ての内容が、それら全てを参照することにより本明細書に組み込まれる。
CROSS REFERENCE TO RELATED APPLICATIONS This application is a US patent application Ser. No. 14 / 055,838 filed Oct. 16, 2013 which claims the benefit of US Provisional Application No. 61 / 859,253, filed Jun. 28, 2013. All the contents of the above application are incorporated herein by reference in their entirety.

情報にアクセスする際及び情報を伝送する際のセキュリティは、物質的な財産を保護するためのセキュリティと同程度に重要である。ナンバーロックのような従来のセキュリティデバイスは、仮想「鍵」を所有していることに基づいてアクセスを制御するデバイスを含んでいることがあり、このような仮想「鍵」は、例えば、非公開情報(例えば、パスコード)の形態となっている。パスコードは、英字(letters)、数字(numbers)、特殊文字(special characters)又はそれらの任意の組み合わせ等の一連の文字(characters)の組み合わせである。デジタルの分野では、パスコードベースのロックは、現金自動預け払い機(ATM)のキーパッドや、デビットカードの個人識別番号(PIN)キーパッドのような、デジタルパスコードベースのセキュリティデバイスによってエミュレートされている。これらのデジタルパスコードベースのセキュリティデバイスは、一般的に、専用の(すなわち、種々の機能コンポーネントを実行するための汎用オペレーティングシステム/カーネルを備えていない)ハードウェアデバイスであって、ユーザがパスコードを知っていることに基づいてシステムへのアクセスを制御するデバイスである。従来のデジタルパスコードベースのセキュリティデバイスが専用のデバイス上に実装されている理由は様々だが、なかでも、あらゆる汎用デバイスはマルウェア(すなわち、認証を行うことなくセキュリティを乗り越えるためのソフトウェア設計)のインストールを可能にし得る、という理由が挙げられる。   Security when accessing and transmitting information is as important as security for protecting material property. Traditional security devices, such as number locks, may include devices that control access based on possessing a virtual “key”, such a virtual “key” being, for example, private It is in the form of information (for example, a passcode). A passcode is a combination of characters, such as letters, numbers, special characters, or any combination thereof. In the digital arena, passcode-based locks are emulated by digital passcode-based security devices such as automated teller machine (ATM) keypads and debit card personal identification number (PIN) keypads. Has been. These digital passcode-based security devices are typically hardware devices that are dedicated (ie, do not have a general purpose operating system / kernel to execute various functional components) and that the user can passcode A device that controls access to the system based on knowing. There are various reasons why traditional digital passcode-based security devices are implemented on dedicated devices, but above all, all general-purpose devices install malware (ie software design to overcome security without authentication). The reason can be made possible.

例えば、従来のEuropay、MasterCard及びVisa(EMV)のカードのようなデビットカード又はスマートカード等による販売時点電子決済カード取引では、カード所有者の本人性及び/または真正性は、紙の領収書への署名ではなく、または該署名に加えて、PINの入力を要求することによって確認される。ユーザは、専用のカードリーダにPINを入力し得る。カードリーダは、その後、スマートカードからPINを取得し得る。ユーザに入力されたPINは、スマートカードから取得されたPINと比較され得る。カードの使用の認可は、該入力されたPINが該取得されたPINに一致していることに基づいて与えられ得る。   For example, in point-of-sale electronic payment card transactions such as traditional Europay, MasterCard and Visa (EMV) cards or smart cards, the identity and / or authenticity of the cardholder is transferred to a paper receipt. Is confirmed by requesting the input of a PIN instead of or in addition to the signature. The user can enter the PIN into a dedicated card reader. The card reader can then obtain a PIN from the smart card. The PIN entered by the user can be compared to the PIN obtained from the smart card. Authorization to use the card may be given based on the entered PIN matching the obtained PIN.

上記の例では、ユーザを認可するのに、汎用デバイスの代わりに専用のデバイスを使用している。汎用デバイスは、任意のサードパーティ製アプリケーションを実行可能にするオペレーティングシステムを有している。汎用デバイスでは、セキュリティ上において注意を要するアプリケーションの実装が容易になる。汎用デバイスが使用可能であれば、安全な認証システムを使用又は実装することを望んでいる商業者及び消費者が、既に所有しているデバイスを当該目的のために使用し得るようになる。しかしながら、カードリーダを汎用デバイスの一部にすることは、同じ汎用デバイス上へのマルウェアのインストールから十分に守れなくなるため、実現不可能なことがある。このとき懸念され得るマルウェアの特定の形態の一つは、汎用デバイス上で支払い認証アプリケーションの静的解析を実行するマルウェアである。例えば、そのようなマルウェアは、該支払い認証アプリケーションによって使用されるメモリを読み取る能力を有していることがある。汎用デバイスが消費者のPINを処理及び格納する際において、該汎用デバイスがこのタイプのマルウェアにPINを発見させてしまうことがある。   In the above example, a dedicated device is used instead of the general-purpose device to authorize the user. A general purpose device has an operating system that allows any third party application to run. General-purpose devices make it easy to implement applications that require security. If a universal device is available, merchants and consumers who want to use or implement a secure authentication system will be able to use a device they already own for that purpose. However, making the card reader part of a general purpose device may not be feasible because it may not be adequately protected from malware installation on the same general purpose device. One particular form of malware that may be of concern at this time is malware that performs a static analysis of a payment authentication application on a general purpose device. For example, such malware may have the ability to read memory used by the payment authentication application. When a generic device processes and stores a consumer's PIN, the generic device may cause this type of malware to find the PIN.

図1は、センサ入力の暗号化技法を表すデータフロー図である。FIG. 1 is a data flow diagram representing a sensor input encryption technique. 図2は、パスコード入力のための電子デバイスを表すブロック図である。FIG. 2 is a block diagram illustrating an electronic device for passcode input. 図3は、パスコード入力を暗号化するための認証システムを表すブロック図である。FIG. 3 is a block diagram illustrating an authentication system for encrypting passcode input. 図4は、センサ入力が処理され得るデータ経路を表す電子デバイスのシステムアーキテクチャ図である。FIG. 4 is a system architecture diagram of an electronic device that represents a data path through which sensor inputs can be processed. 図5は、パスコード入力インタフェースへのユーザインプットを示すセンサ値を暗号化する電子デバイスを動作させる方法のフローチャートを表す。FIG. 5 depicts a flowchart of a method for operating an electronic device that encrypts sensor values indicative of user input to a passcode input interface. 図6は、ユーザによるパスコードを解読するためのコンピューティングシステムを動作させる方法のフローチャートを表す。FIG. 6 depicts a flowchart of a method of operating a computing system for decrypting a passcode by a user. 図7は、電子デバイス及び認証システムを含む、構成されたパスコード入力システムのブロック図である。FIG. 7 is a block diagram of a configured passcode input system including an electronic device and an authentication system. 図8は、コンピュータシステムの図式的表示である。FIG. 8 is a schematic representation of a computer system.

上記図面は、本発明の種々の実施形態について、例示の目的においてのみ示している。当業者は、本明細書に表される構造及び方法に係る代替の実施形態が、本明細書に記載される本発明の原理から逸脱することなく採用され得ることを、以降の説明により容易に理解するであろう。   The above drawings show various embodiments of the present invention for illustrative purposes only. Those skilled in the art will readily understand from the following description that alternative embodiments of the structures and methods represented herein may be employed without departing from the principles of the invention described herein. You will understand.

電子デバイス上へのパスコード入力をセキュアに行う技術が、本明細書に開示される。該技術は、電子デバイスのインプットデバイスからの生のインプットイベントを暗号化することを含む。パスコード入力が完了することにより、複数の生のインプットイベントが生成され得る。該複数の生のインプットイベントは、例えば、タッチスクリーン上における複数のタッチイベントである。そのような場合では、各々の生のインプットがタッチスクリーン上におけるタッチイベントの位置を表し得ると共に、タッチ位置を表す各イベントは、暗号化される。したがって、個々のインプットイベントの暗号化は、パスコードの(例えば、マルウェアによる)認可されない発見を防止するための尺度として役立つ。   Techniques for securely entering a passcode on an electronic device are disclosed herein. The technique includes encrypting raw input events from the input device of the electronic device. By completing the passcode input, multiple raw input events can be generated. The plurality of raw input events are, for example, a plurality of touch events on a touch screen. In such a case, each raw input may represent the location of the touch event on the touch screen, and each event representing the touch location is encrypted. Thus, encryption of individual input events serves as a measure to prevent unauthorized discovery of passcodes (eg, by malware).

上記開示の技術は、上記電子デバイスのアプリケーションメモリが完全に解読された上記パスコードを含まないため、有利であり得る。それによって、該技術は、マルウェアが該電子デバイス上のアプリケーションメモリ空間の静的解析によって該パスコードを発見することを防止するのである。さらに、該パスコードを示す上記インプットイベントは、カーネルレベルで暗号化されることが可能であり、それによって、上記オペレーティングシステムのユーザアプリケーションレベルで実行されるマルウェアが暗号化の前に生のインプットイベントのログを取得することを防止すると共に、既知のパスコードインタフェースの構成に基づいて該パスコードをリバースエンジニアリングするための任意の解析を防止する。   The disclosed technique may be advantageous because the application memory of the electronic device does not include the fully decrypted passcode. The technique thereby prevents malware from discovering the passcode by static analysis of the application memory space on the electronic device. In addition, the input event indicating the passcode can be encrypted at the kernel level, so that malware executed at the user application level of the operating system may have a raw input event prior to encryption. Are acquired, and any analysis for reverse-engineering the passcode based on the configuration of a known passcode interface is prevented.

種々の実施形態では、上記暗号化は公開鍵暗号方式に基づいている。該公開暗号方式は、2つの別々の鍵を必要とする。一方の鍵は、復号化に使用されるトラステッドコンピューティングシステムによって保持されるように非公開/秘密とされる。もう一方の鍵は、暗号化に使用される電子デバイスに知られるように公開される。他の暗号化方法は、該開示の技術の代わりに、または該開示の技術と組み合わせて使用されてもよい。そのような暗号化方法は、最適非対称暗号化パディング(RSAES−OAEP)の標準暗号方式またはホワイトボックス暗号方式を備えたRSA暗号方式などの、種々の対称及び/又は非対称暗号化アルゴリズムを含む。   In various embodiments, the encryption is based on public key cryptography. The public encryption scheme requires two separate keys. One key is kept private / secret so that it is held by the trusted computing system used for decryption. The other key is made public as known to the electronic device used for encryption. Other encryption methods may be used in place of or in combination with the disclosed technique. Such encryption methods include various symmetric and / or asymmetric encryption algorithms, such as RSA cryptography with optimal asymmetric encryption padding (RSAES-OAEP) standard cryptography or white box cryptography.

上記生のインプットイベントは、上記電子デバイスのタッチスクリーンにより記録されるタッチイベントであり得る。PIN又はキーパッドのようなパスコードインタフェースは、該タッチスクリーン上に表示され得る。上記ユーザは、該タッチスクリーン上での認証のために、上記パスコード入力を入力し得る。該電子デバイスは、該タッチスクリーンとの相互作用によって生じる該タッチイベントを暗号化し得る。該電子デバイスは、その後、タッチスクリーンの座標によって表される暗号化された該タッチイベントをトラステッドコンピューティングシステムに伝送し、それによって、該トラステッドコンピューティングシステムに、該ユーザによって入力された該パスコードを、該暗号化されたタッチイベントに基づいて解読するようにさせる。この文脈では、「させる(to cause)」が、該暗号化されたタッチイベントに基づいてパスコードを解読するような規定の動作を結果的にもたらす命令、要求、又は任意の他のタイプのメッセージ若しくは信号を送信することを含むことを企図されている。   The raw input event may be a touch event recorded by the touch screen of the electronic device. A passcode interface such as a PIN or keypad may be displayed on the touch screen. The user may enter the passcode input for authentication on the touch screen. The electronic device may encrypt the touch event that occurs due to interaction with the touch screen. The electronic device then transmits the encrypted touch event represented by the touch screen coordinates to a trusted computing system, whereby the passcode entered by the user into the trusted computing system. Are decrypted based on the encrypted touch event. In this context, an instruction, request, or any other type of message that “to cause” results in a prescribed action such as decrypting a passcode based on the encrypted touch event. Or is intended to include transmitting a signal.

種々の実施形態では、上記トラステッドコンピューティングシステムのみが、上記暗号化された生のインプットイベントから上記パスコード入力への変換を行う。上記電子デバイス上で該パスコード入力を解読する代わりに、該インプットイベントは、解釈のために該トラステッドコンピューティングシステムに送信される。該トラステッドコンピューティングシステムは、該電子デバイスの外部にあってもよい。該トラステッドコンピューティングシステムは、その後、上記ユーザが入力したパスコードを解読するために、各インプットイベントを復号化し得る。   In various embodiments, only the trusted computing system performs the conversion from the encrypted raw input event to the passcode input. Instead of deciphering the passcode input on the electronic device, the input event is sent to the trusted computing system for interpretation. The trusted computing system may be external to the electronic device. The trusted computing system can then decrypt each input event to decrypt the passcode entered by the user.

パスコードの解読は、上記復号化されたタッチイベントをパスコードインタフェースの構成と比較することを含んでいてもよい。例えば、該パスコードインタフェースの構成は、キーパッドレイアウトであってもよく、キーパッドレイアウトを含んでいてもよい。該キーパッドレイアウトは、データ構造またはオブジェクトとして表現され得る。より具体的な例としては、該キーパッドレイアウトは、トラステッドコンピューティングシステムにより生成され得ると共に、解読のために上記電子デバイスに送られ得る。別の具体的な例としては、該キーパッドレイアウトは、該電子デバイスによって生成され得ると共に、解読のために該トラステッドコンピューティングシステムに送られ得る。いずれにしても、該トラステッドコンピューティングシステムは、上記パスコード入力を編成するように用いられる一連の文字にセンサインプットイベントをマッピングするために、キーパッドレイアウト等のパスコードインタフェースの構成を使用していてもよい。   Decoding the passcode may include comparing the decrypted touch event with a configuration of the passcode interface. For example, the configuration of the passcode interface may be a keypad layout or may include a keypad layout. The keypad layout can be represented as a data structure or object. As a more specific example, the keypad layout can be generated by a trusted computing system and sent to the electronic device for decryption. As another specific example, the keypad layout can be generated by the electronic device and sent to the trusted computing system for decryption. In any case, the trusted computing system uses a passcode interface configuration, such as a keypad layout, to map sensor input events to a series of characters used to organize the passcode input. May be.

上記キーパッドレイアウトは、ジオメトリ、位置、相対位置、アニメーションシーケンス、又は他のバリエーションのキーパッドの提示を含んでいてもよい。該キーパッドは、電子デバイスのタッチスクリーン領域を占有する複数のボタンを含んでいてもよい。各タッチイベントは(X,Y)位置座標により表されてもよく、各座標又は各座標集合は、開示の技術の種々の実施形態に従って暗号化される。その後、上記パスコードは、各(X,Y)座標を、パスコード入力を編成するのに用いられる文字を表す特定のソフトボタンに対応する二次元空間にマッピングすることによって解読されてもよい。   The keypad layout may include presentation of geometry, position, relative position, animation sequence, or other variations of the keypad. The keypad may include a plurality of buttons that occupy the touch screen area of the electronic device. Each touch event may be represented by (X, Y) position coordinates, and each coordinate or set of coordinates is encrypted according to various embodiments of the disclosed technology. The passcode may then be deciphered by mapping each (X, Y) coordinate to a two-dimensional space corresponding to a particular soft button that represents the character used to organize the passcode input.

別の具体的な例としては、上記生のインプットイベントは、上記電子デバイスのカメラ又は加速度計により記録されるタッチイベントであり得る。マルウェアアプリケーションは、上記パスコードインタフェースを通じてパスコード入力を導出するために、他のセンサインプットを使用する可能性がある。そのため、該電子デバイスは、上記パスコードのリバースエンジニアリングを防止するにあたって追加のセキュリティ層を提供するために、該電子デバイスの種々の他のセンサにおける該生のインプットイベントを暗号化してもよい。   As another specific example, the raw input event may be a touch event recorded by the camera or accelerometer of the electronic device. Malware applications may use other sensor inputs to derive passcode inputs through the passcode interface. As such, the electronic device may encrypt the raw input events at various other sensors of the electronic device to provide an additional layer of security in preventing reverse engineering of the passcode.

上述の例では、上記パスコードインタフェース及びインプットデバイスの両方における提示デバイスが、タッチスクリーンとして例示されている。しかしながら、オーディオベースのパスコードインタフェースも同様に企図される。例えば、上記センサインプットイベントは、マイクロホンによって記録される発声された音節(syllables)、単語(words)、連語(phrases)(「サウンドバイト」)であってもよい。該パスコードインタフェースの構成は、順次組み合わせられてパスコード入力にされ得る有効な発声されたサウンドバイトを含んでいてもよい。   In the above example, the presentation device in both the passcode interface and the input device is illustrated as a touch screen. However, audio-based passcode interfaces are contemplated as well. For example, the sensor input event may be spoken syllables, words, phrases ("sound bytes") recorded by a microphone. The configuration of the passcode interface may include valid spoken sound bytes that can be sequentially combined into a passcode input.

図1は、センサ入力の暗号化技法100を表すデータフロー図である。図示のように、技法100は、電子デバイス102と、認証システム104とを含む。電子デバイス102は、データ処理機能を備えた汎用デバイスであってもよい。例えば、電子デバイス102は、携帯電話、タブレット、電子書籍リーダ(e-reader)、他のモバイル若しくはポータブルコンピューティングデバイス又は他の据置コンピューティングデバイスであってもよい。認証システム104は、電子デバイス102とのデータ通信、例えばネットワーク越しのデータ通信におけるトラステッドコンピューティングシステムであってもよい。認証システム104は、1つ以上のコンピューティングデバイスであってもよい。例えば、認証システム104は、サーバコンピュータ、コンピューティングシステムのネットワーク、クラウドコンピューティング環境、仮想化されたコンピューティング環境又はそれらの任意の組み合わせであってもよい。認証システム104と電子デバイス102との間の通信は、モバイル通信(例えば、セルラー)、WiFi、無線イーサネット、有線イーサネット又は任意の他の形態のインターネット接続を含む任意の形態のデータ通信であってもよい。   FIG. 1 is a data flow diagram representing a sensor input encryption technique 100. As shown, the technique 100 includes an electronic device 102 and an authentication system 104. The electronic device 102 may be a general-purpose device having a data processing function. For example, the electronic device 102 may be a mobile phone, tablet, e-reader, other mobile or portable computing device, or other stationary computing device. The authentication system 104 may be a trusted computing system in data communication with the electronic device 102, for example, data communication over a network. The authentication system 104 may be one or more computing devices. For example, the authentication system 104 may be a server computer, a network of computing systems, a cloud computing environment, a virtualized computing environment, or any combination thereof. The communication between the authentication system 104 and the electronic device 102 may be any form of data communication including mobile communication (eg, cellular), WiFi, wireless Ethernet, wired Ethernet, or any other form of Internet connection. Good.

電子デバイス102は、スマートフォン又はタブレットコンピュータのような、出力デバイス上にパスコードインタフェース106を提示するモバイルデバイスであってもよい。図示の実施形態では、該出力デバイスは、タッチスクリーン108である。認証を求めるユーザは、電子デバイス102のセンサ(すなわち、インプットデバイス)を通じて、PIN、パスフレーズ、デジタル鍵又はそれらの任意の組み合わせ等の、パスコードを編成するインプットのシーケンスをインプットしてもよい。図示の実施形態では、該センサは、タッチスクリーン108である。もっとも、インプットを検出するための該センサ(例えば、タッチパネル又はカーソルデバイス)は、出力デバイス(例えば、ディスプレイ、投射デバイス、スピーカ又は他のパスコードインタフェース106を提示可能なデバイス)とは異なってもよい。   The electronic device 102 may be a mobile device that presents the passcode interface 106 on an output device, such as a smartphone or tablet computer. In the illustrated embodiment, the output device is a touch screen 108. A user seeking authentication may input a sequence of inputs that organize a passcode, such as a PIN, passphrase, digital key, or any combination thereof, through a sensor (ie, input device) of the electronic device 102. In the illustrated embodiment, the sensor is a touch screen 108. However, the sensor (eg, touch panel or cursor device) for detecting the input may be different from the output device (eg, a display, projection device, speaker, or other device capable of presenting the passcode interface 106). .

複数のセンサ入力110は、それらを合わせてタッチイベントストリームのようなセンサインプットストリーム114を形成する。センサインプットストリーム114は、該複数のセンサインプットシーケンスである。センサインプットストリーム114は、単一のユーザ、単一セッション、単一のアプリケーション、またはそれらの任意の組み合わせに関連付けられていてもよい。パスコードインタフェース106がタッチスクリーン108上に提示され、上記ユーザがパスコードインタフェース106にてインプットを入力した際に、電子デバイス102はセンサインプットストリーム114をキャプチャして解釈する。   The plurality of sensor inputs 110 combine to form a sensor input stream 114, such as a touch event stream. The sensor input stream 114 is the plurality of sensor input sequences. The sensor input stream 114 may be associated with a single user, a single session, a single application, or any combination thereof. When the passcode interface 106 is presented on the touch screen 108 and the user inputs input at the passcode interface 106, the electronic device 102 captures and interprets the sensor input stream 114.

各センサ入力110が上記センサによりキャプチャされる際、該センサ入力110は、処理を行うために電子デバイス102のオペレーティングシステムに経路指定される。センサ入力110は、このデータ経路の間に、任意のレベルで暗号化されてもよい。該データ経路は、図4に示すように、電子デバイス102のソフトウェアスタックを伝播する。上記暗号化は、非対称暗号方式、対称暗号方式又はホワイトボックス暗号方式に基づくものであってもよい。該暗号化は、図4に示すように、ソフトウェアスタックの種々の異なる任意のレベルにおいて起こってもよい。該センサ入力が暗号化されると、電子デバイス102は、暗号化されたセンサ入力110を直接認証システム104にまで送信してもよい。   As each sensor input 110 is captured by the sensor, the sensor input 110 is routed to the operating system of the electronic device 102 for processing. The sensor input 110 may be encrypted at any level during this data path. The data path propagates through the software stack of the electronic device 102 as shown in FIG. The encryption may be based on an asymmetric encryption method, a symmetric encryption method, or a white box encryption method. The encryption may occur at various different arbitrary levels of the software stack, as shown in FIG. Once the sensor input is encrypted, the electronic device 102 may send the encrypted sensor input 110 directly to the authentication system 104.

種々の実施形態では、センサインプットストリーム114の部分は、復号を行うために認証システム104に送信される。種々の実施形態では、認証システム104がセンサインプットストリーム114の一部を受信した際に、認証システム104は、ユーザに入力されたパスコード入力116を解読する前にセンサ入力110を復号化してもよい。パスコードインタフェース構成118は、該パスコードインタフェースと対話する機構を規定するものであって、電子デバイス102によって生成された後、同様に認証システム104まで送信されてもよい。該パスコードインタフェース構成は、該センサ入力に係るセンサ値と該パスコード入力を編成するのに使用される文字のセットとのマッピングを指定してもよい。例として、該パスコードインタフェースがタッチスクリーン108上に表示される場合には、該パスコードインタフェース構成は、タッチスクリーン108上の該パスコードインタフェースのジオメトリの規定を含んでいてもよい。他の実施形態では、該パスコードインタフェース構成は、認証システム104により生成される。該パスコードインタフェース構成は、特に該パスコード入力インタフェースと対話するユーザとのセッションのために生成されてもよい。   In various embodiments, the portion of sensor input stream 114 is sent to authentication system 104 for decryption. In various embodiments, when the authentication system 104 receives a portion of the sensor input stream 114, the authentication system 104 may decrypt the sensor input 110 before decoding the passcode input 116 entered by the user. Good. The passcode interface configuration 118 defines a mechanism for interacting with the passcode interface and may be generated by the electronic device 102 and then sent to the authentication system 104 as well. The passcode interface configuration may specify a mapping between sensor values associated with the sensor input and a set of characters used to organize the passcode input. As an example, if the passcode interface is displayed on the touch screen 108, the passcode interface configuration may include a definition of the geometry of the passcode interface on the touch screen 108. In other embodiments, the passcode interface configuration is generated by the authentication system 104. The passcode interface configuration may be generated specifically for a session with a user interacting with the passcode input interface.

種々の実施形態では、センサインプットストリーム114を既知のインタフェース構成118と対照することによって、センサインプットストリーム114の一部がパスコード入力116を生成するように解釈される。認証システム104は、上記復号化されたセンサ入力に対応する文字または文字のセットを解読し得る。認証システム104は、その後、該解読された文字または文字のセットを、順次パスコード入力116に集約し得る。パスコード入力116は、上記ユーザが該パスコードインタフェースの提示に応じて入力したパスコードに対応している。   In various embodiments, a portion of the sensor input stream 114 is interpreted to generate a passcode input 116 by contrasting the sensor input stream 114 with a known interface configuration 118. The authentication system 104 may decrypt a character or set of characters corresponding to the decrypted sensor input. Authentication system 104 may then aggregate the decrypted character or set of characters sequentially into passcode input 116. The passcode input 116 corresponds to the passcode input by the user in response to the presentation of the passcode interface.

この技法は、例えば、金融取引認証プロセスにおいて適用され得る。パスコード入力を介してユーザを認証するため、パスコード入力116は、認可されたユーザに対応した認証済みパスコードと対照され得る。例えば、該認証済みパスコードは、金融サービスシステム120に格納されている。いくつかの実施形態では、金融サービスシステム120は、認証システム104を含む。いくつかの実施形態では、パスコードの入力116の解読は、認証システム104ではなく電子デバイス102上のモジュールによって実行される。   This technique can be applied, for example, in a financial transaction authentication process. In order to authenticate the user via the passcode input, the passcode input 116 may be contrasted with an authenticated passcode corresponding to the authorized user. For example, the authenticated passcode is stored in the financial service system 120. In some embodiments, financial services system 120 includes an authentication system 104. In some embodiments, the decryption of the passcode input 116 is performed by a module on the electronic device 102 rather than the authentication system 104.

認可された上記ユーザ及び上記認証済みパスコードは、ペイメントカードID122と関連付けられてもよい。ペイメントカードID122は、デビットカード又はクレジットカードに対応してもよい。図示の例では、ペイメントカードID122は、ペイメントカード124に格納されている。ペイメントカードID122は、カードリーダ126を介して抽出される。カードリーダ126は、有線配線を介して又は無線方式により、電子デバイス102に結合される。ペイメントカードID122及び他のパスコードに関連しないデータは、電子機器102に転送される。種々の実施形態では、ペイメントカードID122及び他のパスコードに関連しないデータは、暗号化される。ペイメントカードID122及び他のパスコードに関連しないデータは、その後、認証システム104と共有される。ペイメントID120及びパスコード入力116に基づき、認証システム104は金融サービスシステム120と通信して、それによりユーザの支払い等のユーザの本人性及び認可を確認する。   The authorized user and the authenticated passcode may be associated with a payment card ID 122. Payment card ID 122 may correspond to a debit card or a credit card. In the illustrated example, the payment card ID 122 is stored in the payment card 124. Payment card ID 122 is extracted via card reader 126. The card reader 126 is coupled to the electronic device 102 via wired wiring or wirelessly. Data not related to the payment card ID 122 and other passcodes is transferred to the electronic device 102. In various embodiments, payment card ID 122 and other non-passcode related data are encrypted. Data that is not related to the payment card ID 122 and other passcodes is then shared with the authentication system 104. Based on the payment ID 120 and passcode input 116, the authentication system 104 communicates with the financial service system 120, thereby confirming the user's identity and authorization, such as the user's payment.

なお、他の実施形態では、上記認証済みパスコードは、ペイメントカード124上に格納されている。例えば、EMVクレジットカードは、該EMVクレジットカードのユーザに関連付けられた該認証済みパスコードを含有する集積回路(IC)チップ130を含む。該EMVクレジットカードを使用するユーザの認可には、パスコード入力116と該EMVクレジットカードのICチップ130上の該認証済みパスコードとを対照することが要求されてもよい。その後、パスコード入力116が解読されると、認証システム104は、電子デバイス102にパスコード入力116を送信してもよい。電子デバイス102に返信されたパスコード入力116は、同様に暗号化されてもよい。その後、パスコード入力116は、対照のためにICチップ130に送信され得る。   In another embodiment, the authenticated passcode is stored on the payment card 124. For example, an EMV credit card includes an integrated circuit (IC) chip 130 that contains the authenticated passcode associated with a user of the EMV credit card. Authorization of a user using the EMV credit card may be required to contrast the passcode input 116 with the authenticated passcode on the IC chip 130 of the EMV credit card. Thereafter, when the passcode input 116 is decrypted, the authentication system 104 may send the passcode input 116 to the electronic device 102. The passcode input 116 returned to the electronic device 102 may be similarly encrypted. The passcode input 116 can then be transmitted to the IC chip 130 for control.

図示の実施形態は、上記センサ入力がタッチスクリーン上のタッチイベントであり、上記パスコードインタフェースがタッチスクリーン上に表示されたキーパッドであることを企図しているが、該パスコードインタフェースは、該センサデバイスと一体である必要はない。例えば、該センサは、振動センサ、加速度計、光センサ、カメラ、触覚センサ、又は、電子デバイスの画面上に表示されたパスコードインタフェースとのユーザ対話を検出する他の手段であってもよい。   The illustrated embodiment contemplates that the sensor input is a touch event on a touch screen and the passcode interface is a keypad displayed on the touchscreen, the passcode interface being It need not be integral with the sensor device. For example, the sensor may be a vibration sensor, accelerometer, light sensor, camera, tactile sensor, or other means of detecting user interaction with a passcode interface displayed on the screen of the electronic device.

また、上記パスコードインタフェースがビジュアルベース単独ではないことも企図される。この点において、開示の技法が適用可能であるセンサイベントのタイプの他の例は、音声入力(例えば、認識によるインプット)、ジェスチャ入力(例えば、ジェスチャ認識による)、振動入力、視線追跡又は他の直接的又は間接的なユーザインプットの方法を含む。例えば、該パスコードインタフェースは、画面に表示されるビジュアルインタフェースとオーディオインタフェースとの組み合わせであってもよい。該オーディオインタフェースは、スピーカを通じての聴覚的指令及び/又はマイクを通じての聴覚的インプットを含み得る。例えば、該センサ入力は、マイクへの音声入力であってもよく、その場合、該パスコードインタフェースは、音声入力を通じてインプットを受信することが可能なユーザインタフェースである。   It is also contemplated that the passcode interface is not a visual base alone. In this regard, other examples of sensor event types to which the disclosed techniques can be applied include voice input (eg, input by recognition), gesture input (eg, by gesture recognition), vibration input, eye tracking or other Includes methods for direct or indirect user input. For example, the passcode interface may be a combination of a visual interface displayed on the screen and an audio interface. The audio interface may include an audible command through a speaker and / or an audible input through a microphone. For example, the sensor input may be a voice input to a microphone, in which case the passcode interface is a user interface capable of receiving input through the voice input.

図2は、パスコード入力のための電子デバイス200を表すブロック図である。電子デバイス200は、図1のデバイス102を表すものであってもよい。電子デバイス200は、汎用コンピューティングデバイスであってもよい。電子デバイス200は、以下に説明するような種々のモジュール及び記憶装置を含む。電子デバイス200は、パスコードインタフェースを提示及び維持するように構成されたパスコードインタフェースモジュール202を含む。   FIG. 2 is a block diagram illustrating an electronic device 200 for passcode input. The electronic device 200 may represent the device 102 of FIG. The electronic device 200 may be a general purpose computing device. The electronic device 200 includes various modules and storage devices as described below. The electronic device 200 includes a passcode interface module 202 configured to present and maintain a passcode interface.

種々の実施形態では、パスコードインタフェースモジュール202は、上記パスコードインタフェースを生成するように構成されている。パスコードインタフェースモジュール202は、該パスコードインタフェースをランダムに又は擬似ランダムに生成してもよい。一例として、該パスコードインタフェースは、PINパッドレイアウトとして構成されていてもよい。該パスコードインタフェースのサイズ、配置、位置、向き、形状及び他の絶対的または相対的なジオメトリ特性、並びに該パスコードインタフェース内の要素は、全てパスコードインタフェース構成の例である。該パスコードインタフェース構成は、ユーザのパスコード入力を該パスコードインタフェース上において隠蔽することを促進するように選択されてもよい。例えば、該パスコードインタフェースの該要素は、パスコードの組み合わせ(例えば、パスコード入力116)を選択するための文字であってもよい。該文字の配列並びに該文字のジオメトリ形状及びサイズは、ランダム化されてもよい。該パスコードインタフェース構成の他の属性は、全体的又は部分的にランダム生成されてもよい。該パスコードインタフェースの絶対的及び相対的(例えば、電子デバイス200のディスプレイに対して相対的)なジオメトリ特性のような該パスコードインタフェース構成は、インタフェース構成記憶機構204内に格納されてもよい。   In various embodiments, the passcode interface module 202 is configured to generate the passcode interface. The passcode interface module 202 may generate the passcode interface randomly or pseudo-randomly. As an example, the passcode interface may be configured as a PIN pad layout. The size, placement, position, orientation, shape and other absolute or relative geometric characteristics of the passcode interface, and elements within the passcode interface are all examples of passcode interface configurations. The passcode interface configuration may be selected to facilitate concealing a user's passcode input on the passcode interface. For example, the element of the passcode interface may be a character for selecting a passcode combination (eg, passcode input 116). The arrangement of the characters and the geometric shape and size of the characters may be randomized. Other attributes of the passcode interface configuration may be randomly generated in whole or in part. The passcode interface configuration, such as the absolute and relative (eg, relative to the display of electronic device 200) geometric characteristics of the passcode interface, may be stored in the interface configuration store 204.

他の実施形態では、上記パスコードインタフェース構成は、図1の認証システム104のように、ネットワークを通じてリモートシステムにより提供される。例えば、該パスコードインタフェース構成は、認証通信モジュール206を通じて受信されてもよい。これらの実施形態では、該パスコードインタフェース構成は、いったん受信された後に、インタフェース構成記憶機構204に格納されてもよい。該パスコードインタフェース構成は、ユーザに該パスコードインタフェースを提示するために、パスコードインタフェースモジュール202に使用されてもよい。   In other embodiments, the passcode interface configuration is provided by a remote system over a network, such as the authentication system 104 of FIG. For example, the passcode interface configuration may be received through the authentication communication module 206. In these embodiments, the passcode interface configuration may be stored in the interface configuration store 204 once it has been received. The passcode interface configuration may be used by the passcode interface module 202 to present the passcode interface to a user.

パスコードインタフェース構成が電子デバイス200上に生成された際、認証通信モジュール206は上記パスコードインタフェース構成を上記リモートシステムに伝送してもよく、それによって、該リモートシステムは上記センサインプットストリームの一部と該パスコードインタフェース構成とを使用してパスコード入力を解読してもよい。   When the passcode interface configuration is generated on the electronic device 200, the authentication communication module 206 may transmit the passcode interface configuration to the remote system, whereby the remote system is part of the sensor input stream. And the passcode interface configuration may be used to decrypt the passcode input.

パスコードインタフェースモジュール202は、さらに、パスコードインタフェースを種々の方法で提供するように構成されていてもよい。一例として、上記パスコードインタフェースの提示は、レイアウト構成等のパスコードインタフェース構成に従い、該パスコードインタフェースをタッチスクリーン上に表示又は描画することを含んでいてもよい。パスコードインタフェースモジュール202は、パスコードインタフェースを二次元的又は三次元的に描画してもよい。パスコードインタフェースモジュール202はまた、他の方法でパスコードインタフェースを提示してもよく、該他の方法には、アニメーション、オーディオ、ウェブページ、ウィジェット、他の受動型若しくは対話型のマルチメディア、又はそれらの任意の組み合わせを通じて該パスコードインタフェースを提示することが含まれる。   Passcode interface module 202 may further be configured to provide a passcode interface in various ways. As an example, the presentation of the passcode interface may include displaying or drawing the passcode interface on a touch screen according to a passcode interface configuration such as a layout configuration. The passcode interface module 202 may draw the passcode interface two-dimensionally or three-dimensionally. The passcode interface module 202 may also present the passcode interface in other ways, including animation, audio, web pages, widgets, other passive or interactive multimedia, or Presenting the passcode interface through any combination thereof is included.

パスコードインタフェースモジュール202は、上記パスコードインタフェースとユーザとの対話に基づくフィードバックを維持するように構成されていてもよい。例えば、パスコードインタフェースモジュール202は、図1のタッチスクリーン108のような電子デバイス200のタッチスクリーンに結合されてもよい。この対話によって、ユーザがパスコード入力の一部となる文字又は文字のセットを入力した際に、パスコードインタフェースがフィードバックを提供することが可能になる。   The passcode interface module 202 may be configured to maintain feedback based on user interaction with the passcode interface. For example, the passcode interface module 202 may be coupled to a touch screen of an electronic device 200, such as the touch screen 108 of FIG. This interaction allows the passcode interface to provide feedback when the user enters a character or set of characters that is part of the passcode input.

対話の記録は、図1のタッチスクリーン108のようなインプットデバイス205でキャプチャされる。インプットデバイス205は、電子デバイス200のインプットデバイスドライバ208によって制御される。インプットデバイスドライバ208は、電子デバイス200のオペレーティングシステムのカーネルレベルにおいて実行されてもよい。   The dialogue record is captured with an input device 205, such as the touch screen 108 of FIG. The input device 205 is controlled by the input device driver 208 of the electronic device 200. The input device driver 208 may be executed at the kernel level of the operating system of the electronic device 200.

種々の実施形態では、インプットデバイスドライバ208は、インプットデバイス205からのインプットストリームをキャプチャする。インプットデバイス205は、ユーザのパスコードインタフェースとの対話に関する(すなわち、該対話を示す)センサ入力を検出することが可能な任意のインプットハードウェア(すなわち、1つ以上のセンサ)を含むことができる。受信されたセンサ入力の該シーケンスは、該インプットストリームを構成してもよい。   In various embodiments, the input device driver 208 captures an input stream from the input device 205. The input device 205 can include any input hardware (ie, one or more sensors) that can detect sensor input related to (ie, indicative of) the user's passcode interface. . The sequence of received sensor inputs may constitute the input stream.

電子デバイス200は、暗号化モジュール210を含む。暗号化モジュール210は、上記インプットストリームをインプットデバイスドライバ208から直接的または間接的に受信する。例えば、暗号化モジュール210は、該インプットストリームを含有するインプットデバイスドライバ208のドライババッファにアクセスしてもよい。別の例では、暗号化モジュール210は、インプットデバイスドライバ208によって発生した割り込みに対し、上記オペレーティングシステムの上記カーネルレベルにおいて応答してもよい。さらに別の例では、暗号化モジュール210は、一端においてドライバとインタフェース接続し、他端においてユーザレベルアプリケーションとインタフェース接続するオペレーティングシステムレベルライブラリの一部であってもよい。   The electronic device 200 includes an encryption module 210. The encryption module 210 receives the input stream directly or indirectly from the input device driver 208. For example, the encryption module 210 may access the driver buffer of the input device driver 208 that contains the input stream. In another example, the encryption module 210 may respond to the interrupt generated by the input device driver 208 at the kernel level of the operating system. In yet another example, the encryption module 210 may be part of an operating system level library that interfaces with a driver at one end and a user level application at the other end.

暗号化モジュール210は、上記インプットストリームのセンサ入力を暗号化するように構成されている。いくつかの実施形態では、暗号化モジュール210は、各センサ入力を別々に暗号化する。他の実施形態では、センサ入力のセットが合わせて暗号化される。いくつかの実施形態では、各センサ入力のコンテンツ値及び/又はメタデータ値は、別々に暗号化される。例えば、センサ入力がタッチスクリーンからのタッチイベントである場合、各タッチスクリーンのX及びY座標を含む位置は、暗号化されてもよい。別の例では、該X及びY座標は、別々に暗号化されてもよい。   The encryption module 210 is configured to encrypt the sensor input of the input stream. In some embodiments, the encryption module 210 encrypts each sensor input separately. In other embodiments, a set of sensor inputs are encrypted together. In some embodiments, the content value and / or metadata value for each sensor input is encrypted separately. For example, if the sensor input is a touch event from a touch screen, the position including the X and Y coordinates of each touch screen may be encrypted. In another example, the X and Y coordinates may be encrypted separately.

認証通信モジュール206は、電子デバイス200のシステムコールインタフェースモジュール212にセンサインプットストリームを要求するように構成される。システムコールインタフェースモジュール212は、電子デバイス200のオペレーティングシステムカーネルの一部であってもよい。システムコールインタフェースモジュール212は、暗号化モジュール210からの該センサインプットストリームを取得することによって、該要求に応答することができる。種々の実施形態では、暗号化モジュール210は、システムコールインタフェースモジュール212と統合されていてもよく、システムコールインタフェースモジュール212では、暗号化モジュール210が、認証通信モジュール206及び/又は他のアプリケーションからの要求に基づいて該センサ入力を動的に暗号化してもよい。   The authentication communication module 206 is configured to request a sensor input stream from the system call interface module 212 of the electronic device 200. The system call interface module 212 may be part of the operating system kernel of the electronic device 200. The system call interface module 212 can respond to the request by obtaining the sensor input stream from the encryption module 210. In various embodiments, the encryption module 210 may be integrated with the system call interface module 212, where the encryption module 210 is from the authentication communication module 206 and / or other applications. The sensor input may be dynamically encrypted based on the request.

上記センサインプットストリームの受信に応答して、認証通信モジュール206は、上記暗号化されたセンサインプットストリームの一部を、図1の認証システム104のような外部認証システムにネットワークを通じて送信する。該一部は、上記パスコードインタフェースを電子デバイス200上に提示している間に記録されたセンサ入力から選択されてもよい。   In response to receiving the sensor input stream, the authentication communication module 206 transmits a part of the encrypted sensor input stream to an external authentication system such as the authentication system 104 of FIG. 1 through the network. The portion may be selected from sensor inputs recorded while presenting the passcode interface on the electronic device 200.

図2は、インプットデバイスドライバ208とシステムコールインタフェースモジュール212との間にて上記センサ入力を暗号化する暗号化モジュール210を示しているが、本開示では、他の実施形態も同様に企図される。例えば、暗号化モジュール210とシステムコールインタフェースモジュール212とは、単一のプログラムに統合されてもよい。
の例では、暗号化モジュール210とインプットデバイスドライバ208とが、単一のプログラムに統合されてもよい。さらに別の例では、暗号化モジュール210と認証通信モジュール206とが、単一のプログラムに統合されていてもよい。
Although FIG. 2 illustrates an encryption module 210 that encrypts the sensor input between the input device driver 208 and the system call interface module 212, other embodiments are contemplated as well in this disclosure. . For example, the encryption module 210 and the system call interface module 212 may be integrated into a single program.
In this example, the encryption module 210 and the input device driver 208 may be integrated into a single program. In yet another example, the encryption module 210 and the authentication communication module 206 may be integrated into a single program.

記載のインタフェース構成記憶機構204は、ハードウェアのメモリコンポーネントの1つ以上又はハードウェアのメモリコンポーネントの一部に実装され得る。インタフェース構成記憶機構204は、動的なデータベースサービスまたは静的なデータ構造として実装され得る。該記憶機構は、単一の物理デバイスにより実装され得るか、複数の物理デバイスに分布され得る。該記憶機構の記憶領域は、パスコードインタフェースアプリケーション202のような上述のモジュールの実行時に割り当てられ得る。   The described interface configuration storage mechanism 204 may be implemented in one or more of the hardware memory components or a portion of the hardware memory component. The interface configuration store 204 may be implemented as a dynamic database service or a static data structure. The storage mechanism may be implemented by a single physical device or distributed across multiple physical devices. The storage area of the storage mechanism may be allocated at the time of execution of a module as described above, such as the passcode interface application 202.

図3は、認証システム300を表すブロック図である。図示のように、認証システム300は、図2の電子デバイス200のような電子デバイスと通信するように構成されたデバイス通信モジュール302を含む。例えば、デバイス通信モジュール302は、タッチイベントシーケンスのようなセンサインプットシーケンスを、電子デバイス200のような電子デバイスから受信することができる。種々の実施形態では、センサ入力シーケンス内のセンサの入力は、暗号化されている。   FIG. 3 is a block diagram illustrating the authentication system 300. As shown, the authentication system 300 includes a device communication module 302 configured to communicate with an electronic device, such as the electronic device 200 of FIG. For example, the device communication module 302 can receive a sensor input sequence, such as a touch event sequence, from an electronic device, such as the electronic device 200. In various embodiments, sensor inputs in the sensor input sequence are encrypted.

認証システム300は、復号化モジュール304を含む。復号化モジュール304は、上記センサインプットシーケンス内の上記暗号化されたセンサ入力を復号化するように構成されている。認証システム300における該復号方法は、暗号化モジュール210について記載した暗号化メカニズムに従うような、上記電子デバイスに実装された任意の暗号化方法に対応していてもよい。例えば、該復号化方法は、非対称暗号方式、対称暗号方式又はホワイトボックス暗号方式に従うものであってもよい。   The authentication system 300 includes a decryption module 304. The decryption module 304 is configured to decrypt the encrypted sensor input in the sensor input sequence. The decryption method in the authentication system 300 may correspond to any encryption method implemented in the electronic device that follows the encryption mechanism described for the encryption module 210. For example, the decryption method may follow an asymmetric encryption method, a symmetric encryption method, or a white box encryption method.

いくつかの実施形態では、復号化モジュール304及び/又は暗号モジュール306は、ハードウェアコンポーネントとして実装される。該ハードウェアコンポーネントは、任意の外部アプリケーション(例えば、マルウェアアプリケーション)からの外部アクセスを防止するように適合させられてもよく、その他、認証システム300にアクセスしていてもよい。このことは、ユーザのパスコードを発見しようと試みる攻撃者予備軍に対する追加のセキュリティ層を設けるという点において有利である。   In some embodiments, the decryption module 304 and / or the cryptographic module 306 are implemented as hardware components. The hardware component may be adapted to prevent external access from any external application (eg, malware application), or may otherwise access the authentication system 300. This is advantageous in that it provides an additional layer of security against attacker reserves attempting to discover the user's passcode.

復号化に使用される暗号鍵は、暗号モジュール306に格納され得ると共に、該暗号モジュール306から取得され得る。暗号モジュール306は、上記電子デバイス上における暗号化及び認証システム300上における復号化に使用される暗号化鍵(例えば、公開鍵又は非公開鍵)を管理するように構成されている。種々の実施形態では、暗号モジュール306は、デバイス通信モジュール302を通じて暗号化鍵を伝送することにより、該電子デバイスに該暗号化鍵を割り当てる。   The encryption key used for the decryption can be stored in the encryption module 306 and can be obtained from the encryption module 306. The cryptographic module 306 is configured to manage an encryption key (for example, a public key or a private key) used for encryption on the electronic device and decryption on the authentication system 300. In various embodiments, the encryption module 306 assigns the encryption key to the electronic device by transmitting the encryption key through the device communication module 302.

認証システム300は、解読モジュール308を含む。解読モジュール308は、センサインプットシーケンスに基づいて、ユーザからのパスコード入力を解読するように構成されている。例えば、解読モジュール308は、復号化されたセンサインプットシーケンスを復号化モジュール304から受信してもよい。いくつかの実施形態では、解読モジュール308は、パスコードインタフェース構成を、上記電子デバイスからデバイス通信モジュール302を通じて受信する。他の実施形態では、解読モジュール308は、認証システム300に格納されている既知のパスコードインタフェース構成(図示せず)にアクセスする。   The authentication system 300 includes a decryption module 308. The decryption module 308 is configured to decrypt the passcode input from the user based on the sensor input sequence. For example, the decryption module 308 may receive a decrypted sensor input sequence from the decryption module 304. In some embodiments, the decryption module 308 receives a passcode interface configuration from the electronic device through the device communication module 302. In other embodiments, the decryption module 308 accesses a known passcode interface configuration (not shown) stored in the authentication system 300.

解読モジュール308は、上記復号化されたセンサインプットシーケンス及び上記パスコードインタフェース構成に基づいて、ユーザによるパスコード入力を決定してもよい。例えば、該パスコードインタフェースがキーパッドであり、センサインプットシーケンスがタッチイベントである場合、解読モジュール308は、該タッチイベントのタッチ座標を、該キーパッド上に配置された既知の文字要素にマッピングしてもよい。そして、解釈された文字要素のシーケンスは、該ユーザによるパスコード入力であると解読されてもよい。   The decryption module 308 may determine a passcode input by the user based on the decrypted sensor input sequence and the passcode interface configuration. For example, if the passcode interface is a keypad and the sensor input sequence is a touch event, the decryption module 308 maps the touch coordinates of the touch event to known character elements located on the keypad. May be. The interpreted sequence of character elements may then be deciphered as a passcode input by the user.

上記パスコード入力は、電子デバイスに取り付けられたカードリーダによる検証などの検証を受けるために、デバイス通信モジュール302を通じて上記電子デバイスに戻されてもよい。パスコード入力はまた、検証を受けるために金融サービス通信モジュール310を通じて金融サービスシステムへと渡されてもよい。金融サービス通信モジュール310は、図1の金融サービスシステム120のような外部金融サービスシステムと通信するように構成されている。   The passcode input may be returned to the electronic device through the device communication module 302 to receive verification, such as verification by a card reader attached to the electronic device. The passcode input may also be passed through the financial services communication module 310 to the financial services system for verification. The financial service communication module 310 is configured to communicate with an external financial service system such as the financial service system 120 of FIG.

電子デバイス200上における1つ以上のモジュールは認証システム300上に実装されてもよく、認証システム300の1つ以上のモジュールは電子デバイス200上に実装されてもよい。例えば、認証システム300の暗号モジュール306は、電子デバイス200上に実装されてもよく、その場合には、上記暗号化鍵及び復号化鍵が電子デバイス200から認証システム300へと配布されることになる。   One or more modules on the electronic device 200 may be implemented on the authentication system 300, and one or more modules of the authentication system 300 may be implemented on the electronic device 200. For example, the cryptographic module 306 of the authentication system 300 may be mounted on the electronic device 200, and in this case, the encryption key and the decryption key are distributed from the electronic device 200 to the authentication system 300. Become.

図4は、電子デバイス102又は電子デバイス200のような電子デバイス400のシステムアーキテクチャ図であって、センサ入力が処理され得るデータ経路を表している。電子デバイス400は、タッチスクリーン上に検出されたタッチの座標(「タッチイベント」)のようなセンサ入力についてのシーケンス又はストリームを、ハードウェアレベル404で記録することが可能なセンサデバイス402を含む。ハードウェアレベル404は、電子デバイス400に結合されているか該電子デバイスに統合されている電子デバイス400の物理ハードウェアコンポーネントを少なくとも含む。センサデバイス402は、例えば、タッチスクリーンであってもよい。センサデバイス402は、センサコントローラ406を含んでいてもよい。センサコントローラ406は、例えば、センサデバイス402内の1つ以上のセンサを制御するための専用の集積回路であり得る。センサコントローラ406は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能なマイクロコントローラ又は特定用途向けIC(ASIC)であり得る。センサコントローラ406は、センサファームウェア408を実行してもよい。センサファームウェア408の動作は、該システムアーキテクチャのファームウェアレベル410内にて行われるとみなされてもよい。   FIG. 4 is a system architecture diagram of an electronic device 400, such as electronic device 102 or electronic device 200, representing data paths through which sensor inputs can be processed. The electronic device 400 includes a sensor device 402 capable of recording at hardware level 404 a sequence or stream of sensor inputs, such as the coordinates of touches detected on a touch screen (“touch events”). The hardware level 404 includes at least the physical hardware components of the electronic device 400 that are coupled to or integrated into the electronic device 400. The sensor device 402 may be a touch screen, for example. The sensor device 402 may include a sensor controller 406. The sensor controller 406 can be, for example, a dedicated integrated circuit for controlling one or more sensors in the sensor device 402. The sensor controller 406 can be, for example, a field programmable gate array (FPGA), a programmable microcontroller, or an application specific IC (ASIC). The sensor controller 406 may execute sensor firmware 408. The operation of sensor firmware 408 may be considered to occur within firmware level 410 of the system architecture.

センサファームウェア408又はセンサコントローラ406は、上記システムアーキテクチャのカーネルレベル414において、センサ入力をセンサデバイスドライバ412へと伝送してもよい。センサデバイスドライバ412は、入ってくるセンサインプットを格納するためのメモリ領域であるドライババッファ416に結合されてもよい。センサデバイスドライバ412によって受信されるセンサ入力は、ドライババッファ416内に格納されてもよい。センサデバイスドライバ412は、電子デバイス400のオペレーティングシステム418に代わって、センサデバイス402を動作させる又は制御するコンピュータプログラムである。センサデバイスドライバ412は、バス又は他の有線若しくは無線通信システムを通じて、センサコントローラ406又はセンサファームウェア408と通信することができる。   Sensor firmware 408 or sensor controller 406 may transmit sensor inputs to sensor device driver 412 at kernel level 414 of the system architecture. The sensor device driver 412 may be coupled to a driver buffer 416, which is a memory area for storing incoming sensor inputs. Sensor inputs received by the sensor device driver 412 may be stored in the driver buffer 416. The sensor device driver 412 is a computer program that operates or controls the sensor device 402 on behalf of the operating system 418 of the electronic device 400. Sensor device driver 412 may communicate with sensor controller 406 or sensor firmware 408 through a bus or other wired or wireless communication system.

図4に示されるように、電子デバイス400上で実行されているオペレーティングシステム418は、カーネルプログラム420を含む。カーネルプログラム420は、電子デバイス400上で実行されているソフトウェアからのインプット/アウトプット要求を管理するコンピュータプログラムであり、該要求を電子デバイス400の中央処理ユニット(CPU)及び/又は他の電子コンポーネントのためのデータ処理命令へと変換する。例えば、カーネルプログラム420は、オペレーティングシステム418のユーザレベル424で実行されているパスコード認証アプリケーション422に対するシステムコールインタフェースサービスとして機能してもよい。カーネルプログラム420は、デバイスドライバ(例えば、センサデバイスドライバ412)を含む特定のプログラムを、ユーザレベル424上のアプリケーションとは異なる権限及び/又は制約により、カーネルレベル414上にて実行することを可能にする。カーネルレベル414で実行されているモジュールは、より高位の実行権限を有していてもよく、独立したアドレス空間を有していてもよく、(例えば、逐次実行の代わりに)並列実行スレッドを有していてもよく、割り込みベースの処理の能力を有していてもよく、互いにデータを共有することができ、プリエンプト可能であることができ、又はそれらの任意の組み合わせであってもよい。   As shown in FIG. 4, the operating system 418 running on the electronic device 400 includes a kernel program 420. The kernel program 420 is a computer program that manages input / output requests from software running on the electronic device 400, and the requests are processed by the central processing unit (CPU) and / or other electronic components of the electronic device 400. Into data processing instructions for For example, the kernel program 420 may function as a system call interface service for the passcode authentication application 422 running at the user level 424 of the operating system 418. The kernel program 420 allows certain programs, including device drivers (eg, sensor device driver 412), to execute on the kernel level 414 with different privileges and / or restrictions than applications on the user level 424. To do. Modules executing at kernel level 414 may have higher execution privileges, may have independent address spaces, and have parallel execution threads (eg, instead of sequential execution). May be capable of interrupt-based processing, may share data with each other, may be preemptable, or any combination thereof.

図2の認証通信モジュール206のようなパスコード認証アプリケーション422は、カーネルプログラム420を通じてセンサデバイスドライバ412と通信してもよい。例えば、パスコード認証アプリケーション422は、センサデバイス402により提供される上記センサインプットストリーム内のセンサ入力にアクセスしてもよい。   A passcode authentication application 422 such as the authentication communication module 206 of FIG. 2 may communicate with the sensor device driver 412 through the kernel program 420. For example, the passcode authentication application 422 may access sensor inputs in the sensor input stream provided by the sensor device 402.

上記センサインプットストリーム内のセンサ入力の暗号化は、ファームウェアレベル410、カーネルレベル414、ユーザレベル424、又はそれらの組み合わせにおいて生じてもよい。上記暗号化されたセンサ入力は、カーネルレベル414又はユーザレベル424のいずれか上で実行されているマルウェアに対して保護するのに有利である。種々の実施形態では、暗号化鍵は上記電子デバイスに設けられている一方で、復号化鍵は該電子デバイスには知られていない。他の実施形態では、対称鍵が、暗号化及び復号化の両方に使用される。この場合には、該対称鍵及び暗号化アルゴリズムは、データオブジェクト(例えば、コードのブロック又はコンパイルされたバイナリ)として数理的に編成されており、該データオブジェクトからでは、攻撃者は相当な努力なしでは元の該対称鍵を特定することができない。   Encryption of sensor inputs in the sensor input stream may occur at firmware level 410, kernel level 414, user level 424, or a combination thereof. The encrypted sensor input is advantageous to protect against malware running on either kernel level 414 or user level 424. In various embodiments, the encryption key is provided on the electronic device while the decryption key is not known to the electronic device. In other embodiments, symmetric keys are used for both encryption and decryption. In this case, the symmetric key and encryption algorithm are mathematically organized as a data object (eg, a block of code or a compiled binary) from which the attacker has made no significant effort. Thus, the original symmetric key cannot be specified.

図5は、パスコード入力インタフェースへのユーザインプットを示すセンサ値を暗号化する電子デバイス(例えば、電子デバイス102、電子デバイス200又は電子デバイス400)を動作させるプロセス500のフローチャートを表す。該電子デバイスは、ステップ502において、ユーザがパスコード入力をインプットするためのパスコードコードインタフェースをタッチスクリーン等のディスプレイ上に提示する。例えば、提示された該パスコード入力インタフェースは、金融サービスシステムへの/からの支払いのためにユーザを認証するためのキーパッドであってもよい。ステップ502は、パスコード入力インタフェースモジュール202によって実行されてもよい。該パスコード入力インタフェースは、電子デバイスに結合されたカードリーダがユーザによるクレジットカードのスワイプを検出した時のような、該電子デバイス上における金融取引の開始に応答して提示されてもよい。   FIG. 5 depicts a flowchart of a process 500 for operating an electronic device (eg, electronic device 102, electronic device 200, or electronic device 400) that encrypts sensor values indicative of user input to a passcode input interface. In step 502, the electronic device presents a passcode code interface on a display such as a touch screen for the user to input a passcode input. For example, the presented passcode input interface may be a keypad for authenticating a user for payment to / from the financial services system. Step 502 may be performed by the passcode input interface module 202. The passcode input interface may be presented in response to the start of a financial transaction on the electronic device, such as when a card reader coupled to the electronic device detects a credit card swipe by the user.

上記電子デバイスのセンサからのセンサインプットストリームは、ステップ504において受信される。該センサインプットストリームからの該センサ入力は、パスコード入力インタフェースとのユーザ対話を表して又は示していてもよい。例えば、該センサインプットストリームは、該電子デバイスのタッチスクリーンからのタッチイベントストリームであり得る。各タッチイベントは、タッチスクリーンによりタッチが検出された場所の座標を含んでいてもよい。ステップ504は、インプットデバイスドライバ208によって実行されてもよい。   A sensor input stream from the sensor of the electronic device is received at step 504. The sensor input from the sensor input stream may represent or indicate user interaction with a passcode input interface. For example, the sensor input stream can be a touch event stream from a touch screen of the electronic device. Each touch event may include coordinates of a location where a touch is detected by the touch screen. Step 504 may be performed by the input device driver 208.

次に、電子システムは、ステップ506において、上記センサインプットストリームからのインプットイベントのセンサ値を暗号化する。該センサ値は、インプットイベント入力のメタデータと共に暗号化されてもよい。複数のセンサ値が単一のインプットイベント入力(例えば、タッチイベントのx座標及びy座標)に集約される場合には、複数のセンサ値が合わせて暗号化されてもよい。いくつかの実装態様では、複数のタッチ位置(例えば、x座標及びy座標の複数のセット)のような複数のセンサ入力が、合わせて暗号化されてもよい。ステップ506は、暗号化モジュール210によって実行されてもよく、上記電子デバイスのカーネルレベル上で実行されてもよい。   Next, in step 506, the electronic system encrypts the sensor value of the input event from the sensor input stream. The sensor value may be encrypted together with input event input metadata. If multiple sensor values are aggregated into a single input event input (eg, x and y coordinates of a touch event), the multiple sensor values may be encrypted together. In some implementations, multiple sensor inputs, such as multiple touch locations (eg, multiple sets of x and y coordinates) may be encrypted together. Step 506 may be performed by the encryption module 210 and may be performed on the kernel level of the electronic device.

続いて、上記電子デバイスは、ステップ508において、上記暗号化されたセンサ値を外部システムへとネットワーク越しに伝送することができる。該暗号化されたセンサ値は、外部システムに該暗号化されたセンサ値からパスコードを解読させるための命令、要求又は任意の他のタイプのメッセージ若しくは信号として送信されてもよい。該外部システムは、該暗号化されたセンサ値からパスコードを解読し、該パスコードに基づいてユーザを認証するための図3の認証システム300であってもよい。ステップ508は、認証通信モジュール206によって実行されてもよい。   Subsequently, in step 508, the electronic device can transmit the encrypted sensor value to an external system over the network. The encrypted sensor value may be sent as an instruction, request or any other type of message or signal to cause an external system to decrypt a passcode from the encrypted sensor value. The external system may be the authentication system 300 of FIG. 3 for decrypting a passcode from the encrypted sensor value and authenticating a user based on the passcode. Step 508 may be performed by the authentication communication module 206.

図6は、ユーザによるパスコードを解読するためのコンピューティングシステム(例えば、図3の認証システム300)を動作させるプロセス600のフローチャートを表す。該コンピューティングシステムは、ステップ602において、電子デバイス102、電子デバイス200又は電子デバイス400のような電子デバイスからの暗号化されたセンサインプット値を受信する。種々の実施形態では、該センサインプット値は、該電子デバイス上に提示されたパスコード入力インタフェースとのユーザ対話に対応する。該暗号化されたセンサインプット値は、パスコード入力インタフェースが電子デバイス上に提示される期間に対応していてもよい。ステップ602は、図3のデバイス通信モジュール302によって実行されてもよい。   FIG. 6 depicts a flowchart of a process 600 for operating a computing system (eg, authentication system 300 of FIG. 3) for decrypting a passcode by a user. In step 602, the computing system receives encrypted sensor input values from an electronic device, such as electronic device 102, electronic device 200, or electronic device 400. In various embodiments, the sensor input value corresponds to user interaction with a passcode input interface presented on the electronic device. The encrypted sensor input value may correspond to a period during which the passcode input interface is presented on the electronic device. Step 602 may be performed by the device communication module 302 of FIG.

次に、上記コンピューティングシステムは、ステップ604において、上記暗号化されたセンサインプット値から、センサ値を復号化する。該復号化されたセンサ値は、上記パスコード入力インタフェースを用いて、ユーザインプットイベントを特定してもよい。ステップ604は、図3の復号化モジュール304によって実行されてもよい。   Next, in step 604, the computing system decrypts the sensor value from the encrypted sensor input value. The decrypted sensor value may identify a user input event using the passcode input interface. Step 604 may be performed by the decryption module 304 of FIG.

いったん復号化されると、上記コンピューティングシステムは、ステップ606において、上記パスコード入力インタフェースのインタフェース構成にアクセスする。該インタフェース構成は、上記センサインプット値と、該センサインプット値に対応するパスコード入力を編成する文字のようなパスコード入力を編成するのに使用される文字のセットとのマッピングを指定してもよい。該インタフェース構成は、該コンピューティングシステム又は上記電子デバイス上で生成されてもよい。該インタフェース構成は、該パスコード入力インタフェースと対話するユーザとのセッションのために特化して生成されてもよい。   Once decrypted, the computing system accesses the interface configuration of the passcode input interface at step 606. The interface configuration may also specify a mapping between the sensor input value and a set of characters used to organize a passcode input, such as a character that organizes a passcode input corresponding to the sensor input value. Good. The interface configuration may be generated on the computing system or the electronic device. The interface configuration may be generated specifically for a session with a user interacting with the passcode input interface.

上記インタフェース構成及び上記ユーザインプットイベントの上記復号化されたセンサインプット値に基づいて、コンピューティングシステムは、ステップ608において、上記ユーザにより入力された上記パスコード入力を解読する。ステップ606及びステップ608は、図3の解読モジュール306によって実行されてもよい。   Based on the interface configuration and the decoded sensor input value of the user input event, the computing system decrypts the passcode input entered by the user in step 608. Steps 606 and 608 may be performed by the decryption module 306 of FIG.

プロセス500及びプロセス600に関して、種々のステップ、ブロック又はサブプロセスが特定の順序で提示されているが、代替の実施形態では、異なる順序でステップを有するルーチンが実行されてもよく、異なる順序でステップ、ブロック又はサブプロセスを有するシステムが採用されてもよい。また、代替案又は部分的組み合わせを提供するために、いくつかのステップ、サブプロセス又はブロックが、削除され、移動され、追加され、再分割され、組み合わせられ及び/又は修正されてもよい。これらのステップ、ブロック又はサブプロセスの各々は、種々の異なる方法で実施されてもよい。また、ステップ、サブプロセス又はブロックは、ここではある時に連続して実行されるものとして示されているが、いくつかのステップ、サブプロセス又はブロックは、代わりに、当業者によって認識されるように、並列に実行されてもよく、異なる時に実行されてもよい。さらに、本明細書に記載の任意の特定の数は、単なる例示である。   Although the various steps, blocks or sub-processes are presented in a particular order with respect to process 500 and process 600, in alternative embodiments, routines having steps in a different order may be executed, and steps in a different order A system having blocks or sub-processes may be employed. Also, some steps, sub-processes or blocks may be deleted, moved, added, subdivided, combined and / or modified to provide alternatives or partial combinations. Each of these steps, blocks or sub-processes may be implemented in a variety of different ways. Also, although steps, sub-processes or blocks are shown here as being performed continuously at some time, some steps, sub-processes or blocks may instead be recognized by those skilled in the art. May be executed in parallel or at different times. Moreover, any particular number described herein is merely exemplary.

図7は、電子デバイス702(例えば、図2の電子デバイス200)及び認証システム704(例えば、図3の認証システム300)を含む、パスコード入力システム700のブロック図である。なお、図7に示されるアーキテクチャは、パスコード入力システム700のアーキテクチャの単なる一例であって、電子デバイス702は図示よりも多くの又は少ないコンポーネント又は異なるコンポーネント構成を有することがある。図7に示す種々のコンポーネントは、1つ以上の信号処理集積回路及び/又は特定用途向け集積回路を含むハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせを用いて実装され得る。   FIG. 7 is a block diagram of a passcode input system 700 that includes an electronic device 702 (eg, electronic device 200 of FIG. 2) and an authentication system 704 (eg, authentication system 300 of FIG. 3). Note that the architecture shown in FIG. 7 is merely one example of the architecture of passcode input system 700, and electronic device 702 may have more or fewer components or different component configurations than shown. The various components shown in FIG. 7 may be implemented using hardware, software, firmware, or combinations thereof, including one or more signal processing integrated circuits and / or application specific integrated circuits.

電子デバイス702は、1つ以上のコンピュータ読み取り可能な媒体710、処理システム720、タッチサブシステム730、ディスプレイ/グラフィックスサブシステム740、通信回路750、記憶装置760、及びオーディオ回路770を含み得る。これらのコンポーネントは、1つ以上の通信バス又は他の信号線路により結合されてもよい。電子デバイス702は、電子デバイス102、電子デバイス200又は電子デバイス400と同一又は類似のものであり得る。   The electronic device 702 may include one or more computer readable media 710, a processing system 720, a touch subsystem 730, a display / graphics subsystem 740, a communication circuit 750, a storage device 760, and an audio circuit 770. These components may be coupled by one or more communication buses or other signal lines. The electronic device 702 can be the same as or similar to the electronic device 102, the electronic device 200, or the electronic device 400.

通信回路750は、RF回路752及び/又は情報を送受信するためのポート754を含み得る。RF回路752は、1つ以上の他のデバイスへの無線リンク又はネットワーク越しに情報を伝送することを可能にすると共に、この機能を実行するための周知の回路を含む。ポート754は、有線リンク越しに情報を伝送することを可能にする。通信回路750は、例えば、認証システム704と通信し得る。通信回路750は、処理システム720に周辺機器インタフェース724を介して結合され得る。周辺機器インタフェース724は、周辺機器と処理システム720との間の通信を確立して維持するための種々の既知のコンポーネントを含み得る。   The communication circuit 750 may include an RF circuit 752 and / or a port 754 for transmitting and receiving information. The RF circuit 752 includes well-known circuitry for enabling information to be transmitted over a wireless link or network to one or more other devices and for performing this function. Port 754 allows information to be transmitted over a wired link. The communication circuit 750 can communicate with the authentication system 704, for example. Communication circuit 750 may be coupled to processing system 720 via peripheral device interface 724. Peripheral interface 724 may include various known components for establishing and maintaining communication between the peripheral and the processing system 720.

オーディオ回路770は、オーディオスピーカ(図示せず)、マイク(図示せず)、電子カードリーダ(図示せず)又はそれらの任意の組合せに結合され得ると共に、ユーザが他のユーザとリアルタイムで通信することを可能にするために、周辺機器インタフェース724から受信した音声信号を処理するための既知の回路を含む。いくつかの実施形態では、オーディオ回路770は、ヘッドホンジャック(図示せず)を含む。   Audio circuit 770 may be coupled to an audio speaker (not shown), a microphone (not shown), an electronic card reader (not shown), or any combination thereof, and a user communicates with other users in real time. In order to enable this, it includes known circuitry for processing audio signals received from the peripheral interface 724. In some embodiments, audio circuit 770 includes a headphone jack (not shown).

周辺機器インタフェース724は、電子カードリーダのような、システムの種々の周辺機器を、1つ以上のプロセッサ726及びコンピュータ読み取り可能な媒体710に結合し得る。1つ以上のプロセッサ726は、1つ以上のコンピュータ読み取り可能な710とコントローラ722を介して通信することができる。コンピュータ読み取り可能な媒体710は、1つ以上のプロセッサ726により使用するためのコード及び/又はデータを格納可能な任意のデバイス又は媒体であり得る。媒体710は、メモリ階層を含むことができ、該メモリ階層には、これらに限定されないが、キャッシュ、メインメモリ及び二次メモリが含まれる。メモリ階層は、RAM(例えば、SRAM、DRAM、DDRAM)、ROM、FLASH、並びに、ディスクドライブ、磁気テープ、CD(コンパクトディスク)及びDVD(デジタルビデオディスク)のような磁気及び/又は光学記憶デバイスの任意の組み合わせを用いて実装され得る。媒体710は、コンピュータ命令又はデータを示す情報担持信号を(信号が変調される際の搬送波の有無にかかわらず)搬送するための伝送媒体もまた含んでいてもよい。例えば、該伝送媒体は通信ネットワークを含んでいてもよく、該通信ネットワークには、これらに限定されないが、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、ストレージエリアネットワーク(SAN)、メトロポリタンエリアネットワーク(MAN)等が含まれる。   Peripheral interface 724 may couple various peripheral devices of the system, such as an electronic card reader, to one or more processors 726 and computer readable media 710. One or more processors 726 can communicate with one or more computer readable 710 via a controller 722. Computer readable media 710 can be any device or medium capable of storing code and / or data for use by one or more processors 726. Medium 710 can include a memory hierarchy, which includes, but is not limited to, a cache, main memory, and secondary memory. The memory hierarchy includes RAM (eg, SRAM, DRAM, DDRAM), ROM, FLASH, and magnetic and / or optical storage devices such as disk drives, magnetic tape, CD (compact disc) and DVD (digital video disc). It can be implemented using any combination. Medium 710 may also include a transmission medium for carrying information bearing signals indicative of computer instructions or data (with or without a carrier wave when the signal is modulated). For example, the transmission medium may include a communication network, including but not limited to the Internet, an intranet, a local area network (LAN), a wide local area network (WLAN), a storage area network ( SAN), Metropolitan Area Network (MAN) and the like.

1つ以上のプロセッサ726は、電子デバイス702のための種々の機能を実行するため、媒体710に格納されている種々のソフトウェアコンポーネントを実行し得る。なお、媒体710のモジュールの順序は、媒体710に実装されるソフトウェアスタックの順序を意味しない。いくつかの実施形態では、該ソフトウェアコンポーネントは、オペレーティングシステム711、通信モジュール(又は命令のセット)712、タッチ処理モジュール(又は命令のセット)713、図2のパスコードインタフェースモジュール202のようなインタフェースモジュール(又は命令のセット)715、及び、1つ以上のアプリケーション(又は命令のセット)718を含む。これらのモジュール及び上述のアプリケーションの各々は、上述の機能及び本出願に記載の上記方法(例えば、本明細書に記載される、コンピュータにより実施される方法及び他の情報処理方法)の1つ以上を実行するための命令のセットに対応する。これらのモジュール(例えば、命令のセット)は、別々のソフトウェアプログラム、プロシージャ又はモジュールとして実装される必要はなく、そのため、種々の実施形態において、これらのモジュールの種々のサブセットは組み合わせられてもよく、そうでない場合には再構成されてもよい。いくつかの実施形態では、媒体710は、上述のモジュール及びデータ構造のサブセットを格納してもよい。さらに、媒体710は、上述されていない追加のモジュール及びデータ構造を格納してもよい。   One or more processors 726 may execute various software components stored on media 710 to perform various functions for electronic device 702. Note that the order of modules on the medium 710 does not mean the order of software stacks mounted on the medium 710. In some embodiments, the software components include an operating system 711, a communication module (or set of instructions) 712, a touch processing module (or set of instructions) 713, and an interface module such as the passcode interface module 202 of FIG. (Or set of instructions) 715 and one or more applications (or set of instructions) 718. Each of these modules and the applications described above is one or more of the functions described above and the methods described in this application (eg, computer-implemented methods and other information processing methods described herein). Corresponds to a set of instructions for executing These modules (e.g., a set of instructions) need not be implemented as separate software programs, procedures or modules, so that in various embodiments, various subsets of these modules may be combined, Otherwise it may be reconfigured. In some embodiments, media 710 may store a subset of the modules and data structures described above. Further, media 710 may store additional modules and data structures not described above.

オペレーティングシステム711は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電源管理など)を制御及び管理するための種々のプロシージャ、命令のセット、ソフトウェアコンポーネント及び/又はドライバを含むことができ、種々のハードウェア及びソフトウェアコンポーネント間の通信を容易し得る。   The operating system 711 may include various procedures, sets of instructions, software components and / or drivers for controlling and managing common system tasks (eg, memory management, storage device control, power management, etc.). , Communication between various hardware and software components may be facilitated.

通信モジュール712は、通信回路750を用いた他のデバイスとの通信を容易にすると共に、RF回路752及び/又はポート754から受信したデータを取り扱うための種々のソフトウェアコンポーネントを含む。   Communication module 712 includes various software components for facilitating communication with other devices using communication circuit 750 and for handling data received from RF circuit 752 and / or port 754.

タッチ処理モジュール713は、タッチハードウェア734に関する種々のタスクを実行するための種々のソフトウェアコンポーネントを含んでおり、該タスクには、これらに限定されないが、タッチI/Oデバイスコントローラ732を介してI/Oデバイス730から受信したタッチインプットを受信して処理することが含まれる。例えば、タッチ処理モジュール713は、他のI/Oデバイス(図示せず)に関するタスクを実行するためのソフトウェアコンポーネントもまた含み得る。   The touch processing module 713 includes various software components for performing various tasks related to the touch hardware 734, including but not limited to the I / O device controller 732 through the touch I / O device controller 732. Receiving and processing the touch input received from the / O device 730. For example, touch processing module 713 may also include software components for performing tasks related to other I / O devices (not shown).

インタフェースモジュール715は、ユーザの本人性を認証するためのパスコードを該ユーザが入力するようなパスコードインタフェースを提示及び維持するように構成されている。インタフェースモジュール715は、グラフィカルオブジェクトをディスプレイ面上に描画し、アニメーションさせ、表示するための種々の既知のソフトウェアコンポーネントを含み得る。タッチハードウェア734がタッチ感知ディスプレイ(例えば、タッチスクリーン)である実施形態では、インタフェースモジュール715は、タッチ感知ディスプレイ上のオブジェクトを描画し、表示し、アニメーションさせるためのコンポーネントを含む。インタフェースモジュール715は、グラフィックスI/Oコントローラ744が該グラフィックスをディスプレイ746上に表示し得るように、該グラフィックスを描画すること及びグラフィックスI/Oコントローラ744に描画を提供することが可能なアニメーションエンジン722に、アニメーション命令を提供し得る。インタフェースモジュール715は、該パスコードインタフェースにオーディオコンポーネントを提供するように、オーディオ回路770をさらに制御し得る。   The interface module 715 is configured to present and maintain a passcode interface that allows the user to enter a passcode for authenticating the user's identity. Interface module 715 may include various known software components for drawing, animating, and displaying graphical objects on a display surface. In embodiments where the touch hardware 734 is a touch-sensitive display (eg, a touch screen), the interface module 715 includes components for drawing, displaying, and animating objects on the touch-sensitive display. Interface module 715 may render the graphics and provide rendering to graphics I / O controller 744 such that graphics I / O controller 744 may display the graphics on display 746. An animation instruction may be provided to a simple animation engine 722. Interface module 715 may further control audio circuit 770 to provide audio components to the passcode interface.

1つ以上のアプリケーション718は、電子デバイス702にインストールされる任意のアプリケーションを含み得る。このようなアプリケーションは、これらに限定されないが、電子デバイス200のモジュール、ブラウザ、キーボードエミュレーション、ウィジェット、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、音声複製、位置決定機能(例えば、全地球測位システム(GPS)によって提供されるような)等が含まれる。   One or more applications 718 may include any application installed on electronic device 702. Such applications include, but are not limited to, electronic device 200 modules, browsers, keyboard emulations, widgets, JAVA compatible applications, encryption, digital rights management, voice recognition, voice replication, location determination functions (eg, all As provided by the Global Positioning System (GPS).

タッチI/Oコントローラ732は、種々の機能を制御及び実行するためのタッチハードウェア734に結合されている。タッチハードウェア732は、タッチI/Oデバイスコントローラ732を介して、処理システム720と通信する。該タッチI/Oデバイスコントローラ732には、ユーザのタッチインプットを処理するための種々のコンポーネント(例えば、スキャニングハードウェア)が含まれる。1つ以上の他のインプットコントローラ(図示せず)は、他のI/Oデバイス(図示せず)へ/からの電気信号を送信/受信する。他のI/Oデバイスには、物理ボタン、ダイヤル、スライダースイッチ、スティック、キーボード、タッチパッド、追加の表示画面、又はそれらの任意の組み合わせを含んでいてもよい。   Touch I / O controller 732 is coupled to touch hardware 734 for controlling and executing various functions. Touch hardware 732 communicates with processing system 720 via touch I / O device controller 732. The touch I / O device controller 732 includes various components (eg, scanning hardware) for processing user touch input. One or more other input controllers (not shown) send / receive electrical signals to / from other I / O devices (not shown). Other I / O devices may include physical buttons, dials, slider switches, sticks, keyboards, touchpads, additional display screens, or any combination thereof.

タッチスクリーンとして実施されている場合、タッチハードウェア734は、上記ユーザにGUIにてビジュアル出力を表示する。該ビジュアル出力は、テキスト、グラフィックス、ビデオ、及びそれらの任意の組み合わせを含んでいてもよい。該ビジュアル出力の一部又は全部は、ユーザインタフェースオブジェクトに対応していてもよい。タッチハードウェア734は、ユーザからのタッチインプットを受け付けるタッチ感知面を形成する。タッチハードウェア734及びタッチコントローラ732は、(メディア710内の任意の関連モジュール及び/又は命令のセットと共に、)タッチハードウェア734上のタッチ又はタッチに近い状態(及び任意のタッチの動き又は解放)を検出及び追跡して、該検出されたタッチインプットを、1つ以上のユーザインタフェースオブジェクトなどのグラフィカルオブジェクトとの対話に変換する。タッチハードウェア734及びディスプレイ746がタッチスクリーンとして実施されている場合には、該ユーザは、タッチスクリーン上に表示されているグラフィカルオブジェクトと直接対話することができる。あるいは、ハードウェア734がタッチスクリーン(例えば、タッチパッド)以外のタッチデバイスとして実施されている場合には、該ユーザは、別のディスプレイ画面に表示されるグラフィカルオブジェクトと間接的に対話することができる。   When implemented as a touch screen, touch hardware 734 displays visual output on the GUI to the user. The visual output may include text, graphics, video, and any combination thereof. Some or all of the visual output may correspond to a user interface object. Touch hardware 734 forms a touch sensitive surface that accepts touch input from a user. Touch hardware 734 and touch controller 732 (with any associated module and / or set of instructions in media 710) touch on touch hardware 734 or a state close to touch (and any touch movement or release). And tracking the detected touch input into an interaction with a graphical object, such as one or more user interface objects. If touch hardware 734 and display 746 are implemented as touch screens, the user can interact directly with the graphical objects displayed on the touch screen. Alternatively, if the hardware 734 is implemented as a touch device other than a touch screen (eg, a touchpad), the user can interact indirectly with a graphical object displayed on another display screen. .

タッチハードウェア734がタッチスクリーンである実施形態では、該タッチスクリーンは、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、OLED(有機発光ダイオード)技術、又はOEL(有機エレクトロルミネッセンス)を用いていてもよいが、他の実施形態では、他のディスプレイ技術が用いられてもよい。   In embodiments where the touch hardware 734 is a touch screen, the touch screen uses LCD (Liquid Crystal Display) technology, LPD (Light Emitting Polymer Display) technology, OLED (Organic Light Emitting Diode) technology, or OEL (Organic Electroluminescence). Although other display technologies may be used in other embodiments.

上記ユーザのタッチインプット、並びに、表示されているものの状態及び/又は上記コンピューティングシステムの状態に基づいて、タッチハードウェア734によりフィードバックが提供されてもよい。フィードバックは、光学的に(例えば、光信号又は表示された画像)、機械的に(例えば、触覚フィードバック、タッチフィードバック、力フィードバック)、電気的に(例えば、電気刺激)、嗅覚的に、音響的に(例えば、ビープ音又はそれに類するもの)など、又はそれらの任意の組合せにより伝導されてもよく、変化可能又は変化不可能な方式で伝送されてもよい。   Feedback may be provided by touch hardware 734 based on the user's touch input and the state of what is being displayed and / or the state of the computing system. Feedback can be optically (eg optical signal or displayed image), mechanically (eg tactile feedback, touch feedback, force feedback), electrically (eg electrical stimulation), olfactory, acoustic (E.g., a beep or the like), or any combination thereof, and may be transmitted in a variable or non-changeable manner.

いくつかの実施形態では、周辺機器インタフェース724、1つ以上のプロセッサ726及びメモリコントローラ722は、単一のチップ上に実装されてもよい。いくつかの他の実施形態では、これらは別々のチップ上に実装されてもよい。記憶装置760は、データを格納するための任意の適切な媒体であってもよい。例えば、該媒体には、揮発性メモリ(例えば、キャッシュ、RAM)、不揮発性メモリ(例えば、フラッシュ、ハードディスクドライブ)、又はその両方が含まれ、該データには、遷移アニメーションのために用いられるページが含まれる。   In some embodiments, the peripheral interface 724, the one or more processors 726, and the memory controller 722 may be implemented on a single chip. In some other embodiments, these may be implemented on separate chips. Storage device 760 may be any suitable medium for storing data. For example, the medium includes volatile memory (eg, cache, RAM), non-volatile memory (eg, flash, hard disk drive), or both, and the data includes pages used for transition animations. Is included.

図2〜4及び7に関し、電子デバイス200、認証システム300若しくは電子デバイス702に関連するブロック、コンポーネント及び/又はモジュールは、それぞれ、専用回路の形態で実装されていてもよく、又は1つ以上の適切にプログラムされたプログラム可能なプロセッサの形態で実装されていてもよく、又はそれらの組合せにより実装されていてもよい。例えば、記載のモジュールは、マシン上のプロセッサ又はコントローラにより実行されることが可能な有形の(tangible)記憶メモリ上の命令として実装され得る。該有形の記憶メモリは、揮発性又は不揮発性メモリであってもよい。いくつかの実施形態では、該揮発性メモリは、一時的な信号ではないという意味で「非一時的(non-transitory)」とみなされてもよい。モジュールの動作は、プロセッサ又は他のコンピューティングデバイス、例えば、シングルボードチップ、特定用途向け集積回路、フィールドプログラム可能なフィールドアレイ、ネットワーク利用可能なコンピューティングデバイス、仮想マシン端末デバイス、クラウドベースのコンピューティング端末デバイス、又はそれらの任意の組み合わせによって実行された際に、可能となってもよい。   2-4 and 7, the blocks, components, and / or modules associated with electronic device 200, authentication system 300, or electronic device 702 may each be implemented in the form of dedicated circuitry, or one or more It may be implemented in the form of a suitably programmed programmable processor, or a combination thereof. For example, the described modules may be implemented as instructions on a tangible storage memory that can be executed by a processor or controller on the machine. The tangible storage memory may be volatile or non-volatile memory. In some embodiments, the volatile memory may be considered “non-transitory” in the sense that it is not a transient signal. The operation of the module may be a processor or other computing device such as a single board chip, application specific integrated circuit, field programmable field array, network available computing device, virtual machine terminal device, cloud based computing It may be possible when executed by a terminal device, or any combination thereof.

上記モジュールの各々は、他のモジュールとは個々に独立して動作してもよい。該モジュールのいくつか又は全ては、同一のホストデバイス上で実行されてもよく、別々のデバイス上で実行されてもよい。該別々のデバイスは、その動作を調整するために、通信モジュールを介してインターコネクト経由で又は無線により結合され得る。該モジュールのいくつか又は全ては、一つのモジュールとして組み合わせられてもよい。   Each of the modules may operate independently of the other modules. Some or all of the modules may be executed on the same host device or may be executed on separate devices. The separate devices may be coupled via an interconnect or wirelessly via a communication module to coordinate its operation. Some or all of the modules may be combined as a single module.

単一のモジュールは、複数のサブモジュールであって、各サブモジュールが該単一のモジュールの別々の1つ又は複数の方法ステップを実行する複数のサブモジュールへと分割されてもよい。いくつかの実施形態では、該モジュールは、メモリ空間へのアクセスを共有することができる。あるモジュールは、別のモジュールによりアクセス又は変換されるデータにアクセスしてもよい。これらのモジュールが物理的な接続又は仮想接続を直接的又は間接的に共有しており、それによって、あるモジュールからアクセス又は変更されたデータが別のモジュールにアクセスされ得るようになる場合には、それらのモジュールは相互に「結合されている」とみなすことができる。いくつかの実施形態では、該モジュールの一部又は全ては、リモートでアップグレード又は修正され得る。電子デバイス200、認証システム300又は電子デバイス702は、種々の用途のために、追加のモジュール、より少ない数のモジュール又は異なるモジュールを含んでいてもよい。   A single module may be divided into a plurality of sub-modules, each sub-module performing a separate one or more method steps of the single module. In some embodiments, the modules can share access to the memory space. One module may access data that is accessed or converted by another module. If these modules share a physical or virtual connection directly or indirectly so that data accessed or modified from one module can be accessed by another module, These modules can be considered “coupled” to each other. In some embodiments, some or all of the modules can be upgraded or modified remotely. Electronic device 200, authentication system 300, or electronic device 702 may include additional modules, a smaller number of modules, or different modules for various applications.

図8は、コンピュータシステム800の図式的表示である。コンピュータシステム800は、図3の例に図示される任意のモジュール及びコンポーネント(及び本明細書に記載の任意の他のモジュール及び/又はコンポーネント)が実装され得るハードウェアデバイスを表すことを企図されている。図示のように、コンピュータシステム800は、プロセッサ802と、メモリ804と、不揮発性メモリ806と、ネットワークインタフェース808とを含む。種々の共通コンポーネント(例えば、キャッシュメモリ)は、図示の簡略化のために省略されている。コンピュータシステム800は、パーソナルコンピュータ(PC)、サーバクラスのコンピュータ又はモバイルデバイス(例えば、スマートフォン、カードリーダ、タブレットコンピュータ、等)のような任意の適用可能な公知又は従来のタイプのものであり得る。コンピュータシステム800の複数の該コンポーネントは、バスを介して、及び/又は、他の任意の既知又は従来の相互接続の形態を通じて、互いに結合されてもよい。   FIG. 8 is a schematic representation of the computer system 800. Computer system 800 is intended to represent a hardware device in which any of the modules and components illustrated in the example of FIG. 3 (and any other modules and / or components described herein) may be implemented. Yes. As shown, computer system 800 includes a processor 802, memory 804, non-volatile memory 806, and a network interface 808. Various common components (eg, cache memory) have been omitted for simplicity of illustration. The computer system 800 can be of any applicable known or conventional type, such as a personal computer (PC), a server class computer or a mobile device (eg, smart phone, card reader, tablet computer, etc.). The plurality of components of computer system 800 may be coupled together via a bus and / or through any other known or conventional form of interconnection.

関連技術の当業者は、用語「マシン読み取り可能な(記憶)媒体」又は「コンピュータ読み取り可能な(記憶)媒体」が、プロセッサ802によってアクセス可能な任意のタイプのデバイスを含むことを理解するであろう。メモリ804は、例えばバス810によって、プロセッサ802に結合される。メモリ804は、例示であって限定ではないが、ダイナミックRAM(DRAM)及びスタティックRAM(SRAM)のようなランダムアクセスメモリ(RAM)を含み得る。メモリ804は、ローカル、リモート又は分散型であり得る。   Those skilled in the relevant art will understand that the term “machine-readable (storage) medium” or “computer-readable (storage) medium” includes any type of device accessible by the processor 802. Let's go. Memory 804 is coupled to processor 802 by bus 810, for example. Memory 804 is illustrative and may include random access memory (RAM) such as dynamic RAM (DRAM) and static RAM (SRAM). Memory 804 may be local, remote or distributed.

バス810はまた、プロセッサ802を不揮発性メモリ806及びドライブユニット812に結合してもよい。不揮発性メモリ806は、ハードディスク、光磁気ディスク、光ディスク、読み出し専用メモリ(ROM)であってもよく、例えば、CD−ROM、消去可能なプログラム可能読み出し専用メモリ(EPROM)、若しくは電気的に消去可能なプログラム可能読み出し専用メモリ(EEPROM)、磁気若しくは光カード、又は他の形態の大量データ用記憶装置であってもよい。不揮発性記憶デバイス806は、ローカル、リモート又は分散型であり得る。   Bus 810 may also couple processor 802 to non-volatile memory 806 and drive unit 812. The non-volatile memory 806 may be a hard disk, a magneto-optical disk, an optical disk, a read-only memory (ROM), such as a CD-ROM, an erasable programmable read-only memory (EPROM), or an electrically erasable memory. It may be a programmable read only memory (EEPROM), a magnetic or optical card, or other form of mass data storage. The non-volatile storage device 806 can be local, remote or distributed.

図3に記載のモジュールは、不揮発性メモリ806、ドライブユニット812又はメモリ804内に格納されてもよい。プロセッサ802は、上記メモリコンポーネント内に格納された1つ以上のモジュールを実行してもよい。   The module described in FIG. 3 may be stored in the non-volatile memory 806, the drive unit 812, or the memory 804. The processor 802 may execute one or more modules stored in the memory component.

バス810はまた、プロセッサ802をネットワークインタフェースデバイス808に結合する。インタフェース808は、1つ以上のモデム又はネットワークインタフェースを含み得る。モデム又はネットワークインタフェースは、コンピュータシステム800の一部であるとみなすことができる。インタフェース808は、アナログモデム、ISDNモデム、ケーブルモデム、トークンリングインタフェース、衛星伝送インタフェース(例えば、「ダイレクトPC(direct PC)」)又はコンピュータシステムを他のコンピュータシステムに結合するための他のインタフェースを含み得る。   Bus 810 also couples processor 802 to network interface device 808. Interface 808 may include one or more modems or network interfaces. The modem or network interface can be considered part of the computer system 800. Interface 808 includes an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (eg, “direct PC”) or other interface for coupling a computer system to another computer system. obtain.

本開示のセクション又は図面の各々は、異なる実装、及び、要素と用語との間の異なる関係を例示することができる。しかし、本開示の異なるセクションで参照される類似の要素及び用語、並びに図面は、種々の実施形態において相互に交換可能であることが意味される。   Each of the sections or drawings of this disclosure may illustrate different implementations and different relationships between elements and terms. However, similar elements and terms referred to in different sections of the disclosure, and drawings are meant to be interchangeable in various embodiments.

代替となる言葉及び同義語は、本明細書で説明された用語の任意の1つ以上に使用されてもよく、本明細書中で用語が詳述又は説明されているか否かには、特別な意味が認められるわけではない。1つ以上の同義語の記述は、他の同義語の使用を排除しない。本明細書で説明された任意の用語の例を含む、本明細書中の任意の箇所における例の使用は、単なる例示であって、本開示又は任意の例示の用語についての範囲及び意味をさらに限定するものではない。同様に、本開示は、本明細書に記載される種々の実施形態に限定されない。   Alternative terms and synonyms may be used for any one or more of the terms described herein, and whether or not the terms are detailed or described herein The meaning is not necessarily recognized. The description of one or more synonyms does not exclude the use of other synonyms. Use of examples in any part of this specification, including examples of any terms described herein, is merely exemplary and further extends the scope and meaning of this disclosure or any of the exemplified terms It is not limited. Likewise, the present disclosure is not limited to the various embodiments described herein.

当業者は、以下に示されていない他の形態及び方法にて本発明が実施されてもよいことを理解するであろう。第1又は第2のような関係性を表す用語の使用は、それがある場合、ある物又は動作を別のものと区別することのみを目的として使用され、このような物又は動作の間における実際の関係性又は順序を必ずしも要求又は暗示するものではない。   Those skilled in the art will appreciate that the present invention may be practiced in other forms and methods not shown below. The use of a term representing a relationship, such as first or second, is used only to distinguish one thing or action from another, if any, between such things or actions. It does not necessarily require or imply actual relationships or order.

本明細書において、用語は「接続された(connected)」「結合された(coupled)」、又はそれらの任意の異形は、システムのモジュールに対して適用する場合には、直接的又は間接的のいずれかでの、2つ以上の要素間における、任意の接続又は結合を意味する。該要素間の接続の結合は、物理的、論理的、又はそれらの任意の組み合わせであり得る。文脈上許される箇所では、上述の詳細な説明において単数又は複数を使用している単語は、それぞれ複数又は単数もまた含んでいてもよい。2つ以上の項目の列挙に関する単語「又は(or)」は、以下の単語解釈の全てを包含する:該列挙内の任意の項目、該列挙内の全ての項目、及び該列挙内の項目の任意の組み合わせ。シーケンスに関する単語「部分(portion)」又は「部分化された(portioned)」は、任意のサブセット又はシーケンス全体を含む。   As used herein, the terms are “connected”, “coupled”, or any variant thereof, whether directly or indirectly when applied to a module of the system. Any connection or coupling between two or more elements in any way is meant. The coupling of connections between the elements can be physical, logical, or any combination thereof. Where the context permits, words using the singular or plural in the above detailed description may also include the plural or singular, respectively. The word “or” for an enumeration of two or more items encompasses all of the following word interpretations: any item in the enumeration, all items in the enumeration, and items in the enumeration. Any combination. The word “portion” or “portioned” for a sequence includes any subset or the entire sequence.

本明細書における「種々の実施形態」又は「いくつかの実施形態」の参照は、実施形態に関連して記載される特定の特徴、構造又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。それらに参照される実施形態及び代替実施形態(例えば、「他の実施形態」と称される)は、互いに対して相互に排他的でなくてもよい。さらに、記載される種々の特徴は、いくつかの実施形態には示されているが他の実施形態には示されていないものであってもよい。同様に、記載される種々の要件は、いくつかの実施形態の要件であるが他の実施形態の要件でないものであってもよい。   References herein to “various embodiments” or “some embodiments” include specific features, structures, or characteristics described in connection with the embodiments in at least one embodiment of the disclosure. Means that Embodiments referenced to them and alternative embodiments (eg, referred to as “other embodiments”) may not be mutually exclusive of one another. Moreover, the various features described may be shown in some embodiments but not in other embodiments. Similarly, the various requirements described may be requirements of some embodiments but not other embodiments.

上記説明及び図面は例示であって、開示された厳密な形態まで本発明を限定するものとして解釈されるべきではない。関連技術の当業者は、多くの修正及び変形が上記開示に照らして可能であることを理解し得る。多数の具体的な詳細が、本開示の完全な理解を提供するために記載されている。しかしながら、特定の例では、周知又は従来についての詳細は、該説明を不明瞭にすることを避けるため、記載されていない。本開示における1つの(one)実施形態又はある(an)実施形態への参照は、必ずしもそうではないが、同一の実施形態への参照であり得る。そして、そのような参照は、実施形態のうち少なくとも1つを意味している。   The above description and drawings are illustrative and should not be construed as limiting the invention to the precise forms disclosed. Those skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure. Numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description. A reference to one embodiment or an embodiment in the present disclosure may, but need not be, a reference to the same embodiment. And such a reference means at least one of the embodiments.

以上要約すると、本開示は、以下を含む。
1.金融取引におけるパスコード入力の認可されないキャプチャを防止するようにモバイルデバイスを動作させる方法であって、
前記モバイルデバイスに結合されたカードリーダがユーザからのペイメントカードのスワイプを検出した際に、前記金融取引を開始する工程と、
ユーザがパスコードをインプットするためのパスコード入力インタフェースを、前記モバイルデバイスのタッチスクリーン上に提示する工程と、
前記パスコード入力インタフェースを提示している間に、前記タッチスクリーンからタッチイベントを受信する工程と、
前記ユーザによるタッチが前記タッチスクリーン上に生じた場所を示す位置である前記タッチイベントの位置を暗号化する工程と、
前記タッチイベントの前記暗号化された位置に少なくとも部分的に基づいて前記パスコードを解読することにより外部システムに前記ユーザを認証させるため、前記暗号化された位置を前記外部システムへとネットワーク越しに伝送する工程と
を備える、方法。
2.前記タッチイベントのメタデータ入力を、前記タッチイベントの前記位置と共に暗号化する工程をさらに備える、第1項に記載の方法。
3.前記タッチイベントの前記位置を暗号化する前記工程が、非対称暗号方式を用いることを備える、第1項に記載の方法。
4.前記タッチイベントの前記位置を暗号化する前記工程が、別のタッチイベントの位置の暗号化と合わせて実行される、第1項に記載の方法。
5.前記タッチスクリーンの画面ジオメトリを示すデータを前記外部システムに伝送する工程をさらに備える、第1項に記載の方法。
6.金融取引におけるパスコード入力の認可されないキャプチャを防止するように電子デバイスを動作させる方法であって、
ユーザにパスコード入力をインプットさせるために、パスコード入力インタフェースを前記電子デバイス上に提示する工程と、
前記電子デバイスのセンサからインプットイベントを受信する工程であって、前記インプットイベントが、前記ユーザによる前記パスコード入力の少なくとも一部を示すと共に、少なくとも前記センサにより測定されるセンサ値を含んでいる、工程と、
前記インプットイベントの前記センサ値を暗号化する工程と、
前記暗号化されたセンサ値に少なくとも部分的に基づいて前記パスコード入力を外部システムに解読させるため、前記暗号化されたセンサ値を前記外部システムへとネットワーク越しに伝送する工程と
を備える、方法。
7.前記パスコード入力インタフェースのインタフェース構成を前記外部システムへと伝送する工程であって、前記インタフェース構成が前記センサ入力に係るセンサ値と前記パスコード入力を編成するための文字のセットとのマッピングを指定する工程をさらに備えている、第6項に記載の方法。
8.前記インタフェース構成が、前記電子デバイスのタッチスクリーン上に提示される前記パスコード入力インタフェースのジオメトリ特性を含んでいる、第7項に記載の方法。
9.前記インタフェース構成を伝送する前に、前記インタフェース構成を暗号化する工程をさらに備える、第7項に記載の方法。
10.前記パスコード入力インタフェース用のランダム化された配置を生成する工程であって、前記ランダム化された配置が前記インタフェース構成の一部として記録される工程をさらに備える、第7項に記載の方法。
11.前記電子デバイスのディスプレイデバイスの画面ジオメトリを前記外部システムに伝送する工程であって、前記パスコード入力インタフェースが前記ディスプレイデバイスに表示される工程をさらに備える、第6項に記載の方法。
12.前記インプットイベントの前記センサ値を暗号化する前記工程が、ホワイトボックス暗号技法を使用することを備える、第6項に記載の方法。
13.前記インプットイベントの前記センサ値を暗号化する前記工程が、非対称暗号技法を使用することを備える、第6項に記載の方法。
14.センサインプットに少なくとも部分的に基づいてパスコードを解読するためのコンピューティングシステムを動作させる方法であって、
暗号化されたセンサインプット値を電子デバイスから受信する工程であって、前記暗号化されたセンサインプット値が前記電子デバイス上のパスコード入力インタフェースとのユーザ対話に対応する工程と、
前記ユーザインプットイベントを決定するために前記暗号化されたセンサインプット値を復号化する工程と、
センサインプット値と前記パスコードを編成するための文字のセットとのマッピングを指定する前記パスコード入力インタフェースのインタフェース構成にアクセスする工程と
前記ユーザインプットイベント及び前記インタフェース構成に少なくとも部分的に基づいてユーザによるパスコード入力を解読する工程と
を備える、方法。
15.前記パスコード入力インタフェースと対話するユーザとのセッションのために特化して前記インタフェース構成を生成する工程をさらに備える、第14項に記載の方法。
16.前記インタフェース構成を生成する前記工程が、前記インタフェース構成を対話型ボタンのランダム化された配置として生成することを含んでおり、前記インタフェース構成にアクセスする前記工程が、前記対話型ボタンの位置にアクセスすることを含んでいる、第15項に記載の方法。
17.前記電子デバイス上に前記パスコード入力インタフェースを表示することを可能にするために、前記インタフェース構成を前記電子デバイスに伝送する工程をさらに備える、第16項に記載の方法。
18.前記インタフェース構成にアクセスする前記工程が、暗号化された構成を前記電子デバイスから受信することと、前記暗号化された構成を前記インタフェース構成として解読することとを含んでいる、第14項に記載の方法。
19.コンピュータ記憶媒体上に符号化されたコンピュータプログラム製品であって、プロセッサにより実行された際に動作可能であり、前記コンピュータプログラム製品が、
ユーザがパスコード入力をインプットするためのパスコード入力インタフェースを電子デバイス上に提示するように、
前記電子デバイスのセンサからインプットイベントを受信するように、このとき、前記インプットイベントが、前記ユーザによる前記パスコード入力の少なくとも一部を示すと共に、少なくとも前記センサにより測定されるセンサ値を含んでいるように、
前記インプットイベントの前記センサ値を暗号化するように、及び、
前記暗号化されたセンサ値に少なくとも部分的に基づいて前記パスコード入力を外部システムに解読させるため、前記暗号化されたセンサ値を前記外部システムへとネットワーク越しに伝送するように
動作可能である、コンピュータプログラム製品。
20.メモリと、
ユーザがパスコード入力をインプットさせるためのパスコード入力インタフェースを提示する電子デバイスと、
センサインプットシーケンスをメモリ内に格納するセンサであって、前記センサインプットシーケンスが、前記パスコード入力インタフェースとのユーザ対話を示す、センサと、
前記センサインプットシーケンスのセンサ入力を暗号化して、前記ユーザによる前記パスコード入力を解読するために前記暗号化されたセンサ入力をリモートシステムへとネットワーク越しに伝送するプロセッサと
を備える、電子デバイス。
21.電子デバイスからセンサインプットシーケンスを受信するためのネットワークインタフェースであって、前記センサインプットシーケンスは、電子デバイス上のパスコード入力インタフェースとのユーザ対話を示す、ネットワークインタフェースと、
前記センサインプットシーケンスの暗号化されたセンサ入力を復号化するセキュリティコンポーネントと、
前記復号化されたセンサ入力と前記パスコード入力インタフェースのジオメトリを示すデータとに少なくとも基づいて、ユーザによるパスコード入力を解読するように構成されるプロセッサと
を備える、コンピュータサーバシステム。
In summary, the present disclosure includes:
1. A method of operating a mobile device to prevent unauthorized capture of passcode input in a financial transaction, comprising:
Initiating the financial transaction when a card reader coupled to the mobile device detects a payment card swipe from a user;
Presenting a passcode input interface on a touch screen of the mobile device for a user to input a passcode;
Receiving a touch event from the touch screen while presenting the passcode input interface;
Encrypting the location of the touch event, which is a location indicating where the user touch occurred on the touch screen;
In order to have an external system authenticate the user by decrypting the passcode based at least in part on the encrypted location of the touch event, the encrypted location is passed over the network to the external system. Transmitting the method.
2. The method of claim 1, further comprising encrypting the metadata input of the touch event along with the location of the touch event.
3. The method of claim 1, wherein the step of encrypting the location of the touch event comprises using asymmetric cryptography.
4). The method of claim 1, wherein the step of encrypting the location of the touch event is performed in conjunction with encryption of the location of another touch event.
5. The method of claim 1, further comprising transmitting data indicative of a screen geometry of the touch screen to the external system.
6). A method of operating an electronic device to prevent unauthorized capture of passcode input in a financial transaction, comprising:
Presenting a passcode input interface on the electronic device to allow a user to input a passcode input;
Receiving an input event from a sensor of the electronic device, wherein the input event indicates at least a portion of the passcode input by the user and includes at least a sensor value measured by the sensor; Process,
Encrypting the sensor value of the input event;
Transmitting the encrypted sensor value over the network to the external system to cause the external system to decrypt the passcode input based at least in part on the encrypted sensor value. .
7). Transmitting the interface configuration of the passcode input interface to the external system, wherein the interface configuration specifies a mapping between a sensor value associated with the sensor input and a set of characters for organizing the passcode input The method according to claim 6, further comprising the step of:
8). The method of claim 7, wherein the interface configuration includes a geometric property of the passcode input interface presented on a touch screen of the electronic device.
9. The method of claim 7, further comprising encrypting the interface configuration before transmitting the interface configuration.
10. The method of claim 7, further comprising: generating a randomized arrangement for the passcode input interface, wherein the randomized arrangement is recorded as part of the interface configuration.
11. 7. The method of claim 6, further comprising: transmitting a screen geometry of a display device of the electronic device to the external system, wherein the passcode input interface is displayed on the display device.
12 The method of claim 6, wherein the step of encrypting the sensor value of the input event comprises using a white box encryption technique.
13. The method of claim 6, wherein the step of encrypting the sensor value of the input event comprises using asymmetric cryptography.
14 A method of operating a computing system for decoding a passcode based at least in part on a sensor input comprising:
Receiving an encrypted sensor input value from an electronic device, wherein the encrypted sensor input value corresponds to a user interaction with a passcode input interface on the electronic device;
Decrypting the encrypted sensor input value to determine the user input event;
Accessing the interface configuration of the passcode input interface for specifying a mapping between sensor input values and sets of characters for organizing the passcode; and a user based at least in part on the user input event and the interface configuration Deciphering the passcode input by the method.
15. The method of claim 14, further comprising generating the interface configuration specifically for a session with a user interacting with the passcode input interface.
16. The step of generating the interface configuration includes generating the interface configuration as a randomized arrangement of interactive buttons, wherein the step of accessing the interface configuration accesses the location of the interactive button. 16. The method of claim 15, comprising:
17. The method of claim 16, further comprising transmitting the interface configuration to the electronic device to allow the passcode input interface to be displayed on the electronic device.
18. 15. The method of claim 14, wherein the step of accessing the interface configuration includes receiving an encrypted configuration from the electronic device and decrypting the encrypted configuration as the interface configuration. the method of.
19. A computer program product encoded on a computer storage medium, operable when executed by a processor, said computer program product comprising:
As the user presents a passcode input interface on the electronic device for inputting the passcode input,
At this time, the input event indicates at least part of the passcode input by the user and includes at least a sensor value measured by the sensor so as to receive an input event from the sensor of the electronic device. like,
Encrypting the sensor value of the input event; and
Operable to transmit the encrypted sensor value over the network to the external system to cause the external system to decrypt the passcode input based at least in part on the encrypted sensor value. , Computer program products.
20. Memory,
An electronic device presenting a passcode input interface for a user to input a passcode input;
A sensor for storing a sensor input sequence in a memory, wherein the sensor input sequence indicates user interaction with the passcode input interface;
An electronic device comprising: a processor that encrypts sensor inputs of the sensor input sequence and transmits the encrypted sensor inputs over a network to a remote system to decrypt the passcode input by the user.
21. A network interface for receiving a sensor input sequence from an electronic device, wherein the sensor input sequence indicates user interaction with a passcode input interface on the electronic device;
A security component for decrypting the encrypted sensor input of the sensor input sequence;
A computer server system comprising: a processor configured to decode a passcode input by a user based at least on the decoded sensor input and data indicative of the geometry of the passcode input interface.

Claims (21)

金融取引におけるパスコード入力の認可されないキャプチャを防止するようにモバイルデバイスを動作させる方法であって、
前記モバイルデバイスに結合されたカードリーダがユーザからのペイメントカードのスワイプを検出した際に、前記金融取引を開始する工程と、
ユーザがパスコードをインプットするためのパスコード入力インタフェースを、前記モバイルデバイスのタッチスクリーン上に提示する工程と、
前記パスコード入力インタフェースを提示している間に、前記タッチスクリーンからタッチイベントを受信する工程と、
前記ユーザによるタッチが前記タッチスクリーン上に生じた場所を示す位置である前記タッチイベントの位置を暗号化する工程と、
前記タッチイベントの前記暗号化された位置に少なくとも部分的に基づいて前記パスコードを解読することにより外部システムに前記ユーザを認証させるため、前記暗号化された位置を前記外部システムへとネットワーク越しに伝送する工程と
を備える、方法。
A method of operating a mobile device to prevent unauthorized capture of passcode input in a financial transaction, comprising:
Initiating the financial transaction when a card reader coupled to the mobile device detects a payment card swipe from a user;
Presenting a passcode input interface on a touch screen of the mobile device for a user to input a passcode;
Receiving a touch event from the touch screen while presenting the passcode input interface;
Encrypting the location of the touch event, which is a location indicating where the user touch occurred on the touch screen;
In order to have an external system authenticate the user by decrypting the passcode based at least in part on the encrypted location of the touch event, the encrypted location is passed over the network to the external system. Transmitting the method.
前記タッチイベントのメタデータ入力を、前記タッチイベントの前記位置と共に暗号化する工程をさらに備える、請求項1に記載の方法。   The method of claim 1, further comprising encrypting the touch event metadata input along with the location of the touch event. 前記タッチイベントの前記位置を暗号化する前記工程が、非対称暗号方式を用いることを備える、請求項1に記載の方法。   The method of claim 1, wherein the step of encrypting the location of the touch event comprises using an asymmetric cryptography. 前記タッチイベントの前記位置を暗号化する前記工程が、別のタッチイベントの位置の暗号化と合わせて実行される、請求項1に記載の方法。   The method of claim 1, wherein the step of encrypting the location of the touch event is performed in conjunction with encryption of the location of another touch event. 前記タッチスクリーンの画面ジオメトリを示すデータを前記外部システムに伝送する工程をさらに備える、請求項1に記載の方法。   The method of claim 1, further comprising transmitting data indicative of a screen geometry of the touch screen to the external system. 金融取引におけるパスコード入力の認可されないキャプチャを防止するように電子デバイスを動作させる方法であって、
ユーザにパスコード入力をインプットさせるために、パスコード入力インタフェースを前記電子デバイス上に提示する工程と、
前記電子デバイスのセンサからインプットイベントを受信する工程であって、前記インプットイベントが、前記ユーザによる前記パスコード入力の少なくとも一部を示すと共に、少なくとも前記センサにより測定されるセンサ値を含んでいる、工程と、
前記インプットイベントの前記センサ値を暗号化する工程と、
前記暗号化されたセンサ値に少なくとも部分的に基づいて前記パスコード入力を外部システムに解読させるため、前記暗号化されたセンサ値を前記外部システムへとネットワーク越しに伝送する工程と
を備える、方法。
A method of operating an electronic device to prevent unauthorized capture of passcode input in a financial transaction, comprising:
Presenting a passcode input interface on the electronic device to allow a user to input a passcode input;
Receiving an input event from a sensor of the electronic device, wherein the input event indicates at least a portion of the passcode input by the user and includes at least a sensor value measured by the sensor; Process,
Encrypting the sensor value of the input event;
Transmitting the encrypted sensor value over the network to the external system to cause the external system to decrypt the passcode input based at least in part on the encrypted sensor value. .
前記パスコード入力インタフェースのインタフェース構成を前記外部システムへと伝送する工程であって、前記インタフェース構成が前記センサからのセンサ値と前記パスコード入力を編成するための文字のセットとのマッピングを指定する工程をさらに備えている、請求項6に記載の方法。   Transmitting an interface configuration of the passcode input interface to the external system, wherein the interface configuration specifies a mapping between sensor values from the sensors and a set of characters for organizing the passcode input. The method of claim 6, further comprising a step. 前記インタフェース構成が、前記電子デバイスのタッチスクリーン上に提示される前記パスコード入力インタフェースのジオメトリ特性を含んでいる、請求項7に記載の方法。   The method of claim 7, wherein the interface configuration includes geometric characteristics of the passcode input interface presented on a touch screen of the electronic device. 前記インタフェース構成を伝送する前に、前記インタフェース構成を暗号化する工程をさらに備える、請求項7に記載の方法。   The method of claim 7, further comprising encrypting the interface configuration before transmitting the interface configuration. 前記パスコード入力インタフェース用のランダム化された配置を生成する工程であって、前記ランダム化された配置が前記インタフェース構成の一部として記録される工程をさらに備える、請求項7に記載の方法。   The method of claim 7, further comprising generating a randomized arrangement for the passcode input interface, wherein the randomized arrangement is recorded as part of the interface configuration. 前記電子デバイスのディスプレイデバイスの画面ジオメトリを前記外部システムに伝送する工程であって、前記パスコード入力インタフェースが前記ディスプレイデバイスに表示される工程をさらに備える、請求項6に記載の方法。   The method of claim 6, further comprising: transmitting screen geometry of a display device of the electronic device to the external system, wherein the passcode input interface is displayed on the display device. 前記インプットイベントの前記センサ値を暗号化する前記工程が、ホワイトボックス暗号技法を使用することを備える、請求項6に記載の方法。   The method of claim 6, wherein the step of encrypting the sensor value of the input event comprises using a white box encryption technique. 前記インプットイベントの前記センサ値を暗号化する前記工程が、非対称暗号技法を使用することを備える、請求項6に記載の方法。   The method of claim 6, wherein the step of encrypting the sensor value of the input event comprises using an asymmetric cryptographic technique. センサインプットに少なくとも部分的に基づいてパスコードを解読するためのコンピューティングシステムを動作させる方法であって、
暗号化されたセンサインプット値を電子デバイスから受信する工程であって、前記暗号化されたセンサインプット値が前記電子デバイス上のパスコード入力インタフェースとのユーザ対話に対応する工程と、
前記ユーザインプットイベントを決定するために前記暗号化されたセンサインプット値を復号化する工程と、
センサインプット値と前記パスコードを編成するための文字のセットとのマッピングを指定する前記パスコード入力インタフェースのインタフェース構成にアクセスする工程と
前記ユーザインプットイベント及び前記インタフェース構成に少なくとも部分的に基づいてユーザによるパスコード入力を解読する工程と
を備える、方法。
A method of operating a computing system for decoding a passcode based at least in part on a sensor input comprising:
Receiving an encrypted sensor input value from an electronic device, wherein the encrypted sensor input value corresponds to a user interaction with a passcode input interface on the electronic device;
Decrypting the encrypted sensor input value to determine the user input event;
Accessing the interface configuration of the passcode input interface for specifying a mapping between sensor input values and a set of characters for organizing the passcode; and a user based at least in part on the user input event and the interface configuration Deciphering the passcode input by the method.
前記パスコード入力インタフェースと対話するユーザとのセッションのために特化して前記インタフェース構成を生成する工程をさらに備える、請求項14に記載の方法。   The method of claim 14, further comprising generating the interface configuration specifically for a session with a user interacting with the passcode input interface. 前記インタフェース構成を生成する前記工程が、前記インタフェース構成を対話型ボタンのランダム化された配置として生成することを含んでおり、前記インタフェース構成にアクセスする前記工程が、前記対話型ボタンの位置にアクセスすることを含んでいる、請求項15に記載の方法。   The step of generating the interface configuration includes generating the interface configuration as a randomized arrangement of interactive buttons, wherein the step of accessing the interface configuration accesses the location of the interactive button. The method according to claim 15, comprising: 前記電子デバイス上に前記パスコード入力インタフェースを表示することを可能にするために、前記インタフェース構成を前記電子デバイスに伝送する工程をさらに備える、請求項16に記載の方法。   The method of claim 16, further comprising transmitting the interface configuration to the electronic device to allow the passcode input interface to be displayed on the electronic device. 前記インタフェース構成にアクセスする前記工程が、暗号化された構成を前記電子デバイスから受信することと、前記暗号化された構成を前記インタフェース構成として解読することとを含んでいる、請求項14に記載の方法。   15. The method of claim 14, wherein the step of accessing the interface configuration includes receiving an encrypted configuration from the electronic device and decrypting the encrypted configuration as the interface configuration. the method of. コンピュータ記憶媒体上に符号化されたコンピュータプログラム製品であって、プロセッサにより実行された際に動作可能であり、前記コンピュータプログラム製品が、
ユーザがパスコード入力をインプットするためのパスコード入力インタフェースを電子デバイス上に提示するように、
前記電子デバイスのセンサからインプットイベントを受信するように、このとき、前記インプットイベントが、前記ユーザによる前記パスコード入力の少なくとも一部を示すと共に、少なくとも前記センサにより測定されるセンサ値を含んでいるように、
前記インプットイベントの前記センサ値を暗号化するように、及び、
前記暗号化されたセンサ値に少なくとも部分的に基づいて前記パスコード入力を外部システムに解読させるため、前記暗号化されたセンサ値を前記外部システムへとネットワーク越しに伝送するように
動作可能である、コンピュータプログラム製品。
A computer program product encoded on a computer storage medium, operable when executed by a processor, said computer program product comprising:
As the user presents a passcode input interface on the electronic device for inputting the passcode input,
At this time, the input event indicates at least part of the passcode input by the user and includes at least a sensor value measured by the sensor so as to receive an input event from the sensor of the electronic device. like,
Encrypting the sensor value of the input event; and
Operable to transmit the encrypted sensor value over the network to the external system to cause the external system to decrypt the passcode input based at least in part on the encrypted sensor value. , Computer program products.
メモリと、
ユーザがパスコード入力をインプットするためのパスコード入力インタフェースを提示する電子デバイスと、
センサインプットシーケンスをメモリ内に格納するセンサであって、前記センサインプットシーケンスが、前記パスコード入力インタフェースとのユーザ対話を示す、センサと、
前記センサインプットシーケンスのセンサ入力を暗号化して、前記ユーザによる前記パスコード入力を解読するために前記暗号化されたセンサ入力をリモートシステムへとネットワーク越しに伝送するプロセッサと
を備える、電子デバイス。
Memory,
An electronic device presenting a passcode input interface for a user to input a passcode input;
A sensor for storing a sensor input sequence in a memory, wherein the sensor input sequence indicates user interaction with the passcode input interface;
An electronic device comprising: a processor that encrypts sensor inputs of the sensor input sequence and transmits the encrypted sensor inputs over a network to a remote system to decrypt the passcode input by the user.
電子デバイスからセンサインプットシーケンスを受信するためのネットワークインタフェースであって、前記センサインプットシーケンスは、電子デバイス上のパスコード入力インタフェースとのユーザ対話を示す、ネットワークインタフェースと、
前記センサインプットシーケンスの暗号化されたセンサ入力を復号化するセキュリティコンポーネントと、
前記復号化されたセンサ入力と前記パスコード入力インタフェースのジオメトリを示すデータとに少なくとも基づいて、ユーザによるパスコード入力を解読するように構成されるプロセッサと
を備える、コンピュータサーバシステム。
A network interface for receiving a sensor input sequence from an electronic device, wherein the sensor input sequence indicates user interaction with a passcode input interface on the electronic device;
A security component for decrypting the encrypted sensor input of the sensor input sequence;
A computer server system comprising: a processor configured to decode a passcode input by a user based at least on the decoded sensor input and data indicative of the geometry of the passcode input interface.
JP2016531736A 2013-07-28 2014-07-16 Encryption of raw sensor input for passcode input security Pending JP2016530802A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361859253P 2013-07-28 2013-07-28
US61/859,253 2013-07-28
US14/055,838 US20140324708A1 (en) 2012-06-12 2013-10-16 Raw sensor input encryption for passcode entry security
US14/055,838 2013-10-16
PCT/US2014/046923 WO2015017130A1 (en) 2013-07-28 2014-07-16 Raw sensor input encryption for passcode entry security

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018101693A Division JP2018157585A (en) 2013-07-28 2018-05-28 Raw sensor input encryption for passcode entry security

Publications (1)

Publication Number Publication Date
JP2016530802A true JP2016530802A (en) 2016-09-29

Family

ID=52432331

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016531736A Pending JP2016530802A (en) 2013-07-28 2014-07-16 Encryption of raw sensor input for passcode input security
JP2018101693A Pending JP2018157585A (en) 2013-07-28 2018-05-28 Raw sensor input encryption for passcode entry security

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018101693A Pending JP2018157585A (en) 2013-07-28 2018-05-28 Raw sensor input encryption for passcode entry security

Country Status (5)

Country Link
EP (1) EP3028205A4 (en)
JP (2) JP2016530802A (en)
AU (5) AU2014296635A1 (en)
CA (1) CA2919655A1 (en)
WO (1) WO2015017130A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515363B2 (en) 2012-06-12 2019-12-24 Square, Inc. Software PIN entry
US10540657B2 (en) 2013-09-30 2020-01-21 Square, Inc. Secure passcode entry user interface
JP2020111935A (en) * 2019-01-10 2020-07-27 株式会社ネクステッジテクノロジー Locking/unlocking control device, locking/unlocking control method and program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9773240B1 (en) 2013-09-13 2017-09-26 Square, Inc. Fake sensor input for passcode entry security
US9558491B2 (en) 2013-09-30 2017-01-31 Square, Inc. Scrambling passcode entry interface
US9928501B1 (en) 2013-10-09 2018-03-27 Square, Inc. Secure passcode entry docking station
CN107172005A (en) * 2017-02-20 2017-09-15 江苏蓝深远望科技股份有限公司 A kind of high security teletype code encryption method based on asymmetric arithmetic
CN108460299A (en) * 2017-02-20 2018-08-28 江苏蓝深远望科技股份有限公司 A kind of encrypting keyboard system and keyboard encrypting method based on asymmetric arithmetic
US20190065726A1 (en) * 2017-08-30 2019-02-28 Verifone, Inc. Systems, methods and devices for secure input processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549194B1 (en) * 1999-10-01 2003-04-15 Hewlett-Packard Development Company, L.P. Method for secure pin entry on touch screen display
JP2004102460A (en) * 2002-09-06 2004-04-02 Hitachi Software Eng Co Ltd Personal authentication method and program therefor
JP3976201B2 (en) * 2002-02-15 2007-09-12 サイエンスパーク株式会社 Personal authentication method using input characteristics of input device by network, program thereof, and recording medium of program
US20120265981A1 (en) * 2011-04-18 2012-10-18 Pantech Co., Ltd. Electronic device and method for securing user input data
JP2013507720A (en) * 2009-10-13 2013-03-04 スクエア インコーポレイテッド System and method for creating dynamic receipts containing environmental information

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7992007B2 (en) * 2002-02-05 2011-08-02 Cardinalcommerce Corporation Dynamic pin pad for credit/debit/ other electronic transactions
US9916581B2 (en) * 2002-02-05 2018-03-13 Square, Inc. Back end of payment system associated with financial transactions using card readers coupled to mobile devices
US7596701B2 (en) * 2004-07-07 2009-09-29 Oracle International Corporation Online data encryption and decryption
US7996682B2 (en) * 2005-10-17 2011-08-09 Microsoft Corporation Secure prompting
US9123042B2 (en) * 2006-10-17 2015-09-01 Verifone, Inc. Pin block replacement
US20160210491A9 (en) * 2008-09-30 2016-07-21 Apple Inc. Systems and methods for secure wireless financial transactions
CA2967042C (en) * 2009-02-10 2023-03-07 4361423 Canada Inc. Apparatus and method for commercial transactions using a communication device
US7896248B2 (en) * 2009-06-10 2011-03-01 Rem Holdings 3, Llc Card reader device and method of use

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549194B1 (en) * 1999-10-01 2003-04-15 Hewlett-Packard Development Company, L.P. Method for secure pin entry on touch screen display
JP3976201B2 (en) * 2002-02-15 2007-09-12 サイエンスパーク株式会社 Personal authentication method using input characteristics of input device by network, program thereof, and recording medium of program
JP2004102460A (en) * 2002-09-06 2004-04-02 Hitachi Software Eng Co Ltd Personal authentication method and program therefor
JP2013507720A (en) * 2009-10-13 2013-03-04 スクエア インコーポレイテッド System and method for creating dynamic receipts containing environmental information
US20120265981A1 (en) * 2011-04-18 2012-10-18 Pantech Co., Ltd. Electronic device and method for securing user input data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515363B2 (en) 2012-06-12 2019-12-24 Square, Inc. Software PIN entry
US11823186B2 (en) 2012-06-12 2023-11-21 Block, Inc. Secure wireless card reader
US10540657B2 (en) 2013-09-30 2020-01-21 Square, Inc. Secure passcode entry user interface
JP2020111935A (en) * 2019-01-10 2020-07-27 株式会社ネクステッジテクノロジー Locking/unlocking control device, locking/unlocking control method and program
JP7246695B2 (en) 2019-01-10 2023-03-28 株式会社ネクステッジテクノロジー LOCKING/UNLOCKING CONTROL DEVICE, LOCKING/UNLOCKING CONTROL METHOD AND PROGRAM

Also Published As

Publication number Publication date
CA2919655A1 (en) 2015-02-05
AU2024202880A1 (en) 2024-05-23
WO2015017130A1 (en) 2015-02-05
AU2022204797A1 (en) 2022-07-21
AU2020202014A1 (en) 2020-04-09
AU2014296635A1 (en) 2016-02-11
EP3028205A4 (en) 2017-01-11
AU2022204797B2 (en) 2024-02-08
JP2018157585A (en) 2018-10-04
EP3028205A1 (en) 2016-06-08
AU2018201016A1 (en) 2018-03-01

Similar Documents

Publication Publication Date Title
AU2022204797B2 (en) Raw sensor input encryption for passcode entry security
US20140324708A1 (en) Raw sensor input encryption for passcode entry security
US10540657B2 (en) Secure passcode entry user interface
CN106255976B (en) Confidential data management method and device and security authentication method and system
US9558491B2 (en) Scrambling passcode entry interface
JP6887956B2 (en) Secure biometric data capture, processing and management
US9773240B1 (en) Fake sensor input for passcode entry security
EP3183681B1 (en) Accessing a secured software application
KR101508320B1 (en) Apparatus for issuing and generating one time password using nfc card, and method using the same
US8874931B2 (en) System and method for securing a user interface
CN101529366A (en) Identification and visualization of trusted user interface objects
US9928501B1 (en) Secure passcode entry docking station
TW201539247A (en) Password input and verification method and system thereof
JP2019512787A (en) Input recognition method and system using variable grid index
WO2015043444A1 (en) Secure mode prompt method and mobile device for realizing the method
KR20140110637A (en) Data security method and electronic device implementing the same

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170307

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170323

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170327

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180129