METHOD AND APPARATUS FOR CONDUCTING OFFLINE COMMERCE TRANSACTIONS USING AN ENCRYPTED USER ID BARCODE

20190205587 ยท 2019-07-04

    Inventors

    Cpc classification

    International classification

    Abstract

    A person conducting offline commerce transaction provides a number that uniquely identifies the person, such as a credit card number, cell phone number, or other number. That number is converted into a dual barcode comprising a first barcode and a second barcode. Each barcode comprises a predetermined standard number of digits to render them compatible with standardized barcode readers available at most retail and commercial establishments. The person's barcode number is encrypted by an encryption algorithm selected by an index located in the first barcode. The person's barcode is rotated before or after encryption and the resulted encrypted User ID Barcode is placed in the second barcode. The first and second barcodes contain the standard number of digits with one of the digits provided with a unique symbol distinguishing the first and second barcodes from each other and from barcodes that are associated with products that may be scanned during a commercial transaction using the User ID Barcode.

    Claims

    1. In a system for conducting offline electronic commerce transactions having a vendor barcode scanner for scanning product barcodes, said barcodes having a predetermined number of digits and having a barcode identifier digit indicating the barcode as a product identifier, the improvement comprising: (a) a User ID Barcode secured to a supporting media to be scanned by said barcode reader; (b) said User ID Barcode comprising a dual barcode for identifying a user including a first and a second barcode each having said predetermined number of digits and each having a different barcode identifier digit to identify the barcodes as the first barcode and the second barcode, respectively, of said User ID Barcode; (c) said first barcode having an encryption index defining which encryption algorithm of a plurality of algorithms was chosen for encryption of a User ID, and an encryption modifier code for modifying the User ID encrypted by said algorithm; and (d) said second barcode having said User ID encrypted by said chosen algorithm and modified by said modifier code.

    2. The system for conducting offline electronic commerce transactions of claim 1 wherein said first barcode includes a Country Code and a Company Code.

    3. The system for conducting offline electronic commerce transactions of claim 1 wherein said encryption modifier code is a rotation code.

    4. In a system for conducting offline electronic commerce transactions having a vendor barcode scanner for scanning product barcodes, said barcodes having a predetermined number of digits and having a barcode identifier digit indicating the barcode as a product identifier, the improvement comprising: (a) a User ID Barcode secured to a supporting media to be scanned by said barcode reader; (b) said User ID Barcode comprising a dual barcode for identifying a user including a first and a second barcode each having said predetermined number of digits and each having a different barcode identifier digit to identify the barcodes as the first barcode and the second barcode, respectively, of said User ID Barcode; (c) said first barcode having an encryption index identifying which encryption algorithm of a plurality of algorithms was chosen for encryption of a User ID, and a rotation code for modifying the User ID encrypted by said algorithm by rotating the User ID right or left; and (d) said second barcode having said User ID encrypted by said chosen algorithm and modified by said modifier code.

    5. The system for conducting offline electronic commerce transactions of claim 4 wherein said rotation by said rotation code occurs before or after encryption.

    6. A method for conducting offline electronic commerce transactions at a vendor cash register having a vendor barcode scanner for scanning barcodes having a predetermined number of digits, comprising: (a) receiving a personal code from a person for their use to purchase goods; (b) establishing an account for the person to receive funds and to disburse funds for subsequent purchases; (b) converting said personal code into a dual barcode format to form a User ID Barcode, said User ID Barcode corresponding to said personal code and including a first and a second barcode each having said predetermined number of digits and each having a different barcode identifier digit to identify the barcodes as the first barcode and the second barcode, respectively, of said User ID Barcode; (c) scanning said User ID Barcode at a vendor cash register and scanning product barcodes of products to be purchased at said cash register; (d) transmitting said dual barcode to a User Vendor Management server; (e) decrypting said dual barcode to derive said personal code; and (f) determining if sufficient funds are in the person's account and transmitting an approval or rejection of the purchase to the cash register.

    7. The method for conducting offline electronic commerce transactions as set forth in claim 6 wherein said converting said personal barcode includes encrypting said personal barcode with an encryption algorithm identified by an encryption index in said first barcode and placing the resulting encrypted personal code in the second barcode.

    8. The method for conducting offline electronic commerce transactions as set forth in claim 7 wherein said personal code is modified before or after encryption.

    9. The method of conducting offline electronic commerce transactions as set forth in claim 8 wherein said personal barcode is modified by rotating said personal barcode.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0019] The present invention may more readily be described by reference to the accompanying drawings in which:

    [0020] FIG. 1 is an illustration of the Type One User ID Barcode without encryption;

    [0021] FIG. 2 is an illustration of the Type Two User ID Barcode with an encryption index;

    [0022] FIG. 3 is an illustration of the Type Three User ID Barcode with two 11 digit barcodes, the first barcode contains the Country code, the Company code, the Rotation Code and Encryption Index which specifies the encryption algorithm; the second barcode is the resulting encrypted User ID;

    [0023] FIG. 4 is an illustration of the off line purchasing system using the User ID Barcode for the payment of purchase;

    [0024] FIG. 5 is an illustration of the offline commerce transaction using the system of the present invention; and

    [0025] FIG. 6 is an illustration of a payment system incorporating the present invention and useful to describe the operation of the system.

    DETAILED DESCRIPTION OF THE INVENTION

    [0026] The User ID Barcode identifies the user and provides the user a convenient means to make the payment for the purchase of goods. A barcode, as used herein, refers to the typical optical machine-readable representation of data. The code usually identifies data concerning the object to which it is attached and is represented by varying widths and spacing of parallel lines. The data contained in the barcode is read by conventional barcode readers or scanners typically used in most retail establishments that optically recognize the spacing and width of the parallel lines to derive data concerning the article to which the code is attached.

    [0027] The User ID Barcode is generated from a number that uniquely identifies a user. The user's cell phone number or the credit card number or other number that can uniquely identify the user may be chosen as the unique number. The UVM may have its own method for assigning the number to the registered user. This unique number is referred to as the User ID. The system described herein provides a selection of three types of the User ID Barcodes. The Type One User ID Barcode is a barcode with a special character ? followed by a 10 digit User ID. The Type Two User ID Barcode is a barcode with a special character * followed by 2 digit encryption code and 8 digit User ID. The Type Three User ID Barcode consists of two 11 digit numbers. The first 11 digit number includes a leading special character a followed by 3 digit Country Code, 3 digit Company Code of the company that issued the User ID Barcode, 2 digit Rotation Code and 2 digit encryption index which specifies the encryption algorithm within the encryption table. The second 11 digit number has the = as the leading special character followed by 10 digit encrypted User ID.

    [0028] The encryption algorithm used for a user's User ID Barcode is different from that of another person. Therefore, the encryption algorithm is user variant. The encryption algorithm can be changed with time to provide additional level of security for the user. Therefore the encryption algorithm is also time variant.

    [0029] For the purchasing transaction processing, the UVM will receive the transaction data from the Vendor Server. The transaction data includes such information as Vendor ID, Cash Register number, list of products the user purchased, the total amount of the purchase and the User ID Barcode.

    [0030] The transaction data is sent to the UVM through the Vendor Server. The Vendor Server contains a list of products for sale with each product description, name and its barcode. The Vendor Server may also have product suppliers information and inventories. Large companies may have their own Vendor Server. Some very large companies with international presence provide Vendor Server for vendors without their own Vendor Server.

    [0031] When the Type Three User ID Barcode is selected, upon receiving the transaction data, the UVM will apply Rotation Code in reverse and decrypt the User ID Barcode. To decrypt the User ID Barcode, the UVM applies the same decryption algorithm as specified by the encryption index within the User ID Barcode. Note that applying the decryption algorithm to a User ID Barcode will result in the original User ID. The UVM maintains the Rotation Code and the entire Encryption Table.

    [0032] After decrypting the User ID Barcode, the UVM accesses the user's data base and subtracts the amount of Available Fund equivalent to the total purchasing price and sends the Approved signal back to the vendor through the Vendor Server. Note that the transaction data includes the Cash Register number allowing the Vendor Server to direct the Approved message to the correct cash register in the vendor site and that completes the purchasing transaction. If the user does not have the enough funds available in the user's UVM account, the system sends a Rejected signal back to the cash register.

    [0033] One of the key features of the present invention is the rapidity with which the purchasing transaction is made by the user using the User ID Barcode. The user usually has little concern with the time it takes to complete the payment for the purchase of regularly priced goods at the cash register while the user will have little patience to wait for the completion of payment process for purchasing goods that is in micro payment level. The present system provides fast checkout with the cashier and therefore provides the user with convenience while potentially allowing the vendor to reduce the number of cashiers to therefore reduce the vendor's operation cost. The system of the present invention will have one or more Web Servers which accept the time consuming user input for the user registration and the login functions, allowing the UVM to focus on processing the purchasing transactions and provide fast response for completion of the purchasing transaction processing. The number of Web Servers required is determined by the degree of heavy traffic for large numbers of users performing registration or login to the UVM. In addition, in order to achieve a fast response from the UVM, the UVM may defer the user's data base update at a later time. Multiple numbers of UVMs can be operated in case there are many registered users in an UVM operating company and the proper UVM in which the user information is stored can be identified by the first few digits of the user's decrypted User ID. This allows faster access for the user's data base.

    [0034] With reference to FIG. 1, the User ID is shown in User ID Barcode format. The ? indicates that the barcode is a User ID Barcode not a product barcode. This special character may be known as User ID Barcode Identifier which term will be used herein. The User ID Barcode Identifier is followed by 10 digits User ID. The User ID Barcode shown in this FIG. 1 is simple, however it has no security and it may not be appropriate for actual use by customers.

    [0035] FIG. 2 shows the 11 digits User ID with encryption. The first digit is the User ID Barcode Identifier * followed by 2 digits Encryption Index which specifies the encryption algorithm used to encrypt the 8 digits User ID that follows. Due to 8 digits User ID, the total number of users is limited to 10 million.

    [0036] Referring to FIG. 3, the User ID Barcode is shown as a dual barcode; that is, it has two 11 digit barcodes. The two barcodes are interdependent and provide necessary information for the commercial transaction while permitting variable encryption wherein data in one of the 11 digit barcodes provides a modification code for the encryption contained in the second 11 digit barcode. The first of the two 11 digit barcodes provides an encryption index for the encryption algorithm to be utilized in the second 11 digit barcode and also contains an encryption modifier such as a rotation code. The first 11 digit barcode contains the User ID Barcode Identifier #, followed by a 3 digit Country Code, 3 digit Company Code, followed by 2 digit Rotation Code and 2 digit Encryption Index which indicates the specific encryption algorithm as described in the Encryption Table. The second 11 digit barcode contains = User ID Barcode Identifier followed by a 10 digit encrypted User ID.

    TABLE-US-00001 TABLE 1 Rotation Code 11, 12------18, 19 Rotate Right before encryption---------1, 2 through 9 digits 11, 22------28, 29----- Rotate Right after encryption-------------1, 2 through 9 digits 31, 32------38, 39------Rotate Left before encryption------------1, 2 through 9 digits 41, 42------48, 49------Rotate Left after encryption --------------1, 2 through 9 digits 51, 52------58, 59------Rotate Right before encryption and Rotate Right after encryption--------1, 2 through 9 digits 61, 62------68, 69------Rotate Right before encryption and Rotate Left after encryption-----------1, 2 through 9 digits 71, 72------78, 79-------Rotate Left before encryption and Rotate Left after encryption------------1, 2 through 9 digits 81, 82------88, 89------Rotate Left before encryption and Right after encryption-------------------1, 2 through 9 digits

    [0037] Table 1 above shows a summary of the Rotation Code used as an encryption modifier. The first digit is the command, 1 for Rotate Right, before encryption and 2 for Rotate Right after encryption, 3 for Rotate Left before encryption and 4 for Rotate left after encryption. The second digit specifies the number of digits the rotation as specified is to perform. Next, the first digit 5 is the command to Rotate Right before and after encryption. The command 6 is to Rotate Right before encryption and Rotate Left after encryption. The command 7 is to Rotate Left before and after encryption and finally, the command 8 is to Rotate Left before encryption and Rotate Right after encryption.

    [0038] The Rotation Code Summary in Table 1 shows the same number of digits for rotation before and after encryption however no such restriction is necessary. For example, the system may rotate right 3 digits before encryption and rotate left 7 digits after encryption. The reverse will be to rotate right 7 digits before decryption and rotate left 3 digits after decryption to obtain the actual User ID. In this embodiment, the total number of different rotation specifications will exceed 400 and the Rotation Code then becomes a Rotation Index specifying the rotation code within the Rotation Code Table. The Rotation Index would require 3 digits. The adjustment can be made by reducing either the Country code or the Company Code to 2 digit Codes to accommodate extra digit required for the Rotation Index. The UVM maintains the Rotation Code Table.

    [0039] Referring to Table 2, examples of encryption algorithm used for the encryption of the USER ID before converting to the barcode format is shown:

    TABLE-US-00002 TABLE 2 Encryption Table Encryption Number User ID -------0123456789 11 SW 12 1 1023456789 Switch the 1.sup.st and 2.sup.nd digit and switch the next 12 SW 12 2 1032456789 two digits the number of times as indicated by 13 SW 12 3 1032546789---the third digit. 14 SW 12 4 1032547689 15 SW 12 5 1032547698 Encryption Number User ID 0123456789 35 SW 13 46 78 2105437689---Switch 1.sup.st and 3.sup.rd digits, 4.sup.th and 6.sup.th digit 7.sup.th and 8.sup.th digit. 36 SW 13 46 79 2105438769---Switch 1.sup.st and 3.sup.rd digits, 4.sup.th and 6.sup.th digits 7.sup.th and 9.sup.th digit. 37 SW 13 46 710 2105439786---Switch 1.sup.st and 3.sup.rd digits, 4.sup.th and 6.sup.th digits 7.sup.th and 10.sup.th digits
    These are examples of the Encryption Tables of encryption algorithms which are maintained by the UVM.

    [0040] A person wishing to conduct offline electronic commerce transactions at vendors having barcode scanners or readers, such as conventional retail stores and the like, may apply to a UVM to obtain a User ID Barcode for use in such transactions. The person would provide the UVM with a personal code which may be a credit card number, a cell phone number, a driver's license number or similar unique personal code. The UVM then converts this personal code into a User ID Barcode in the form of a dual barcode, each of the dual barcodes comprising 11 digit barcodes corresponding to the typical and standard 11 digit barcodes used in retail establishments to identify products when purchasing transactions occur. The first barcode includes a leading special character # followed by a 3 digit country code and a 3 digit company code. The UVM selects a Rotation Code and an Encryption Index each requiring 2 digits of the first of the dual barcodes. The personal code is then encrypted by the chosen encryption algorithm identified by the Encryption Index; the personal code may be modified in accordance with the rotation code before or after encryption. The encrypted User ID is then placed in the second of the dual barcodes and provided with a different special character =.

    [0041] When the commercial transaction or purchase is being performed, the clerk at the Vendor's cash register uses the standard barcode reader and successively reads the first and the second barcodes.

    [0042] Referring to FIG. 4, an illustration of a purchasing transaction using the User ID Barcode, as displayed in a cell phone window or printed in the back of a credit card.

    [0043] The product barcode 10 being purchased is captured using a Barcode Scanner Reader 20, step 1, and it is sent, step 2, through Cash Register 30 to the Vendor Server 40, step 3. The Vendor Server 40 sends the description of the product including the price back to the Cash Register 30, step 4 and it is displayed at the cash register Display 50, step 5 and it is printed in the Sales Slip 60, as shown in step 6. When all purchased products are entered at the cash Register 30, the user is asked to make the payment. The user shows the User ID Barcode as displayed in the cell phone or as printed in the back of the credit card to the cashier. The cashier captures the User ID Barcode 70, using the Barcode Scanner Reader 20, step 7. When the UVM has been programmed to select the dual barcode (Type 3 User ID Barcode) the cashier utilizes the barcode scanner reader to capture the two 11 digit barcodes of the dual barcode. The Cashier scans one barcode after another of the two barcodes.

    [0044] The barcode scanner sends the User ID Barcode it captured to Cash Register 30, step 8, and the Cash Register 30 sends the transaction data which includes the vendor ID, the product description, the total purchasing amount, the User ID Barcode and other information to the Vendor Server 40, step 9. The Vendor Server 40 detects the special character in the barcode (User ID Barcode Identifiers) indicating that the barcode does not represent any products for sale and it is the User ID Barcode. The Vendor Server 40 sends the User ID Barcode together with the transaction data to the UVM server 80, step 10.

    [0045] The UVM retrieves the User's UVM account and check to see if the user has sufficient funds in the user's UVM account. If yes, the UVM Server 80 subtracts the total cost of the user's purchases from the user's UVM account and sends the approved signal back to the Vendor Server 40, step 11, to the Cash Register 30, step 12. The Cash Register 30 displays the approval signal, step 13 and prints out the Sales Slip 60 as shown in step 14. This completes the purchasing transaction. If the user does not have sufficient funds in the user's UVM account or if there is any problem with the user's UVM account, the UVM Server 40 sends the rejection signal to the Cash Register 30 and the transaction is canceled.

    [0046] The above process requires that the Vendor Server 40 detect the User ID Barcode Identifier to transfer User ID Barcode, transaction data and other information to the UVM Sever 40. This requires that the Vendor Server 40 be modified to include such detection logic. The operator of the Vendor Server 40 may prefer not to have any change or modification to the Vendor Server. In such case, a Web Server can be installed between the Cash Register 30 and the Vendor Server 40 as shown in FIG. 5.

    [0047] Referring to FIG. 5, the Web Server 90 checks all barcodes it receives from the Cash register 30. If the barcode is a product barcode, it passes the barcode to the Vendor Server 40, step 3 and the process continues as described in FIG. 4. If the Web Server 80 detected the User ID Barcode Identifier in the barcode it received, the Web Server 90 sends the User ID Barcode together with the transaction data and other information from the Server 40, step 4, to the UVM 80, step 10. The UVM processes the transaction data and sends through the Web Server 90 in step 11 the Approved or Rejected back to the Cash Register 30, step 12 depending on if the User has enough fund in the UVM account to cover the total cost of the purchases, and the Cash Register 30 displays the Approved or Rejected message in step 13 and print out step 14 the Sales Slip 60 as shown and that completes the purchasing transaction.

    [0048] FIG. 6 describes the present system in a multi Web Server environment. There are multiple numbers of Web Servers which accept users to register and/or login to the UVM. The system provides one URL address and it directs the user to any one of multiple web servers that is ready to accept user's input, allowing the user to enter ID and Password to register or login. Having multiple web servers provides convenience to users because a user may take relatively longer time then others to input ID and Password for registration or login. Also, some users take extra time to input the User ID and Password due to typo errors and the like. The wrong ID that may be inputted may include ID not found, or ID already exists in case the user wants to create its own User ID and Password. Also for a registered user, the password the user entered my be wrong and requires the user to make the correction. Note that web servers and the UVM access the same data base.

    [0049] Assigning this man-machine interface tasks for the user's input to the web server avoids the user taking time from the UVM. The web server sends the user's input data to the UVM upon user's successful completion of the input. By separating the user's input tasks to web servers, permits the UVM to focus on purchasing transaction processing, and to send the Approved or Rejected message back to the vendor cash register as soon as possible. Again, fast response time is important for the customer satisfaction and vendor work efficiency.

    [0050] The UVM operating company may operate multiple numbers of UVMs in case there are many registered users in an UVM operating company. In that case, it is desirable that the UVM assign the newly registered user the User ID with first 1 or 2 digits corresponding to the proper UVM in which the user information is stored. This avoids the UVM looking for the UVM server in which the user information is stored.

    [0051] The UVM system operator, the company indicated by the Company Code, settles with each vendor upon reaching the predetermined amount or the time whichever comes first.