AU2013204115A1 - Computer implemented frameworks and methodologies for enabling user verification - Google Patents

Computer implemented frameworks and methodologies for enabling user verification Download PDF

Info

Publication number
AU2013204115A1
AU2013204115A1 AU2013204115A AU2013204115A AU2013204115A1 AU 2013204115 A1 AU2013204115 A1 AU 2013204115A1 AU 2013204115 A AU2013204115 A AU 2013204115A AU 2013204115 A AU2013204115 A AU 2013204115A AU 2013204115 A1 AU2013204115 A1 AU 2013204115A1
Authority
AU
Australia
Prior art keywords
verification
user
values
data
inputted
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.)
Abandoned
Application number
AU2013204115A
Inventor
Matthew John Frederick Ward
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.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to AU2013204115A priority Critical patent/AU2013204115A1/en
Publication of AU2013204115A1 publication Critical patent/AU2013204115A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Described herein are computer implemented frameworks and methodologies for enabling user verification. Embodiments of the invention have been particularly developed to enable cross checking of information submitted via an online facility with information collected via an image capture component of a client device (for example a camera on a smartphone). 110 -~ '20 Web page Eem~vent Priniory Client Device 10eJb.Sever Humanpt j O '1 aagemsent Secondary Client. Device \Verfacokon Management e raon?--a Oorr'f ) er

Description

1 COMPUTER IMPLEMENTED FRAMEWORKS AND METHODOLOGIES FOR ENABLING USER VERIFICATION FIELD OF THE INVENTION [0001] The present invention relates to computer implemented frameworks and methodologies for enabling user verification. Embodiments of the invention have been particularly developed to enable cross-checking of information submitted via an online facility with information collected via an image capture component of a client device (for example a camera on a smartphone). While some embodiments will be described herein with particular reference to that application, it will be appreciated that the invention is not limited to such a field of use, and is applicable in broader contexts. BACKGROUND [0002] Any discussion of the background art throughout the specification should in no way be considered as an admission that such art is widely known or forms part of common general knowledge in the field. [0003] There are well-known challenges associated with verifying user identity in an online environment. In particular, where a human user of a client terminal (for example a personal computer or smartphone) accesses an online facility (for example a website), it is inherently difficult to determine whether the human user is supplying accurate credentials and personal information. For example, a common approach is to use a username/password combination as a means for identification; however it is difficult to determine whether an actual human user supplying a verifiable username/password combination is actually the specific human user represented by that username/password combination. [0004] Of course, the challenges and limitations associated with user verification extend far beyond misappropriation of username/password combinations, and are common in situations including (but not limited to) age verification, credit card fraud prevention, user protection, and so on. [0005] There is a need in the art for improved systems and methods for enabling user verification.
2 SUMMARY OF THE INVENTION [0006] It is an object of the present invention to overcome or ameliorate at least one of the disadvantages of the prior art, or to provide a useful alternative. [0007] One embodiment provides a computer implemented method including: [0008] (i) receiving data indicative one or more user inputted values; [0009] (ii) prompting a user to position a specified subject in field of view of an image capture device; [0010] (iii) performing an image capture of the specified subject, thereby to define captured image data; [0011] (iv) extracting, from the captured image data, one or more subject values; [0012] (v) performing a comparison of the one or more user inputted values with the one or more extracted subject values; [0013] (vi) based on the comparison at (v), determining whether the one or more extracted subject values verify the user inputted values; [0014] (vii) in the case that the one or more extracted subject values are determined to verify the user inputted values, providing a signal indicative of successful verification; and [0015] (viii) in the case that the one or more extracted subject values are determined not to verify the user inputted values, providing a signal indicative of unsuccessful verification. [0016] One embodiment provides a method wherein the one or more user inputted values are inputted via a web browser into a web page, and wherein the computer implemented method is performed by a proprietary application executing on a mobile device having an image capture component. [0017] One embodiment provides a method wherein the specified subject is an ID card.
3 [0018] One embodiment provides a method wherein the specified subject is a payment card. [0019] One embodiment provides a method including a step of enabling a user to select the specified subject from a set of acceptable subjects. [0020] One embodiment provides a method including, based on the user's selection of the specified subject from a set of acceptable subjects, identifying a schema for the specified subject thereby to enable the extracting, from the captured image data, of the one or more subject values. [0021] One embodiment provides a method wherein the data received at (i) is indicative of the set of acceptable subjects. [0022] One embodiment provides a method wherein the one or more user inputted values include a name, and wherein the one or more extracted subject values include a name. [0023] One embodiment provides a method wherein the one or more extracted subject values include a date of birth, and wherein the determining at (vi) includes determining whether the date of birth is prior to a threshold date. [0024] 10. A method according to claim 1 One embodiment provides a method include first facial data extracted from a photograph, and wherein the method further included performing image capture of a user's face, extracting second facial data from the image captured of the user's face, and wherein (vi) includes comparing the first facial data with the second facial data. [0025] One embodiment provides a computer implemented method including: [0026] (i) receiving a verification request, the verification request being indicative of a user identifier and one or more values inputted by a user into a remotely-hosted webpage; [0027] (ii) based on the verification request, defining a data package indicative of verification instructions, wherein the verification instructions are configured to be applied by 4 a verification software application, wherein the verification instructions include the one or more values inputted by the user into the remotely-hosted webpage; [0028] (iii) transmitting the data package to a remote device identifiable based on the user identifier, such that the data package is received by the verification software application installed on the remote device, such that the software application is configured preform a verification process and provide a verification response; [0029] (iv) receiving the verification response; and [0030] (v) providing, to the remotely hosted webpage, data indicative of the verification response. [0031] One embodiment provides a method wherein the verification process includes comparing one or more values extracted from an image captured by the remote device with the one or more values inputted by the user into the remotely-hosted webpage. [0032] One embodiment provides a method wherein the verification instructions are indicative of a set of acceptable subjects in respect of which image capture is to be performed at the mobile device thereby to generate the image. [0033] One embodiment provides a method wherein the verification instructions are indicative of one or more data value types that are to be extracted from the image captured by the remote device. [0034] 15. A method for verifying data inputted by a user, the method including: [0035] (i) receiving, via a web page, one or more values inputted by a user; [0036] (ii) providing a signal to a mobile device associated with the user, thereby to provide verification instructions to a software application executing on the mobile device; [0037] (iii) at the mobile device, based on the verification instructions: [0038] operating the software application to perform an image capture of a specified subject; and 5 [0039] extracting one or more subject values based on the image capture; and [0040] (iv) comparing the one or more subject values with the one or more values inputted by the user. [0041] One embodiment provides a method wherein (iv) is performed at the mobile device. [0042] One embodiment provides a method wherein the specified subject is an ID card. [0043] One embodiment provides a method wherein the specified subject is a credit card. [0044] One embodiment provides a computer program product for performing a method as described herein. [0045] One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein. [0046] One embodiment provides a system configured for performing a method as described herein. [0047] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments. [0048] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so 6 described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner. [0049] In the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising. [0050] As used herein, the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality. BRIEF DESCRIPTION OF THE DRAWINGS [0051] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which: [0052] FIG. 1A schematically illustrates a framework according to one embodiment. [0053] FIG. 1B schematically illustrates a framework according to one embodiment. [0054] FIG. 1C schematically illustrates a framework according to one embodiment. [0055] FIG. 1 D schematically illustrates a framework according to one embodiment. [0056] FIG. 2A illustrates a set of methods according to one embodiment. [0057] FIG. 2B illustrates a method according to one embodiment. [0058] FIG. 2C illustrates a method according to one embodiment.
7 [0059] FIG. 3 illustrates an example client-server framework. [0060] FIG. 4 illustrates a set of example simplified screenshots. DETAILED DESCRIPTION [0061] Described herein are computer implemented frameworks and methodologies for enabling user verification. Embodiments of the invention have been particularly developed to enable cross-checking of information submitted via an online facility with information collected via an image capture component of a client device (for example a camera on a smartphone). Framework Overview [0062] FIG. 1A schematically illustrates a framework according to one embodiment. In overview, a human user 100 operates a primary client device 110 (for example a personal computer, smartphone, tablet, or the like), the primary client device 110 being configured to execute a web browser application 111 (such as Google Chrome, Microsoft Internet Explorer, Safari, or the like). This web browser is used to access and render web page data from a web page server 120. For the sake of this example, it is assumed that the user has navigated to and is currently viewing a given web page including a plurality of web page elements, for example buttons, fields, menus, images, and so on. These are rendered from data provided by the web server (and optionally by other server devices). FIG. 1 A illustrates exemplary web page element data 121, which is representative of "standard" web page elements, and verification element data 122, which is representative of web page elements specific to verification functionalities discussed herein. [0063] It should be noted that substantive data for verification elements is not necessarily stored to web server 120; in some cases web server 120 maintains referential data indicative of a remote source at which substantive data for verification elements is maintained. [0064] In overview, verification element data 122 enables interaction between web server 120 and a verification management server 130. This verification management server is configured to interact with a plurality of client devices, including a secondary client device 140, for example being a smartphone (e.g. iOS, Android, etc) or the like, which is also operated by human user 100. The secondary client device includes an image capture 8 device (such as an integrated digital camera, a webcam, or the like), and is configured to execute a verification application 142. [0065] More specifically, verification management server includes web server communication modules 131, which are configured to process and respond to verification requests originating from web pages such as the web page accessed by user 100 via web server 120. Verification management modules 132 (discussed in more detail further below) enable verification management server to process a given received verification request associated with user 100, and on the basis of that request define a set of instructions for delivery to verification application 142 of device 140. Client device communication modules 133 coordinate delivery of those verification instructions, and further coordinate receipt of a response from verification application 142. This response is then used as a basis to provide verification response data to web server 120. [0066] In general terms, the framework of FIG. 1A is configured to cross-check data inputted by user 100 via terminal 110 to web server 120 with data procured via image capture hardware 140 of client device 140. For example, this may include: * Image capture of a physical substrate. Image capture device 141 may be used to capture image data containing a physical substrate such as an identification card (e.g. passport, driver's license, or the like), a payment card (for example a credit card or the like), a substrate containing a barcode or other identifying characteristic, or another form of substrate. * Image capture of a human face. Image capture device 141 may also be used to capture image data containing a human face, thereby to enable facial functionalities. * Image capture of other artefacts. It will be appreciated that image capture device may be used in ways other than those specifically considered herein. [0067] The verification instructions are indicative of the nature of subject in respect of which image capture should be performed (for example an instruction to perform image capture of a credit card or identification card), and is additionally indicative of processing that is to be performed in respect of the captured image data. In broad terms, there are two categories of embodiment: 9 * Device-centric processing. In this category of embodiment, processing of image data is performed at the client device (i.e. client device 140), thereby to define verification response data at the client terminal. For example, in the context of an age verification process, the verification instructions may be indicative of instructions to capture image data of an identification card, extract name and date of birth information, and determine whether the card carries a specific name and a specific date of birth (e.g. matching data inputted via web server 120), or a specific name and a date of birth having predefined characteristics (for example to determine whether the identification document indicates greater than a threshold age). In this manner, the verification response may be a simple "yes/no" response (optionally being a probabilistic yes/no response, for example a "yes" with 80% certainty). In this category of embodiment, specific personal information extracted from the image data is never propagated externally of device 140; only the "yes/no" response. * Server-centric processing. In this category of embodiment, image data procured from image capture device 141, or non-image data extracted from image data procured from image capture device 141, is sent to verification management server 130 for processing, thereby to determine a yes/no verification response (again optionally being a probabilistic yes/no response). [0068] The description herein is predominately focussed on device-centric processing, which has various advantages (for example in terms of personal information integrity, and simplicity of data communications). [0069] Various modification may be made to the framework of FIG. 1A. For example, in FIG. 1B, only the primary client device is used, and the primary device includes image capture hardware 141. The primary device communicates with web server 120 using a web browser or another mobile app, and verification by way of interaction with server 130 occurs within the web browser. In FIG. 1C the primary and secondary client devices are again integrated, but a distinction between web browser 111 and verification application 142 is maintained. In FIG. 1D a mobile app 150 is used in preference of web-browser 111, and this mobile app 150 integrates functionalities of verification application 142. The mobile app communicates with an app server 151, which includes mobile app interaction modules 152 and verification modules 153. It will be appreciated by those skilled in the art how and why a mobile app based architecture is often preferred over a browser-based approach (even though essentially the same functionalities are ultimately provided).
10 [0070] It will also be appreciated that in some embodiments there is full or partial integration between web server 120 (or app server 151) and verification management server 30). [0071] Verification management server 130 is configured to handle a plurality of verification types. Exemplary verification types are outlined in the table below. Verification Type Browser Side Inputs Image Capture Subject Image Extract Data User age (i) User name Government issued ID ID name Email address ID date of birth Threshold age User age (ii) User name Government issued ID ID name Email address ID date of birth User age User identity User name Government issued ID ID name Email address ID date of birth User date of birth User address User address User identity (facial) User name Government issued ID ID name Email address User face ID date of birth User date of birth User address User address Facial data from ID Facial data from face Credit card User name Credit card Card name possession (i) Email address Card expiry Credit card expiry Credit card User name Credit card Card name possession (ii) Email address Card data (for subset) Subset of card data Credit card User name Government issued ID ID name possession (iii) Email address Credit card ID date of birth User date of birth User address User address Card name Subset of card data Card data (for subset) [0072] It will be appreciated that this is an indicative selection only. [0073] For each verification type, there are required browser-side inputs (which may optionally be extracted from a pre-completed form or from stored user data), required image capture subjects, and data that is extracted from image capture subjects. [0074] Data may be extracted from images of card substrates using OCR and/or other techniques. Preferably schema are defined for known capture subjects thereby to enable 11 identification of capture areas containing desired data for extraction. In some cases a user is prompted to indicate a card type they are going to capture, thereby to enable selection of an appropriate schema. For example, a user is prompted to present a government issued ID, and selects from a list that they will present a "State X issued driving license". A schema for a "state X issued driving license" is used thereby to identify regions in captured image data that contain name, date of birth, etc. For facial recognition, a range of known facial recognition technologies may be used. [0075] The extracted image data is correlated against the browser side inputs thereby to preform verification. For example, in the context of the "user age (i)" verification type, verification is successful if the user name and ID name match, and the ID date to birth indicates an age greater than the threshold age. Overview of Process Flow [0076] Provided below is a general overview of a process flow according to various embodiments, so as to illustrate how the framework of FIG. 1A may be applied in practice. [0077] Phase 1: Configuration. Performed by web page author. A web page author who wishes to make use of verification functionalities of server 130 embeds and configures verification element data 122 into their page. For example, this page may include a fillable form including a plurality of data fields, menus, selection boxes, and so on. The configuration phase includes selecting a verification type from a range of available verification types (discussed further below), and configuring browser side inputs required for that verification type (which may be, for example, values inputted into specific data fields on the page). So as to provide a hypothetical example, the web page author selects a "Class A Age Verification" verification type, which requires (for the sake of this example) a browser-side input including name data, a browser-side input including an email address, and a selection of a minimum required age. [0078] Phase 2: User Form Interaction. Performed by human user via web browser on PC (or other device). A user navigates to the web page discussed above, and fills out the provided form (for example by inputting values into data fields). Prior to the form being submitted (or as part of the form submission process), element data, for example to complete a registration process or make a payment) 122 extracts the browser side inputs (in this example being an email address and name) and based on these sends verification 12 request data to verification server 130. In some embodiments this occurs in a mobile app as opposed to a web browser. [0079] Phase 3: Verification Server Downstream. Performed by verification management server. Browser-side input data collected during Phase 2 is to generate a data package (containing verification instructions), which is sent to an address associated with the human user of phase 1. This is preferably an address representing the user's verification application, for example thereby to cause a notification at a mobile device on which the application executes. In some cases an email is sent, for example where the user does not have the application installed, thereby to provide installation instructions. [0080] Phase 4: Mobile Device Interaction. Performed through human user interaction with verification application (for example on mobile device). Based on the verification instructions, the user is provided with directions to perform image capture of a specified artefact, for example an ID card, credit card, or the like. The user may also be prompted to provide additional information. Based on this interaction (including image capture), the mobile device defines a verification response, which is sent to the verification management server. [0081] Phase 5: Verification Server Upstream. The verification management server receives the verification response, and forwards it to the web server. In some cases the received data is different to that sent to the web server, although functionally it represents a corresponding verification response (for example a "YES/NO" or an "APPROVE/REJECT" response). [0082] Phase 6: Approval/Rejection. Performed at web page. Based on the verification response, the web page selectively either blocks further user progress (for example where verification was unsuccessful) or allows user progress (for example whee verification was successful). The "further progress" may include submission of the form, completion of registration, processing of payment, allowing a login, and so on. [0083] It will be appreciated that various modifications may be made to this process, for example where alternate framework configurations are used. For instance, in some cases phase 1 involves interaction with a mobile application which integrates the functionality of the verification application, and the functionality of app serving and verification management server are performed by a common server. This modifies phases 2 and 5 significantly, as 13 there is only one server and it communicates with a mobile app that is responsible for both form completion and image capture. Exemplary Methods [0084] FIG. 2 illustrates a set of methods according to one embodiment. Method 200 is performed based on software instructions (i.e. execution of computer readable code) associated with verification element data 122. Method 210 is performed by software instructions executing at verification management server 130. Method 220 is performed based on software instructions associated with verification application 142 executing at client terminal 140. [0085] Functional block 201 represents a process including triggering of a verification process. For example, and interaction with a web page provides this trigger, causing verification elements to perform in a pre-configured manner. This may include a user inputting data into data fields, and clicking a "submit" button. Functional block 202 represents a process including determining a user ID and browser-side inputs. The user ID may be determined from one of the browser side inputs. In some case the user ID is an email address (or other username) associated with an existing user registration with the verification management server. In some cases, where no registration exists, the user is prompted to undergo a registration process (which may include downloading and registering verification application 140 at a mobile device). Verification request data is defined and sent to the verification management server at 203. This verification request data is indicative of the verification type, and values for the browser side inputs associated with that verification type (which include an email address for identifying the user). [0086] Functional block 211 represents a process including receiving the verification request data. Verification instructions are defined at 212, for example be defining a data packet for transmission to mobile device 140 including the verification type and values for browser-side inputs. This is transmitted to device 140 at 213. For example, the user email address is used to identify an electronic address to which the verification instructions are sent, thereby to be received by the verification application 142 executing on the user's device 140. [0087] Functional block 221 represents a process including receiving the verification instructions. This may result in a notification at device 140, and additionally results in 14 modification of data associated with verification application 142, thereby to enable prompting of the user to interact with the verification application to perform image capture of subjects associated with the verification type. Functional block 222 represents this prompting and user interaction responsive to the prompting. For example, the user is prompted to position a specific card (ID or credit) in front of the image capture device 141 of device 140. In some cases, using schema, a ghosted card representation or outline is displayed on the screen of device 140 thereby to guide user positioning of the card for the purposes of image capture. Data is then extracted from the captured image, for example using OCR. The extracted data is compared with values from browser side inputs, thereby to define verification response data at 223 (for example a "YES/NO" response). The verification response data is then transmitted to verification management server 130 at 224. The response is received at server 130 at 214, and transmitted to the relevant web page element at 215. The web page element then receives the response at 204, and takes action associated with either approval or rejection at 205 (for example approving form submission in the case of an approval). [0088] FIG. 2B illustrates an exemplary method for configuring verification element data 122. Functional block 231 represents a process including defining verification requirements, for example in terms of selecting a verification type from a set of available verification types (see table further above). The selected verification type is associated with required browser side inputs, which are configured at 232. For example, fields or the like are designated to provide the required inputs. Functional block 233 includes defining outcome actions (for example a first action that is performed where verification is successful, and a second action where verification is unsuccessful). [0089] FIG. 2C illustrates an exemplary method 240 performed by computer executable code associated with verification application 142 according to one embodiment. [0090] Functional block 241 represents a process including receiving verification instructions from verification management server 130. This includes a verification type, browser-side inputs (or data derived from browser-side inputs), and a message ID which is to be associated with the response (thereby to enable server 130 to correlate the sent instructions to a received response). [0091] Functional block 241 represents a process including adding a new verification to an action list. In some embodiments the verification application is configured to maintain a 15 single pending verification, in some embodiments multiple pending verifications are queued in a list. In some cases additional notifications/alerts are at this point raised by the verification application thereby to inform a user of the new verification. [0092] At 243 the user selects the new verification in the action list, thereby to commence the verification process. At 244 the user is prompted to select a specific card type from an allowable set, this set being defined based on the verification type. For example, if the verification type requires a government issued ID, then the allowable set is defined by a set of known government issued ID types for which schemas are stored. In other embodiments this step is omitted, and a card type automatically determined based on image capture. [0093] A schema for the selected card type is identified at 245, either from a locally or remotely maintained database. Image capture is then performed at 246. Preferably, using the schema, graphical objects to assist in correct card positioning are displayed on a screen of device 140. For example, this may include a card outline, and boxes that are to be positioned around relevant information (such as name and date of birth). The relevant extract data for the verification type is then extracted from captured image data (for example using OCR or the like) at 247. Then, at 248, verification is performed by comparing extracted data with browser-side inputs. [0094] FIG. 4 provides a set of simplified representative screenshots from an exemplary mobile app performing method 240. This shows a prompt to commence a new verification, a prompt to select a specific type of government issued ID from a drop down menu, a screen to guide image capture, and a "thank you" screen (assuming successful verification). [0095] It will be appreciated that this sort of functionality, and screens such as these, could be integrated into an existing mobile app thereby to provide integrated verification functionality. For example, age verification may be integrated into a mobile app configured to enable purchase of lottery/gaming products (or registration for purchase of such products). Practical Implementation Examples [0096] Several examples of practical implementations are outlined below. [0097] Example 1: Website age verification. A user registers to use a website, or make a purchase via a website, in a situation where it is necessary to be over 18 years of age.
16 During registration, the user is prompted that an age verification will be conducted. It is assumed that the user has already downloaded and registered verification application 142 at their smartphone. The user's email address is used to send verification instructions to the smartphone. The user is, via the verification application executing on the smartphone, prompted to perform image capture of a government issued ID. The verification application compares the user's name, as inputted on the website, with the name on the government issued ID. The verification application also compares the date of birth on the government issued ID with a threshold date 18 years prior to the current date. If the names match, and the date precedes the threshold date, then a signal is sent back to the website to inform the website that the user's age (over 18) has been verified. [0098] Example 2: Mobile app age verification. A user registers to use a service via a mobile app. It is a requirement that the user is over 18 to use the service. During registration, the user is prompted to perform image capture of a government issued ID. The application compares the user's name, as inputted by the user, with the name on the government issued ID. The verification application also compares the date of birth on the government issued ID with a threshold date 18 years prior to the current date. If the names match, and the date precedes the threshold date, then the application determines that the user's age (over 18) has been verified. [0099] Example 3: website credit card purchase verification. A user wishes to make a credit card purchase. Prior to completion of the purchase, the user is informed that a verification will be performed. . It is assumed that the user has already downloaded and registered verification application 142 at their smartphone. The user's email address is used to send verification instructions to the smartphone. The user is, via the verification application executing on the smartphone, prompted to perform image capture of the credit card they are using to make the purchase. The verification application compares the user's name, as inputted on the website, with the name on the credit card. The verification application also compares the expiry date of the credit card, as inputted on the website, the expiry date extracted from the image data. If the names and dates match, a signal is sent back to the website to inform the website that the user is verified to be in possession of the credit card being used for the purchase. In some embodiments values other than expiry date are used, for example a selection of digits in the credit card number. For security reasons it is preferably not to store the image data, transmit the image data, or transmit full credit card numbers in either direction.
17 [00100] Example 4: identity verification for website. As part of a registration process to use a website, a user is informed that a facial verification will take place. It is assumed that the user has already downloaded and registered verification application 142 at their smartphone. The user's email address is used to send verification instructions to the smartphone. The user is, via the verification application executing on the smartphone, prompted to perform image capture of a government issued ID (being a photo-ID), and also an image capture of their own face. The verification application compares the user's name, address and date of birth, as inputted on the website, with corresponding details extracted from the ID card. The verification application also extracts a first set of facial data from image capture of the ID card, and a second set of facial data from image capture of the person's face. The latter may require movement, so as to better ensure that a live facial capture is made, thereby to prevent the user performing image capture from a photo or the like. The first and second sets of image data are compared, thereby to make a statistical determination as to whether the person depicted in the ID and person using the device are indeed the same. If the browser-side inputted details match the ID card, and the facial comparison is successful, then a signal is propagated back to the website to allow the registration process to continue. [00101] It will be appreciated that these are illustrative only, and the technologies disclosed herein may be applied for a range of other purposes. Exemplary Web Server Framework [00102] In some embodiments, various methods and functionalities considered herein are implemented by way of a web server arrangement, as illustrated in FIG. 3. In overview, a web server 302 provides a web interface 303. This web interface is accessed by the parties by way of client terminals 304. In overview, a plurality of users access interface 303 over the Internet by way of client terminals 304, which in various embodiments include the likes of personal computers, PDAs, cellular telephones, gaming consoles, and other Internet enabled devices. [00103] Server 303 includes a processor 305 coupled to a memory module 306 and a communications interface 307, such as an Internet connection, modem, Ethernet port, wireless network card, serial port, or the like. In other embodiments distributed resources are used. For example, in one embodiment server 302 includes a plurality of distributed 18 servers having respective storage, processing and communications resources. Memory module 306 includes software instructions 308, which are executable on processor 305. [00104] Server 302 is coupled to a database 310. In further embodiments the database leverages memory module 306. [00105] In some embodiments web interface 303 includes a website. The term "website" should be read broadly to cover substantially any source of information accessible over the Internet or another communications network (such as WAN, LAN or WLAN) via a browser application running on a client terminal. In some embodiments, a website is a source of information made available by a server and accessible over the Internet by a web-browser application running on a client terminal. The web-browser application downloads code, such as HTML code, from the server. This code is executable through the web-browser on the client terminal for providing a graphical and often interactive representation of the website on the client terminal. By way of the web-browser application, a user of the client terminal is able to navigate between and throughout various web pages provided by the website, and access various functionalities that are provided. [00106] Although some embodiments make use of a website/browser-based implementation, in other embodiments proprietary software methods are implemented as an alternative. For example, in such embodiments client terminals 304 maintain software instructions for a computer program product that essentially provides access to a portal via which framework 100 is accessed (for instance via an iPhone app or the like). [00107] In general terms, each terminal 304 includes a processor 311 coupled to a memory module 313 and a communications interface 312, such as an internet connection, modem, Ethernet port, serial port, or the like. Memory module 313 includes software instructions 314, which are executable on processor 311. These software instructions allow terminal 304 to execute a software application, such as a proprietary application or web browser application and thereby render on-screen a user interface and allow communication with server 302. This user interface allows for the creation, viewing and administration of profiles, access to the internal communications interface, and various other functionalities. Conclusions and Interpretation 19 [00108] It will be appreciated that the disclosure above provides various significant technologies and methodologies for enabling user verification. [00109] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analyzing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities. [00110] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors. [00111] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, 20 when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code. [00112] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product. [00113] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server-user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. [00114] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. [00115] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer- 21 readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium. [00116] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. [00117] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system. [00118] It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, FIG., or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a 22 single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention. [00119] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination. [00120] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention. [00121] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. [00122] Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other. [00123] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further 23 modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.

Claims (18)

1. A computer implemented method including: (i) receiving data indicative one or more user inputted values; (ii) prompting a user to position a specified subject in field of view of an image capture device; (iii) performing an image capture of the specified subject, thereby to define captured image data; (iv) extracting, from the captured image data, one or more subject values; (v) performing a comparison of the one or more user inputted values with the one or more extracted subject values; (vi) based on the comparison at (v), determining whether the one or more extracted subject values verify the user inputted values; (vii) in the case that the one or more extracted subject values are determined to verify the user inputted values, providing a signal indicative of successful verification; and (viii) in the case that the one or more extracted subject values are determined not to verify the user inputted values, providing a signal indicative of unsuccessful verification.
2. A computer implemented method according to claim 1 wherein the one or more user inputted values are inputted via a web browser into a web page, and wherein the computer implemented method is performed by a proprietary application executing on a mobile device having an image capture component.
3. A computer implemented method according to claim 1 wherein the specified subject is an ID card.
4. A computer implemented method according to claim 1 wherein the specified subject is a payment card.
5. A computer implemented method according to claim 1 including a step of enabling a user to select the specified subject from a set of acceptable subjects. 25
6. A method according to claim 5 including, based on the user's selection of the specified subject from a set of acceptable subjects, identifying a schema for the specified subject thereby to enable the extracting, from the captured image data, of the one or more subject values.
7. A method according to claim 5 wherein the data received at (i) is indicative of the set of acceptable subjects.
8. A method according to claim 1 wherein the one or more user inputted values include a name, and wherein the one or more extracted subject values include a name.
9. A method according to claim 1 wherein the one or more extracted subject values include a date of birth, and wherein the determining at (vi) includes determining whether the date of birth is prior to a threshold date.
10. A method according to claim 1 wherein the one or more extracted subject values include first facial data extracted from a photograph, and wherein the method further included performing image capture of a user's face, extracting second facial data from the image captured of the user's face, and wherein (vi) includes comparing the first facial data with the second facial data.
11. A computer implemented method including: (i) receiving a verification request, the verification request being indicative of a user identifier and one or more values inputted by a user into a remotely hosted webpage; (ii) based on the verification request, defining a data package indicative of verification instructions, wherein the verification instructions are configured to be applied by a verification software application, wherein the verification instructions include the one or more values inputted by the user into the remotely-hosted webpage; (iii) transmitting the data package to a remote device identifiable based on the user identifier, such that the data package is received by the verification software application installed on the remote device, such that the software application is configured preform a verification process and provide a verification response; 26 (iv) receiving the verification response; and (v) providing, to the remotely hosted webpage, data indicative of the verification response.
12. A method according to claim 11 wherein the verification process includes comparing one or more values extracted from an image captured by the remote device with the one or more values inputted by the user into the remotely-hosted webpage.
13. A method according to claim 12 wherein the verification instructions are indicative of a set of acceptable subjects in respect of which image capture is to be performed at the mobile device thereby to generate the image.
14. A method according to claim 12 wherein the verification instructions are indicative of one or more data value types that are to be extracted from the image captured by the remote device.
15. A method for verifying data inputted by a user, the method including: (i) receiving, via a web page, one or more values inputted by a user; (ii) providing a signal to a mobile device associated with the user, thereby to provide verification instructions to a software application executing on the mobile device; (iii) at the mobile device, based on the verification instructions: operating the software application to perform an image capture of a specified subject; and extracting one or more subject values based on the image capture; and (iv) comparing the one or more subject values with the one or more values inputted by the user.
16. A method according to claim 15 wherein (iv) is performed at the mobile device.
17. A method according to claim 15 wherein the specified subject is an ID card.
18. A method according to claim 15 wherein the specified subject is a credit card.
AU2013204115A 2013-04-12 2013-04-12 Computer implemented frameworks and methodologies for enabling user verification Abandoned AU2013204115A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2013204115A AU2013204115A1 (en) 2013-04-12 2013-04-12 Computer implemented frameworks and methodologies for enabling user verification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2013204115A AU2013204115A1 (en) 2013-04-12 2013-04-12 Computer implemented frameworks and methodologies for enabling user verification

Publications (1)

Publication Number Publication Date
AU2013204115A1 true AU2013204115A1 (en) 2014-10-30

Family

ID=51796076

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2013204115A Abandoned AU2013204115A1 (en) 2013-04-12 2013-04-12 Computer implemented frameworks and methodologies for enabling user verification

Country Status (1)

Country Link
AU (1) AU2013204115A1 (en)

Similar Documents

Publication Publication Date Title
US11113679B2 (en) Method and system for cardless use of an automated teller machine (ATM)
US11089003B2 (en) Browser extension for limited-use secure token payment
US20210287225A1 (en) Method, device and system for information verification
US20200089203A1 (en) Systems and methods for enabling and disabling operation of manufacturing machines
CN104378343B (en) The password method for retrieving of network account, Apparatus and system
US9178866B2 (en) Techniques for user authentication
US11972428B2 (en) Information transmission method, apparatus and system
US9083704B2 (en) Computer implemented frameworks and methodologies for enabling identification verification in an online environment
US10269013B2 (en) Registration method and system for secure online banking
WO2015067038A1 (en) System and method for authenticating,associating and storing secure information
WO2015062236A1 (en) Method, device and system for information verification
US11971942B2 (en) System and method for sharing information using a machine-readable code on a mobile device
WO2013143343A1 (en) Account login method, apparatus and system, and network server
US10791104B2 (en) Systems and methods for authenticating users of a computer system
US20160350751A1 (en) Provisioning a Mobile Device with a Code Generation Key to Enable Generation of One-Time Passcodes
WO2015062232A1 (en) Information transmission method, apparatus and system
US20160212144A1 (en) Authenticating Customers and Managing Authenticated Sessions
US20160212125A1 (en) Authenticating Customers and Managing Authenticated Sessions
KR20160085276A (en) Method, device, and system for updating authentication informatoin
US20210168140A1 (en) System and Method for Automatically Registering a Verified Identity in an On-Line Environment
US11178139B1 (en) Secure computer-implemented authentication
AU2013204115A1 (en) Computer implemented frameworks and methodologies for enabling user verification
KR102029309B1 (en) Information input apparatus having authentication request and method using the same
JP7416860B2 (en) Method and apparatus for communicating credentials
JP7355790B2 (en) Programs, systems and information processing methods

Legal Events

Date Code Title Description
MK5 Application lapsed section 142(2)(e) - patent request and compl. specification not accepted