AUTHENTICATION METHOD AND SYSTEM
20220156350 · 2022-05-19
Assignee
Inventors
Cpc classification
G06F21/62
PHYSICS
International classification
G06F21/62
PHYSICS
Abstract
The invention provides a computer-implemented authentication method comprising the step of enabling a user to input an identifier (e.g. a PIN) into an electronic device having a screen and a keypad operable within a keypad zone of the screen; by operating at least one key of the keypad via an image of at least part of a scrambled keypad which is displayed at least partially within the keypad zone. The user's operation of the keypad key via the image generates an encoded version of the user's intended input. In one sense the invention can be perceived as superimposing a non-functional image of a scrambled keyboard over an underlying, functional keypad. The image may be any type of electronic image, and may include a video image. The invention is particularly suited for use with, but not limited to, mobile phones, tablet computer, PCs etc. It can be implemented in any system wherein a user's identity must be verified before access is granted to a controlled resource.
Claims
1. A computer-implemented verification method comprising: enabling a user to input an identifier into an electronic device having a screen and an operable, virtual keypad by operating at least one key of the operable, virtual keypad via an image of at least part of a keypad which is displayed at least partially within a keypad zone of the screen; wherein the image represents or depicts a scrambled keypad having at least one key which is positionally re-ordered or reconfigured relative to the layout of the keys in the operable, virtual keypad; and wherein configuration or order of the keys in the operable, virtual keypad is altered after at least part of the identifier has been inputted.
2. A method according to claim 1, wherein: the image is electronically formed.
3. A method according to claim 1, wherein: the image includes at least one of a graphical image, an optical image, a video, or some other form of visual representation.
4. A method according to claim 1, wherein: the image is displayed within the keypad zone such that as the user touches, clicks on or otherwise identifies a location within the image, a key of the operable, virtual keypad that corresponds to that location is activated to provide an encoded version of the user's input.
5. A method according to claim 1, wherein: the image is displayed such that it appears to the user that the image is an operable keypad with keys in a scrambled order or configuration with respect to the keys of the operable, virtual keypad.
6. A method according to claim 1, wherein: the image functions as a mask or cover superimposed over the operable, virtual keypad such that when the user touches, clicks on or otherwise identifies a location within the keypad zone, it activates a key of the operable, virtual keypad that corresponds to that location within the keypad zone.
7. A method according to claim 1, wherein: at least one of the keypad zone and the image remains in a fixed position on the screen during input of the user's identifier.
8. A method according to claim 1, wherein: the identifier is a Personal Identification Code or Personal Identification Number.
9. A method according to claim 1, wherein: the keypad zone comprises a plurality of sub-zones or “hot spots”, each sub-zone corresponding to a key of the operable, virtual keypad; and the image is presented to the user such that the position of at least one key depicted in the image corresponds to the position of a sub-zone, thus providing a mapping between the keys of the keypad depicted in the image and the plurality of sub-zones.
10. A method according to claim 1, wherein: an encoded version of the user's identifier is constructed within the electronic device from a plurality of keystrokes activated on the operable, virtual keypad in response to a click, touch or other indication made by the user with respect to the image.
11. A method according to claim 1, further comprising: sending the identifier inputted into the electronic device from the electronic device to a remote computer-based resource.
12. A method according to claim 11, wherein: the remote computer-based resource receives the identifier and processes it, wherein the identifier is processed using a stored form or version of the configuration of the keys depicted in the image.
13. A method according to claim 1, wherein: the positions of all keys depicted in the image remain unchanged relative to one another during input of the user's identifier.
14. A method according to claim 1, wherein: the image is received by the electronic device from a computer-based resource located remotely from the electronic device.
15. A method according to claim 1, further comprising: delivering an indicator to the user to confirm that the image has been provided by a legitimate source.
16. A method according to claim 15, wherein: the indicator is an audible indication, a visual indication, a textual message, image, video, sound, watermark, vibration, or other tactile indication.
17. A method according to claim 1, wherein: the image is erased from the electronic device following the user's input, or following a specified period of time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0128]
[0129]
[0130]
[0131]
[0132]
[0133]
[0134]
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
DETAILED DESCRIPTION
[0148] Turning to the Figures, an exemplary embodiment is now described in relation to use with a mobile phone. However, the invention may be used to perform PIN verification on a variety of different types of device, assuming that the device has some processing capabilities and a screen for the display of a keypad.
[0149] The exemplary embodiment also relates to use in respect of financial transactions. One application for which the invention is suited is that of on-line banking. However, the skilled addressee will readily understand that the invention may be employed in other settings and for non-financial purposes. It is not limited to business or commercial applications.
[0150] Importantly, the invention can be used in any situation where verification of an individual's identity is required before allowing that individual to have access to some controlled resource. That controlled resource may be any type of resource. It may be funds sitting in a financial account. Equally, it could be a building, a computer system, a patient's medical records, a service and so on. For example, it may be used for the verification of a passcode on a door lock to establish authentication prior to allowing entry to a building.
[0151] It is important to note that the financially-oriented application described below is only one purpose to which this invention may be put. It has been selected for exemplary purposes because chip and PIN verification is perhaps the most widely known use of code-based verification and therefore most readily recognised by readers of this document. However, the skilled addressee will understand that the invention is not limited in respect of the environment or context in which the invention may ultimately be put to use.
[0152] It is also important to note that the invention does not constitute a means for performing a transaction per se. It is a verification tool useful for authenticating the identity of an individual who has requested access to a controlled resource. It does not dictate how that access is performed after authorisation is established, neither does it dictate how any other operation or possible transaction is conducted following successful verification.
[0153] The exemplary embodiment described below essentially operates by creating an image of a scrambled version of a keypad (which may alternatively be called a ‘PIN pad’). The scrambled keypad image is sent for presentation or display on the target electronic device 1 for the user to view. In this example, the target device is a mobile phone 1, as shown in
[0154] The scrambled keypad image is arranged to resemble the standard, default keypad for the device. Each brand and/or model of device typically has its own style of default keypad which might be different in layout, symbols, size, colour etc. from the default keypads associated with other devices. The default keypad is usually generated and displayed on the mobile phone by a procedure call, which specifies the format of the keypad for that device and where it is to be displayed on the screen. The default keypad is a grid which occupies a specific area on the screen i.e. it is displayed at a specified location. It is a pre-defined area or portion (referred to herein as a ‘keypad zone’) within the phone's screen. The keypad zone is divided up into sub-zones wherein each sub-zone represents a key in the default key pad. Another way of saying this is to say that each sub-zone is associated with a particular symbol. The symbol for each key is displayed for the user to see on the screen within the location of its respective sub-zone. Therefore, if the user selects (e.g. touches or clicks on) an area designated to a particular sub-zone, the symbol for that associated key is recorded. In this way, the keypad serves as a virtual version of a mechanical keypad, generated electronically by software, detecting the location of the user's input within a defined screen area and using that to generate the input data rather than using physically pressable keys.
[0155] In such virtual keypads, each subzone is essentially a ‘hotspot’ on the screen, and a plurality of hotspots are combined adjacent one another to form a keypad. In the present example, the default keypad 2 of the phone is arranged as a 3×4 grid of keys, each key 4 having a symbol associated with it. In this case, the symbols include numeric digits. Each key 4 is a ‘hotspot’ area of the screen, each hotspot being associated with a symbol in the virtual keypad.
[0156] An example of a well-known style of default keypad 2 used with smart phones is shown in
[0157] This standard keypad 2 is then ‘overlaid’ with the scrambled keypad image 3 which is sent to the phone and is displayed on the screen at the keypad zone. This superimposition is achieved by displaying the image of the scrambled keypad within the keypad display zone such that the positions of the scrambled ‘keys’ correspond to the positions of the hotspots in the default keypad. The alignment of the two keypads is such that only the scrambled keypad image is seen by the user and the underlying, operable keypad is hidden, at least partially but preferably entirely, by the image. Therefore, as far as the user is concerned, there is only one keypad, which looks exactly like the keypad the user expects, except with the keys in different positions relative to one another.
[0158] As the default keypad for the mobile phone is the ‘norm’ against which the scrambled keypad is referenced, it may be referred to as a ‘reference keypad’.
[0159]
[0160] The scrambled keypad is sent to the phone as an image. Alternatively, it could be sent as a video file, to be discussed in more detail further below. This picture, video or image 3 may be referred to as a ‘representation’ because in one sense it represents a physical (depressible) keypad.
[0161] The scrambled keypad image 3 has been pre-generated (i.e. prior to the initialisation of the verification process). It is randomly selected from a set of pre-generated scrambled keypad representations and then sent over a telecommunications network to the handset (i.e. mobile phone) 1. The scrambled keypad image of
[0162] This keypad representation 3 has been generated to have exactly the same dimensions as the default keypad so that it can perfectly superimpose it. Thus, the mobile phone user (customer) views only one seamless keypad. The user is unaware that there is an underlying keypad 2 which has been generated in the background, behind the one that he sees and uses for entering his input. The image is sent to the user's device together with one or more instructions to invoke or call the necessary procedure for generating the underlying keypad.
[0163] The randomly-selected, scrambled keypad image 3 is effectively overlaid onto the phone's default keypad 2 so that when the user enters his PIN, a different result is generated within the device other than that which the user intended to enter, or at least thought he was entering. This is achieved as a result of the relationship (mapping) between the differently positioned keys 4 in the two keypads 2, 3. The user touches the screen at a particular location to enter a digit shown in the overlying scrambled keypad image 3, but this is interpreted as being the digit in the underlying keypad 2 at that sub-zone. As the user enters a subsequent input its corresponding, underlying symbol is concatenated to the previous input to construct a complete PIN.
[0164] In this way, an encoded version of the user's PIN is produced based upon the position of the hidden keys 4 which the user selects via the scrambled keypad representation 3. If the user makes a mistake, a new (different) keypad representation 3 is sent to the device 1.
[0165] Thus, the PIN that the user thinks he is entering is not the PIN recorded by the software residing on the user's phone. The user's ‘real’ PIN is never stored on the insecure phone 1, and is not transmitted over any (insecure) network. Only the encoded version is stored, transmitted. The encoded version of the PIN may be encrypted prior to transmission to further enhance security. Thus, any interceptor would be unable to decode, guess or re-translate the real PIN without knowing how the positions of the keys in each keypad map to one another.
[0166] In the present embodiment, the decoding process is handled by a component of the invention which ‘knows’ the layout of the keys in both keypads and is, therefore, able to map the encoded digits back to their original counterparts, thus arriving back at the user's intended input. This deciphered PIN can then be compared against the user's previously stored PIN for verification purposes.
[0167] In the exemplary embodiment, the scrambled keypad image 3 is encrypted before it is sent to the phone 1. Upon arrival at the phone 1 it is loaded into a secure or protected portion of memory on the device 1 (or at least as protected as it can be). In other words, all of the usual security features are used by the invention as if the customer's real PIN has been entered (rather than a translated version). This provides another layer of security and protection.
[0168] These aspects of the invention are now discussed in greater detail in relation to one way in which the invention can be put into use.
Pin Pad Production
[0169] The ‘PIN Pad Production Program’ 6 is responsible for generating all of the scrambled keypad images 3 used throughout the system. An overview of this aspect of the invention is shown in
[0170] If simply randomly scrambled keypads are used, there is a risk that one or more keys may not be positionally scrambled. This could resort in one or more keys of the users input PIN corresponding positionally on the standard and scrambled PIN. This is not ideal.
[0171] Consequently, during PIN pad (image) generation, scrambled key pad images that would have one or more keys positionally corresponding to the standard keypad are discarded. The PIN pad production is therefore preferably not purely random, but is subjected to a selection process to select/discard according to a specific criteria.
[0172] The PIN pad (image) generation takes place in a secure environment, typically complaint with payment card industry data security standard.
[0173] The output resolution and file type must be initially set up before use on a particular target device 1 (in this case the type of mobile phone). This ensures that outputted images are generated to the optimum resolution for that device e.g. 256×184.
[0174] A master ‘Background Image’ 7 is then selected which matches the resolution as set above, and a ‘Permutations File’ 5 selected containing all the required permutations of digits (keys) for the final keypad images. In one implementation, this file 5 must be a comma separated text file with each permutation on a new line. However, a variety of implementations may be devised to the same effect. For example, each permutation could be separated by a # or *.
[0175] The ‘Permutations File’ 5 is then merged with the ‘Background Image’ 7 using the user's selection of Font Type, Size and Colour to produce the completed keypad image 3. The completed keypad image 3 is then optimized and reduced in size to be as small as possible for optimum transmission speed.
[0176] In addition to standard monochrome keypads as shown in
[0177] In some embodiments, advertisements, educational messages or other content may be incorporated in the presented imagery.
[0178] These keypad images may employ special fonts or colours to enable any specific regional characters e.g. Arabic to be used, and also to ensure that the images cannot be read by unauthorised Optical Character Recognition programs (thus enhancing security).
[0179] Each keypad image that is produced is also given a unique filename and a master index is created for all keypad images that have been generated. When a scrambled keypad image is sent to the device, a copy of the filename of that image is temporarily stored. This filename contains the order of the keys within the keypad image. This enables the mapping between the scrambled keypad image and the reference keypad to be recorded.
[0180] For security purposes, the scrambled keypad image 3 is renamed before it is encrypted and sent to the remote device 1; this prevents malware or other unauthorised parties from possibly intercepting and decoding the PIN.
[0181]
[0182] By way of example,
[0183]
[0184]
[0185] On suitably powerful devices, a video overlay may be used instead of a static image to further decrease the potential that OCR software could be used to read the keypad. This feature could also be used for advertising purposes.
[0186] It is important that, in order to provide a necessary level of security, malware and unauthorised parties are not able to read the data contained in the scrambled keypad image displayed to the user. As described above, this is achieved by the invention by providing the scrambled keypad in a single image or picture format. While it is possible to OCR images on a microcomputer, mobile telephones do not have the capabilities to do this, and it would be almost impossible for hidden malware to possess the required level of sophistication without attracting detection.
[0187] This issue can, at least in part, be addressed by using random backgrounds and fonts which cannot be understood by OCR technologies. The problem could also be addressed by delivering the keypad image as a video file. While video files do not lend themselves to being read by OCR technologies it is technically possible for a third party to ‘grab’ a single screen from a video file and read it.
[0188] One solution which may be incorporated into various embodiments of the invention would be to combine the two afore-mentioned systems into one. Thus, the scrambled keypad image is presented to the user in a plain format (ie non special fonts are used and the background is ‘normal’) but the file itself is a small video file which, when played, tricks the eye into thinking that the image is solid and static. In reality no single frame contains enough information for it to be reverse engineered back into understandable, useable content.
[0189] The system can be achieved in as little as 3 frames, each played quickly and in succession so as to appear static. An example is given in
Registration Process
[0190] This aspect of the invention is illustrated in
[0191] In certain embodiments, a device 1 must be registered before it can be used with the system of the present invention and a small application 8 downloaded to the target device 1. If the device being used is a mobile phone 1 then the update process can occur ‘Over The Air’ automatically; if the device is a fixed terminal then the software 8 may be downloaded over a fixed line, although it may alternatively be built into the device at the time of manufacture and simply updated if required.
[0192] To register a mobile phone 1 with the system the user would need to undertake a registration process comprising the following steps: [0193] 1. Logo onto registration service 9 via a web-based interface (e.g. web site) 10 [0194] 2. Enter their personal details i.e. Name, Address, Postcode (ZIP), Phone Make Model, Email address, Mobile Phone Number The nature and type of data required may be stipulated by the system operator and vary from country to country depending on the application with which the system is being used. Furthermore, registration data may already be held by the operator as the customer may be an existing client and therefore only the application may need to be pushed to the device. [0195] 3. A link is then sent to the mobile handset 1 for the user to follow or the application 8 is simply ‘pushed’ down to the handset. When run for the first time, the application 8 sets up the device 1 and downloads any additional data which may be required, such as encryption keys etc. A custom keypad image database is also created on the server for the registered device (as shown in
[0196] To register onto the system with a fixed device the user would complete a similar process as follows: [0197] 1. Logo onto registration service 9 via a web-based interface 10 [0198] 2. Enter their personal details i.e. Name, Address, Postcode (ZIP), Phone Make Model, Email address As above for the mobile phone, the required data would be dictated by the system operator. [0199] 3. The device then connects to the server either via a fixed line or wireless and if required updates the internal application. Any additional data that is required, such as encryption keys etc., is downloaded. A custom keypad image database is also created on the server for the registered device (see
[0200] Consider
[0201] It should be noted that in certain embodiments user registration may not be a requirement. This may be the case where the software is integrated into a 3.sup.rd party application. In such embodiments, the required registration method may have been put in place by the third party.
Transaction Process
[0202] This aspect of the invention is illustrated in
[0203] Upon successful registration of the user and device, transactions can be performed. An authentication (PIN request) can be initiated by several methods depending on the manner in which the system has been integrated with 3.sup.rd party applications.
[0204] Typically integration occurs with 3.sup.rd parties who: [0205] a. Manufacture card swipe or chip reading devices that are attached to the mobile device, or [0206] b. Push financial information and subsequent payment request down to the handset i.e. toll road applications; or [0207] c. Provide websites which require secure PIN entry to gain access to information when used in applications such as online banking access.
[0208] However, the invention is not intended to be limited in this regard and the nature of service or resources provided by the 3.sup.rd party is not a limiting feature of the invention.
[0209] In all cases described above there is a common trigger for the PIN application to load and perform the subsequent PIN entry process.
[0210] Once a request for an image has been received by the server (which may be referred to as the ‘computer-based resource’) the incoming device 1 is identified and authenticated and, if successful, the next keypad image from the device's ‘Index’ 13 is encrypted and transmitted to the device 1. The keypad images are sent sequentially as per the devices ‘index 2’ as shown in item 13 of
[0211] Once the encrypted keypad image 3 is received by the device 1 it is decrypted and passed to the ‘Secure Terminal Application’.
Secure Terminal Application
[0212] This aspect of the invention is illustrated in
[0213] The ‘Secure Terminal Application’ is the program that resides on the target device/phone 1 or the fixed terminal and is responsible for the secure input and transmission of the user's inputted PIN back to the server.
[0214] As described above, a keypad 2 is created on the device in a 3×4 grid. Each hotspot is assigned a numerical character. The application then ‘overlays’ this reference keypad 2 with the randomised keypad representation 3 that has been pre-generated and sent down to the handset 1. This scrambled keypad representation 3 has been generated to exactly the same dimensions as the keypad 2 underneath and perfectly overlays it, as described above.
[0215] Thus, when the user enters their PIN number 14 using the scrambled representation 3, a different, encoded output is generated. In the example below, if the user's PIN was ‘6725’ then the output from the keypad would be ‘0476’. It is the keypad output of ‘0476’ that is encrypted and sent back to the server's ‘Decryption Engine’.
[0216] Once the keypad has been pressed four times the scrambled keypad image 3 is securely wiped using a secure deletion algorithm from the protected memory where it resides.
The Decryption Engine
[0217] Once the central server (‘computer-based resource’) receives the incoming encoded and encrypted PIN from the handset 1 it must be converted back into the original user PIN.
[0218] This is done by the ‘Decryption Engine’ which is held on a separate secure server solely for this purpose. As described earlier, when the device 1 identifies itself to the server and requests a keypad image 3 the unique filename for the keypad image that was sent to the device 1 is temporarily stored. This filename contains the order of the keys within the keypad i.e. for the keypad image shown in
[0219] When the encrypted PIN arrives the message is firstly decrypted using the shared key used for the handset/device (this may be Triple DES or Public Private Key, or whatever is deemed appropriate during development according to the handset).
[0220] Once the message has been decrypted the encoded PIN that was generated by the user input must be decrypted. To do this the filename of the keypad image that was sent is copied into a temporary array and then for each number that was generated by the user input the number in the corresponding array position is substituted, thus revealing the actual PIN number.
[0221] So for the example above where the user's PIN was 6725, the handset generated and transmitted an encrypted PIN of 0476.
[0222] Now when the filename of the keypad image that was sent is copied into the array ‘0347152986’ we get the data shown in
[0223] For each number in the generated PIN the ‘Array Position’ is located and the corresponding ‘Filename Character’ is substituted.
[0224] First Digit of PIN=0 (GOTO array position O); First digit of user's PIN number=6 as shown in
[0225] Second Digit of PIN=4 (GOTO array position 4) Second digit of user's PIN number=7 as shown in
[0226] Third Digit of PIN=7 (GOTO array position 7) Third digit of user's PIN number=2 as shown in
[0227] Fourth Digit of PIN=6 (GOTO array position 6) Fourth digit of user's PIN number=5 as shown in
[0228] After the decryption process has been completed the user's ‘real’ input of 6725 is revealed. This PIN number 6725 is then encrypted using standard banking encryption and passed to the Acquirer or banking partner for processing. It should be noted that this is only further encrypted and passed to the acquirer in embodiments relating to a financial transaction. The data may or may not be further encrypted depending upon the nature and requires of the specific application.
[0229] The array is then securely erased to ensure security, along with any other temporary data.
[0230] It should be noted that in certain alternative embodiments, 12 smaller key pictures (one for each number or hotspot) may be provided. The phone or other device may be arranged to to select a random number and rearrange the individual pictures into a 3×4 array (and thus making up a virtual keypad on demand). However, such embodiments present potential security loopholes and may provide several access points for malware to obtain the user's PIN (as the handset/device would have to transmit the random number and thus the order of the PIN pad back to the server). Therefore, such an embodiment is suitable for applications where required security levels are somewhat relaxed.
[0231] It should also be noted that although the invention has been described above in respect of a mobile phone having a touch screen, other embodiments may comprise a different type of device. For example, in another embodiment the device could be a personal computer, or a laptop, or a tablet computer. The embodiment would function essentially as described above except that as general purpose computing devices, such as PCs, do not typically comprise a standard procedure call for generating a keypad as mobile phones do, the keypad zone and hotspots are specified by a purpose-built software component executing on the device. The software specifies the portion of the screen which makes up the keypad zone, and the locations of the sub-zones (keys) and their associated symbols within the keypad zone. The scrambled keypad image is displayed at that location to provide the superimposition technique described above. The underlying keypad is generated using the same (or substantially the same) procedure call used by the smart phone implementation.
[0232] In another embodiment, a terminal could be provided which resembles the known card-reading terminals used in retail environments. The terminal may comprise a touch screen and comprise internal components replicating those of a mobile telephone. Thus, the terminal can receive and send data as a phone can, and the terminal can function is accordance with the invention as described above in with reference to the target device being a mobile phone.
[0233] Thus, the invention can be configured for use with a variety of computing-related devices to equal effect.
[0234] In addition, the invention can be configured to include various features which further enhance the security of the user's data.
Watermarking
[0235] For example, so-called ‘man in the middle attacks’ are a known problem. This can be addressed in the present invention using a ‘watermark’ feature to demonstrate to the user (i.e. a retailer or possibly the end customer) that the input device is communicating with a legitimate party (e.g. the appropriate bank) and therefore that the scrambled keypad image has been sent by that legitimate party and not an imposter.
[0236] Such a feature may be implemented in a variety of ways. For example, when a retailer registers to use the system they choose and store a secret indicator (word, phrase, number, name, image etc.) that only they and the trusted party knows. Then, when a transaction is required the following process is performed: [0237] 1. the consumer's card is read [0238] 2. The transaction amount is entered [0239] 3. the pin entry screen is displayed on the terminal
[0240] When the PIN entry screen is displayed the merchant must physically check that the pre-selected secret word etc that they registered is displayed on the screen before handing the terminal to the customer for their PIN entry. This is essentially the same principle which is employed in ssl technology wherein one looks for the small yellow lock icon as confirmation of the site's legitimacy.
[0241] By doing this, the responsibility is placed onto the merchant to ensure that the device is talking securely to a legitimate party. If a different indicator (watermark) is displayed from that which the merchant expects, or no indicator is shown at all, it can be assumed that the process has been compromised.
[0242] This watermark may stay on the screen for duration of the PIN entry by the consumer.
[0243] However, it is preferable that it is only displayed for a short period of time (e.g. the region of a few seconds) and then disappears before it may be seen by any other person, such as the customer. If the watermark is seen by another person, this could allow them to perform a man in the middle attack.
[0244] Upon registration the user may also choose where to have the watermark displayed e.g. right, left, centre, top etc. A keypad image having the watermark in the bottom left corner is shown in
[0245] Moreover, the watermark does not have to be in textual form. In some embodiments, the user may upload a photograph or other file (for example, a family photo or a photo of the shop etc.) so that this picture is displayed in the background. This is illustrated in
[0246] This watermarking feature is suitable for employment with all embodiments of the invention, irrespective of the context in which the invention is used or the nature of the device used to display the keypad (e.g. online through a browser, via a terminal arranged for use with the invention, or a mobile phone etc.)
Additional PinPad Encryption
[0247] In order to further enhance the security of the system, the invention may employ one or more techniques for making it more difficult for an unauthorised party to figure out, discern or calculate the mapping between the displayed keypad image (i.e. the one that the user uses to enter his PIN) and the underlying keypad.
[0248] For example, if the user has selected a PIN which contains the same digit more than once (e.g. 1223) this may make it easier to compute the correlation between the input and the ‘underlying’ keypad.
[0249] One possible approach to overcoming this could be to create more than one underlying keypad. For example, a virtual keypad could be generated for each key press. An example is given below.
[0250]
[0251] However, if 4 different ‘underlying’ keypads are used instead of one, this problem is overcome. Thus, a sequence of digits can be sent to the target device (e.g. terminal, phone, PC) and the sequence is used by the target device to form the keypad. For the keypad in
[0252] Thus, the top pin pad as per
[0253] Suppose now that the user's input is 1111. Instead of 9999 being produced, the code 9857 is produced and sent back to the server for decryption. As the server ‘knows’ which scrambled keypad image was sent, and which sequences of digits, the resulting encoded PIN appears to be much more random and is therefore much harder to decipher by an interceptor. The decryption process at the server end remains as set out above.
[0254] Moreover, in order to enhance security further it is possible to use combinations of other characters in the generation of the keypads, not just characters. For example, the sequence Jg6KrBjoJ6 could be sent. This would generate the underlying keypad shown in
[0255] In such an embodiment, the use of randomly generated strings of characters in the bottom keypad reduces the need to ‘filter’ the underlying keypads (as described above) to remove potentially unsuitable keypads which might provide an attacker with a possible starting point for an attack.
[0256] However in a preferred embodiment only 1.6 m scrambled (‘top’) keypad images are used rather than the possible 3.6 m and a check is still performed to ensure that no mapping is the same ie. 1=1 between the superimposed and the underlying keypads.
System Level Architecture
[0257]
[0258]
[0259] Device app: an app that runs on a terminal or mobile phone to manage user interaction and technical process flow including initiating a payment transaction, interacting with card reader, requesting an oPinPad (i.e. scrambled keypad image), encrypting the entered oPin and sending the transaction online for authorization.
[0260] OPinPad Management Module: a stand-alone application module that runs in a central secure data center on a dedicated server. It holds a database of all oPinPad TIF images and manages distribution of the oPinPad TIFs on demand.
[0261] Auth Client: a stand-alone application module that runs in a central secure data center, possibly on the same server as the oPinPad Management Module (or, in some embodiments on its own dedicated server). It receives the message from the Device and prepares it to be sent to the Payments Switch for Authorisation.
[0262] HPSAM Appliance: a stand-alone application module that runs in central secure data centre on a dedicated server. In some embodiments the server may be security hardened.
[0263] In
[0274] Referring to the numeric references in
TABLE-US-00001 0 The device initiates a payment transaction and captures the Amount (from the user interface) and Card Details (from the Card Reader). Sensitive data from the Card Reader is encrypted before getting to the App. The App goes online and requests an oPinPad from the server. If possible the oPinPad would be requested at the same time as the card details are retrieved from the Card Reader. 1 The oPinPad Management Module retrieves an oPinPad (i.e. scrambled keypad image) from a database and assigns it with a Tag. The oPinPad TIF and the Tag (unique id) are sent back to the device. 2 The oPinPad Array is sent to the HPSAM along with the Tag (unique id). All traces of the Tag/Array combination are deleted from the oPin Management Module (in particular from memory). 3 The Device App displays the oPinPad TIF (scrambled keypad) image on the device and gathers the oPin as described above; the oPin is immediately encrypted using a field encryption method (such as DUKPT). The whole authorization message is then sent to the Auth Client for payments authorization (this message includes the Amount, the encrypted card details and the encrypted oPin). 4 The Auth Client gathers the transaction details and passes it on to the Payments Switch. 5 The Payments Switch intercepts the transaction during standard routing processing so that the oPin can be replaced with the Real Pin. This is done by sending the oPin with the Tag to the HPSAM. 6 Using the Tag, the HPSAM retrieves the oPinPad Array and uses it to map the oPin to the Real Pin. The Real Pin is immediately encrypted using 3DES and a ZMK which is aligned with the Payments Switch. 7 The Real Pin is sent back to the Payments Switch as a PinBlock and is added to the transaction to make an industry standard Online Pin payments authorization message (such as, for instance, an ATM message). 8 The Real Pin block is translated using an industry standard HSM such that the encrypted Pin can be handled by the receiving institution (Acquirer, Processor, Issuer).
[0275] It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be capable of designing many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word “comprising” and “comprises”, and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In the present specification, “comprises” means “includes or consists of” and “comprising” means “including or consisting of”. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.