WO1999041690A1 - Methods and apparatus for internet based financial transactions with evidence of payment - Google Patents

Methods and apparatus for internet based financial transactions with evidence of payment Download PDF

Info

Publication number
WO1999041690A1
WO1999041690A1 PCT/US1999/003099 US9903099W WO9941690A1 WO 1999041690 A1 WO1999041690 A1 WO 1999041690A1 US 9903099 W US9903099 W US 9903099W WO 9941690 A1 WO9941690 A1 WO 9941690A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
transaction
module
key
Prior art date
Application number
PCT/US1999/003099
Other languages
French (fr)
Inventor
Richard Lewis
Tara Dwyer
Mohammed Abdelsadek
Donald Han
Jonathon Rogoff
Louis Parks
Original Assignee
Saranac Software, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Saranac Software, Inc. filed Critical Saranac Software, Inc.
Priority to AU26762/99A priority Critical patent/AU2676299A/en
Publication of WO1999041690A1 publication Critical patent/WO1999041690A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Definitions

  • the present invention is directed towards electronic financial transactions between a customer having a personal computer (PC) and a remote service provider via the Internet, more particularly between a large plurality of customer PCs ("clients") and a remote service provider (“server”), wherein each transaction is digitally signed by the originator and is executed by the remote server, and a unique evidence of payment for the transaction is provided to the customer.
  • PC personal computer
  • clients customer PCs
  • server remote service provider
  • the inventors also have recognized that, in the SOHO market and elsewhere, postage application and visits to the post office to purchase postage and/or ship envelopes and packages are seen as burdensome, time consuming and inefficient, and thus represent productivity opportunities - that is, opportunities to improve productivity by increasing efficiency.
  • use of other common carrier package delivery services such as UPS, Federal Express, Purolator, etc., present similar productivity opportunities to expedite delivery of such services.
  • UPS common carrier package delivery services
  • Federal Express has developed "power shipping", a service which uses a more efficient airbill printing system, but which requires installation of a Federal Express terminal and printer at the customer's site.
  • this level of efficiency is reserved for substantial customers and is not available to the SOHO market; it also requires special hardware devices to implement and is limited to Federal Express packaging only.
  • a product or service that can be remotely accessed in real time would be highly valued by SOHO (and non-SOHO) businesses whose livelihoods depend on access to electronic marketing methods worldwide.
  • the Metering Technology Management Office of the United States Postal Service (“USPS”) has announced plans and issued regulations for a personal computer (“PC") based system for selling postage to individual customers under the Information Based Indicia Program (“IBIP”). See, for example, IBIP Host System Specification (10/9/96), IBIP Postal Security Device Specification (6/13/96), IBIP Indicium Specification (6/13/96), IBIP Key Management Plan (4/25/97), USPS Domestic Mail Manual, Issue 50 (7/1/96), Federal Register, Part N, 39 CFR Parts 111 and 501 (6/9/95), FIPS PUB 140-1 (1/94), FIPS PUB 180-1 (4/17/95), FIPS PUB 186 (5/19/94).
  • the IBIP program products and services represent a significant paradigm shift from the traditional postage meter technology and processes in which the customer has custody of a device, the postage meter, and must take it or some part of it to the postal service office to purchase and refill the meter with more postage.
  • the present invention concerns a virtual product that exists in an electronic, non- physical realm. More particularly, it is directed to an application which can be downloaded from the Internet, extracted from a zip file, installed, accessed by a pre-registered user on a secure PC, and used to conduct electronic commerce.
  • the invention concerns a system for electronic commerce including at least one user and a remote service provider, an Internet connection between each user and the remote service provider, wherein the user first becomes a registered user, e.g., registering with the remote service provider or with a third party supplier of goods and/or services or both, thereby obtaining a password set, and thereafter executes electronic transactions with the remote service provider using the password set to authenticate the user as a registered user and the remote service provider as an authentic service provider, and receives a secure evidence of payment for each transaction executed including a digital signature and data uniquely identifying the transaction.
  • a system may be implemented as follows.
  • the system software is resident on a proprietary website of a remote service provider (hereinafter referred to synonymously as "RSP") and used to conduct commerce electronically with reliable security and confirmation, namely, evidence of payment.
  • RSP remote service provider
  • the RSP may sell services on its own account or act as a transaction intermediary between the customer and a third party seller (“TPS") that is offering the goods and/or services that the customer wishes to buy.
  • TPS third party seller
  • the potential customer and user first registers and requests a license.
  • the potential registrants are preferably licensed by the ultimate provider of the goods or services that will be purchased, for any of a number of reasons, including recordkeeping, billing, shipment, scheduling, warranty, etc., which may be the TPS or the RSP.
  • the user is licensed by the TPS which is the United States Postal Service and which has established USPS specifications for licensing individual customers.
  • Other "postal" services such as the Royal Mail of the UK, or a shipping company such as UPS or Federal Express and the like, also may have certain licensing procedures. Licensing or registration with the TPS may be as simple as obtaining a unique account number, or more complex as involving credit checks, references and collateralizations, as the case may be.
  • a license from the TPS is not required and can be omitted, or a license may be available from the RSP for security reasons. The customer's license is then registered with the RSP and sent to the customer via regular mail.
  • the customer and potential user then uses the provided account information to download the appropriate portion of the system software (also referred to as the "client" software) from the RSP.
  • the potential user then installs the client software on a local PC type device and configures the software and hardware of the system for use including establishing a transaction database specific to the user.
  • This database may include a Register indicating purchases or funds available or the like.
  • the system also provides for authenticating the user to the RSP and the RSP to the user before any transaction can occur. After authentication is completed, the user then purchases the ultimate goods or services, postage in the case of the preferred embodiment, utilizing credit cards, ACH debit cards or checks as the method of payment, and electronically confirming the sale.
  • the RSP then operates on the user's transaction database, e.g., increments a "descending" register, associated with the specific user corresponding to postage purchased by the user.
  • the transactional database for the user is maintained by the RSP and uses special transactional software, which for postage is referred to as a Postal Security Device (PSD) software, resides on a server of the RSP, and manages the accounting, auditing, and security, digitally signing each transaction to identify uniquely both the user and the transaction.
  • PSD Postal Security Device
  • the special transaction software also manages the printing at the user of evidence of payment of the purchase, e.g., postage, postage corrections, and refunds, and other miscellaneous communications with the RSP as appropriate and the TPS of goods or services, in the case of the preferred embodiment the United States Postal Service.
  • the RSP server would disable the descending register and report the failure to the appropriate USPS authority, e.g., the National Meter Accounting and Tracking System ("NMATS").
  • NMATS National Meter Accounting and Tracking System
  • the RSP server would disable the descending register and report the failure to NMATS.
  • the client software locally downloaded can be automatically uninstalled, disabling and rendering inoperable all aspects of the system software for the user. Uninstalling the client software would result in revocation of the customer's license. This revocation will be reported to the appropriate authority, e.g., the Centralized Metering Licensing System ("CMLS"). Any subsequent use of the "retired" password or account numbers by that or any other user constitutes fraud, which is detectable.
  • CMLS Centralized Metering Licensing System
  • the transaction also may be digitally signed by the RSP executing the transaction, as well as by a TPS who provides the goods or services, thereby uniquely identifying the transaction in more detail.
  • PSD Postal Secure Device
  • the client system is a Host which resides on the customer's local PC and is responsible for the following: mailing list management, capturing postal purchase and refund request information, and providing an interface to the local printer producing the postal indicia.
  • Each customer's PSD resides at a RSP "server" site and can be accessed only via the Internet.
  • the customer's PSD is responsible for managing ascending and descending registers which track postal transactions, and creating a digital signature for each postal indicium produced by the customer on the local printer.
  • a system for conducting Internet based financial transactions including: a client having a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature; a server having a network including a transaction server, a transaction database, a server authentication module, and a receipt generation module; and an internet connection between the client and the server network; wherein the transaction execution system further comprises: an authentication module, wherein the client authentication module and the server authentication modules communicate via the internet connection and are authenticated to each other; a transaction module wherein, in response to the client and server being authenticated, the client issues a transaction request to the server and the transaction server, in response to a client transaction request, executes an electronic payment transaction at the server and records the transaction in the transaction database, and wherein the server receipt generation module, in response to an executed electronic payment, generates a receipt and transmits said receipt to the client, said receipt comprising the client digital signature and a data set uniquely identifying the executed transaction; and wherein the receipt is printable by the client printer and the receipt
  • the module for issuing a transaction request further comprises a means for providing the transaction request with the client digital signature
  • the server further comprises a unique digital signature and the receipt further comprises the server digital signature.
  • the server may include a first server, a firewall and a single TCP/IP port, such that the first server is connected to the internet connection, the firewall is interposed between the first server and the transaction server and the transaction server is connected to the network through the single TCP/IP port.
  • the firewall comprises a communication module that operates to limit communications between the internet and the transaction server to client transaction requests identifying the single TCP/IP port.
  • the system also includes a third party seller having a processor and a database, and a communication channel between the third party seller and the server, wherein the client further comprises a registration certificate representative of being a consumer registered with said third party seller.
  • a transaction module is provided and the third party seller database is updated by said server transaction database.
  • the system optionally may include a third party credit facility and a communication link between the third party credit facility and the server, wherein the server has a credit module and, in response to a suitable client transaction request, a credit card payment request is made by the server to the third party credit facility, the third party credit facility authorizes the credit card payment and issues an authorization code to the server, and the server transaction database is appropriately updated.
  • the transaction request may include a request to purchase an amount of postage, an addressee data set, and wherein the server transaction database further comprises a pool of postage prepaid by said server, and an account register associated with said client, wherein the client transaction request operates to transfer the requested amount of postage from said pool to said client account register.
  • the client may have a client public key, a client private key, and a client identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the client public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the client private key and client public key based on said hash.
  • the server may have a server public key, a server private key, and a server identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the server public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the seiver private key and server public key based on said hash.
  • the authentication module utilizes the public and private keys of said client and server to perform the authentication.
  • Another aspect of the invention is directed to a method for conducting Internet based financial transactions.
  • One such method includes: (a) providing a client having a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature;
  • step (e) issuing a transaction request from the client to the server; (f) in response to a client transaction request, executing an electronic payment transaction at the transaction server and recording the transaction in the transaction database, generating a receipt at the server receipt generation module, providing said receipt with the client digital signature and a data set uniquely identifying the executed transaction, and transmitting said receipt to the client; and (g) printing said receipt using the client printer, wherein the printed receipt is an evidence of payment for the executed transaction.
  • step (e) includes providing the transaction request with the client digital signature
  • step (b) includes providing the server with a unique digital signature
  • step (f) includes providing the server digital signature as a part of the receipt.
  • step (b) includes providing a single TCP/IP port connecting the first server to the internet connection with the client and limiting communications between the internet and the transaction server to client transaction requests identifying the single TCP/IP port.
  • the method includes providing one or both of a third party seller and a third party credit facility, connected to enable the client to issue a request to purchase an item from the third party seller, e.g., and payment may be by a credit instrument.
  • step (d) includes providing the client with a client public key, a client private key, a client identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the client public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the client private key and client public key based on said hash; providing the server a server public key, a server private key, a server identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the server public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the server private key and server public key based on said hash; and using said public and private keys of said client and server to perform the authentication.
  • Fig. 1 is a block diagram of an architecture of an Internet-based transaction system in accordance with a preferred embodiment of the present invention
  • Fig. 1A is a diagram of the transaction and maintenance functions of the system of Fig. 1;
  • Fig. 2 is a high level diagram of an architecture of Fig. 1;
  • Fig. 3 is a block diagram of an embodiment of an RSP infrastructure of Fig. 1 ;
  • Figs. 4A and 4B are representative digitally signed indicia for printing on mail pieces in accordance with the present invention;
  • Figs. 5A, 5B and 5C are respectively diagrams of cryptographic module functions for description of a key file, changing a password and key expiration of the system of Fig. 1A;
  • Figs. 6A and 6B are a block diagram of an authentication process for use in the present invention.
  • Fig. 7 is a block diagram of the architecture an authentication process of the system of Fig. 1 ; and Fig. 8 is a finite state diagram of the server cryptographic module of the embodiment of
  • Figure 1 illustrates a system including a customer (also referred to as a "client") 2n, a remote service provider (RSP) 4, and a third party seller of goods and/or services (TPS) 6.
  • the letter “n” is used as a suffix to indicate "one of a plurality of n” such that there may be a plurality of n clients “2" in the system, but the discussion is generally for each client and extends to all clients, although not necessarily identically for each client.
  • the client 2n has a Host system lOn and a PSD 20n which is resident on a server of RSP 4.
  • the Host lOn accesses the remote PSD 20n via the Internet 30.
  • the master PSD 40 is responsible for all cash management functions with the TPS server/network 6.
  • the TPS 6 is the IBIP infrastructure as defined by the U.S. Postal Service IBIP specifications, and the master PSD 40 maintains a "pool" of postage with which the individual PSDs 20n transact business.
  • CMRS Computerized Meter Resetting System
  • IBIP Postal Security Device Specification 6/13/96 refeired to herein as IBIP Finance infrastructure or TPS 6, by a private network connection 8.
  • Each customer 2n also has a local printer 70n associated with each Host lOn for printing the postage indicium and reports as will be described.
  • the infrastructure of the RSP (or "server") 4 is preferably designed to address the following goals: (1) It will meet all Level 2 security requirements as defined in the aforementioned FIPS 140-1 and FIPS 186 specification, except for physical security because the transaction server(s) 180 on which the PSDs 20n and Master PSD 40 reside will exist on a protected segment behind a firewall 160 (see Fig. 2).
  • PC personal computer
  • Non-print electronic transactions should be performed in less than five seconds
  • Print electronic transactions should be completed within thirty seconds.
  • the infrastructure of RSP 4 can be broken down into several pieces: (1) A web server 150 that is used by customers for registration and client software download and is the apparent website; (2) A transaction server(s) 150 that serves as the transactional link between the customer's Host PC lOn and all RSP 4 functions; and (3) A series of database servers 170 that perform all of the RSP 4-related and TPS 6-required functions.
  • the RSP 4 is provided with an inbound network 110 and an outbound network 130.
  • the inbound network 110 allows a customer 2n to securely access the RSP web server 150.
  • the outbound network 130 allows for the secure exchange of financial transactions executed between the customer 2n and the TPS 6 directly and/or indirectly through RSP 4.
  • Network traffic in and out of these networks is controlled by a conventional inbound router 112 and an outbound router 132, which will operate to filter out all unauthorized traffic.
  • a firewall 160 will be used on the inbound and outbound segments to examine each data packet transmitted for proper authorization.
  • the secured portion of the RSP web server 150 i.e, that portion which is access protected by
  • IP internet protocol
  • the transaction server(s) 180 will exist on a unique internet protocol ("IP") address(es) so that the outbound router 132 can filter out all traffic except to that address.
  • IP internet protocol
  • the transaction server 180 will also be configured to handle IP traffic only.
  • the outbound router 132 and the firewall 160 will filter out all other Internet protocols according to industry standards for such firewalls.
  • the RSP 4 also includes a series of data servers 170 (shown collectively in Fig. 2) that will be responsible for various dedicated functions. As the transaction server 180 receives a transaction request, the type of transaction is identified and processed using one of these servers as identified in the Table I below.
  • Signature PSD Create file 2. Send Log to
  • Scalability is maintained by allowing for multiple servers, particularly for the transaction 180, payment 190, and log 195 servers (multiple servers not shown). These servers will process the highest volumes of traffic because all transactions will pass through them. Preferably, various other software manufacturers will be able to develop and/or access both the printing and transaction management pieces of the system through a controlled set of Application Program Interfaces (API) for each customer 2n to operate the system using a conventional word processing or x-window motif program and the downloaded client software.
  • API Application Program Interfaces
  • each customer 2n goes through a sequence of steps to ensure that the customer has been licensed and authorized to produce postage and that use of the Host system lOn can be strictly monitored.
  • one such sequence of steps include the following.
  • the customer 2n uses the Internet browser software and an Internet 30 to connect to the web site server 150 of RSP 4.
  • the customer 2n fills out a registration form, e.g., an on-line form that collects the information necessary to register/license the customer.
  • the user electronically fills out a Postal Service Form 3601 -A application, to enable the customer to purchase postage electronically.
  • TPS 6 e.g., IBIP Finance Infrastructure, also called IBIP Finance Infrastructure
  • web server 150 creates a customer and at step 205 creates a public key and a private key pair for the customer record, and at step 206 a log of events for the customer is created.
  • TPS 6 returns a "license" number to Web Server 150, which recreates a customer record at step 209 and updates the record at step 210.
  • web server 150 At step 211, web server 150 generates a letter electronically, containing the customer's new Customer Number, the License Number, and a Password set. This letter is ported to a suspense file for someone to execute. The letter is then executed and delivered to the customer via regular mail.
  • An alternate mode of conveying this customer specific information may be used, e.g., encrypted e-mail, voice or facsimile transmission.
  • the customer uses its Internet browser again to connect to the RSP web server 150.
  • the customer selects a SOFTWARE DOWNLOAD option at step 213, and is prompted for the customer number and password to enter the secured area of web server 150 at step 214.
  • the web server 150 retrieves the previously stored customer record.
  • the customer then downloads the client software program for operating the system, the internet protocol address for postal transactions, the public key/private key pair for the RPS 4, and the public key for TPS 6.
  • the customer's private key is encrypted using the password and stored at step 217, and then SETUP is run at step 218.
  • SETUP extracts the client software; installs it on the client hard disk; updates the Windows® registry; and updates WordTM (or comparable word processing program) templates.
  • the customer then enters a new password at step 219 and reencrypts the customer public key, private key pair with the new password at step 220. Certificate
  • the web server 150 obtains and forwards the appropriate information to TPS 6, e.g., the United States Postal Service Certifying Authority for issuance of the user's certificate ("X.509") as required by Postal Service specifications.
  • TPS 6 e.g., the United States Postal Service Certifying Authority for issuance of the user's certificate
  • X.509 the United States Postal Service Certifying Authority
  • the issuance of the Postal User Certificate X.509 from the United States Postal Service Certifying Authority will be accomplished in as near to real time as possible, because generally a postage value download to the user's PSD 20n will not be permitted without an authenticated certificate.
  • the user 2n can then proceed to make a purchase, e.g., of postage.
  • User 2n makes a purchase through a proprietary connection over the Internet 30 using the appropriate IP address as provided by the downloaded client software to connect with the RSP's Internet transaction server 180, utilizing a suitable form of payment, such as credit cards, electronic funds transfer, ACH debit cards, or checks.
  • transaction server 180 Electronic payments are reported to the transaction server 180 which then transmits them to a specified financial institution for deposit. Upon receipt back of an authorization code, transaction server 180 then increments the user's descending register 21 in PSC 20n with the correct amount. The ascending and descending registers of each user 2n are stored
  • the total maximum amount permitted in the descending register 21 is $500.00, but any value could be used, as well as no limit at all.
  • Checks used to pay for postage are preferably sent by the user 2n to a designated lockbox institution for processing in a conventional manner.
  • the lockbox institution transmits an electronic authorization to the transaction server 180, which operates to transmit a notice to the user 2n of postage availability.
  • the user 2n typically must then access the transaction server 180 to obtain the postage (which may have already been allocated to the user 2n and held in a suspense server 310) and server 180 operates the master server 300 to increment the user's descending register 2 In in PSD 20n by the proper amount and clear the register in suspense server 310.
  • a "pool" of postage preferably is purchased by RSP 4 from the TPS 6, i.e, United States Postal Service, and maintained in the master PSD 40 by the RSP 4. Postage is added to this pool when required (e.g., when purchased by RSP 4 or by decrementing the user's descending register 21n when the system software is uninstalled, returned, or otherwise credited), and is decremented when necessitated.
  • TPS 6 United States Postal Service
  • postage can be purchased and effectively downloaded to the local printer 70 of the user 2n where it is printed onto an envelope or label as a virtual postage stamp.
  • This virtual postage stamp is referred to as an "intelligent indicia 74" or more simply “indicia 74" and is evidence of payment for the postage that is locally printed and directly applied onto envelopes or labels via a printer 70n. See Figs. 4 A and B. Indeed, envelopes and labels can be printed singly, that is one at a time, or in a batch, or in groups as from a mailing list.
  • the Log Server 195 stores all data used for reporting, both internally to RSP 4 and to the TPS 6.
  • the Log Server 195 also performs all audit functions. Results of these audits will be made available to TPS 6 and in the case of the postage embodiment, to various USPS agencies, as indicated in Fig. 2 as data management module 42 in RSP 4 and data management module 62 in TPS 6.
  • the master server 300 maintains a pool of postage and its own supply of cash from which refunds are given. It is desired in the postage system embodiment that
  • the client software portion of the system installed and resident on the hard drive in the PC of user 2n functions as the Host system lOn.
  • the software encompasses a variety of functions, some of which are: maintenance of registration information for obtaining a user's license from the TPS 6 (postal service); printing of, e.g., a postal/service lease agreement; integration with existing word-processing applications for an API to print postage, e.g., when printing the envelope for a letter or a label for a package; processing of mailing lists; implementation of ZIP+4 address cleansing (hygiene); calculation of postage by mail-piece according to established postage rate tables; formatting of a mail-piece for proper printing; printing mail-piece on standard printers, e.g., in a WindowsTM environment; and collection of purchase and refund request information. It is believed that it is within the abilities of a person of ordinary skill in the art to create client software instructions and APIs suitable to implement some or all of the foregoing functions as a matter of design choice.
  • a portion of the system software resident on the transaction server 180 of RPS 4 functions as the Postal Secure Device (PSD) 20n.
  • This software portion known as the Transaction Manager, encompasses many features and benefits to both the TPS 6 (e.g., United States Postal Service) and customers, as illustrated by Table II. Table II
  • Fraud detection and postal Revenue protection Detect theft or misuse of service notification product by unauthorized users
  • the system of the present invention can be considered as a combination of several components or modules which include: UI (user interface), Security, Printing, Financial Transactions, Communications, and Database Management. Each of these is designed to be in compliance with industry standards, discussed below.
  • UI user interface
  • Security Security
  • Printing Printing
  • Financial Transactions Communications
  • Database Management Database Management
  • the UI is preferably Microsoft Windows95TM Logo compliant although other operating systems also could be used, e.g., OS/2, WindowsNT, Macintosh, etc. To achieve this compliance, the UI may be built using Microsoft Visual C++ and MFC in accordance with Microsoft's published standards. Both screens and pop-up windows as defined by the Microsoft standard may be used. Security
  • RC2 symmetric encryption standard key pairs (public key/private key) may be used to support such encryption and decryption. RC2 will be used to protect the nature of the purchase/refund request, which may include credit card information.
  • RC2 is a well-known industry standard.
  • RC2 is a product of RSA. RSA is an accepted vendor for these products according to the IBIP Indicium specification dated 6/13/96.
  • SSL3.0 Secure Socket Layer
  • SSL3.0 is an accepted industry standard for financial transactions across a TCP/IP network.
  • Other suitable encryption standards could be used.
  • the system requires an active connection to the Internet 30.
  • the method for obtaining that connection is at the sole discretion of the customer.
  • the term Internet also should be understood to include the world wide web, public and private networks and extranets supporting TCP/IP. Database
  • the RSP 4 server 180 will store all transaction, customer, and PSD information in one or more industry standard databases, each preferably being an SQL database, using an SQL Server.
  • This product has been adopted as an industry leader in relational database technology, although other relational database technologies could be used, as well as nonrelational database technologies. Miscellaneous
  • the software design preferably employs industry standards for both the object and database modeling.
  • the Booch methodology may be employed to produce an industry standard object model.
  • the James Martin methodology may be used to generate the data model.
  • Rational Rose v4.0 can be used to capture the data for this methodology and for its
  • ERWIN Data Modeler can be used to capture the data and generate the data model used by this product.
  • the customer 2n may initiate a registration process by entering the web site server 150 (Fig. 3), and selecting the "Registration" option.
  • the customer is then presented with a screen that resembles the Postal Service 3601 -A license request form.
  • This screen has entry fields for all pertinent address information (required and optional information) and graphical user interface "radio buttons" that allow the user to supply different addresses for shipping, billing, and the physical location of the PC of Host 1 On within which the downloaded client software will be resident.
  • all four addresses are stored.
  • the fields to be filled in on the initial address screen typically include: (1) Name, (2) Company, (3) Address (2 lines), (4) City, state, zip (allows for zip+4), (5) E-mail address, (6) Post office where large mailings would typically be deposited, and (7) State and zip for that post office.
  • Items 6 and 7 permit the Postal Service to monitor anticipated mail flow and schedule staff and resources (trucks and planes) to accommodate efficiently the anticipated flow based on the amounts of postage electronically purchased and locally printed, with knowledge of the local postal offices, pick-up and drop-off locations.
  • the screen also may contain an area to enter an existing "meter number" if the customer has had a registered postage meter in the past.
  • the address fields are then checked for the existence of a PO Box address based upon finding one of the following references: PO Box, PO, P.O., P.O. Box, Box, or Post Office Box and may be cleansed in a conventional manner. See, e.g., the discussion of hygiene (cleansing) in Cordery U.S. Patent No. 5,454,038 assigned to Pitney Bowes Co.
  • the request is then submitted to TPS (CMLS) 6.
  • CMLS TPS
  • a letter is sent to the customer by regular mail informing it of the license number, a customer number, and a customer password.
  • Software Acquisition The client software is downloaded to the customer's Host system lOn from web server 150. The download is facilitated by state-of-the-art Web technology and data compression. The download operation is secured using SSL v3.0 technology.
  • the customer 2n enters the download area of the web site 100 and is prompted to enter the assigned customer number and customer password. These entries are checked against the customer record in the Master Database 305. If the customer number and password are valid, the download will proceed.
  • the customer 2n will receive a public key and a private key pair file in encrypted form from the web server 150. The keys will be stored on the Host 10 in an encrypted form. The private key is decrypted by the customer password. This private key is then used by the customer 2n and the client software for creating a customer digital signature and for decryption.
  • the server 150 Since the web server 150 has the corresponding public key, (the server 150 generates the key pair provided to the registered user 2n) the server 150 can use the customer's public key to verify the user's digital signature and to encrypt the indicia 74 (or other data) for downloading to the customer 2n. c. Software Installation
  • a user can select the drive and directory location for the software, enter a new directory, or use a default location supplied by the downloaded software. After a successful installation, the customer is prompted to enter a new password to protect the Host system 10. d. Postage Value Download
  • a function allows the user 2n to purchase postage from the RSP 4 transaction server 180. It is initiated by selecting a "Purchase Postage" screen in the client software.
  • the screen displays the maximum postage that can be purchased, any fees associated with this purchase, which are charged by RSP 4 or TPS 6 as the case may be, and the total cost for the purchase.
  • the customer 2n must enter an amount of postage to purchase and select a method of payment.
  • the methods of payment are preferably shown with "radio" buttons and include credit card, ACH debit, and check.
  • the default payment is preferably by credit card and the credit card input area is activated.
  • the customer then initiates transmission of all of the purchase information (e.g., addresses, purchase amount, and credit check information) via the Internet 30 to the web server 150, which passes on the transaction request to the transaction server 180.
  • the Submit radio button is pressed, all customer information is digitally signed and encrypted and packaged with the purchase amount.
  • a connection over Internet 30 is established with the web server 150 and the transaction related information is then transmitted. Because the
  • connection with the web server 150 is dropped and cannot be reconnected, then control is passed to the Connection Lost Error. Typically, three (3) communication attempts will be initiated by Host lOn to reconnect with the web server 150. If the connection fails then the process is aborted. e. Credit Card Payments
  • the card expiration date is checked. If the customer provided credit card expiration date is earlier than the current date, control is passed to the Expiration Date Error. If credit is denied, an error message is displayed on Host lOn and the credit card information is cleared. If credit is approved, control is passed to the main screen and an appropriate message is displayed in the standard message box of Host 10.
  • the transaction server 180 After the user fills out the entire field on the purchase screen and selects a submit radio button, the transaction server 180 immediately constructs a new purchase request object base from these field values. After the transaction server 180 receives the purchase request, it interacts with the following servers to execute the transaction:
  • Security server 315 (to verify the user's digital signature and to decrypt the transmitted file)
  • Purchase server 190 (after the purchase request object is deciphered by the transaction server 180, it passes to the purchase server)
  • 25 Credit card requests are transmitted to the web server 150 by the client, forwarded to the transaction server 180, and then to a payment server 190, a credit authorization server 400, and to a remote credit bureau 9 such as to First Data Merchant Services ("FDMS").
  • the credit authorization server 400 is responsible for connecting to the credit card bureau 9 and getting approval:
  • a "result" code is passed back to the purchase server 190 to indicate whether the credit card has been approved or not. For example, 0 means on the credit link is down (after 3 attempts), 1 means the credit card was rejected, and 2 means the purchase is approved. / Check Payments
  • the check number is sent to the web server 150 and purchase server 190 along with the information listed above.
  • the response from the purchase server 190 will include a customer number.
  • Check purchasing is very similar to credit card purchasing. The difference is that the purchase server 190 does not need to go through the credit authorization server 400 to obtain any credit approval and typically has a suspense server 310 to enable check processing prior to issuance of postage. Because the check purchasing cannot be validated right away, the purchasing server 190 invokes the Persistence Service and Database Service to update the database record, logging the transaction and updating the descending register in the PSD object. See Logging 196; Customer PSD 200 (increment); Master PSD 40 (decrement) in Fig. 3. g. A CH Debit Card Payments
  • ACH debit card can be provided primarily for customers that would prefer this payment modality. Prescheduled payments (or wire transfer) that would trigger purchase could be based on known volumes or peak and valley demand requirements and easily implemented. h. Refunds
  • Customer requests for refunds can be initiated by selecting an appropriate Refund radio button.
  • the user must select the type of refund requested: full or partial. If the user selects a partial refund, the amount of refund requested also must be entered. The amount
  • the user enters, when added to the existing refund register, typically cannot exceed some percentage, e.g., 1%, of the current ascending register 22 for that customer. If the amount entered does exceed this amount then control is passed to the Spoilage Limit Error and the refund amount requested can then be changed. The customer then must enter in credit card, debit card, or check information so that the appropriate account can be credited or a check can be issued.
  • the user presses the Submit button to submit the request to the web server 150 and then to the transaction server 180. For a spoilage refund, a copy of the updated descending register 22 is received from the server 180. The actual descending register 22 is updated on the server 20n.
  • the customer user presses the Cancel button to cancel the request and return to the
  • Help screen A request for a full refund will result in the termination of the customer account with the third party service provider 4 and the deactivation of downloaded client software from the Host lOn. If the credit card entered does not match a credit card used for a prior postage purchase then an error message is displayed and the user must enter data for the appropriate credit card.
  • transaction server 180 creates a response transaction which is digitally signed with the digital signature of the customer 2n requesting the transaction, encrypted, and sent to the Host lOn confirming the success or failure of the transaction. The host then updates its local information to reflect changes in postage available. j. Configuration
  • a configuration feature is desired to allow the user to change the configurable settings for the Host 1 On system. It is initiated by selecting a Configure screen including radio buttons for selecting the method of logging postage usage and the address cleansing method.
  • the screen also may contain two postage threshold entry fields and a drop-down list box for selecting a printer 70n.
  • the user 2n is required to make selections for certain settings in a conventional manner.
  • log postage can be selected, which the user can use for accounting purposes. Postage usage will differ from the indicium, which is always logged on the Log Server 195.
  • the Log database 196 DB is used to track all transactions between customers and RSP 4.
  • the central database 197 is a staging server used to create data files for transmission to TPS 6, e.g., USPS.
  • the indicium 74 represents
  • Logging postage usage would store a log of the address of each letter or label, the date printed, and the amount of postage for that mail piece in a log database 196. This information may or may not be unique because multiple letters could be sent to the same address on the same day.
  • the indicium 74 will always be unique and digitally signed. Logging postage usage is the default.
  • the user also will typically choose a method by which addresses will be cleansed (also referred to as hygiened) as well as the printer 70n to be used by the system.
  • Cleansing addresses refers to the conversion of all entered addresses to a United States Postal Service standard format, including ZIP+4 prior to printing the mailing envelope or label.
  • CD-ROM cleansing is the default, where it is done at the Host lOn.
  • An alternative choice is to perform cleansing via the web server 150. The user can change this selection via a standard drive selection list-box.
  • Any suitable printer 70n may be used, for example a Postscript printer or Windows- compatible printer.
  • the Password button can be used to change the password entered during registration. There are also a number of addresses that are required by the system. These addresses are maintained by pressing the Addresses button. Other optional settings are the default amount for purchases, as well as the amount at which a low postage warning is triggered. An error is raised if either amount is greater than the maximum amount of postage allowed. k. Print Postage
  • the print postage feature allows the user 2n to print postage onto a selected envelope or label or a series of envelopes or labels (e.g., an array of labels as exist on a preprinted label form). It is initiated by selecting the Print Postage Screen on the main screen.
  • the screen contains a button for entering a single address and a standard file selection area for selecting a mailing list.
  • the screen also displays radio buttons for class of mail service and the method for calculating postage. The defaults for these are first class, and fixed price (set at $.32).
  • the user 2n must indicate whether a Single address or Multiple addresses will be printed. This is accomplished by pressing a button for a single address or by selecting a Mailing List file.
  • a Mailing List is selected by selecting the name of the appropriate
  • Additional information may be required such as the Class of postage by which the mail piece(s) will be shipped and the method of calculating the postage.
  • the system may be established so that the user selects Calculate Weight, whereupon the number of sheets of paper being mailed and a paper weight (as indicated on the paper packaging (e.g., envelope, box, etc.)) are entered.
  • a suitable application will then calculate the total weight by referring to an algorithm resident in the downloaded client software, for example, multiplying the single sheet paper weight by the number of sheets indicated.
  • the result is then added to the weight of the packaging (e.g., an envelope) via a table look-up.
  • the postage for that weight and class is then determined and the list of addresses is updated.
  • All downloaded client software and tables, including postage rate tables, may be updated each time the user Host 10 connects to the web server 150.
  • the RSP 4 also may have the current rate table available on-line to registered users 2n for a reference.
  • all indicia 74 i.e., for each piece of mail shall be logged on the server 195 whenever a print request is made by a user 2n, whether the print request is for a single piece or multiple pieces for a mailing list.
  • system control may be automatically passed to the Insufficient Postage Error and then to the Purchase Postage screen. Once all information is entered, the complete list of addresses and their corresponding postage will be available for review in a drop down listbox. Pressing the Change Postage button can change postage for individual entries when that entry is highlighted. Conventionally only one entry at a time can be changed. Control is passed to the Single Address Entry Pop-Up. If the postage entered for a fixed amount is less than $0.16 then control is passed to the Invalid Amount Error. Postage can be applied in fractional amounts down to three (3) decimal points. Of course, the postage amount can be adjusted as permitted by the USPS. It should be understood that the present invention may
  • the system permits the user to preview a single envelope or label by pressing a Print Preview button.
  • This will cause the return address, the mailing address, and a bitmap of a sample indicium 74 to be displayed as it would appear printed. Pressing this button will pass control to a standard Print Preview screen. If the user wishes to print the entire list, the Print All button is selected. Pressing Print All causes a connection to be made to the web server 150 and a file of addresses sent. This file is digitally signed by the client Host lOn for the transaction server 180 to verify.
  • the digital signature on the file will be verified by validation (also called the security) server 315, each address will be extracted individually and the contents of that address, along with additional information, will be used to create both the human- and computer- readable parts of the indicium 74. See indicium generation 43, Fig. 1A.
  • the postage rate table used is checked to see if it is current, and the postage amounts are recalculated if needed.
  • the contents of the indicium are then hashed (MD5) into a message format and the resulting message is digitally signed by transaction server 180 using the well-known DSA.
  • the indicium is then encrypted for the client to decrypt.
  • the indicium is encrypted to prevent unauthorized capture of the indicium.
  • An unencrypted indicium could be captured, printed, and entered into the mail stream prior to it being obtained by the authorized customer.
  • the results of this process are sent back to the Host lOn for formatting and printing.
  • the appropriate postage amount is deducted from the customer's descending register 21n on PSD 20n located on the master server 300.
  • a copy of the updated PSD register 2 In is then downloaded to the Host lOn for display to the customer 2n.
  • the connection to the web server 150 can be terminated.
  • a server connection is not required during the physical printing process.
  • the number of indicia that can be downloaded and printed at one time is limited only by the amount of disk space available on Host lOn.
  • Each indicium will typically consume 2K of disk space for the aforementioned two dimensional matrix codes and data. The following information is then printed on the envelope or labels:
  • indicium 74 (constructed when "print all" is pressed). See open system pc- based indicium printing 23 on Fig. 1A and Figs. 4 A and B.
  • indicium 74 is illustrated in Fig. 4A, which, among other things, conforms to the specifications in the Domestic Mail Manual - P050, dated September 19, 1996.
  • a Test Print Quality button also may be provided. Pressing this button causes a sample envelope to be printed. This envelope can then be mailed to the RSP 4 as a quality assurance test of the user's Host lOn system and printer 70n .
  • This button is preferably rendered inactive, except when the Quality Assurance (QA) Date stored is more than three (3) months prior to the current date. In that case when the Test Print Quality button is pressed an envelope is produced and the QA Date is set to the current date.
  • QA Quality Assurance
  • a List Management feature is preferably provided which allows users 2n to create and manage mailing lists within the Host lOn and is initiated by selecting a Manage Mailing Lists screen.
  • the user 2n can choose to import a mailing list from a non-Host system file, and the system will preferably will support a number of mailing list formats.
  • the cleansing function either CD-Rom or on-line, edited, cleansed again if appropriate, saved if desired, and set up for postage purchase. m. Postage Correction
  • a postage correction feature allows the user to print a correction indicium in the event that the postage amount or the postage date is incorrect. It is initiated by selecting a Correct Postage screen and choosing the appropriate correction for a postage amount or a postage date. Invalid information will be identified once valid information is provided. A connection is made to the RSP 4 server 150 and the correction transaction is validated. Notification is sent to the Host system lOn and the user is informed whether to place the envelope back in the printer 70 in the same direction as the first printing or to reverse it before printing. Security The present invention advantageously uses the internet 30 connection for registration, client/server authentication, transmission of credit card information, transport of indicia, requests for refunds, change of personal/address information, and the exchange
  • each client 2n has a cryptographic module 12n and the RSP server 4 has a cryptographic module 14.
  • the server cryptographic module 14 serves three functions: (1) authentication, (2) encryption, and (3) authorization. Authentication is the only function that requires interaction with a client cryptographic module 12. This is discussed below.
  • the physical architecture of the system of the present invention was designed to ensure that all access to the system is through secured and monitored points.
  • the entire system that is at RSP 4 will reside on a private network and the transactional portions will be connected through a firewall 160 to the internet 30.
  • Firewall 160 will be configured to restrict all network traffic to a single TCP/IP port 140. All packets received by the firewall 160 on the specified port will be routed to a Transaction Manager (i.e., transaction server 180.
  • transaction server 180 i.e., transaction server 180.
  • the actual implementation may have a plurality of transaction servers 180n, and routing a given packet to a transaction server 180 may be based on an address field in the packet or on a first available server, as the case may be.
  • a transaction server 180n receives the packets that request a socket connection, a socket connection will be established.
  • the transaction server 180 will immediately require that each particular connection authenticates a client 2n, or the connection will be dropped. To ensure this safe exchange, the implementation of security uses the following assumptions:
  • the host lOn and PSD 20n functions will not reside on the same machine.
  • the PSD 20n functions will not be stored in a separate hardware device connected to the customer's PC.
  • the Host lOn will exist on the customer's PC and the PSD 20n will exist on the RSP 4 network infrastructure.
  • the Internet 30 will be used to interconnect a customer's host lOn and printer 70n with the PSD 20n. All transactions between the Host lOn and the PSD 20n will be encrypted. All transactions between the host lOn and the PSD 20n will be digitally signed. All indicia 74 will be digitally signed. All indicia 74 will be encrypted for client lOn to decrypt prior to printing. Prior to initiating a transaction, both the client lOn and the provider transaction server 180 will authenticate each other. A customer's actual existence and proof of valid physical address will be initially established by sending the system license and registration information to the customer by mail. All cash management
  • the downloaded client software performs all Host 1 On and printer 70n functions, as defined by the appropriate IBIP specifications.
  • the transaction server 180 performs all of the PSD 20n and TPS 6 infrastructure and support functions, as outlined by the IBIP specifications.
  • Each client 2 and server 4 is comprised of its own cryptographic module 12 and 14, respectively. For authentication and key expiration/regeneration the two modules 12 and 14 interact. a. Client Cryptographic Module Security
  • the cryptographic module 12 is used to authenticate the customer 2n to the TPS 4 (hereinafter also referred to as "server 4"), the server 4 to the client 2n, and to manage the authentication key pair (public key/private key) that exists on the client 2.
  • the main function of the client cryptographic module 12 is to protect the customer's private key from both intrusion and corruption.
  • the customer's private key is used to authenticate the client 2 to the server 4.
  • the private key is preferably stored on a diskette (designated A: or B:) in a ciphertext key form.
  • the ciphertext key is decoded when the customer enters their password.
  • the plaintext form of the private key exists only in RAM.
  • the plaintext key is zeroized.
  • a hash of the key is concatenated to the key prior to creation of the ciphertext key.
  • the key is hashed and compared to the stored hash to determine the key's integrity.
  • the components of the client cryptographic module 12 are: Client Private Key, Client Public Key, Server Public Key and Customer Identification Number.
  • the algorithms used by the cryptographic module are: (1) RSA, (2) MD5 and (3) RC2.
  • the system is designed so that client 2 needs to provide no physical security to protect the cryptographic module 12. This is because no key is stored in plaintext form and the decryption process is performed only when needed. After a key has been used it is zeroized in memory. At no point are the keys and/or password accessible on the hard disk in a plaintext foim.
  • the cryptographic module 12 preferably exists within the context of what is called a CryptoManager.
  • the CryptoManager is preferably a C++ object stored as a statically linked DLL.
  • the client software When the client software is loaded into memory, it will create an instance of the CryptoManager object.
  • statically linking the CryptoManager Object to the Client it can be assured that no other program has access to the DLL, hence protecting the CryptoManager' s services.
  • the Key File will contain the necessary information to uniquely identify and authenticate a client 2n to the server 4. It is composed of four items. 1) The Client's Public RSA Key; 2) the Client's Private RSA Key; 3).the
  • the server 4 generated key file is made available to the customer after a successful registration.
  • the customer 2n is mailed a letter containing instructions on how to download the key file, a user name, and two passwords.
  • One password is used to logon to the web server 150, establish an SSL 3.0 session, and acquire the user's unique key file.
  • the second password will be used to decrypt the contents of the key file.
  • a hash is embedded inside the key file.
  • the whole file is then encrypted with RC2 using a key derived from an MD5 hash of the user's password.
  • the user's password 501 in ciphertext is converted into a 160-bit MD5 hash 503.
  • the first 64-bits of the hash is used to both encrypt and decrypt 504 the key file.
  • the integrity of the contents must be ensured and another hash of the key file is calculated 507.
  • the resulting hash is then compared at 509 with the hash at the end of the file
  • the key file is preferably provided a mandatory life span that will be enforced by the Host lOn's cryptographic module 12. After a designated period of time, the Host lOn will open an interface 530 that will require the client to re-generate a new pair of public and private keys 532. The client will generate a new key, using a standard Microsoft Crypto APITM function, calculate a hash of the key file, encrypt the key file using the first 64 bits and store the generated key pair as ciphertext keys 535. The client 2 will then send the new public key to the web server 150. The client cryptographic module 2 will authenticate with the cryptographic module 14 of server 4 to verify that the key-renewal process was successful. v. Password Change
  • the user will be required to change the password the first time it runs the downloaded client software.
  • the user can also change the password at any time after the initial requirement.
  • the crypto-manager will expose an interface 520 that allows the client to perform this task.
  • the interface will require that the user provide both the old and the new password 521.
  • the key file will be decrypted using the old password and then encrypted with the new password 522.
  • the key is stored as ciphertext 523 and will not be in plaintext form.
  • the authentication service is responsible for authenticating each client 2n with the server 4. As illustrated in Fig. 7, a sequence of three messages is transmitted between the client 2n and the server 4. E spu refers to RSA encryption using the server's public key. E cpu refers to RSA encryption using the client's public key.
  • the authentication protocol is terminated and the communication link between the client 2n and server 4 is severed. If the client 2n is able to successfully authenticate with the server 4, then the session keys exchanged and established during authentication can then be used to encrypt communications between the client 2n and server 4. Authentication is discussed more fully below in connection with server 4.
  • Housekeeping service is responsible for notifying the client software of any new postal table information or changes and of key expiration events.
  • the HouseKeeping Service queries the server 4 to ensure that current keys have not expired. If the keys are about to expire the client 2n will issue a command to renew the keys and a new public key will be sent back to the server 4. The client 2 must then re-authenticate with server using the new keys. If the keys have not expired, then the HouseKeeping Service will check the postage rate tables. If the postage tables need to be updated, the client 2 will submit a request to server 4 for new postage tables. If the keys have not expired and postage tables do not need to be updated the HouseKeeping service exits. viii. Finite State Machine
  • the finite state model defines a preferred set of system access rules.
  • the model defines secured and unsecured states and all state transitions.
  • the client cryptographic module 12 When the client software is executed, the client cryptographic module 12 initially enters a Self-Test State 910.
  • the Self-Test State 910 is when all self-tests are performed. If all self- tests pass successfully the module proceeds to enter the Un-Initialized State 920, otherwise the module will enter into the Error State 950.
  • the cryptographic module 12 enters the User State 930 and/or the Crypto-Officer State 940 as described below.
  • the Error State 950 indicates that an unrecoverable error has occurred. If the module 12 enters the Error State, the module will no longer perform cryptographic functions. If keys are loaded into the module 12 when the cryptographic module enters the Error State, all keys will be cleared from the module. The Cryptographic module 12 enters the Un-Initialized State 920 after the Self-Test
  • the cryptographic module challenged with a password.
  • the password is used to attempt to open the file. If the password successfully decrypts the key file, the cryptographic module enters into the Key Entry State 960. If the password is not able to successfully decrypt the key file then the module remains in the Un-Initialized State 920. If the key file has been corrupted or compromised then the module enters the Error State 950.
  • the cryptographic module 12 loads the keys obtained from key file.
  • the Initialize function of the Crypto-API library is used by the cryptographic module as a means of initializing the crypto-context with the keys.
  • the User Services State 930 is used to perform all cryptographic functions, not related to key management, which are performed by the cryptographic module 12. As soon as a key-related function is complete, the plaintext keys in memory are zeroized and the module enters the Un-Initialized State 920.
  • the Crypto Officer State 940 is entered only when the key file needs to be updated. This will happen either when the user changes the password or when the current RSA keys expire and need to be changed. The server 4 during authentication will trigger replacement of expired keys.
  • the Idle State 970 illustrated in Fig. 8 is used in the server cryptographic module 14 discussed below, but not in the client cryptographic module 12, which either works or does not work, but does not remain idle. b. Server Cryptographic Module Security
  • the server cryptographic module 14 of server 4 is responsible for protecting two categories of data. These two categories are Cryptographic Keys, and the transactional PSD 20n Registers 2 In and 22n. In addition, the server cryptographic module 14 will be responsible for managing all "certificates" that exist on the server 4. All of these data items have been placed within the server cryptographic module 14 and are protected by its security policies.
  • the server cryptographic module 14 runs many security services. These services include client authentication, key management and PSD management. The security services are governed by policies that dictate who can access them and what data they can control.
  • the client 2 has no direct control over the services performed by the server cryptographic module 14. All services performed by the server cryptographic module 14
  • Transaction "Manager” server 180 Once the client 2 has been authenticated, it submits a transaction request to the transaction server 180 and waits for a response. It now becomes the job of the Transaction Manager to process the transaction and return a "receipt" to the client 2. All transaction "receipts" will contain a date/time stamp, and a sequence number and a digital signature to verify the authenticity of a transaction in relation to other similar transactions. For a given customer 2n, the sequence number will increase by one each time until a threshold is met, e.g. ,10,000, at which point the counter will reset to 1.
  • a threshold e.g. ,10,000
  • the Transaction Manager embodies the logic required to complete a transaction while enforcing the security and integrity of the server cryptographic module 14. Based on the authenticated user 2n, the transaction requested, the date/time stamp, and the sequence number, the Transaction Manger would determine whether the requested transaction is valid. The Transaction Manager will complete the transaction by sending a receipt, including a digital signature as evidence of payment for the transaction, back to the client 2n. In the case of the postage purchase system, the receipt is the indicium 74, which includes the foregoing and the postage related information (addresse, postage amount, etc.).
  • the Transaction Manager server 180 also is responsible for performing non- cryptographic functions. For example, address cleansing, credit approval and customer profile changes, which are performed by transaction server 180, do not require the use of cryptographic functions, and are therefor considered outside the realm of the server cryptographic module 14.
  • the server cryptographic module 14 serves three essential functions authentication, encryption and authorization. Authentication is the only function that requires interaction with the client cryptographic module 12. This interaction is secured in a manner described elsewhere. i. Physical Security
  • the physical security of the server cryptographic module 14 will be protected by measures taken to securely house the server 4, and its backup, preferably in a locked and guarded site. All servers will be stored in locked cages that will be accessible only to the system's administrator. Access to the building housing the servers will be limited to authorized personnel only. In addition, a TIS firewall 160 will be used to protect the single
  • the server cryptographic module 14 manages cryptographic keys, certificates and PSD registers 21, 22. All sensitive data is stored in a Secure SQL Server Database and protected by SQL Integrated NT security. See Fig. 3.
  • the Secure SQL Server database
  • the Cryptographic keys are utilized by the cryptographic module 14 to perform two main functions, authentication and indicium generation.
  • the cryptographic module stores the following keys.
  • Client Public Authentication Keys RSA
  • a Client Public Authentication Key exists for every registered user. They are used to prove the client's identity when it attempts to establish a connection with the server 4. This will be typically a 1024 bit key.
  • Server Public/Private Authentication Key Pair RSA
  • Only one pair of Server Public/Private Authentication Keys exists on the server 4. These are used to prove the server's identity when the client 2n attempts to establish a connection with the server. This will be preferably a 1024-bit key.
  • Client Private Indicium Keys DSA
  • a Client Private Indicium Key exists for every registered user 2n.
  • DSA Server Internal Private Key
  • Certificates are data structures that bind public key values to subject identities. The binding is achieved by having a trusted Certification Authority (CA) digitally sign each certificate. By verifying the Certification Authority's signature on the certificate, one can be confident that no substitution of the information within the certificate has taken place.
  • CA trusted Certification Authority
  • This second certificate is reserved for the PSD 20n.
  • the certificates used by the cryptographic module 14 essentially complement the private keys described in the above section with the exception of the Server Authentication Keys.
  • the Client Indicium Certificate is the data used to generate the digital signature of the indicium. The actual signature is signed with the complementary key of the certificate's public key. This way, based on the contents of the certificate, an exterior entity can verify authenticity of the generated indicium 74.
  • the Server Certificate is used by the USPS to confirm the server's identity. The USPS requires that the server 4 periodically communicate with it to transfer information regarding postage sold. This certificate is used to ensure safe delivery of this information.
  • the Certification Authority Certificate issued by the Certificate Authority allows the server 4 to verify messages sent by various other parties that have been certified by the same Certification Authority.
  • the X.509 Certificate is the current standard for digital certificates, and it defines the following fields:
  • Serial Number An integer that, together with the CA's name uniquely identifies this certificate.
  • Signature Specifies the algorithm used to compute the signature on the certificate.
  • Issuer Name of issuer of the digital certificate.
  • Validity The time duration and period for which the certificate is valid. 6.
  • Subject Name of entity whose key is being certified.
  • Issuer's Unique Identifier Optional, uniquely identifies the issuer of this certificate.
  • Subject Unique identifier Optional; uniquely identifies the subject of this certificate.
  • Encrypted The actual digital signature generated by the algorithm specified in field 3.
  • Field 3 is typically used for encryption algorithms, such as DSA or RSA. They operate on the basis of having two unique keys: a public and a private key. Signing an item with a private key means having the ability to verify it only by using the corresponding public key. The private key is securely kept in a location that is only accessible to its intended users; knowledge of someone's private key means having the ability to impersonate them. The public key is made publicly available to all individuals wanting to verify an item that is digitally signed by the user. The public key is made available in the X.509 certificate (field 7).
  • user A would request that B send an X.509 certificate.
  • User A can then verify the authenticity of the X.509 certificate by looking at the digital signature contained as part of the certificate (field 11). If the certificate were issued by a trusted third party (Certificate Authority) such as the USPS then user A would already have the USPS X.509 certificate. User A would first extract the USPS public key from the X.509 and use that to verify the signature in B's X.509 certificate.
  • a trusted third party such as the USPS
  • the implementation of the software is in accordance with the IBIP specification document.
  • a new user 2n would contact the server 4 with information that uniquely identifies him/herself.
  • the client's host 10 would generate a pair of public/private key pairs and would send securely the public key up to the server 4.
  • the server 4 would then take the public key information and send that along with any other necessary information to the USPS in order for the TPS 6 USPS to generate the user's X.509 certificate.
  • the host 10 would print out a written agreement that will be hand signed by the user 2n of the system and mailed to the TPS 6 USPS . When the USPS receives the signed agreement it will then generate the X.509 and send it to the server 4.
  • the server 4 will in turn forward the certificate to the host machine 10.
  • An alternate system would provide the server 4 as a trusted third party (Certification Authority).
  • the USPS can then utilize the server 4 public key to verify authenticity of printed indicia.
  • a printed indicium can be associated with the third party provider 4 who issued the certificate by checking the issuer's name field, v. PSD Registers
  • the PSDs 20n are the devices used to track how much postage both individual clients 2n and the server 4 own.
  • the PSD 20n contains ascending and descending registers 21n and 22n that keep track of the total amount of postage a user 2n has spent and owns.
  • the server 4 maintains a separate PSD 20n (indicated by a letter subscript "n") for each registered customer. This keeps track of the total amount of postage each customer owns and has spent.
  • the server 4 also maintains a master PSD 40 with ascending and descending registers that keep track of the total postage it owns and has sold.
  • Table III is a summary of the data typically maintained within the cryptographic module 14.
  • the authentication service is responsible for ensuring that only authorized users 2n have the ability to submit transaction requests. It will utilize the client's public authentication keys to perform the user validation. Upon successful authentication the transaction manager (server 180) will handle the user's transaction request.
  • the Key Management service will be responsible for key generation, expiration, archiving and distribution. These operations are performed on cryptographic keys and certificates. There are three levels of authority involved in key management. They are the server, client and the Certification Authority (CA). The details of how/why these keys are generated can be found under the Key Management section in the description of the cryptographic module 14.
  • CA Certification Authority
  • This service is used for the generation of indicium 74. It requires access to the
  • PSDs 20n the client's private indicium key, and the certificate.
  • the Registration Service is outside of the cryptographic module 14. It is essentially responsible for adding new users to the RSP 4 system. It communicates with the Transaction Manager server 180 to generate a new encrypted user key file, which is later downloaded by the client 2.
  • the cryptographic module 14 supports the use of two roles to perform different cryptographic functions.
  • the first role is the Crypto-Officer that is responsible for performing all the key management functions.
  • the other role is the Crypto-User, which has access to use cryptographic functions and keys for the purposes of authentication and indicium generation.
  • the roles provide a logical separation between operators and the services they are allowed to perform.
  • a client 2n When a client 2n establishes a connection with the server 4, the server 4 immediately enters an authentication protocol as illustrated in Fig. 7.
  • the first step of the routine is to authenticate the client 2n.
  • the client 2n sends its customer ID in plaintext form. This information is used to verify that this is a valid customer and retrieve that customer's public key.
  • the client 2n creates a random session key, identified in Fig.7 as Session Key A.
  • the client 2n uses the server's authentication RSA public key to encrypt Session Key A, and transmits the encryption to the server 4.
  • the server 4 receives and decrypts the key using its private authentication key.
  • the server 4 then creates a random session key of its own, identified in Fig.7 as Session Key B.
  • the server 4 uses the client's public authentication key to encrypt Session Key B, and transmits the encryption to the client 2n.
  • the client 2n receives and decrypts the key using its private authentication key.
  • the server 4 also builds up a hash value of Session Key A, the client ID, Session
  • This hash value is sent to the client 2n concurrently with the encrypted Session Key B.
  • the data is hashed in a standard sequence, so that the client 2n will be able to properly validate it.
  • the client 2n receives the server's hash value and then validates it by creating a hash value of its own containing the same data, and by comparing the two hash values. At this point, if the two hash values do not match, the protocol is terminated and the communication link between the client 2n and server 4 is severed.
  • the client 2n then builds up another hash value, containing Session Key B, the client ID, the server ID and the text "phase 3". This hash value is sent to the server 4, which validates it by creating a hash value of its own containing the same data and comparing the two hash values. If the two hash values do not match, the protocol is terminated and the communication link between the client 2n and server 4 is severed.
  • Session Key A and Session Key B can then be
  • the session keys generated during the authentication process are preferably 64-bit RC2 symmetric keys, which are used to encrypt and decrypt all data sent between the client and the server.
  • a hash of the data value is appended to all transaction request data or a transaction receipt before it is encrypted and sent to the other party.
  • the recipient uses the hash to ensure message integrity. If the message is found to be corrupt or altered in some way, the transaction will be aborted.
  • the client cryptographic module 12 will store the Customer ID and the session keys as part of the initialization routine. This information will then be available to all services running under Crypto-User role for a particular user.
  • the transaction server 180 is concerned with two types of public/private key pairs, authentication and indicium generation.
  • Authentication keys are 512-bit RSA keys and the indium generating keys will 1024-bit DSA keys.
  • Both the client 2 and the server 4 each have a pair of authentication and indicium generating keys.
  • the server 4 initially produces the client authentication keys.
  • the server first generates the client's public/private RSA 1024-bit keys. It then bundles the client keys, the server's public key and the client's identification number into a single file. A MD5 hash of the file is produced and appended to the end of the file. Finally, the server 4 takes the content of this file and encrypts it with a random number that it generates. The produced ciphertext is referred to as the key file.
  • the server generated password initially used to encrypt the key file is mailed to the client, as explained in the registration procedure described above. The key file is then exported from the server's cryptographic module to a
  • SSL 3.0 password secured web site 150 The customer can then change this password in a subsequent session.
  • the client authentication keys will have an expiration period.
  • the duration of this period will be, for example three (3) years, as determined by the USPS Key Management
  • the server 4 will notify the client if its keys have expired. At that time, the client will generate a new set of keys and send the public key to the server.
  • the server only stores the client's previous public authentication key.
  • the private key is kept private with only the client.
  • the public key is kept inside a password protected SQL master database 305 (Fig. 4, 7) that is accessible only by the server cryptographic module 14. In the scenario when a user 2n requests a full refund, that user's keys are destroyed and their record removed from the SQL database 305.
  • the software product will execute a key generation routine. This routine will produce the server's public/private RSA 1024-bit authentication keys. The key will be stored on a secured SQL master database 305. The public/private keys will have an expiration period defined by the USPS. When the server's keys expire, it will regenerate a new pair of authentication keys. With every client record, a field will be used to indicate which version of the server public key its using. During authentication, the server 4 will retrieve the appropriate version of its authentication public key. If the client 2n is using an expired key, the server 4 will download the new key to the client 2n. The client's record will be modified to reflect the new key version. The server 4 will keep its old authentication keys archived for a specified period of time. This allows a client 2n who has not connected since the server's public key expired the ability to authenticate and download the server's current public key.
  • the Certification Authority (CA)'s certificate is the only self-signed certificate on the system.
  • the public key in the certificate corresponds to the private key used to sign the certificate. This makes the Certification Authority certificate easily susceptible to fraud if proper distribution mechanisms are not employed.
  • the initial CA's certificate will be distributed by means of regular US certified mail. Included with the CA's certificate will be a hash of the next certificate key values.
  • the USPS certification authority will issue a new certificate and sign it with the old certificates matching private key.
  • the USPS CA will send a new certificate signed with the CA's new private key to the server 4.
  • the server 4 will validate the certificate for authenticity by first checking to ensure that the new CA certificates public key authenticates the included signature. It will then hash the keys included with the new certificate to verify that the hash
  • the client 2 and server 4 indicium keys are used to generate indicium 74 and all reside on the server 4.
  • a client indicium key pair exists for every registered customer 2n while there is only one pair which exists for the server 4. All indicium key pairs are generated on the server 4.
  • the private keys are immediately stored in the SQL master database 305, while the public keys are sent in a request to the Certification Authority of the USPS for certificate generation.
  • the USPS will generate the certificates and send them to the server 4, which will verify the certificate's source and store it in a SQL master database 305.
  • the first step to indicium generation is generating a public/private key pair for the server 4.
  • the public key is sent to the Certification Authority and a certificate for that server 4 is generated and returned to the Server.
  • the Certification Authority also retains this certificate so that the Certification Authority can verify the authenticity of future server requests.
  • the server 4 will have copy of the CA's certificate to verify the authenticity of data being sent back from the CA.
  • the server 4 needs a public/private key pair for each client 2n in order to produce indicia.
  • the server 4 will generate a key pair for the client 2n, store the private key in the secured SQL master database 305 and send the public key to the CA as a request.
  • the request is signed with the server's private indicium key and sent to the CA, where the request will be authenticated using the server's certificate.
  • the CA will send the certificate back to the server.
  • the returned certificate will be packaged with some other information and digitally signed by the CA. Using the CA certificate the server 4 will verify the authenticity of this returned package.
  • Both the client 2n and the server 4 indicium keys will expire after specified period of time. Once it has been determined that indicium keys have expired, a new set of public/private keys will be generated and a new set of certificates will be requested. Because all indicium keys are located and managed by the server 4, the client 2 is not aware that its indicium keys have expired or been replaced. All old keys are permanently removed from the server.
  • the server cryptographic module 14 is responsible for completing the task of indicium generation.
  • the data included will be missing the client's indicium certificate and the PSD 20n register values.
  • the cryptographic module 14 will retrieve the appropriate values from the SQL master database 305 and fill in the remaining values.
  • the result is then signed with the client's private indicium key.
  • the actual indicium 74 is the concatenation of data and the digital signature. Because of the presence of the client's certificate (which was signed by the USPS CA) the indicium 74 can be easily verified for authenticity by using the public key embedded in the client's 2 indicium certificate.
  • the completed indicium 74 is returned back through the cryptographic module interface and ready to be sent to the client 2n.
  • the data included in the indicium 74 can include, for example, the user 2n, the addressee of the recipient, the postage, the rate table used to calculate the postage, the date, time and preferred postal office/box/pickup location, etc.
  • PSDs Postal Security Devices
  • the PSDs 20n will actually reside on the secured SQL master database 305, although illustrated separately on Fig 3.
  • Each client 2n will have its own record representing its PSD 20n, while the server will have one master PSD 40.
  • a client PSD 20 record will contain four fields: Ascending Register 21, Descending
  • the Ascending Register 21 measures a count of the total dollar value of postage a client 2n has ever spent.
  • the Descending Register 22 measures a count of the current dollar value of postage that a client 2n has bought, but not used.
  • the Maximum Descending Register 25 is a total dollar value that a client 2n is allowed to own at a particular time. The value of the Descending Register 22 can never be more than the Maximum Descending Register 25.
  • the last field in the client PSD 20n is the Refund Register 24 which tracks the total dollar amount of postage that a client has had refunded.
  • the Master PSD 40 also resident on master database 315, contains three fields: Ascending Register 44, Descending Register 45, and Refund Register 46.
  • the Ascending Register 44 measures the total dollar amount of postage that the server has sold to clients.
  • the Descending Register 45 measures the total dollar amount of postage that the Server has
  • the Refund Register 46 measures the total dollar amounts of postage that server have refunded to clients.
  • CA's X.509 certificate in the cryptographic module 14 A new certificate is passed into this interface and a status report is returned. The status will indicate if the certificate has been successfully changed. As part of this procedure, the cryptographic module will verify the authenticity of this new certificate.
  • CreateKeyFile CutsomerlD Tin], KeyFile [out] This interface is used to create the keyfile that the client 2n downloads from the registration web server 150.
  • CipherText Tout This interface will encrypt all the plaintext that it receives as an argument and outputs it in ciphertext.
  • the cryptographic algorithm will be 64-bit RC2. The key used in this function remains inside of the cryptographic module, it is generated by the authentication routine.
  • the authentication interface will be called to verify and authenticate the identity of the client 2n. It is passed a handle to the current open socket of the client requesting a connection to the server. The status will indicate whether the client has successfully authenticated.
  • Add postage to Client PSD ( status [out]) This interface will be used to add more postage to the client PSD 20n.
  • the function will modify the appropriate registers to reflect any changes in how much postage the client 2n owns.
  • the status will be used to indicate if the call was successful.
  • GenerateServerAuthenticationKeys This will be an administrative function that will generate a new authentication key pair for the server 4. The status will indicate whether the function completed successfully.
  • StoreClientPublicKey PublicKey [in], status [in]
  • This interface will allow the client's public authentication key to be updated in the cryptographic module's database. The status will indicate whether the function completed successfully.
  • RefundClientPSD RefundAmount [in], status [out] This interface will be used to reimburse postage to the client PSD 20n.
  • the function will modify the appropriate registers to reflect any changes in how much postage the client owns.
  • the status will be used to indicate if the call was successful.
  • the finite state model defines the set of system access rules for the server cryptographic module 14.
  • the model defines secured and unsecured states and all state transitions.
  • the cryptographic module 14 enters the Self-Test State 910.
  • the first test will verify that the executable module check-sums are correct. This will ensure that none of the code has been corrupted or modified.
  • the cryptographic algorithms will be tested.
  • the RSA, RC2 and MD5 cryptographic algorithms will be tested using the "known-answer" test. A known value will be applied to the algorithm to determine if it will reproduce a known result. If the resulting value matches the expected result, the algorithm is assumed to be functioning properly.
  • the cryptographic module will determine whether the next state should be the Key Entry State 960 or the Crypto-officer State 940. This decision will depend on whether the transaction will use the cryptographic module to perform key management or other cryptographic functions.
  • the cryptographic module 14 will support a finite state machine that can be in the Idle State 970, Key Entry State 960, and Crypto-Officer State 940 at the same time. If key management functions are called, the module 14 enters the Crypto-officer State 940. In the Idle State 970, all cryptographic keys have been loaded into the module. The module is now initialized and remains idle until cryptographic functions are called. Once cryptographic functions are called the module moves into the User State 930. If a request is made to terminate the process, the module will clear all loaded keys from memory before transition to the Un-Initialized State 920.
  • the User State 930 is used to perform all cryptographic functions, not related to key management, that are performed by the cryptographic module 14. As soon as a key-related function is complete, the module transitions back to the Idle State 970. If the cryptographic module 14 is not going to perform key management features it will be loaded with the keys of the current user. At that point, the module enters the Idle State 970 and remains there until either a cryptographic function is called or the process is ready to end. Keys will be created or modified and stored in the secured SQL database 305. The cryptographic module 14 will clear all key information from memory and transition back to Un-Initialized State 920. If cryptographic functions are requested from the Idle State 970, the module 14 enters the User State 930 to execute the requested cryptographic function.
  • the module re-enters the Idle State 970.
  • the Idle-State 970 or the Crypto-officer State 940 if the process is ready to end the module clears the keys and returns to the Un-Initialized State 920.
  • Each PSD 20n will have its own finite state machine as described above. Only during server 4 initialization and self-test will a single finite state machine be employed.
  • the Error State 950 indicates that an unrecoverable error has occurred. If the module enters the Error State 950, the module will no longer perform cryptographic
  • the cryptographic module 14 loads the keys obtained from SQL master database 305 for the authenticated user 2.
  • the Initialize function of the Crypto-API library is used by the cryptographic module as a means of initializing the crypto-context with the keys. After successfully loading the keys, the module 14 moves to the Idle State 970.
  • the server cryptographic module 14 is preferably adapted to run on a Windows NT 4.0 platform.
  • the client software typically has the ability to logon directly to the server 4. All communications between the client and the server are through TCP/IP sockets on a unique port 140 not used by the NT operating system. Although Windows NT v.4.0 is not considered C2 compliant with a Network Interface Card attached, the system will exercise very tight control over what enters the system through the card. All services or daemons will be removed from the operating system except for the single service needed to communicate between the client 2n and server 4 software. This service will be limited to a single TCP/IP port with a single interface 140 and access is controlled by the validation server 315 (Fig. 3).
  • the Transaction Manager and all Non-Cryptographic modules will run under the RSP User account 621. This account will have no access to the file system or the Secure SQL master database 305.
  • the server cryptographic Module 14 will run under one of two accounts.
  • a CRYPTO_User account 622 will be used to perform all non-key management cryptographic functions (e.g. encryption, decryption, and indicium generation). This user will have read only access to the Secure SQL master database 305. If key management is required, the cryptographic module will run under a CRYPTO Officer account 623. This account will be able to create keys and will be able to insert, update, and delete keys from the Secure SQL Database.
  • additional steps may be taken to ensure that the operating system meets the security requirements of the TPS 6 of goods and/or services, or the RSP 4 as the case may be appropriate.
  • Password length The C2 configuration requires that blank passwords not be permitted a minimum password length will be set that is > 0.
  • Guest Account The C2 configuration requires that the default guest account installed by the setup program be disabled. The Guest account will be disabled on all servers.
  • Power on Password The C2 configuration requires that the system use a power on password. This system BIOS password will be set on all servers. Secure System Partition: For RISC (reduced instruction set computer)-based Windows NT systems, if RISC machines are used the administrator will secure the system partition.
  • Table IV is a table of the various security features used in the functions performed by Transaction Server 180.
  • the server 4 automatically records various data and stores them on the log server 195. Items stored include the User Profile Log and the Indicium Log, which are maintained in databases 196 and 197.
  • the master server 300 contains individual PSD 20n that contain the Ascending Register 22, the Descending Register 21, and the Refund Register 24.
  • server 4 is event dependent. It is event dependent in that the server has event-driven requirements of the user (e.g., when an indicium 24 is created, it is logged).
  • the Indicium Log contains all information represented in the computer- and human- readable portions of the indicium 74. The 11 digits of the ZIP+4+2 are located in the Special Purpose Field of the two-dimensional bar code 76 (Fig.4).
  • the User Profile Log contains a record of the information specific to the current user 2n, such as the mailing address, phone number, etc. If any of the parameters within the user profile are modified, then the housekeeping service will in turn up-load the new user profile to the server.
  • the Ascending Register Log is a cumulative record of all postage purchases that have occurred since the initialization of the product.
  • the Descending Register Log is a record of the postage that currently resides on the user's system.
  • the Refund Register is used to keep track of the total postage amount refunded to the user.
  • Housekeeping is an independent service which exists on the server 4 and handles all the indicium log updates, user profile updates, rate table updates and new software updates as necessary.
  • the present invention supports the implementation of the Data Matrix brand two- dimensional matrix or bar-coding technology for use in indicium 74. Ajnong the numerous
  • Data Matrix code has a smaller footprint and is perceived as aesthetically more pleasing than the well k .
  • PDF417 code Data Matrix easily supports the proposed 15 mil x-dimension requirement of the USPS; Data Matrix supports scanning by a CCD device, rather than a laser scanner, and Data Matrix Code is easily read regardless of scanner orientation.
  • the system can implement the use of Wallace Software libraries that support the creation of both Data Matrix and PDF417 two-dimensional barcodes 76.
  • the Indicia Service will initiate the creation of a bar code by executing the barcode software and indicating the data to be converted. Other two dimensional code symbologies also could be used. e. Authorized Advertising Art
  • the authorized advertising art feature allows the user to place a United States Postal Service approved graphic image 77 on the envelope next to or more particularly as a part of the indicium 74. It is initiated by pressing an associated radio button for selecting or deselecting a United States Postal Service authorized graphic, a file selection field, and a bitmap display field for viewing each graphic.
  • the feature allows the user to select or deselect an authorized graphics file for placement on some or all mail pieces.
  • a display graphic feature may be provided which allows the user to place a graphic image or text on the envelope next to the indicium 74. It is initiated by pressing an appropriate radio button and allows the user to select a specific graphics file, or enter text, for placement on all mail pieces.
  • the display preferably contains three (3) radio buttons:
  • the Housekeeping service is responsible for up-loading configuration changes and new logs to the server 4. It also facilitates downloading of new client software and pricing changes from the server 4 to the client 2. This service is preferably called every time the user 2n connects to the server 4 and is called upon immediately after the Authentication procedure.
  • the user profile will contain information specific to the current user 2n. such as the mailing address, phone number, and any other information required on PS Form 3601-A and the information returned on PS Form 3601-B. If any of the parameters within the user profile are modified, then the housekeeping service will in turn up-load the new user profile to the server. h. Communications and Messages Interfaces with Postal Infrastructure
  • the server 4 system can run an agent that reviews all log database tables that have changed during the prior 24-hour period. x ⁇ y changes that have been made are analyzed and matched to the customer record found in the Master Database 305. Purchase, spoilage, and refund information will be marked for a batch transmission to TPS 6.
  • Data supplied to TPS 6 about such periodic (daily) activity are kept in the Log and Master databases 196, 197 and 305.
  • the two tables used are PSD and Log. All data in these tables are available for review by the USPS as ad-hoc reports.
  • the records of the various transactions are stored on logs on the server 4.
  • the records of the postage downloads from TPS 6 to are sent to USPS Treasury daily as part of a daily reconciliation.
  • the records of all other financial transactions are sent to TPS 6 (NMATS) each morning. If, for example, $100 in postage were downloaded from TPS 6 USPS to server 4 and server 4 subsequently sold $25 each to users 2i, 2j, and 2k, the logs would indicate the following transactions:
  • the server 4 notifies the TPS 6 (United States Postal Service financial institution (FDMS)) of all credit card transactions. Credit card and ACH debit card postage download purchases are transacted in real time and stored in log 196, 197 on the server 4. These logs are transmitted to USPS at the appropriate time and in an agreed upon format.
  • TPS 6 United States Postal Service financial institution (FDMS)
  • FDMS United States Postal Service financial institution
  • Such examples include, without limitations, other package/mail carriers or shipping services, such as Federal Express, UPS, Airborne, Purolator, Roadway, and the like, Postal Services of other countries, tax stamp issuing authorities for state, federal and other governmental agencies, stock certificate issuing entities, and ticket issuing entities (such as tickets for live and movie theatres, sporting events, concerts, travel/transportation such as air, boat, train, bus, subway and the like).
  • a unique indicium, postal or otherwise can be generated by the RPS 4, digitally signed by the true customer, downloaded to the customer and printed as a "receipt" locally by the customer who has electronically paid for the purchase via the Internet.
  • the indicium can be scanned at the point of consumption, e.g., when the package enters the mailstream or the shipping company system, or the customer enters the facility where the sporting event or concert occurs. Because each receipt is unique, a duplicate (and thus a fraudulently obtained copy) can be easily detected and the legitimate version identified, and the offender caught and punished as appropriate.

Abstract

A system and method for conducting Internet-based financial transaction between a client (2n) and a server (4). The client has a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature. The server has a network including a transaction server (180), a transaction database (170), a server authentication module, and a receipt generation module. An Internet connection (30) is used between the client (2n) and the server network (4). The transaction execution system includes authentication, wherein the client authentication module and the server authentication modules communicate via the Internet connection (30) and are authenticated to each other. A transaction module is included wherein, in response to the client and server being authenticated, the client (2n) issues a transaction request to the server (4) and the transaction server (180), in response to a client transaction request, executes an electronic payment transaction at the server and records the transaction in the transaction database (170). The server receipt generation module, in response to an executed electronic payment, then generates a receipt and transmits the receipt to the client (2n).

Description

Title: METHODS AND APPARATUS FOR INTERNET BASED FINANCIAL TRANSACTIONS WITH EVIDENCE OF PAYMENT
Field of the Invention
The present invention is directed towards electronic financial transactions between a customer having a personal computer (PC) and a remote service provider via the Internet, more particularly between a large plurality of customer PCs ("clients") and a remote service provider ("server"), wherein each transaction is digitally signed by the originator and is executed by the remote server, and a unique evidence of payment for the transaction is provided to the customer. Background of the Invention
The inventors have recognized that there exists a Small Office/Home Office ("SOHO") business segment market which is driven largely by "immediate gratification" and cost sensitivity. That is, the entrepreneurs who comprise this market are more inclined to utilize a product or service if it can be accessed quickly with a minimum of red tape. There is a strong inclination for people in this market to place a very high premium on their own time and that of their employees, such that products that improve their efficiency are of great value.
The inventors also have recognized that, in the SOHO market and elsewhere, postage application and visits to the post office to purchase postage and/or ship envelopes and packages are seen as burdensome, time consuming and inefficient, and thus represent productivity opportunities - that is, opportunities to improve productivity by increasing efficiency. Similarly, use of other common carrier package delivery services, such as UPS, Federal Express, Purolator, etc., present similar productivity opportunities to expedite delivery of such services. For example, Federal Express has developed "power shipping", a service which uses a more efficient airbill printing system, but which requires installation of a Federal Express terminal and printer at the customer's site. However, this level of efficiency is reserved for substantial customers and is not available to the SOHO market; it also requires special hardware devices to implement and is limited to Federal Express packaging only.
A product or service that can be remotely accessed in real time would be highly valued by SOHO (and non-SOHO) businesses whose livelihoods depend on access to electronic marketing methods worldwide.
The Metering Technology Management Office of the United States Postal Service ("USPS") has announced plans and issued regulations for a personal computer ("PC") based system for selling postage to individual customers under the Information Based Indicia Program ("IBIP"). See, for example, IBIP Host System Specification (10/9/96), IBIP Postal Security Device Specification (6/13/96), IBIP Indicium Specification (6/13/96), IBIP Key Management Plan (4/25/97), USPS Domestic Mail Manual, Issue 50 (7/1/96), Federal Register, Part N, 39 CFR Parts 111 and 501 (6/9/95), FIPS PUB 140-1 (1/94), FIPS PUB 180-1 (4/17/95), FIPS PUB 186 (5/19/94). The IBIP program products and services represent a significant paradigm shift from the traditional postage meter technology and processes in which the customer has custody of a device, the postage meter, and must take it or some part of it to the postal service office to purchase and refill the meter with more postage.
Protecting the security of the mails, United States postage funds, and the funds of the individual user and electronic commerce are of great importance. Improved apparatus and methods for providing such postal service transactions are desirable.
It is, therefore, an object of the present invention to provide customer (client) to remote service provider (server) electronic transactions which are secure and reliable.
It is another object to present a significant paradigm shift, building and improving upon current IBIP modeling, and to provide a software-only product utilizing the Internet, conventional and security (encryption) technology and a unique form of evidence of payment for executing secure electronic transactions.
It is another object of the invention to provide products for using electronic commerce payment technologies as well as new approaches to old challenges (e.g., increased efficiency in scheduling and delivery of packages and mail in electronic commerce that is secure and traceable). Summary of the Invention
The present invention concerns a virtual product that exists in an electronic, non- physical realm. More particularly, it is directed to an application which can be downloaded from the Internet, extracted from a zip file, installed, accessed by a pre-registered user on a secure PC, and used to conduct electronic commerce.
Broadly, the invention concerns a system for electronic commerce including at least one user and a remote service provider, an Internet connection between each user and the remote service provider, wherein the user first becomes a registered user, e.g., registering with the remote service provider or with a third party supplier of goods and/or services or both, thereby obtaining a password set, and thereafter executes electronic transactions with the remote service provider using the password set to authenticate the user as a registered user and the remote service provider as an authentic service provider, and receives a secure evidence of payment for each transaction executed including a digital signature and data uniquely identifying the transaction. In one embodiment, such a system may be implemented as follows. The system software is resident on a proprietary website of a remote service provider (hereinafter referred to synonymously as "RSP") and used to conduct commerce electronically with reliable security and confirmation, namely, evidence of payment. The RSP may sell services on its own account or act as a transaction intermediary between the customer and a third party seller ("TPS") that is offering the goods and/or services that the customer wishes to buy. The potential customer and user first registers and requests a license. The potential registrants are preferably licensed by the ultimate provider of the goods or services that will be purchased, for any of a number of reasons, including recordkeeping, billing, shipment, scheduling, warranty, etc., which may be the TPS or the RSP. In the case of the preferred embodiment, the user is licensed by the TPS which is the United States Postal Service and which has established USPS specifications for licensing individual customers. Other "postal" services such as the Royal Mail of the UK, or a shipping company such as UPS or Federal Express and the like, also may have certain licensing procedures. Licensing or registration with the TPS may be as simple as obtaining a unique account number, or more complex as involving credit checks, references and collateralizations, as the case may be. In certain cases, a license from the TPS is not required and can be omitted, or a license may be available from the RSP for security reasons. The customer's license is then registered with the RSP and sent to the customer via regular mail.
The customer and potential user then uses the provided account information to download the appropriate portion of the system software (also referred to as the "client" software) from the RSP. The potential user then installs the client software on a local PC type device and configures the software and hardware of the system for use including establishing a transaction database specific to the user. This database may include a Register indicating purchases or funds available or the like. The system also provides for authenticating the user to the RSP and the RSP to the user before any transaction can occur. After authentication is completed, the user then purchases the ultimate goods or services, postage in the case of the preferred embodiment, utilizing credit cards, ACH debit cards or checks as the method of payment, and electronically confirming the sale. The RSP then operates on the user's transaction database, e.g., increments a "descending" register, associated with the specific user corresponding to postage purchased by the user. The transactional database for the user is maintained by the RSP and uses special transactional software, which for postage is referred to as a Postal Security Device (PSD) software, resides on a server of the RSP, and manages the accounting, auditing, and security, digitally signing each transaction to identify uniquely both the user and the transaction. The special transaction software also manages the printing at the user of evidence of payment of the purchase, e.g., postage, postage corrections, and refunds, and other miscellaneous communications with the RSP as appropriate and the TPS of goods or services, in the case of the preferred embodiment the United States Postal Service. Should there be a problem with the authentication process, the RSP server would disable the descending register and report the failure to the appropriate USPS authority, e.g., the National Meter Accounting and Tracking System ("NMATS"). Should there be a problem with the user's registration/license or should fraud be detected, e.g., detecting the same evidence of payment more than one time, the RSP server would disable the descending register and report the failure to NMATS. Should the user wish to terminate use of the product, the client software locally downloaded can be automatically uninstalled, disabling and rendering inoperable all aspects of the system software for the user. Uninstalling the client software would result in revocation of the customer's license. This revocation will be reported to the appropriate authority, e.g., the Centralized Metering Licensing System ("CMLS"). Any subsequent use of the "retired" password or account numbers by that or any other user constitutes fraud, which is detectable.
In an alternative embodiment, the transaction also may be digitally signed by the RSP executing the transaction, as well as by a TPS who provides the goods or services, thereby uniquely identifying the transaction in more detail.
Another aspect of the present invention is directed to a postal purchase system. One such system includes, for each customer, a client system and a Postal Secure Device (PSD) as defined by the IBIP specifications. The client system is a Host which resides on the customer's local PC and is responsible for the following: mailing list management, capturing postal purchase and refund request information, and providing an interface to the local printer producing the postal indicia. Each customer's PSD resides at a RSP "server" site and can be accessed only via the Internet. The customer's PSD is responsible for managing ascending and descending registers which track postal transactions, and creating a digital signature for each postal indicium produced by the customer on the local printer. By keeping all PSD functionality on a remote, central station server/network, all cash and key management and process auditing can be centralized and secured.
One embodiment of a system for conducting Internet based financial transactions including: a client having a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature; a server having a network including a transaction server, a transaction database, a server authentication module, and a receipt generation module; and an internet connection between the client and the server network; wherein the transaction execution system further comprises: an authentication module, wherein the client authentication module and the server authentication modules communicate via the internet connection and are authenticated to each other; a transaction module wherein, in response to the client and server being authenticated, the client issues a transaction request to the server and the transaction server, in response to a client transaction request, executes an electronic payment transaction at the server and records the transaction in the transaction database, and wherein the server receipt generation module, in response to an executed electronic payment, generates a receipt and transmits said receipt to the client, said receipt comprising the client digital signature and a data set uniquely identifying the executed transaction; and wherein the receipt is printable by the client printer and the printed receipt is an evidence of payment for the executed transaction.
In one embodiment, the module for issuing a transaction request further comprises a means for providing the transaction request with the client digital signature, and the server further comprises a unique digital signature and the receipt further comprises the server digital signature. The server may include a first server, a firewall and a single TCP/IP port, such that the first server is connected to the internet connection, the firewall is interposed between the first server and the transaction server and the transaction server is connected to the network through the single TCP/IP port. In this embodiment, the firewall comprises a communication module that operates to limit communications between the internet and the transaction server to client transaction requests identifying the single TCP/IP port.
Preferably, the system also includes a third party seller having a processor and a database, and a communication channel between the third party seller and the server, wherein the client further comprises a registration certificate representative of being a consumer registered with said third party seller. In such a system, a transaction module is provided and the third party seller database is updated by said server transaction database.
In an alternate embodiment, the system optionally may include a third party credit facility and a communication link between the third party credit facility and the server, wherein the server has a credit module and, in response to a suitable client transaction request, a credit card payment request is made by the server to the third party credit facility, the third party credit facility authorizes the credit card payment and issues an authorization code to the server, and the server transaction database is appropriately updated.
In an alternate embodiment of the system, the transaction request may include a request to purchase an amount of postage, an addressee data set, and wherein the server transaction database further comprises a pool of postage prepaid by said server, and an account register associated with said client, wherein the client transaction request operates to transfer the requested amount of postage from said pool to said client account register. Regarding authentication, the client may have a client public key, a client private key, and a client identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the client public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the client private key and client public key based on said hash. Similarly, the server may have a server public key, a server private key, and a server identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the server public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the seiver private key and server public key based on said hash. Thus, the authentication module utilizes the public and private keys of said client and server to perform the authentication.
Another aspect of the invention is directed to a method for conducting Internet based financial transactions. One such method includes: (a) providing a client having a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature;
(b) providing a server having a network including a transaction server, a transaction database, a server authentication module, and a receipt generation module;
(c) connecting the client to the server network via an internet connection;
(d) authenticating the client and the server to each other;
(e) issuing a transaction request from the client to the server; (f) in response to a client transaction request, executing an electronic payment transaction at the transaction server and recording the transaction in the transaction database, generating a receipt at the server receipt generation module, providing said receipt with the client digital signature and a data set uniquely identifying the executed transaction, and transmitting said receipt to the client; and (g) printing said receipt using the client printer, wherein the printed receipt is an evidence of payment for the executed transaction. In one embodiment, step (e) includes providing the transaction request with the client digital signature, step (b) includes providing the server with a unique digital signature, and step (f) includes providing the server digital signature as a part of the receipt. In a preferred embodiment, step (b) includes providing a single TCP/IP port connecting the first server to the internet connection with the client and limiting communications between the internet and the transaction server to client transaction requests identifying the single TCP/IP port.
Preferably, the method includes providing one or both of a third party seller and a third party credit facility, connected to enable the client to issue a request to purchase an item from the third party seller, e.g., and payment may be by a credit instrument.
In a preferred embodiment, step (d) includes providing the client with a client public key, a client private key, a client identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the client public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the client private key and client public key based on said hash; providing the server a server public key, a server private key, a server identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the server public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the server private key and server public key based on said hash; and using said public and private keys of said client and server to perform the authentication. Brief Description of the Drawings
Other characteristics, features, and advantages of the present invention will appear to a person of ordinary skill in the art, in view of the following detailed description, made with reference to the accompanying drawings, in which like reference characters refer to like elements, and in which:
Fig. 1 is a block diagram of an architecture of an Internet-based transaction system in accordance with a preferred embodiment of the present invention;
Fig. 1A is a diagram of the transaction and maintenance functions of the system of Fig. 1;
Fig. 2 is a high level diagram of an architecture of Fig. 1;
Fig. 3 is a block diagram of an embodiment of an RSP infrastructure of Fig. 1 ; Figs. 4A and 4B are representative digitally signed indicia for printing on mail pieces in accordance with the present invention;
Figs. 5A, 5B and 5C are respectively diagrams of cryptographic module functions for description of a key file, changing a password and key expiration of the system of Fig. 1A;
Figs. 6A and 6B are a block diagram of an authentication process for use in the present invention;
Fig. 7 is a block diagram of the architecture an authentication process of the system of Fig. 1 ; and Fig. 8 is a finite state diagram of the server cryptographic module of the embodiment of
Fig. 1. Detailed Description of the Drawings
Figure 1 illustrates a system including a customer (also referred to as a "client") 2n, a remote service provider (RSP) 4, and a third party seller of goods and/or services (TPS) 6. The letter "n" is used as a suffix to indicate "one of a plurality of n" such that there may be a plurality of n clients "2" in the system, but the discussion is generally for each client and extends to all clients, although not necessarily identically for each client. The client 2n has a Host system lOn and a PSD 20n which is resident on a server of RSP 4. The Host lOn accesses the remote PSD 20n via the Internet 30. Figure 1 also shows the relationship between a plurality of individual PSDs 20n, where n = i, j and k corresponding to three different hosts lOi, lOj, and 10k and customers
2i, 2j, 2k respectively, and a single master PSD 40. The master PSD 40 is responsible for all cash management functions with the TPS server/network 6. In the preferred embodiment, the TPS 6 is the IBIP infrastructure as defined by the U.S. Postal Service IBIP specifications, and the master PSD 40 maintains a "pool" of postage with which the individual PSDs 20n transact business.
Customer 2n transactions occur between the customer's PSD 20n and the master PSD 40 over a secure bus 50, at RSP 4. Postage purchase transactions and funds flow occur between the master PSD 40 and the Computerized Meter Resetting System ("CMRS") infrastructure 60 of the United States Postal Service Treasury (the "Treasury") as referenced in the published CMRS specifications, IBIP Postal Security Device Specification 6/13/96, refeired to herein as IBIP Finance infrastructure or TPS 6, by a private network connection 8. Each customer 2n also has a local printer 70n associated with each Host lOn for printing the postage indicium and reports as will be described.
The infrastructure of the RSP (or "server") 4 is preferably designed to address the following goals: (1) It will meet all Level 2 security requirements as defined in the aforementioned FIPS 140-1 and FIPS 186 specification, except for physical security because the transaction server(s) 180 on which the PSDs 20n and Master PSD 40 reside will exist on a protected segment behind a firewall 160 (see Fig. 2). Security measures are used to ensure that the transaction server 180 is physically accessed by highly trusted and authorized individuals only; (2) It will be scalable from zero to two million customers (n, n= 1 to 2xl06 customers); (3) Customer Host lOn requirements are a personal computer ("PC") with a 486 processor or higher, 8 Megabytes of RAM, a hard drive with at least 10 Megabytes of space available, a modem (9600 BPS or higher), a printer (laser, inkjet, or bubblejet), running preferably Windows95™, a web browser software, and an active Internet connection; (4) Non-print electronic transactions should be performed in less than five seconds; and (5) Print electronic transactions should be completed within thirty seconds.
Referring to Fig. 2, the infrastructure of RSP 4 can be broken down into several pieces: (1) A web server 150 that is used by customers for registration and client software download and is the apparent website; (2) A transaction server(s) 150 that serves as the transactional link between the customer's Host PC lOn and all RSP 4 functions; and (3) A series of database servers 170 that perform all of the RSP 4-related and TPS 6-required functions.
Referring also to Fig. 2, to protect the various components from unauthorized access and intrusion, the RSP 4 is provided with an inbound network 110 and an outbound network 130. The inbound network 110 allows a customer 2n to securely access the RSP web server 150. The outbound network 130 allows for the secure exchange of financial transactions executed between the customer 2n and the TPS 6 directly and/or indirectly through RSP 4. Network traffic in and out of these networks is controlled by a conventional inbound router 112 and an outbound router 132, which will operate to filter out all unauthorized traffic. In addition, a firewall 160 will be used on the inbound and outbound segments to examine each data packet transmitted for proper authorization. The secured portion of the RSP web server 150, i.e, that portion which is access protected by
10 passwords to authorized/registered users, will exist on a unique port 140 so that only traffic identifying that specific port 140 will be accepted. The transaction server(s) 180 will exist on a unique internet protocol ("IP") address(es) so that the outbound router 132 can filter out all traffic except to that address. The transaction server 180 will also be configured to handle IP traffic only. The outbound router 132 and the firewall 160 will filter out all other Internet protocols according to industry standards for such firewalls.
The RSP 4 also includes a series of data servers 170 (shown collectively in Fig. 2) that will be responsible for various dedicated functions. As the transaction server 180 receives a transaction request, the type of transaction is identified and processed using one of these servers as identified in the Table I below.
11 Table I - Transactions
Server Actions o
Transaction Transaction Master Server Payment Log Server 195 Postage Customer Credit Auth.
Type Server 190 300 Server 190 Server 450 Server 460 Server 400
Authentication 1. Verify 1. Provide 1. Log Provide client 2n to client customer Transactions customer server Signature public key information
2. Decrypt 2. Send client Transaction request Summary
3. Request to Log customer Server lookup
4. Decipher message
5. Validate customer
6. Send digitally signed and ciphered
Figure imgf000014_0001
message
O
H
CΛ o vo © o
Server Actions
Transaction Transaction Master Server Payment Log Server 195 Postage Customer Credit Auth.
Type Server 190 300 Server 190 Server 450 Server 460 Server 400 o
Purchase of 1. Verify 1. Increment Manage 1. Log 1. Decrement 1. Issue credit
Goods/services digital; customer Purchase Transactions Master check e.g., postage Signature PSD Process 2. Send Log to descending request of client ascending TPS (IBIP register 2. Receive
2. Decrypt register Infrastructure) 2. Request response client 2. Send postage 3. Send
Request Transaction from TPS response to
3. Send Summary (USPS) Purchase purchase to Log 3. Increment Server
Request to Server Master
Payment descending
Server register oo
4. Digitally 4. Send
Sign and Transaction
Encrypt Summary
Response to Log
5. Send Server ciphered message to
Figure imgf000015_0001
client
n
CΛ vo vo
© mi
©
VO VO
Server Actions
Transaction Transaction Master Server Payment Log Server 195 Postage Customer Credit Auth. OΛ VoO
Type Server 190 300 Server 190 Server 450 Server 460 Server 400
Refund 1. Verify 1. Increment Manage 1. Log 1. Decrement 1. Issue credit client customer Refund Transactions Provider check
Signature PSD Process 2. Send Log to PSD request
2. Decrypt ascending TPS (IBIP ascending 2. Receive client register Infrastructure) register response
Request 2. Send 2. Send 3. Send
3. Send Transaction Transaction response to
Request to Summary Summary Purchase
Payment to Log to Log Server
Server Server Server
4. Digitally sign and
Encrypt
Response
5. Send digitally signed and ciphered message to
Figure imgf000016_0001
client
0 O H
CΛ vo
VO
© o mi
VO vo
v© VO
Server Actions
Transaction Transaction Master Server Payment Log Server 195 Postage Customer Credit Auth. ©
Type Server 190 300 Server 190 Server 450 Server 460 Server 400
Print 1. Verify 1. Decrement 1. Create 1. Log client customer Indicia Transactions
Signature PSD 2. Create file 2. Send Log to
2. Decrypt ascending of Indicia IBIP client register 3. Notify Infrastructure
Request 2. Send Transactio
3. Send Transaction n Server
Request to Summary
Payment to Log
Server Server
4. Digitally sign and
Encrypt
Response
5. Send ciphered message to
Figure imgf000017_0001
client
o
CΛ vo vo
© mi o
vo vo
Server Actions
Transaction Transaction Master Server Payment Log Server 195 Postage Customer Credit Auth. Type Server 190 300 Server 190 Server 450 Server 460 Server 400
Address Change 1. Verify 1. Log 1. Update client Transactions Customer Signature 2. Send Log to Record
2. Decrypt IBIP 2. Send client Infrastructure Transaction Request Summary to
3. Send Log Server Request to Customer Server
Address Cleanse 1. Verify 1. Log 1. Cleanse n client Transactions Addresses Signature 2. Send Log to 2. Create file of
2. Decrypt TPS (IBIP addresses client Infrastructure) 3. Notify Request Transaction
3. Send Server Request to 4. Send Customer Transaction Server Summary to
4. Digitally Log Server sign and *0 Encrypt r- Response CΛ
5. Send ciphered
Figure imgf000018_0001
message vo
Scalability is maintained by allowing for multiple servers, particularly for the transaction 180, payment 190, and log 195 servers (multiple servers not shown). These servers will process the highest volumes of traffic because all transactions will pass through them. Preferably, various other software manufacturers will be able to develop and/or access both the printing and transaction management pieces of the system through a controlled set of Application Program Interfaces (API) for each customer 2n to operate the system using a conventional word processing or x-window motif program and the downloaded client software. Registration and Acquisition
In one prefeired embodiment, each customer 2n goes through a sequence of steps to ensure that the customer has been licensed and authorized to produce postage and that use of the Host system lOn can be strictly monitored.
With reference to Fig. 6, one such sequence of steps include the following. At step 201, the customer 2n uses the Internet browser software and an Internet 30 to connect to the web site server 150 of RSP 4. At step 202, the customer 2n fills out a registration form, e.g., an on-line form that collects the information necessary to register/license the customer. In the preferred embodiment, the user electronically fills out a Postal Service Form 3601 -A application, to enable the customer to purchase postage electronically.
At step 203, the customer 2n logs off, and at step 207, the RSP's web server 150 transmits the completed application to TPS 6 (e.g., IBIP Finance Infrastructure, also called
CMLS). At step 204, web server 150 creates a customer and at step 205 creates a public key and a private key pair for the customer record, and at step 206 a log of events for the customer is created.
At step 208, TPS 6 returns a "license" number to Web Server 150, which recreates a customer record at step 209 and updates the record at step 210.
At step 211, web server 150 generates a letter electronically, containing the customer's new Customer Number, the License Number, and a Password set. This letter is ported to a suspense file for someone to execute. The letter is then executed and delivered to the customer via regular mail. An alternate mode of conveying this customer specific information may be used, e.g., encrypted e-mail, voice or facsimile transmission.
17 At step 212, after receiving the letter, the customer uses its Internet browser again to connect to the RSP web server 150. The customer selects a SOFTWARE DOWNLOAD option at step 213, and is prompted for the customer number and password to enter the secured area of web server 150 at step 214. Once the customer password and identification is entered and verified, at step 215 the web server 150 retrieves the previously stored customer record. At step 216, the customer then downloads the client software program for operating the system, the internet protocol address for postal transactions, the public key/private key pair for the RPS 4, and the public key for TPS 6.
Using the client software, the customer's private key is encrypted using the password and stored at step 217, and then SETUP is run at step 218. SETUP extracts the client software; installs it on the client hard disk; updates the Windows® registry; and updates Word™ (or comparable word processing program) templates.
For enhanced security, the customer then enters a new password at step 219 and reencrypts the customer public key, private key pair with the new password at step 220. Certificate
During the Registration process, the web server 150 obtains and forwards the appropriate information to TPS 6, e.g., the United States Postal Service Certifying Authority for issuance of the user's certificate ("X.509") as required by Postal Service specifications. Preferably, the issuance of the Postal User Certificate X.509 from the United States Postal Service Certifying Authority will be accomplished in as near to real time as possible, because generally a postage value download to the user's PSD 20n will not be permitted without an authenticated certificate.
With reference again to Fig. 3 and to Fig. 6, after receiving the certificate and a license/registration number at step 216, the user 2n can then proceed to make a purchase, e.g., of postage. User 2n makes a purchase through a proprietary connection over the Internet 30 using the appropriate IP address as provided by the downloaded client software to connect with the RSP's Internet transaction server 180, utilizing a suitable form of payment, such as credit cards, electronic funds transfer, ACH debit cards, or checks.
Electronic payments are reported to the transaction server 180 which then transmits them to a specified financial institution for deposit. Upon receipt back of an authorization code, transaction server 180 then increments the user's descending register 21 in PSC 20n with the correct amount. The ascending and descending registers of each user 2n are stored
18 on the Master Server 300 at RSP 4. Under current Postal Service guidelines, the total maximum amount permitted in the descending register 21 is $500.00, but any value could be used, as well as no limit at all.
Checks used to pay for postage are preferably sent by the user 2n to a designated lockbox institution for processing in a conventional manner. When a user's check has cleared, the lockbox institution transmits an electronic authorization to the transaction server 180, which operates to transmit a notice to the user 2n of postage availability. The user 2n typically must then access the transaction server 180 to obtain the postage (which may have already been allocated to the user 2n and held in a suspense server 310) and server 180 operates the master server 300 to increment the user's descending register 2 In in PSD 20n by the proper amount and clear the register in suspense server 310.
In accordance with a preferred embodiment, a "pool" of postage preferably is purchased by RSP 4 from the TPS 6, i.e, United States Postal Service, and maintained in the master PSD 40 by the RSP 4. Postage is added to this pool when required (e.g., when purchased by RSP 4 or by decrementing the user's descending register 21n when the system software is uninstalled, returned, or otherwise credited), and is decremented when necessitated. Indicium
One of the advantages of the present invention is that postage can be purchased and effectively downloaded to the local printer 70 of the user 2n where it is printed onto an envelope or label as a virtual postage stamp. This virtual postage stamp is referred to as an "intelligent indicia 74" or more simply "indicia 74" and is evidence of payment for the postage that is locally printed and directly applied onto envelopes or labels via a printer 70n. See Figs. 4 A and B. Indeed, envelopes and labels can be printed singly, that is one at a time, or in a batch, or in groups as from a mailing list.
The Log Server 195 stores all data used for reporting, both internally to RSP 4 and to the TPS 6. The Log Server 195 also performs all audit functions. Results of these audits will be made available to TPS 6 and in the case of the postage embodiment, to various USPS agencies, as indicated in Fig. 2 as data management module 42 in RSP 4 and data management module 62 in TPS 6.
As noted, the master server 300 maintains a pool of postage and its own supply of cash from which refunds are given. It is desired in the postage system embodiment that
19 there be two types of refunds: full and partial. The refunds can be transacted by one of two methods: electronic or manual. Partial refunds are given for spoilage and similar reasons, including the destruction of downloaded indicia, typically prior to printing, due to customer hardware or client software failures. Full refunds are given to customers when the system client software is uninstalled. Electronic refunds are given when the user 2n has established an electronic payment pattern. Since the PSD 20n and all relevant customer information is maintained on the master server 300, no refunds will need to be given for failures or disk crashes in the Host system 1 On.
The client software portion of the system installed and resident on the hard drive in the PC of user 2n functions as the Host system lOn. The software encompasses a variety of functions, some of which are: maintenance of registration information for obtaining a user's license from the TPS 6 (postal service); printing of, e.g., a postal/service lease agreement; integration with existing word-processing applications for an API to print postage, e.g., when printing the envelope for a letter or a label for a package; processing of mailing lists; implementation of ZIP+4 address cleansing (hygiene); calculation of postage by mail-piece according to established postage rate tables; formatting of a mail-piece for proper printing; printing mail-piece on standard printers, e.g., in a Windows™ environment; and collection of purchase and refund request information. It is believed that it is within the abilities of a person of ordinary skill in the art to create client software instructions and APIs suitable to implement some or all of the foregoing functions as a matter of design choice.
A portion of the system software resident on the transaction server 180 of RPS 4 functions as the Postal Secure Device (PSD) 20n. This software portion, known as the Transaction Manager, encompasses many features and benefits to both the TPS 6 (e.g., United States Postal Service) and customers, as illustrated by Table II. Table II
Function/Feature USPS Benefit Customer Benefit
Secure purchase and storage Secure revenue stream Protection of postage of postage purchase
Creation of authorized Fraud detection, improve Efficient mail preparation and indicia efficiency of mailstream application
Logging and reporting all Ability to track postage Tracking of postage costs and
Figure imgf000022_0001
20 indicia purchases and detect fraud; their allocation within ability to detect variations in company mail flow (volume of mail, by piece count and weight) to schedule sufficient resources to collect and deliver mail
Processing of refund requests Positive customer support and Ability to recover funds lost cash management system through spoils, etc.
Processing of license Ability to track postage Expedient processing cancellations and revocations application population
Fraud detection and postal Revenue protection Detect theft or misuse of service notification product by unauthorized users
Figure imgf000023_0001
The system of the present invention can be considered as a combination of several components or modules which include: UI (user interface), Security, Printing, Financial Transactions, Communications, and Database Management. Each of these is designed to be in compliance with industry standards, discussed below. UI
The UI is preferably Microsoft Windows95™ Logo compliant although other operating systems also could be used, e.g., OS/2, WindowsNT, Macintosh, etc. To achieve this compliance, the UI may be built using Microsoft Visual C++ and MFC in accordance with Microsoft's published standards. Both screens and pop-up windows as defined by the Microsoft standard may be used. Security
The system's security features will use standard, publicly available NIST-approved algorithms. These are discussed below under security, authentication and authorization. Printing Any industry standard for the creation of a two-dimensional barcode or matrix code may be used for printing data as part of the indicium 74. The preferred standard is the Data Matrix Symbolizing - available from CiMatrix, Shawmut, Massachusetts (formerly known as International Data Matrix, Inc.). The rest of the printing functions are conventional, and do not have applicable industry standards. Financial Transactions
21 All purchase and refund requests will be digitally signed and encrypted for transmission from the host lOn to the transaction server 180. RC2 symmetric encryption standard key pairs (public key/private key) may be used to support such encryption and decryption. RC2 will be used to protect the nature of the purchase/refund request, which may include credit card information. RC2 is a well-known industry standard. RC2 is a product of RSA. RSA is an accepted vendor for these products according to the IBIP Indicium specification dated 6/13/96.
For credit card purchases/refunds the transaction from the transaction server 180 to the credit bureau 9 preferably will employ SSL3.0 (Secure Socket Layer) standard encryption for secure packaging of the transaction. SSL3.0 is an accepted industry standard for financial transactions across a TCP/IP network. Other suitable encryption standards could be used.
For check payments, a standard lock-box company will be used. Communication with the lockbox company will utilize industry standards. It should be understood that other encryption and decryption algorithms and techniques now or hereinafter in existence also could be used. Communications
The system requires an active connection to the Internet 30. The method for obtaining that connection is at the sole discretion of the customer. The term Internet also should be understood to include the world wide web, public and private networks and extranets supporting TCP/IP. Database
The RSP 4 server 180 will store all transaction, customer, and PSD information in one or more industry standard databases, each preferably being an SQL database, using an SQL Server. This product has been adopted as an industry leader in relational database technology, although other relational database technologies could be used, as well as nonrelational database technologies. Miscellaneous
The software design preferably employs industry standards for both the object and database modeling. The Booch methodology may be employed to produce an industry standard object model. The James Martin methodology may be used to generate the data model. Rational Rose v4.0 can be used to capture the data for this methodology and for its
22 output. ERWIN Data Modeler can be used to capture the data and generate the data model used by this product.
Host System & Postal Security Device Features and Functions a. Registration As already described, the customer 2n may initiate a registration process by entering the web site server 150 (Fig. 3), and selecting the "Registration" option. The customer is then presented with a screen that resembles the Postal Service 3601 -A license request form. This screen has entry fields for all pertinent address information (required and optional information) and graphical user interface "radio buttons" that allow the user to supply different addresses for shipping, billing, and the physical location of the PC of Host 1 On within which the downloaded client software will be resident. When the initial address is entered, all four addresses are stored. For example, the fields to be filled in on the initial address screen typically include: (1) Name, (2) Company, (3) Address (2 lines), (4) City, state, zip (allows for zip+4), (5) E-mail address, (6) Post office where large mailings would typically be deposited, and (7) State and zip for that post office. Items 6 and 7 permit the Postal Service to monitor anticipated mail flow and schedule staff and resources (trucks and planes) to accommodate efficiently the anticipated flow based on the amounts of postage electronically purchased and locally printed, with knowledge of the local postal offices, pick-up and drop-off locations. The screen also may contain an area to enter an existing "meter number" if the customer has had a registered postage meter in the past. The address fields are then checked for the existence of a PO Box address based upon finding one of the following references: PO Box, PO, P.O., P.O. Box, Box, or Post Office Box and may be cleansed in a conventional manner. See, e.g., the discussion of hygiene (cleansing) in Cordery U.S. Patent No. 5,454,038 assigned to Pitney Bowes Co.
The request is then submitted to TPS (CMLS) 6. When an approved license is returned from CMLS, a letter is sent to the customer by regular mail informing it of the license number, a customer number, and a customer password. b. Software Acquisition The client software is downloaded to the customer's Host system lOn from web server 150. The download is facilitated by state-of-the-art Web technology and data compression. The download operation is secured using SSL v3.0 technology.
23 The customer 2n enters the download area of the web site 100 and is prompted to enter the assigned customer number and customer password. These entries are checked against the customer record in the Master Database 305. If the customer number and password are valid, the download will proceed. In addition to the client software, the customer 2n will receive a public key and a private key pair file in encrypted form from the web server 150. The keys will be stored on the Host 10 in an encrypted form. The private key is decrypted by the customer password. This private key is then used by the customer 2n and the client software for creating a customer digital signature and for decryption. Since the web server 150 has the corresponding public key, (the server 150 generates the key pair provided to the registered user 2n) the server 150 can use the customer's public key to verify the user's digital signature and to encrypt the indicia 74 (or other data) for downloading to the customer 2n. c. Software Installation
Using a standard Windows location selection dialog, a user can select the drive and directory location for the software, enter a new directory, or use a default location supplied by the downloaded software. After a successful installation, the customer is prompted to enter a new password to protect the Host system 10. d. Postage Value Download
A function allows the user 2n to purchase postage from the RSP 4 transaction server 180. It is initiated by selecting a "Purchase Postage" screen in the client software. The screen displays the maximum postage that can be purchased, any fees associated with this purchase, which are charged by RSP 4 or TPS 6 as the case may be, and the total cost for the purchase. The customer 2n must enter an amount of postage to purchase and select a method of payment. The methods of payment are preferably shown with "radio" buttons and include credit card, ACH debit, and check. The default payment is preferably by credit card and the credit card input area is activated.
The customer then initiates transmission of all of the purchase information (e.g., addresses, purchase amount, and credit check information) via the Internet 30 to the web server 150, which passes on the transaction request to the transaction server 180. When the Submit radio button is pressed, all customer information is digitally signed and encrypted and packaged with the purchase amount. A connection over Internet 30 is established with the web server 150 and the transaction related information is then transmitted. Because the
24 transmission has the appropriate IP address for the transaction server 180 it will be directed by web server 150 through the firewall 160 to transaction server 180, where the transaction will be executed. If a connection cannot be made with the web server 150, then control is passed to an Unable To Connect Error. When the web server 150 responds, the text message received from the server 180 is displayed in the main message area at the top of the screen of the user's Host lOn. Possible responses include Purchase Complete, Incorrect Credit Card Information, Purchase Pending, or Credit Denied. If a Purchase Complete or Pending message is received, the descending register 21 (Postage Remaining field) specifically associated with the customer 2n in the PSD 20n is updated with the new value from the transaction server 180. The actual PSD registers 20n remain on the master server 300; the Host 10 merely displays a copy of the PSD 20n register 21 values.
If the connection with the web server 150 is dropped and cannot be reconnected, then control is passed to the Connection Lost Error. Typically, three (3) communication attempts will be initiated by Host lOn to reconnect with the web server 150. If the connection fails then the process is aborted. e. Credit Card Payments
If payment is by credit card, the card expiration date is checked. If the customer provided credit card expiration date is earlier than the current date, control is passed to the Expiration Date Error. If credit is denied, an error message is displayed on Host lOn and the credit card information is cleared. If credit is approved, control is passed to the main screen and an appropriate message is displayed in the standard message box of Host 10.
After the user fills out the entire field on the purchase screen and selects a submit radio button, the transaction server 180 immediately constructs a new purchase request object base from these field values. After the transaction server 180 receives the purchase request, it interacts with the following servers to execute the transaction:
1. Security server 315 (to verify the user's digital signature and to decrypt the transmitted file)
2. Purchase server 190 (after the purchase request object is deciphered by the transaction server 180, it passes to the purchase server)
25 Credit card requests are transmitted to the web server 150 by the client, forwarded to the transaction server 180, and then to a payment server 190, a credit authorization server 400, and to a remote credit bureau 9 such as to First Data Merchant Services ("FDMS"). The credit authorization server 400 is responsible for connecting to the credit card bureau 9 and getting approval: A "result" code is passed back to the purchase server 190 to indicate whether the credit card has been approved or not. For example, 0 means on the credit link is down (after 3 attempts), 1 means the credit card was rejected, and 2 means the purchase is approved. / Check Payments
If payment is by check, the check number is sent to the web server 150 and purchase server 190 along with the information listed above. The response from the purchase server 190 will include a customer number. When the response is received at the Host lOn from the transaction server 180 then control is passed to the Remittance Pop-Up Window.
Check purchasing is very similar to credit card purchasing. The difference is that the purchase server 190 does not need to go through the credit authorization server 400 to obtain any credit approval and typically has a suspense server 310 to enable check processing prior to issuance of postage. Because the check purchasing cannot be validated right away, the purchasing server 190 invokes the Persistence Service and Database Service to update the database record, logging the transaction and updating the descending register in the PSD object. See Logging 196; Customer PSD 200 (increment); Master PSD 40 (decrement) in Fig. 3. g. A CH Debit Card Payments
ACH debit card can be provided primarily for customers that would prefer this payment modality. Prescheduled payments (or wire transfer) that would trigger purchase could be based on known volumes or peak and valley demand requirements and easily implemented. h. Refunds
Customer requests for refunds can be initiated by selecting an appropriate Refund radio button. The user must select the type of refund requested: full or partial. If the user selects a partial refund, the amount of refund requested also must be entered. The amount
26 the user enters, when added to the existing refund register, typically cannot exceed some percentage, e.g., 1%, of the current ascending register 22 for that customer. If the amount entered does exceed this amount then control is passed to the Spoilage Limit Error and the refund amount requested can then be changed. The customer then must enter in credit card, debit card, or check information so that the appropriate account can be credited or a check can be issued. The user presses the Submit button to submit the request to the web server 150 and then to the transaction server 180. For a spoilage refund, a copy of the updated descending register 22 is received from the server 180. The actual descending register 22 is updated on the server 20n. The customer user presses the Cancel button to cancel the request and return to the
Help screen. A request for a full refund will result in the termination of the customer account with the third party service provider 4 and the deactivation of downloaded client software from the Host lOn. If the credit card entered does not match a credit card used for a prior postage purchase then an error message is displayed and the user must enter data for the appropriate credit card.
/. Transaction Complete
In each of the foregoing transactions, once a transaction is completed, transaction server 180 creates a response transaction which is digitally signed with the digital signature of the customer 2n requesting the transaction, encrypted, and sent to the Host lOn confirming the success or failure of the transaction. The host then updates its local information to reflect changes in postage available. j. Configuration
A configuration feature is desired to allow the user to change the configurable settings for the Host 1 On system. It is initiated by selecting a Configure screen including radio buttons for selecting the method of logging postage usage and the address cleansing method. The screen also may contain two postage threshold entry fields and a drop-down list box for selecting a printer 70n. The user 2n is required to make selections for certain settings in a conventional manner. Optionally, log postage can be selected, which the user can use for accounting purposes. Postage usage will differ from the indicium, which is always logged on the Log Server 195. The Log database 196 DB is used to track all transactions between customers and RSP 4. The central database 197 is a staging server used to create data files for transmission to TPS 6, e.g., USPS. The indicium 74 represents
27 a unique identifier that is digitally signed for each mail piece. Logging postage usage would store a log of the address of each letter or label, the date printed, and the amount of postage for that mail piece in a log database 196. This information may or may not be unique because multiple letters could be sent to the same address on the same day. The indicium 74, however, will always be unique and digitally signed. Logging postage usage is the default.
The user also will typically choose a method by which addresses will be cleansed (also referred to as hygiened) as well as the printer 70n to be used by the system. Cleansing addresses refers to the conversion of all entered addresses to a United States Postal Service standard format, including ZIP+4 prior to printing the mailing envelope or label. CD-ROM cleansing is the default, where it is done at the Host lOn. An alternative choice is to perform cleansing via the web server 150. The user can change this selection via a standard drive selection list-box.
Any suitable printer 70n may be used, for example a Postscript printer or Windows- compatible printer.
The Password button can be used to change the password entered during registration. There are also a number of addresses that are required by the system. These addresses are maintained by pressing the Addresses button. Other optional settings are the default amount for purchases, as well as the amount at which a low postage warning is triggered. An error is raised if either amount is greater than the maximum amount of postage allowed. k. Print Postage
The print postage feature allows the user 2n to print postage onto a selected envelope or label or a series of envelopes or labels (e.g., an array of labels as exist on a preprinted label form). It is initiated by selecting the Print Postage Screen on the main screen. The screen contains a button for entering a single address and a standard file selection area for selecting a mailing list. The screen also displays radio buttons for class of mail service and the method for calculating postage. The defaults for these are first class, and fixed price (set at $.32). The user 2n must indicate whether a Single address or Multiple addresses will be printed. This is accomplished by pressing a button for a single address or by selecting a Mailing List file. A Mailing List is selected by selecting the name of the appropriate
28 mailing list. Once a single address has been entered or a mailing list has been selected, a drop-down list box is activated and populated with the appropriate address(es).
Additional information may be required such as the Class of postage by which the mail piece(s) will be shipped and the method of calculating the postage. The system may be established so that the user selects Calculate Weight, whereupon the number of sheets of paper being mailed and a paper weight (as indicated on the paper packaging (e.g., envelope, box, etc.)) are entered. A suitable application will then calculate the total weight by referring to an algorithm resident in the downloaded client software, for example, multiplying the single sheet paper weight by the number of sheets indicated. The result is then added to the weight of the packaging (e.g., an envelope) via a table look-up. The postage for that weight and class is then determined and the list of addresses is updated.
All downloaded client software and tables, including postage rate tables, may be updated each time the user Host 10 connects to the web server 150. The RSP 4 also may have the current rate table available on-line to registered users 2n for a reference. In addition, all indicia 74 (i.e., for each piece of mail) shall be logged on the server 195 whenever a print request is made by a user 2n, whether the print request is for a single piece or multiple pieces for a mailing list.
With respect to maintaining logs databases 196, 197 of indicia files on the transaction server 180, it is expected that the United States Postal Service will permit these files to periodically be offloaded onto tape, or otherwise transmitted periodically. See, e.g., Fig. 1A, the reference to "batch" connecting data management functions 42 and 62.
If the total postage for the job exceeds the postage available then system control may be automatically passed to the Insufficient Postage Error and then to the Purchase Postage screen. Once all information is entered, the complete list of addresses and their corresponding postage will be available for review in a drop down listbox. Pressing the Change Postage button can change postage for individual entries when that entry is highlighted. Conventionally only one entry at a time can be changed. Control is passed to the Single Address Entry Pop-Up. If the postage entered for a fixed amount is less than $0.16 then control is passed to the Invalid Amount Error. Postage can be applied in fractional amounts down to three (3) decimal points. Of course, the postage amount can be adjusted as permitted by the USPS. It should be understood that the present invention may
29 be adapted for use with any carrier service other than, or in addition to, the US Postal Service by modifications that can be made by persons of ordinary skill in the art.
Preferably, the system permits the user to preview a single envelope or label by pressing a Print Preview button. This will cause the return address, the mailing address, and a bitmap of a sample indicium 74 to be displayed as it would appear printed. Pressing this button will pass control to a standard Print Preview screen. If the user wishes to print the entire list, the Print All button is selected. Pressing Print All causes a connection to be made to the web server 150 and a file of addresses sent. This file is digitally signed by the client Host lOn for the transaction server 180 to verify. On the transaction server 180, the digital signature on the file will be verified by validation (also called the security) server 315, each address will be extracted individually and the contents of that address, along with additional information, will be used to create both the human- and computer- readable parts of the indicium 74. See indicium generation 43, Fig. 1A. The postage rate table used is checked to see if it is current, and the postage amounts are recalculated if needed. The contents of the indicium are then hashed (MD5) into a message format and the resulting message is digitally signed by transaction server 180 using the well-known DSA. The indicium is then encrypted for the client to decrypt. The indicium is encrypted to prevent unauthorized capture of the indicium. An unencrypted indicium could be captured, printed, and entered into the mail stream prior to it being obtained by the authorized customer. The results of this process are sent back to the Host lOn for formatting and printing.
As each indicium 74 is hashed, the appropriate postage amount is deducted from the customer's descending register 21n on PSD 20n located on the master server 300. A copy of the updated PSD register 2 In is then downloaded to the Host lOn for display to the customer 2n. Once the Host 1 On has successfully received the indicia, the connection to the web server 150 can be terminated. A server connection is not required during the physical printing process. The number of indicia that can be downloaded and printed at one time is limited only by the amount of disk space available on Host lOn. Each indicium will typically consume 2K of disk space for the aforementioned two dimensional matrix codes and data. The following information is then printed on the envelope or labels: Return
Address (optional) 71 (previously entered during registration or changed via Configure), mailing address 72 (obtained from list), graphic image 73 (if selected via page setup
30 screen), and indicium 74 (constructed when "print all" is pressed). See open system pc- based indicium printing 23 on Fig. 1A and Figs. 4 A and B. For example, one proposed indicium 74 is illustrated in Fig. 4A, which, among other things, conforms to the specifications in the Domestic Mail Manual - P050, dated September 19, 1996. A Test Print Quality button also may be provided. Pressing this button causes a sample envelope to be printed. This envelope can then be mailed to the RSP 4 as a quality assurance test of the user's Host lOn system and printer 70n . See Fig 1A mail plan audit 41 This button is preferably rendered inactive, except when the Quality Assurance (QA) Date stored is more than three (3) months prior to the current date. In that case when the Test Print Quality button is pressed an envelope is produced and the QA Date is set to the current date.
/. List Management
A List Management feature is preferably provided which allows users 2n to create and manage mailing lists within the Host lOn and is initiated by selecting a Manage Mailing Lists screen. Optionally, the user 2n can choose to import a mailing list from a non-Host system file, and the system will preferably will support a number of mailing list formats. Once the file is created via an import it can be automatically sent to the cleansing function, either CD-Rom or on-line, edited, cleansed again if appropriate, saved if desired, and set up for postage purchase. m. Postage Correction
A postage correction feature allows the user to print a correction indicium in the event that the postage amount or the postage date is incorrect. It is initiated by selecting a Correct Postage screen and choosing the appropriate correction for a postage amount or a postage date. Invalid information will be identified once valid information is provided. A connection is made to the RSP 4 server 150 and the correction transaction is validated. Notification is sent to the Host system lOn and the user is informed whether to place the envelope back in the printer 70 in the same direction as the first printing or to reverse it before printing. Security The present invention advantageously uses the internet 30 connection for registration, client/server authentication, transmission of credit card information, transport of indicia, requests for refunds, change of personal/address information, and the exchange
31 of addresses for cleansing. Each of these transactions will require different types of security to ensure the safe exchange of information between the Host lOn, PSD 20n, and printer 70n. Conducting financial transactions over an unsecured channel such as the internet 30 requires the use of cryptographic modules. In the present invention, each client 2n has a cryptographic module 12n and the RSP server 4 has a cryptographic module 14. The server cryptographic module 14 serves three functions: (1) authentication, (2) encryption, and (3) authorization. Authentication is the only function that requires interaction with a client cryptographic module 12. This is discussed below.
The physical architecture of the system of the present invention was designed to ensure that all access to the system is through secured and monitored points. The entire system that is at RSP 4 will reside on a private network and the transactional portions will be connected through a firewall 160 to the internet 30. Firewall 160 will be configured to restrict all network traffic to a single TCP/IP port 140. All packets received by the firewall 160 on the specified port will be routed to a Transaction Manager (i.e., transaction server 180. It is noted that the actual implementation may have a plurality of transaction servers 180n, and routing a given packet to a transaction server 180 may be based on an address field in the packet or on a first available server, as the case may be. Once a transaction server 180n receives the packets that request a socket connection, a socket connection will be established. The transaction server 180 will immediately require that each particular connection authenticates a client 2n, or the connection will be dropped. To ensure this safe exchange, the implementation of security uses the following assumptions:
The host lOn and PSD 20n functions will not reside on the same machine. The PSD 20n functions will not be stored in a separate hardware device connected to the customer's PC. The Host lOn will exist on the customer's PC and the PSD 20n will exist on the RSP 4 network infrastructure. The Internet 30 will be used to interconnect a customer's host lOn and printer 70n with the PSD 20n. All transactions between the Host lOn and the PSD 20n will be encrypted. All transactions between the host lOn and the PSD 20n will be digitally signed. All indicia 74 will be digitally signed. All indicia 74 will be encrypted for client lOn to decrypt prior to printing. Prior to initiating a transaction, both the client lOn and the provider transaction server 180 will authenticate each other. A customer's actual existence and proof of valid physical address will be initially established by sending the system license and registration information to the customer by mail. All cash management
32 functions will be performed within the treasury component of the RSP 4, namely, payment server 190, separate from the PSD 20n functionality.
The following discussion describes a preferred security model to be implemented. The downloaded client software performs all Host 1 On and printer 70n functions, as defined by the appropriate IBIP specifications. The transaction server 180 performs all of the PSD 20n and TPS 6 infrastructure and support functions, as outlined by the IBIP specifications. Each client 2 and server 4 is comprised of its own cryptographic module 12 and 14, respectively. For authentication and key expiration/regeneration the two modules 12 and 14 interact. a. Client Cryptographic Module Security
The cryptographic module 12 is used to authenticate the customer 2n to the TPS 4 (hereinafter also referred to as "server 4"), the server 4 to the client 2n, and to manage the authentication key pair (public key/private key) that exists on the client 2. The main function of the client cryptographic module 12 is to protect the customer's private key from both intrusion and corruption. The customer's private key is used to authenticate the client 2 to the server 4.
To protect from intrusion, the private key is preferably stored on a diskette (designated A: or B:) in a ciphertext key form. The ciphertext key is decoded when the customer enters their password. Thus, the plaintext form of the private key exists only in RAM. When cryptographic operation is completed, the plaintext key is zeroized.
To ensure the integrity of the private key, a hash of the key is concatenated to the key prior to creation of the ciphertext key. When the ciphertext key is decoded, the key is hashed and compared to the stored hash to determine the key's integrity.
The components of the client cryptographic module 12 are: Client Private Key, Client Public Key, Server Public Key and Customer Identification Number.
The algorithms used by the cryptographic module, each themselves well known, are: (1) RSA, (2) MD5 and (3) RC2.
The system is designed so that client 2 needs to provide no physical security to protect the cryptographic module 12. This is because no key is stored in plaintext form and the decryption process is performed only when needed. After a key has been used it is zeroized in memory. At no point are the keys and/or password accessible on the hard disk in a plaintext foim.
33 i. Description of the Client Cryptographic Module
The cryptographic module 12 preferably exists within the context of what is called a CryptoManager. The CryptoManager is preferably a C++ object stored as a statically linked DLL. When the client software is loaded into memory, it will create an instance of the CryptoManager object. By statically linking the CryptoManager Object to the Client, it can be assured that no other program has access to the DLL, hence protecting the CryptoManager' s services.
The most important responsibility that the CryptoManager assumes revolves around protecting a file known as the Key File. The Key File will contain the necessary information to uniquely identify and authenticate a client 2n to the server 4. It is composed of four items. 1) The Client's Public RSA Key; 2) the Client's Private RSA Key; 3).the
Customer Identification Number; and 4) A Digital Hash of 1, 2, and 3. ii. Key File Download
Referring to Figs. 5 A-C and 6 A & B, the server 4 generated key file is made available to the customer after a successful registration. The customer 2n is mailed a letter containing instructions on how to download the key file, a user name, and two passwords.
One password is used to logon to the web server 150, establish an SSL 3.0 session, and acquire the user's unique key file. The second password will be used to decrypt the contents of the key file. iii. Key Integrity/Protection
In order to ensure integrity of the plaintext key, a hash is embedded inside the key file. The whole file is then encrypted with RC2 using a key derived from an MD5 hash of the user's password.
Referring to Figs. 5 A-C, when attempting to open the key file, the user's password 501 in ciphertext is converted into a 160-bit MD5 hash 503. The first 64-bits of the hash is used to both encrypt and decrypt 504 the key file. After the key file has been successfully decrypted, the integrity of the contents must be ensured and another hash of the key file is calculated 507. This hash 507 of everything contained in the key file (public key, private key and user identification number) with the exception of the hash value stored at the end of the file. The resulting hash is then compared at 509 with the hash at the end of the file
34 501. If the values match, the plaintext key from decrypted 504 is loaded into RAM memory. The user's password (503) is not stored, iv. Key Renewal The key file is preferably provided a mandatory life span that will be enforced by the Host lOn's cryptographic module 12. After a designated period of time, the Host lOn will open an interface 530 that will require the client to re-generate a new pair of public and private keys 532. The client will generate a new key, using a standard Microsoft Crypto API™ function, calculate a hash of the key file, encrypt the key file using the first 64 bits and store the generated key pair as ciphertext keys 535. The client 2 will then send the new public key to the web server 150. The client cryptographic module 2 will authenticate with the cryptographic module 14 of server 4 to verify that the key-renewal process was successful. v. Password Change
Typically, the user will be required to change the password the first time it runs the downloaded client software. The user can also change the password at any time after the initial requirement. The crypto-manager will expose an interface 520 that allows the client to perform this task. The interface will require that the user provide both the old and the new password 521. Once the password has changed, the key file will be decrypted using the old password and then encrypted with the new password 522. The key is stored as ciphertext 523 and will not be in plaintext form. vi. Authentication
The authentication service is responsible for authenticating each client 2n with the server 4. As illustrated in Fig. 7, a sequence of three messages is transmitted between the client 2n and the server 4. Espu refers to RSA encryption using the server's public key. Ecpu refers to RSA encryption using the client's public key. In the case where the client 2n fails to authenticate with the server 4, the authentication protocol is terminated and the communication link between the client 2n and server 4 is severed. If the client 2n is able to successfully authenticate with the server 4, then the session keys exchanged and established during authentication can then be used to encrypt communications between the client 2n and server 4. Authentication is discussed more fully below in connection with server 4.
35 vii. House Keeping
After authentication, the client 2n executes a HouseKeeping Service. This
Housekeeping service is responsible for notifying the client software of any new postal table information or changes and of key expiration events. The HouseKeeping Service queries the server 4 to ensure that current keys have not expired. If the keys are about to expire the client 2n will issue a command to renew the keys and a new public key will be sent back to the server 4. The client 2 must then re-authenticate with server using the new keys. If the keys have not expired, then the HouseKeeping Service will check the postage rate tables. If the postage tables need to be updated, the client 2 will submit a request to server 4 for new postage tables. If the keys have not expired and postage tables do not need to be updated the HouseKeeping service exits. viii. Finite State Machine
With reference to Fig. 8, the finite state model defines a preferred set of system access rules. The model defines secured and unsecured states and all state transitions. When the client software is executed, the client cryptographic module 12 initially enters a Self-Test State 910. The Self-Test State 910 is when all self-tests are performed. If all self- tests pass successfully the module proceeds to enter the Un-Initialized State 920, otherwise the module will enter into the Error State 950. When a client 2 to server 4 transaction is initiated, the cryptographic module 12 enters the User State 930 and/or the Crypto-Officer State 940 as described below.
The Error State 950 indicates that an unrecoverable error has occurred. If the module 12 enters the Error State, the module will no longer perform cryptographic functions. If keys are loaded into the module 12 when the cryptographic module enters the Error State, all keys will be cleared from the module. The Cryptographic module 12 enters the Un-Initialized State 920 after the Self-Test
State 910 has completed and no errors have been reported. No keys are loaded into the module during the Un-Initialized State and therefore no cryptographic functions can be performed. If the cryptographic module attempts to perform cryptographic functions while the module is in the Un-Initialized State 920, the client software will first check to make sure that a key file is present. If no key file is found, the module will prompt the user to register the software and download a key file. If a valid key file exists, the user is
36 challenged with a password. The password is used to attempt to open the file. If the password successfully decrypts the key file, the cryptographic module enters into the Key Entry State 960. If the password is not able to successfully decrypt the key file then the module remains in the Un-Initialized State 920. If the key file has been corrupted or compromised then the module enters the Error State 950.
In the Key Entry State 960 the cryptographic module 12 loads the keys obtained from key file. The Initialize function of the Crypto-API library is used by the cryptographic module as a means of initializing the crypto-context with the keys.
The User Services State 930 is used to perform all cryptographic functions, not related to key management, which are performed by the cryptographic module 12. As soon as a key-related function is complete, the plaintext keys in memory are zeroized and the module enters the Un-Initialized State 920.
The Crypto Officer State 940 is entered only when the key file needs to be updated. This will happen either when the user changes the password or when the current RSA keys expire and need to be changed. The server 4 during authentication will trigger replacement of expired keys.
The Idle State 970 illustrated in Fig. 8 is used in the server cryptographic module 14 discussed below, but not in the client cryptographic module 12, which either works or does not work, but does not remain idle. b. Server Cryptographic Module Security
The server cryptographic module 14 of server 4 is responsible for protecting two categories of data. These two categories are Cryptographic Keys, and the transactional PSD 20n Registers 2 In and 22n. In addition, the server cryptographic module 14 will be responsible for managing all "certificates" that exist on the server 4. All of these data items have been placed within the server cryptographic module 14 and are protected by its security policies.
In addition to protecting sensitive data, the server cryptographic module 14 runs many security services. These services include client authentication, key management and PSD management. The security services are governed by policies that dictate who can access them and what data they can control.
The client 2 has no direct control over the services performed by the server cryptographic module 14. All services performed by the server cryptographic module 14
37 are under the direct control of a Transaction "Manager" server 180. Once the client 2 has been authenticated, it submits a transaction request to the transaction server 180 and waits for a response. It now becomes the job of the Transaction Manager to process the transaction and return a "receipt" to the client 2. All transaction "receipts" will contain a date/time stamp, and a sequence number and a digital signature to verify the authenticity of a transaction in relation to other similar transactions. For a given customer 2n, the sequence number will increase by one each time until a threshold is met, e.g. ,10,000, at which point the counter will reset to 1.
The Transaction Manager embodies the logic required to complete a transaction while enforcing the security and integrity of the server cryptographic module 14. Based on the authenticated user 2n, the transaction requested, the date/time stamp, and the sequence number, the Transaction Manger would determine whether the requested transaction is valid. The Transaction Manager will complete the transaction by sending a receipt, including a digital signature as evidence of payment for the transaction, back to the client 2n. In the case of the postage purchase system, the receipt is the indicium 74, which includes the foregoing and the postage related information (addresse, postage amount, etc.). The Transaction Manager server 180 also is responsible for performing non- cryptographic functions. For example, address cleansing, credit approval and customer profile changes, which are performed by transaction server 180, do not require the use of cryptographic functions, and are therefor considered outside the realm of the server cryptographic module 14.
The server cryptographic module 14 serves three essential functions authentication, encryption and authorization. Authentication is the only function that requires interaction with the client cryptographic module 12. This interaction is secured in a manner described elsewhere. i. Physical Security
The physical security of the server cryptographic module 14 will be protected by measures taken to securely house the server 4, and its backup, preferably in a locked and guarded site. All servers will be stored in locked cages that will be accessible only to the system's administrator. Access to the building housing the servers will be limited to authorized personnel only. In addition, a TIS firewall 160 will be used to protect the single
38 port 140 that will be available to the Internet 30, and restrict traffic entering the server segment to TCP/IP packets only. ii. Cryptographic Module Data
The server cryptographic module 14 manages cryptographic keys, certificates and PSD registers 21, 22. All sensitive data is stored in a Secure SQL Server Database and protected by SQL Integrated NT security. See Fig. 3. The Secure SQL Server database
305 is considered a part of the server cryptographic 14 module and may only be accessed by the cryptographic module. iii. Cryptographic Keys
The Cryptographic keys are utilized by the cryptographic module 14 to perform two main functions, authentication and indicium generation. The cryptographic module stores the following keys. Client Public Authentication Keys (RSA) A Client Public Authentication Key exists for every registered user. They are used to prove the client's identity when it attempts to establish a connection with the server 4. This will be typically a 1024 bit key. Server Public/Private Authentication Key Pair (RSA) Only one pair of Server Public/Private Authentication Keys exists on the server 4. These are used to prove the server's identity when the client 2n attempts to establish a connection with the server. This will be preferably a 1024-bit key. Client Private Indicium Keys (DSA) A Client Private Indicium Key exists for every registered user 2n. It is used to generate the digital signature required to produce an indicium 74. This will be a 1024-bit key. Server Internal Private Key (DSA) This key is used to sign data that will be used to communicate with the TPS 6, in this embodiment, the USPS. This will be a 1024-bit key. iv. Certificates
Certificates are data structures that bind public key values to subject identities. The binding is achieved by having a trusted Certification Authority (CA) digitally sign each certificate. By verifying the Certification Authority's signature on the certificate, one can be confident that no substitution of the information within the certificate has taken place. There are two classes of certificates used by the cryptographic module 14. The first class is the ITU-T X.509 standard (formerly CCITT X.509 (referred to as the X.509 certificate)). The second is a USPS IBIP deviation that does not use the ASNJ encoding scheme, and
39 has very few fields in order to minimize the required storage space for the certificate. This second certificate is reserved for the PSD 20n.
The certificates used by the cryptographic module 14 essentially complement the private keys described in the above section with the exception of the Server Authentication Keys. The Client Indicium Certificate is the data used to generate the digital signature of the indicium. The actual signature is signed with the complementary key of the certificate's public key. This way, based on the contents of the certificate, an exterior entity can verify authenticity of the generated indicium 74. The Server Certificate is used by the USPS to confirm the server's identity. The USPS requires that the server 4 periodically communicate with it to transfer information regarding postage sold. This certificate is used to ensure safe delivery of this information. The Certification Authority Certificate issued by the Certificate Authority allows the server 4 to verify messages sent by various other parties that have been certified by the same Certification Authority.
The X.509 Certificate is the current standard for digital certificates, and it defines the following fields:
1. Version: For forward and backward compatibility.
2. Serial Number: An integer that, together with the CA's name uniquely identifies this certificate.
3. Signature: Specifies the algorithm used to compute the signature on the certificate.
4. Issuer: Name of issuer of the digital certificate.
5. Validity: The time duration and period for which the certificate is valid. 6. Subject: Name of entity whose key is being certified.
7. Subject Public Key Information: Entity's public key.
8. Issuer's Unique Identifier: Optional, uniquely identifies the issuer of this certificate.
9. Subject Unique identifier: Optional; uniquely identifies the subject of this certificate.
40 10. Algorithm Identifier: Same as Signature.
11. Encrypted: The actual digital signature generated by the algorithm specified in field 3.
Field 3 is typically used for encryption algorithms, such as DSA or RSA. They operate on the basis of having two unique keys: a public and a private key. Signing an item with a private key means having the ability to verify it only by using the corresponding public key. The private key is securely kept in a location that is only accessible to its intended users; knowledge of someone's private key means having the ability to impersonate them. The public key is made publicly available to all individuals wanting to verify an item that is digitally signed by the user. The public key is made available in the X.509 certificate (field 7).
For example, if user A wanted to verify the digital signature of an item issued by B, user A would request that B send an X.509 certificate. User A can then verify the authenticity of the X.509 certificate by looking at the digital signature contained as part of the certificate (field 11). If the certificate were issued by a trusted third party (Certificate Authority) such as the USPS then user A would already have the USPS X.509 certificate. User A would first extract the USPS public key from the X.509 and use that to verify the signature in B's X.509 certificate. If the signature verifies then the X.509 certificate is authentic (or at least according to the USPS), user A can then extract B's public key from the X.509 certificate and similarly verify the digital signature of the item issued by B. User A can then optionally store B's digital certificate.
The implementation of the software is in accordance with the IBIP specification document. In the registration process, a new user 2n would contact the server 4 with information that uniquely identifies him/herself. The client's host 10 would generate a pair of public/private key pairs and would send securely the public key up to the server 4. The server 4 would then take the public key information and send that along with any other necessary information to the USPS in order for the TPS 6 USPS to generate the user's X.509 certificate. The host 10 would print out a written agreement that will be hand signed by the user 2n of the system and mailed to the TPS 6 USPS . When the USPS receives the signed agreement it will then generate the X.509 and send it to the server 4. The server 4 will in turn forward the certificate to the host machine 10.
41 An alternate system would provide the server 4 as a trusted third party (Certification Authority). The USPS can then utilize the server 4 public key to verify authenticity of printed indicia. A printed indicium can be associated with the third party provider 4 who issued the certificate by checking the issuer's name field, v. PSD Registers
The PSDs 20n are the devices used to track how much postage both individual clients 2n and the server 4 own. The PSD 20n contains ascending and descending registers 21n and 22n that keep track of the total amount of postage a user 2n has spent and owns. The server 4 maintains a separate PSD 20n (indicated by a letter subscript "n") for each registered customer. This keeps track of the total amount of postage each customer owns and has spent. The server 4 also maintains a master PSD 40 with ascending and descending registers that keep track of the total postage it owns and has sold.
The following Table III is a summary of the data typically maintained within the cryptographic module 14.
Table III
Cryptographic Keys Certificates PSD Registers
Client Public Clientn Indicium Client PSD 20
Authentication Key Certificate
(RSA) Master PSD 40
Server
Client Private Certificate
Indicium Key (DSA)
Certification
Server Public/Private Authority
Authentication Keys Certificate
(RSA)
TPS 6
Server Internal Certificates
Private Key (DSA)
Figure imgf000044_0001
42 vi. Server Cryptographic Module 14 Services
Authentication Service
The authentication service is responsible for ensuring that only authorized users 2n have the ability to submit transaction requests. It will utilize the client's public authentication keys to perform the user validation. Upon successful authentication the transaction manager (server 180) will handle the user's transaction request.
Key Management Services
The Key Management service will be responsible for key generation, expiration, archiving and distribution. These operations are performed on cryptographic keys and certificates. There are three levels of authority involved in key management. They are the server, client and the Certification Authority (CA). The details of how/why these keys are generated can be found under the Key Management section in the description of the cryptographic module 14.
Indicium Generating Service
This service is used for the generation of indicium 74. It requires access to the
PSDs 20n, the client's private indicium key, and the certificate.
Registration Service
The Registration Service is outside of the cryptographic module 14. It is essentially responsible for adding new users to the RSP 4 system. It communicates with the Transaction Manager server 180 to generate a new encrypted user key file, which is later downloaded by the client 2.
Cryptographic Module Roles
The cryptographic module 14 supports the use of two roles to perform different cryptographic functions. The first role is the Crypto-Officer that is responsible for performing all the key management functions. The other role is the Crypto-User, which has access to use cryptographic functions and keys for the purposes of authentication and indicium generation. The roles provide a logical separation between operators and the services they are allowed to perform.
43 vii. Description of the Cryptographic Module
Authentication and Encryption
When a client 2n establishes a connection with the server 4, the server 4 immediately enters an authentication protocol as illustrated in Fig. 7. The first step of the routine is to authenticate the client 2n. The client 2n sends its customer ID in plaintext form. This information is used to verify that this is a valid customer and retrieve that customer's public key. The client 2n creates a random session key, identified in Fig.7 as Session Key A. The client 2n then uses the server's authentication RSA public key to encrypt Session Key A, and transmits the encryption to the server 4. The server 4 receives and decrypts the key using its private authentication key.
The server 4 then creates a random session key of its own, identified in Fig.7 as Session Key B. The server 4 uses the client's public authentication key to encrypt Session Key B, and transmits the encryption to the client 2n. The client 2n receives and decrypts the key using its private authentication key. The server 4 also builds up a hash value of Session Key A, the client ID, Session
Key B, the server ID and the text "phase 2". This hash value is sent to the client 2n concurrently with the encrypted Session Key B. The data is hashed in a standard sequence, so that the client 2n will be able to properly validate it. The client 2n receives the server's hash value and then validates it by creating a hash value of its own containing the same data, and by comparing the two hash values. At this point, if the two hash values do not match, the protocol is terminated and the communication link between the client 2n and server 4 is severed.
If the hash values do match, the client 2n then builds up another hash value, containing Session Key B, the client ID, the server ID and the text "phase 3". This hash value is sent to the server 4, which validates it by creating a hash value of its own containing the same data and comparing the two hash values. If the two hash values do not match, the protocol is terminated and the communication link between the client 2n and server 4 is severed.
Once the client 2n and server 4 have exchanged session keys and hash values and the hash values ave been properly validated, the protocol is complete and the client 2n and server 4 have been authenticated to each other. Session Key A and Session Key B can then
44 be used by the client 2n and server 4, respectively, to encrypt and secure communications to each other.
The session keys generated during the authentication process are preferably 64-bit RC2 symmetric keys, which are used to encrypt and decrypt all data sent between the client and the server. A hash of the data value is appended to all transaction request data or a transaction receipt before it is encrypted and sent to the other party. The recipient uses the hash to ensure message integrity. If the message is found to be corrupt or altered in some way, the transaction will be aborted.
At the end of the Authentication protocol, the client cryptographic module 12 will store the Customer ID and the session keys as part of the initialization routine. This information will then be available to all services running under Crypto-User role for a particular user.
Key Management
The transaction server 180 is concerned with two types of public/private key pairs, authentication and indicium generation. Authentication keys are 512-bit RSA keys and the indium generating keys will 1024-bit DSA keys. Both the client 2 and the server 4 each have a pair of authentication and indicium generating keys.
Client Authentication Keys
The server 4 initially produces the client authentication keys. The server first generates the client's public/private RSA 1024-bit keys. It then bundles the client keys, the server's public key and the client's identification number into a single file. A MD5 hash of the file is produced and appended to the end of the file. Finally, the server 4 takes the content of this file and encrypts it with a random number that it generates. The produced ciphertext is referred to as the key file. The server generated password initially used to encrypt the key file is mailed to the client, as explained in the registration procedure described above. The key file is then exported from the server's cryptographic module to a
SSL 3.0 password secured web site 150. The customer can then change this password in a subsequent session.
The client authentication keys will have an expiration period. The duration of this period will be, for example three (3) years, as determined by the USPS Key Management
Specification. To prevent checking for key renewal every time a client 2n connects to the server 4, all client keys may be set to expire at the same time. After a client 2n authenticates
45 with the server 4, the server 4 will notify the client if its keys have expired. At that time, the client will generate a new set of keys and send the public key to the server. The server only stores the client's previous public authentication key. The private key is kept private with only the client. The public key is kept inside a password protected SQL master database 305 (Fig. 4, 7) that is accessible only by the server cryptographic module 14. In the scenario when a user 2n requests a full refund, that user's keys are destroyed and their record removed from the SQL database 305.
Server Authentication Keys The software product will execute a key generation routine. This routine will produce the server's public/private RSA 1024-bit authentication keys. The key will be stored on a secured SQL master database 305. The public/private keys will have an expiration period defined by the USPS. When the server's keys expire, it will regenerate a new pair of authentication keys. With every client record, a field will be used to indicate which version of the server public key its using. During authentication, the server 4 will retrieve the appropriate version of its authentication public key. If the client 2n is using an expired key, the server 4 will download the new key to the client 2n. The client's record will be modified to reflect the new key version. The server 4 will keep its old authentication keys archived for a specified period of time. This allows a client 2n who has not connected since the server's public key expired the ability to authenticate and download the server's current public key.
Certification Authority Certificate The Certification Authority (CA)'s certificate is the only self-signed certificate on the system. The public key in the certificate corresponds to the private key used to sign the certificate. This makes the Certification Authority certificate easily susceptible to fraud if proper distribution mechanisms are not employed. The initial CA's certificate will be distributed by means of regular US certified mail. Included with the CA's certificate will be a hash of the next certificate key values. When a certificate expires, the USPS certification authority will issue a new certificate and sign it with the old certificates matching private key. The USPS CA will send a new certificate signed with the CA's new private key to the server 4. The server 4 will validate the certificate for authenticity by first checking to ensure that the new CA certificates public key authenticates the included signature. It will then hash the keys included with the new certificate to verify that the hash
46 value match with the old hash included with the old CA's certificate. If both conditions validate, the old CA's certificate is deleted and replaced with a new CA certificate.
Client and Server Indicium Keys and Certificates The client 2 and server 4 indicium keys are used to generate indicium 74 and all reside on the server 4. A client indicium key pair exists for every registered customer 2n while there is only one pair which exists for the server 4. All indicium key pairs are generated on the server 4. The private keys are immediately stored in the SQL master database 305, while the public keys are sent in a request to the Certification Authority of the USPS for certificate generation. The USPS will generate the certificates and send them to the server 4, which will verify the certificate's source and store it in a SQL master database 305.
The first step to indicium generation is generating a public/private key pair for the server 4. The public key is sent to the Certification Authority and a certificate for that server 4 is generated and returned to the Server. The Certification Authority also retains this certificate so that the Certification Authority can verify the authenticity of future server requests. Similarly, the server 4 will have copy of the CA's certificate to verify the authenticity of data being sent back from the CA.
The server 4 needs a public/private key pair for each client 2n in order to produce indicia. The server 4 will generate a key pair for the client 2n, store the private key in the secured SQL master database 305 and send the public key to the CA as a request. The request is signed with the server's private indicium key and sent to the CA, where the request will be authenticated using the server's certificate. The CA will send the certificate back to the server. The returned certificate will be packaged with some other information and digitally signed by the CA. Using the CA certificate the server 4 will verify the authenticity of this returned package.
Both the client 2n and the server 4 indicium keys will expire after specified period of time. Once it has been determined that indicium keys have expired, a new set of public/private keys will be generated and a new set of certificates will be requested. Because all indicium keys are located and managed by the server 4, the client 2 is not aware that its indicium keys have expired or been replaced. All old keys are permanently removed from the server.
47 Indicium Generation The server cryptographic module 14 is responsible for completing the task of indicium generation. When an indicium generation request is passed to the cryptographic module 14 through one of its interfaces, the data included will be missing the client's indicium certificate and the PSD 20n register values. The cryptographic module 14 will retrieve the appropriate values from the SQL master database 305 and fill in the remaining values. The result is then signed with the client's private indicium key. The actual indicium 74 is the concatenation of data and the digital signature. Because of the presence of the client's certificate (which was signed by the USPS CA) the indicium 74 can be easily verified for authenticity by using the public key embedded in the client's 2 indicium certificate. The completed indicium 74 is returned back through the cryptographic module interface and ready to be sent to the client 2n. The data included in the indicium 74 can include, for example, the user 2n, the addressee of the recipient, the postage, the rate table used to calculate the postage, the date, time and preferred postal office/box/pickup location, etc.
Postal Security Devices (PSDs) The PSDs 20n will actually reside on the secured SQL master database 305, although illustrated separately on Fig 3. Each client 2n will have its own record representing its PSD 20n, while the server will have one master PSD 40. A client PSD 20 record will contain four fields: Ascending Register 21, Descending
Register 22, Maximum Descending Register 25 and Refund Register 24. The Ascending Register 21 measures a count of the total dollar value of postage a client 2n has ever spent. The Descending Register 22 measures a count of the current dollar value of postage that a client 2n has bought, but not used. The Maximum Descending Register 25 is a total dollar value that a client 2n is allowed to own at a particular time. The value of the Descending Register 22 can never be more than the Maximum Descending Register 25. The last field in the client PSD 20n is the Refund Register 24 which tracks the total dollar amount of postage that a client has had refunded.
The Master PSD 40, also resident on master database 315, contains three fields: Ascending Register 44, Descending Register 45, and Refund Register 46. The Ascending Register 44 measures the total dollar amount of postage that the server has sold to clients. The Descending Register 45 measures the total dollar amount of postage that the Server has
48 to sell to clients. The Refund Register 46 measures the total dollar amounts of postage that server have refunded to clients.
The following graphical user interfaces are used in the server cryptographic module
14 for security. PutNewCAX509 (Certificate [in], status [out!) This interface is used to replace the
CA's X.509 certificate in the cryptographic module 14. A new certificate is passed into this interface and a status report is returned. The status will indicate if the certificate has been successfully changed. As part of this procedure, the cryptographic module will verify the authenticity of this new certificate. CreateKeyFile (CutsomerlD Tin], KeyFile [out]) This interface is used to create the keyfile that the client 2n downloads from the registration web server 150.
Encrypt (PlainText [in]. CipherText Tout]) This interface will encrypt all the plaintext that it receives as an argument and outputs it in ciphertext. The cryptographic algorithm will be 64-bit RC2. The key used in this function remains inside of the cryptographic module, it is generated by the authentication routine.
Decrypt (SessionKey [in], CipherText [in]. PlainText [out]) This interface will decrypt all the ciphertext that it receives as an argument and outputs it in plaintext. The cryptographic algorithm will be 64-bit RC2. The key used in this function remains inside of the cryptographic module, it is generated by the authentication routine. Createlndicium (IndiciumData [in]. Indicium [out], status [out]) This interface allows for the creation of indicium 74. An incomplete indicium is sent into the cryptographic module 14, the module then performs cryptographic functions on the indicium 74 and returns it to the calling procedure.
Authenticate (OpenSocket [in], status [out]) The authentication interface will be called to verify and authenticate the identity of the client 2n. It is passed a handle to the current open socket of the client requesting a connection to the server. The status will indicate whether the client has successfully authenticated.
CreatelndiciumKeys (status [out]) This interface will be used to create new client key pairs used for indicium generation. Add postage to Master PSD (Amount [in], status[out]) This interface will be used to add more postage to the Master PSD 40. The function will modify the appropriate
49 registers to reflect any changes in how much postage the server 4 owns. The status will be used to indicate if the call was successful.
Add postage to Client PSD ( status [out]) This interface will be used to add more postage to the client PSD 20n. The function will modify the appropriate registers to reflect any changes in how much postage the client 2n owns. The status will be used to indicate if the call was successful.
GenerateServerAuthenticationKeys (status [out]) This will be an administrative function that will generate a new authentication key pair for the server 4. The status will indicate whether the function completed successfully. StoreClientPublicKey (PublicKey [in], status [in]) This interface will allow the client's public authentication key to be updated in the cryptographic module's database. The status will indicate whether the function completed successfully.
RefundClientPSD (RefundAmount [in], status [out]) This interface will be used to reimburse postage to the client PSD 20n. The function will modify the appropriate registers to reflect any changes in how much postage the client owns. The status will be used to indicate if the call was successful.
Finite State Machine Referring to Fig. 8 again, the finite state model defines the set of system access rules for the server cryptographic module 14. The model defines secured and unsecured states and all state transitions. When the software is executed, the cryptographic module 14 enters the Self-Test State 910. For example, the first test will verify that the executable module check-sums are correct. This will ensure that none of the code has been corrupted or modified. Next, the cryptographic algorithms will be tested. The RSA, RC2 and MD5 cryptographic algorithms will be tested using the "known-answer" test. A known value will be applied to the algorithm to determine if it will reproduce a known result. If the resulting value matches the expected result, the algorithm is assumed to be functioning properly. Since the DSA algorithm does not reproduce the same value twice, it will use pair-wise consistency test. This test will first sign a quantity with a private key and then verify the signature of this quantity using the public key. If the result of the verification is successful, the test succeeds. If any of cryptographic modules tests fail, it is assumed to be malfunctioning. If all self-tests pass successfully, the module proceeds to enter the Uninitialized State 920, otherwise the module will enter into the Error State 950. No keys are
50 loaded into the module during the Un-Initialized State and therefore no cryptographic functions can be performed. It is in this state that authentication service starts. Based on the authenticated user and the requested transaction, the cryptographic module will determine whether the next state should be the Key Entry State 960 or the Crypto-officer State 940. This decision will depend on whether the transaction will use the cryptographic module to perform key management or other cryptographic functions.
Because the transactions of multiple clients 2n will be handled simultaneously, the cryptographic module 14 will support a finite state machine that can be in the Idle State 970, Key Entry State 960, and Crypto-Officer State 940 at the same time. If key management functions are called, the module 14 enters the Crypto-officer State 940. In the Idle State 970, all cryptographic keys have been loaded into the module. The module is now initialized and remains idle until cryptographic functions are called. Once cryptographic functions are called the module moves into the User State 930. If a request is made to terminate the process, the module will clear all loaded keys from memory before transition to the Un-Initialized State 920. The User State 930 is used to perform all cryptographic functions, not related to key management, that are performed by the cryptographic module 14. As soon as a key-related function is complete, the module transitions back to the Idle State 970. If the cryptographic module 14 is not going to perform key management features it will be loaded with the keys of the current user. At that point, the module enters the Idle State 970 and remains there until either a cryptographic function is called or the process is ready to end. Keys will be created or modified and stored in the secured SQL database 305. The cryptographic module 14 will clear all key information from memory and transition back to Un-Initialized State 920. If cryptographic functions are requested from the Idle State 970, the module 14 enters the User State 930 to execute the requested cryptographic function. After the requested function is performed, the module re-enters the Idle State 970. In the Idle-State 970 or the Crypto-officer State 940, if the process is ready to end the module clears the keys and returns to the Un-Initialized State 920.
Each PSD 20n will have its own finite state machine as described above. Only during server 4 initialization and self-test will a single finite state machine be employed.
The Error State 950 indicates that an unrecoverable error has occurred. If the module enters the Error State 950, the module will no longer perform cryptographic
51 functions. If keys are loaded into the module when the cryptographic module 14 enters the Error State, all keys will be cleared from the memory of the module.
In the Key Entry State 960 the cryptographic module 14 loads the keys obtained from SQL master database 305 for the authenticated user 2. The Initialize function of the Crypto-API library is used by the cryptographic module as a means of initializing the crypto-context with the keys. After successfully loading the keys, the module 14 moves to the Idle State 970.
The server cryptographic module 14 is preferably adapted to run on a Windows NT 4.0 platform. The client software typically has the ability to logon directly to the server 4. All communications between the client and the server are through TCP/IP sockets on a unique port 140 not used by the NT operating system. Although Windows NT v.4.0 is not considered C2 compliant with a Network Interface Card attached, the system will exercise very tight control over what enters the system through the card. All services or daemons will be removed from the operating system except for the single service needed to communicate between the client 2n and server 4 software. This service will be limited to a single TCP/IP port with a single interface 140 and access is controlled by the validation server 315 (Fig. 3).
Three NT accounts will be set up for the server processes to run under. The Transaction Manager and all Non-Cryptographic modules will run under the RSP User account 621. This account will have no access to the file system or the Secure SQL master database 305. The server cryptographic Module 14 will run under one of two accounts. A CRYPTO_User account 622 will be used to perform all non-key management cryptographic functions (e.g. encryption, decryption, and indicium generation). This user will have read only access to the Secure SQL master database 305. If key management is required, the cryptographic module will run under a CRYPTO Officer account 623. This account will be able to create keys and will be able to insert, update, and delete keys from the Secure SQL Database.
In addition to the default NT security features, additional steps may be taken to ensure that the operating system meets the security requirements of the TPS 6 of goods and/or services, or the RSP 4 as the case may be appropriate.
For use with the USPS, the following steps may be taken, which are responsive to standards in effect as of November 1997, as they may be modified from time to time.
52 File Systems: All drive volumes on the Server will be converted to NTFS. This provides the discretionary access control required by the C2 standard of the USPS. Other Operating Systems: The C2 configuration requires that NT is the only operating system on the computer. The boot time-out on all servers will be set to 0. This allows Windows NT to start immediately without pausing for the user. Subsystems: Any OS/2 and POSIX subsystems are preferably removed. Security Logging: The C2 configuration requires that the security logs never overwrite events, regardless of their age. The security logs will be set so that they must be cleared manually by an administrator. Halt on Audit Failure: The C2 configuration requires that if events cannot be written to the security log, the system should be halted immediately. Password length: The C2 configuration requires that blank passwords not be permitted a minimum password length will be set that is > 0. Guest Account: The C2 configuration requires that the default guest account installed by the setup program be disabled. The Guest account will be disabled on all servers. Power on Password: The C2 configuration requires that the system use a power on password. This system BIOS password will be set on all servers. Secure System Partition: For RISC (reduced instruction set computer)-based Windows NT systems, if RISC machines are used the administrator will secure the system partition.
Of course, it should be understood that other operating systems can be modified, created and/or designed that will comply with the C2 Requirements for use of the present invention in the postal systems of the described embodiment, or with other systems having similar security requirements.
Set forth below in Table IV is a table of the various security features used in the functions performed by Transaction Server 180.
53 Table IV - Security
Transaction Security Audit Control Cash Mgt. Compliance
Registration SSL3.0 Creation of Customer Record CMLS License Request
RC2 Store X.509, Key Pair, License o. vo
MD5 ID ©
Acquisition SSL3.0 (Download)
Purchase RSA Authentication Log Purchase Request Transfer of funds to USPS Daily Log File Upload to CMRS Integrity (Hash) Log Prior/Current Register States banking authority RC2 Encryption Add to individual descending Session Key register
Deduct from master descending register
Refund RSA Authentication Log Refund Request Add to individual descending Daily Log File Upload to CMRS Integrity (Hash) Log Prior/Current Register States register RC2 Encryption Deduct from master en Session Key descending register
Printing RSA Authentication Log Indicia(um) Deduct from individual Indicia Log available Integrity (Hash) Log Prior/Current Register States descending register RC2 Encryption Session Key
Cleansing RSA Authentication Log Addresses Address Log available Integrity (Hash) RC2 Encryption Session Key
Address Change RSA Authentication Log Prior/Current Addresses Daily Log File Upload to Integrity (Hash) MATS/NMATS RC2 Encryption Submit update request to CMLS Session Key O
H
Software Change SSL3.0 Store prior software version offline o
Postage Rate SSL3.0 © Update ©
Figure imgf000056_0001
o vo
c. Auditing & Reporting
An auditing and reporting feature is an amalgam of various other features contained within the system. The server 4 automatically records various data and stores them on the log server 195. Items stored include the User Profile Log and the Indicium Log, which are maintained in databases 196 and 197. In addition, the master server 300 contains individual PSD 20n that contain the Ascending Register 22, the Descending Register 21, and the Refund Register 24. In terms of security functions, server 4 is event dependent. It is event dependent in that the server has event-driven requirements of the user (e.g., when an indicium 24 is created, it is logged). The Indicium Log contains all information represented in the computer- and human- readable portions of the indicium 74. The 11 digits of the ZIP+4+2 are located in the Special Purpose Field of the two-dimensional bar code 76 (Fig.4).
The User Profile Log contains a record of the information specific to the current user 2n, such as the mailing address, phone number, etc. If any of the parameters within the user profile are modified, then the housekeeping service will in turn up-load the new user profile to the server.
The Ascending Register Log is a cumulative record of all postage purchases that have occurred since the initialization of the product.
The Descending Register Log is a record of the postage that currently resides on the user's system.
The Refund Register is used to keep track of the total postage amount refunded to the user.
All three registers: Ascending 22, descending 21, and Refund Registers 24 can be zeroized at any time because they exist in the server 4. Only after successful installation can the client purchase postage.
Housekeeping is an independent service which exists on the server 4 and handles all the indicium log updates, user profile updates, rate table updates and new software updates as necessary.
On the client 2 side, after the Transaction Service successfully receives the Handshake Response Object, it sends the following housekeeping request to the server 4: New rate table request and New software request. d. Symbology
The present invention supports the implementation of the Data Matrix brand two- dimensional matrix or bar-coding technology for use in indicium 74. Ajnong the numerous
55 reasons for this support are the Data Matrix code has a smaller footprint and is perceived as aesthetically more pleasing than the well k . nown PDF417 code; Data Matrix easily supports the proposed 15 mil x-dimension requirement of the USPS; Data Matrix supports scanning by a CCD device, rather than a laser scanner, and Data Matrix Code is easily read regardless of scanner orientation.
It should be noted that the system can implement the use of Wallace Software libraries that support the creation of both Data Matrix and PDF417 two-dimensional barcodes 76. The Indicia Service will initiate the creation of a bar code by executing the barcode software and indicating the data to be converted. Other two dimensional code symbologies also could be used. e. Authorized Advertising Art
With reference to Figs. 4 A and B, the authorized advertising art feature allows the user to place a United States Postal Service approved graphic image 77 on the envelope next to or more particularly as a part of the indicium 74. It is initiated by pressing an associated radio button for selecting or deselecting a United States Postal Service authorized graphic, a file selection field, and a bitmap display field for viewing each graphic. The feature allows the user to select or deselect an authorized graphics file for placement on some or all mail pieces.
/ Display Graphic A display graphic feature may be provided which allows the user to place a graphic image or text on the envelope next to the indicium 74. It is initiated by pressing an appropriate radio button and allows the user to select a specific graphics file, or enter text, for placement on all mail pieces. The display preferably contains three (3) radio buttons:
Graphic, Text, and None. The default selection is Graphic. If Graphic is selected then die file selection area is activated. Any bitmap image may be used, once approved by the United
States Postal Service. If Text is selected then the file selection area is deactivated and the text entry area is activated. The font for all text is pre-set to Arial 1 lpt. The customer must create their own graphics to produce any other type size or style. Selecting None will remove any previously entered graphics or text. Pressing OK will process the selection and return to the Page Setup screen. Pressing Cancel will return to the Page Setup Screen without selecting a file. g. Audits
The Audit Function required by the United States Postal Service can be satisfied by various functions of the system working synergistically under the control of Housekeeping
56 Services. The Housekeeping service is responsible for up-loading configuration changes and new logs to the server 4. It also facilitates downloading of new client software and pricing changes from the server 4 to the client 2. This service is preferably called every time the user 2n connects to the server 4 and is called upon immediately after the Authentication procedure.
The user profile will contain information specific to the current user 2n. such as the mailing address, phone number, and any other information required on PS Form 3601-A and the information returned on PS Form 3601-B. If any of the parameters within the user profile are modified, then the housekeeping service will in turn up-load the new user profile to the server. h. Communications and Messages Interfaces with Postal Infrastructure
On a periodic basis (e.g., 12:00 midnight every day) the server 4 system can run an agent that reviews all log database tables that have changed during the prior 24-hour period. x\y changes that have been made are analyzed and matched to the customer record found in the Master Database 305. Purchase, spoilage, and refund information will be marked for a batch transmission to TPS 6.
Data supplied to TPS 6 about such periodic (daily) activity are kept in the Log and Master databases 196, 197 and 305. The two tables used are PSD and Log. All data in these tables are available for review by the USPS as ad-hoc reports. The records of the various transactions are stored on logs on the server 4. The records of the postage downloads from TPS 6 to are sent to USPS Treasury daily as part of a daily reconciliation. The records of all other financial transactions are sent to TPS 6 (NMATS) each morning. If, for example, $100 in postage were downloaded from TPS 6 USPS to server 4 and server 4 subsequently sold $25 each to users 2i, 2j, and 2k, the logs would indicate the following transactions:
1. $100 from TPS 6 to server 4 postage pool
2. $25 from pool to user 2i
3. $25 from pool to user 2j
4. $25 from pool to user 2k . Communications and message interfaces with TPS 6 financial institutions
The server 4 notifies the TPS 6 (United States Postal Service financial institution (FDMS)) of all credit card transactions. Credit card and ACH debit card postage download purchases are transacted in real time and stored in log 196, 197 on the server 4. These logs are transmitted to USPS at the appropriate time and in an agreed upon format. The Daily
57 Record of Transactions is forwarded to NMATS every morning and the Daily Account Reconciliation is forwarded to the Treasury each day as well. Postage value downloads purchased by check are recorded by the Transaction Service and forwarded to the Treasury and NMATS as part of the above-mentioned file transmissions. It should be understood that the present invention is applicable to third party sellers of goods and/or services other than the USPS, where electronic transactions are used by the user/customer to pay for the goods and/or services. Indeed, the present invention is applicable to situations in which the remote service provider 4 also is the third party seller of the goods or services, as contrasted with a brokering or sales agent as in the case of the preferred embodiment described in detail above. Such examples include, without limitations, other package/mail carriers or shipping services, such as Federal Express, UPS, Airborne, Purolator, Roadway, and the like, Postal Services of other countries, tax stamp issuing authorities for state, federal and other governmental agencies, stock certificate issuing entities, and ticket issuing entities (such as tickets for live and movie theatres, sporting events, concerts, travel/transportation such as air, boat, train, bus, subway and the like). In each of these cases, a unique indicium, postal or otherwise, can be generated by the RPS 4, digitally signed by the true customer, downloaded to the customer and printed as a "receipt" locally by the customer who has electronically paid for the purchase via the Internet. The indicium can be scanned at the point of consumption, e.g., when the package enters the mailstream or the shipping company system, or the customer enters the facility where the sporting event or concert occurs. Because each receipt is unique, a duplicate (and thus a fraudulently obtained copy) can be easily detected and the legitimate version identified, and the offender caught and punished as appropriate. The ease of scanning in and the speed of decoding the two dimensional matrix codes or bar codes incorporated into the indicium, postal or otherwise, renders the process essentially transparent to the customer.
One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for purposes of illustration and not of limitation.
58

Claims

We claim:
1. A system for conducting Internet based financial transactions comprising: a client having a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature; a server having a network including a transaction server, a transaction database, a server authentication module, and a receipt generation module; and an internet connection between the client and the server network; wherein the transaction execution system further comprises: an authentication module, wherein the client authentication module and the server authentication modules communicate via the internet connection and are authenticated to each other; a transaction module wherein, in response to the client and server being authenticated, the client issues a transaction request to the server and the transaction server, in response to a client transaction request, executes an electronic payment transaction at the server and records the transaction in the transaction database, and wherein the server receipt generation module, in response to an executed electronic payment, generates a receipt and transmits said receipt to the client, said receipt comprising the client digital signature and a data set uniquely identifying the executed transaction; and wherein the receipt is printable by the client printer and the printed receipt is an evidence of payment for the executed transaction.
2. The system of claim 1 wherein the module for issuing a transaction request further comprises means for providing the transaction request with the client digital signature.
3. The system of claim 2 wherein the server further comprises a unique digital signature and the receipt further comprises the server digital signature.
4. The system of claim 1 wherein the server further comprises a first server, a firewall and a single TCP/IP port, the first server is connected to the internet connection, the firewall is interposed between the server first server and transaction server so that the transaction server is connected to the network through the single TCP/IP port and the firewall comprises a communication module that operates to limit communications between the internet and the transaction server to client transaction requests identifying the single TCP/IP port.
5. The system of claim 1 further comprising:
59 a third party seller having a processor and a database; and a communication channel between the third party seller and the server, wherein the client further comprises a registration certificate representative of being a consumer registered with said third party seller.
6. The system of claim 5 further comprising a transaction module wherein said third party seller database is updated by said server transaction database.
7. The system of claim 1 further comprising a third party credit facility and a communication link between the third party credit facility and the server, wherein the server further comprises a credit module wherein, in response to a client transaction request, a credit card payment request is made by the server to the third party credit facility, the third party credit facility authorizes the credit card payment and issues an authorization code to the server, and the server transaction database is updated.
8. The system of claim 1 wherein the transaction request further comprises a request to purchase an amount of postage, an addressee data set, and wherein the server transaction database further comprises a pool of postage prepaid by said server, and an account register associated with said client, wherein the client transaction request operates to transfer the requested amount of postage from said pool to said client account register.
9. The system of claim 1 wherein the client further comprises a client public key, a client private key, and a client identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the client public key, private key and identification password, and an encryption decryption module for encrypting and decrypting at least one of the client private key and client public key based on said hash; wherein the server further comprises a server public key, a server private key, and a server identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the server public key, private key and identification password, and an encryption decryption module for encrypting and decrypting at least one of the server private key and server public key based on said hash; and wherein said authentication module utilizes said public and private keys of said client and server to perform the authentication.
10. A method for conducting Internet based financial transactions comprising: providing a client having a processor, a printer, a client authentication module, a module for issuing a transaction request, and a unique digital signature; providing a server having a network including a transaction server, a transaction database, a server authentication module, and a receipt generation module;
60 connecting the client to the server network via an internet connection; authenticating the client and the server to each other; issuing a transaction request from the client to the server; in response to a client transaction request, executing an electronic payment transaction at the transaction server and recording the transaction in the transaction database, generating a receipt at the server receipt generation module, providing said receipt with the client digital signature and a data set uniquely identifying the executed transaction, and transmitting said receipt to the client; and printing said receipt using the client printer, wherein the printed receipt is an evidence of payment for the executed transaction.
11. The method of claim 10 wherein issuing a transaction request further comprises providing the transaction request with the client digital signature.
12. The method of claim 11 further comprising providing the server with a unique digital signature and providing the receipt further comprises providing the server digital signature as a part of the receipt.
13. The method of claim 10 wherein providing the server further comprises providing a single TCP/IP port connecting the first server to the internet connection with said client and limiting communications between the internet and the transaction server to client transaction requests identifying the single TCP/IP port.
14. The method of claim 10 further comprising providing a third party seller, connecting the third party seller and the server via a communication channel and providing the client with a registration certificate representative of being a consumer registered with said third party seller.
15. The method of claim 14 further comprising providing the third party seller with a transaction database and updating said third party seller transaction database by said server.
16. The method of claim 10 further comprising providing a third party credit facility, connecting the third party credit facility and the server via a communication link and in response to a client transaction request, issuing a credit card payment request by the server to the third party credit facility, authorizing the credit card payment by the third party credit facility and issuing an authorization code to the server, and updating the server transaction database.
17. The system of claim 10 wherein issuing the transaction request further comprises issuing a request to purchase an amount of postage, an addressee data set, and
61 wherein the server transaction database further comprises a pool of postage prepaid by said server, and an account register associated with said client, wherein issuing the client transaction request further comprises transferring the requested amount of postage from said pool to said client account register.
18. The system of claim 10 wherein authenticating the client and the server further comprises providing the client with a client public key, a client private key, a client identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the client public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the client private key and client public key based on said hash; providing the server a server public key, a server private key, a server identification password, a hash module for performing a hash algorithm based on an input data, a hash of at least one of the server public key, private key and identification password, and an encryption/decryption module for encrypting and decrypting at least one of the server private key and server public key based on said hash; and using said public and private keys of said client and server to perform the authentication.
62
PCT/US1999/003099 1998-02-13 1999-02-12 Methods and apparatus for internet based financial transactions with evidence of payment WO1999041690A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU26762/99A AU2676299A (en) 1998-02-13 1999-02-12 Methods and apparatus for internet based financial transactions with evidence ofpayment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/023,724 1998-02-13
US09/023,724 US6233565B1 (en) 1998-02-13 1998-02-13 Methods and apparatus for internet based financial transactions with evidence of payment

Publications (1)

Publication Number Publication Date
WO1999041690A1 true WO1999041690A1 (en) 1999-08-19

Family

ID=21816836

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/003099 WO1999041690A1 (en) 1998-02-13 1999-02-12 Methods and apparatus for internet based financial transactions with evidence of payment

Country Status (3)

Country Link
US (1) US6233565B1 (en)
AU (1) AU2676299A (en)
WO (1) WO1999041690A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095267A1 (en) * 2000-06-02 2001-12-13 Nokia Mobile Phones Limited System and method for enabling the provision of goods or services
WO2002021793A2 (en) * 2000-09-08 2002-03-14 Rivenet.Com, Inc. System and method for encrypted message interchange
EP1213673A2 (en) * 2000-11-08 2002-06-12 Sony Corporation Information processing apparatus and method, recording medium, and service providing system
EP1236141A1 (en) * 1999-09-24 2002-09-04 Oracle Corporation Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
EP1676392A1 (en) * 2003-09-30 2006-07-05 BCE Inc. System and method for secure access
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7376628B2 (en) 2001-04-23 2008-05-20 Oracle International Corporation Methods and systems for carrying out contingency-dependent payments via secure electronic bank drafts supported by online letters of credit and/or online performance bonds
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system

Families Citing this family (419)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US20040128249A1 (en) * 1994-11-28 2004-07-01 Indivos Corporation, A Delaware Corporation System and method for tokenless biometric electronic scrip
US7613659B1 (en) * 1994-11-28 2009-11-03 Yt Acquisition Corporation System and method for processing tokenless biometric electronic transmissions using an electronic rule module clearinghouse
US7882032B1 (en) 1994-11-28 2011-02-01 Open Invention Network, Llc System and method for tokenless biometric authorization of electronic communications
US6950810B2 (en) * 1994-11-28 2005-09-27 Indivos Corporation Tokenless biometric electronic financial transactions via a third party identicator
US6889214B1 (en) * 1996-10-02 2005-05-03 Stamps.Com Inc. Virtual security device
US5822739A (en) * 1996-10-02 1998-10-13 E-Stamp Corporation System and method for remote postage metering
DE19812902A1 (en) * 1998-03-18 1999-09-23 Francotyp Postalia Gmbh Method for a franking and addressing machine
JP4169822B2 (en) * 1998-03-18 2008-10-22 富士通株式会社 Data protection method for storage medium, apparatus therefor, and storage medium therefor
US6263447B1 (en) * 1998-05-21 2001-07-17 Equifax Inc. System and method for authentication of network users
US6611810B1 (en) 1998-07-20 2003-08-26 Usa Technologies, Inc. Store display window connected to an electronic commerce terminal
US6609102B2 (en) 1998-07-20 2003-08-19 Usa Technologies, Inc. Universal interactive advertizing and payment system for public access electronic commerce and business related products and services
US6615183B1 (en) 1998-07-20 2003-09-02 Usa Technologies, Inc. Method of warehousing user data entered at an electronic commerce terminal
US6604086B1 (en) 1998-07-20 2003-08-05 Usa Technologies, Inc. Electronic commerce terminal connected to a vending machine operable as a telephone
US6604085B1 (en) 1998-07-20 2003-08-05 Usa Technologies, Inc. Universal interactive advertising and payment system network for public access electronic commerce and business related products and services
US7191247B1 (en) 1998-09-11 2007-03-13 Lv Partners, Lp Method for connecting a wireless device to a remote location on a network
US7392945B1 (en) 1998-09-11 2008-07-01 Lv Partners, L.P. Portable scanner for enabling automatic commerce transactions
US7379901B1 (en) 1998-09-11 2008-05-27 Lv Partners, L.P. Accessing a vendor web site using personal account information retrieved from a credit card company web site
US6636896B1 (en) 1998-09-11 2003-10-21 Lv Partners, L.P. Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet
US6868433B1 (en) 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
US6745234B1 (en) 1998-09-11 2004-06-01 Digital:Convergence Corporation Method and apparatus for accessing a remote location by scanning an optical code
US7386600B1 (en) 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
US6836799B1 (en) * 1998-09-11 2004-12-28 L.V. Partners, L.P. Method and apparatus for tracking user profile and habits on a global network
US7440993B1 (en) 1998-09-11 2008-10-21 Lv Partners, L.P. Method and apparatus for launching a web browser in response to scanning of product information
US6704864B1 (en) 1999-08-19 2004-03-09 L.V. Partners, L.P. Automatic configuration of equipment software
US6823388B1 (en) 1998-09-11 2004-11-23 L.V. Parners, L.P. Method and apparatus for accessing a remote location with an optical reader having a programmable memory system
US8468089B1 (en) * 1998-09-21 2013-06-18 International Business Machines Corporation Method of improving security in electronic transactions
US6405181B2 (en) * 1998-11-03 2002-06-11 Nextcard, Inc. Method and apparatus for real time on line credit approval
US6567791B2 (en) * 1998-11-03 2003-05-20 Nextcard, Inc. Method and apparatus for a verifiable on line rejection of an application for credit
US20050004864A1 (en) * 2000-06-15 2005-01-06 Nextcard Inc. Implementing a counter offer for an on line credit card application
US8010422B1 (en) 1998-11-03 2011-08-30 Nextcard, Llc On-line balance transfers
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
WO2000033235A1 (en) * 1998-11-30 2000-06-08 Siebel Systems, Inc. State models for monitoring processes
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US20030195974A1 (en) * 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
AU763571B2 (en) 1998-12-23 2003-07-24 Chase Manhattan Bank, The System and method for integrating trading operations including the generation, processing and tracking of and trade documents
US6442600B1 (en) * 1999-01-15 2002-08-27 Micron Technology, Inc. Method and system for centralized storage and management of electronic messages
US6898577B1 (en) 1999-03-18 2005-05-24 Oracle International Corporation Methods and systems for single sign-on authentication in a multi-vendor e-commerce environment and directory-authenticated bank drafts
US6615264B1 (en) * 1999-04-09 2003-09-02 Sun Microsystems, Inc. Method and apparatus for remotely administered authentication and access control
US6804778B1 (en) * 1999-04-15 2004-10-12 Gilian Technologies, Ltd. Data quality assurance
US6421671B1 (en) * 1999-04-30 2002-07-16 Dell Products L.P. Method and system for automated distribution of software
AUPQ010299A0 (en) * 1999-05-03 1999-05-27 Fast 101 Pty Ltd Improvements in or relating to trading and settlement
US7068832B1 (en) 1999-05-11 2006-06-27 The Chase Manhattan Bank Lockbox imaging system
US7149726B1 (en) * 1999-06-01 2006-12-12 Stamps.Com Online value bearing item printing
US6578015B1 (en) * 1999-08-31 2003-06-10 Oracle International Corporation Methods, devices and systems for electronic bill presentment and payment
US6799166B2 (en) * 1999-09-02 2004-09-28 International Business Machines Corporation Method and apparatus for preventing duplicate transactions on batch mode failure recovery in a data processing system
CN1376285A (en) * 1999-09-28 2002-10-23 Cfph有限责任公司 Systems and methods for transferring item with restricted transferability
US7797543B1 (en) 1999-09-30 2010-09-14 United States Postal Service Systems and methods for authenticating an electronic message
CN1451213B (en) 1999-09-30 2012-10-10 美国邮政服务 Systems and methods for authenticating an electronic message
US8538893B1 (en) * 1999-10-01 2013-09-17 Entrust, Inc. Apparatus and method for electronic transaction evidence archival and retrieval
US7127427B1 (en) * 1999-10-05 2006-10-24 Andrew Casper Secure transaction processing system and method
US7236956B1 (en) * 1999-10-18 2007-06-26 Stamps.Com Role assignments in a cryptographic module for secure processing of value-bearing items
US7233929B1 (en) * 1999-10-18 2007-06-19 Stamps.Com Postal system intranet and commerce processing for on-line value bearing system
US7240037B1 (en) 1999-10-18 2007-07-03 Stamps.Com Method and apparatus for digitally signing an advertisement area next to a value-bearing item
US6868406B1 (en) 1999-10-18 2005-03-15 Stamps.Com Auditing method and system for an on-line value-bearing item printing system
US7251632B1 (en) * 1999-10-18 2007-07-31 Stamps. Com Machine dependent login for on-line value-bearing item system
US7752141B1 (en) * 1999-10-18 2010-07-06 Stamps.Com Cryptographic module for secure processing of value-bearing items
US7216110B1 (en) 1999-10-18 2007-05-08 Stamps.Com Cryptographic module for secure processing of value-bearing items
EP1224630A1 (en) * 1999-10-18 2002-07-24 Stamps.Com Method and apparatus for on-line value-bearing item system
US6874028B1 (en) * 1999-10-25 2005-03-29 Microsoft Corporation System and method for unified registration information collection
US6853987B1 (en) * 1999-10-27 2005-02-08 Zixit Corporation Centralized authorization and fraud-prevention system for network-based transactions
WO2001035388A1 (en) * 1999-11-05 2001-05-17 Sony Corporation Data decoding device and method, charging information processing device and method, data reproducing device and method, electronic money, electronic right of use, and terminal
US6895391B1 (en) * 1999-11-09 2005-05-17 Arcot Systems, Inc. Method and system for secure authenticated payment on a computer network
US7925713B1 (en) 1999-11-22 2011-04-12 Akamai Technologies, Inc. Method for operating an integrated point of presence server network
US7143144B2 (en) * 1999-11-30 2006-11-28 Ricoh Company, Ltd. System, method and computer readable medium for certifying release of electronic information on an internet
US6405178B1 (en) * 1999-12-20 2002-06-11 Xerox Corporation Electronic commerce enabled purchasing system
US7069234B1 (en) * 1999-12-22 2006-06-27 Accenture Llp Initiating an agreement in an e-commerce environment
US6629081B1 (en) 1999-12-22 2003-09-30 Accenture Llp Account settlement and financing in an e-commerce environment
US8380783B1 (en) * 2000-01-05 2013-02-19 Sprint Communications Company L.P. Method and apparatus for processing web calls in a web call center
US6446045B1 (en) 2000-01-10 2002-09-03 Lucinda Stone Method for using computers to facilitate and control the creating of a plurality of functions
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US7822656B2 (en) 2000-02-15 2010-10-26 Jpmorgan Chase Bank, N.A. International banking system and method
US7299210B2 (en) * 2000-02-16 2007-11-20 Stamps.Com On-line value-bearing indicium printing using DSA
US8768836B1 (en) 2000-02-18 2014-07-01 Jpmorgan Chase Bank, N.A. System and method for electronic deposit of a financial instrument by banking customers from remote locations by use of a digital image
US7140036B2 (en) * 2000-03-06 2006-11-21 Cardinalcommerce Corporation Centralized identity authentication for electronic communication networks
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155788A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143714A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) * 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060155731A1 (en) * 2000-03-09 2006-07-13 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143252A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US20060143250A1 (en) * 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) * 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
DE10195918T1 (en) * 2000-03-17 2003-04-03 Ebay Inc Method and device for facilitating payment transactions in a network-based transaction device using various payment instruments
US7484088B2 (en) * 2000-03-17 2009-01-27 United States Postal Service Methods and systems for proofing identities using a certificate authority
US8706618B2 (en) 2005-09-29 2014-04-22 Ebay Inc. Release of funds based on criteria
US7499875B1 (en) 2000-03-17 2009-03-03 Ebay Inc. Method and apparatus for facilitating online payment transactions in a network-based transaction facility using multiple payment instruments
FI20000761A0 (en) * 2000-03-31 2000-03-31 Nokia Mobile Phones Ltd Billing on a packet data network
US7376629B1 (en) * 2000-04-03 2008-05-20 Incogno Corporation Method of and system for effecting anonymous credit card purchases over the internet
US20030024988A1 (en) * 2000-04-24 2003-02-06 David Stanard System for providing evidence of payment
US6981028B1 (en) * 2000-04-28 2005-12-27 Obongo, Inc. Method and system of implementing recorded data for automating internet interactions
US7194431B1 (en) 2000-05-02 2007-03-20 Ge Corporate Financial Services, Inc. Method and apparatus for managing remittance processing within account receivables
US6847942B1 (en) 2000-05-02 2005-01-25 General Electric Canada Equipment Finance G.P. Method and apparatus for managing credit inquiries within account receivables
US7249074B1 (en) 2000-05-02 2007-07-24 General Electric Canada Equipment Finance G.P. Method, apparatus and computer program for managing accounting system interfaces
US6807533B1 (en) 2000-05-02 2004-10-19 General Electric Canada Equipment Finance G.P. Web-based method and system for managing account receivables
US6454174B1 (en) * 2000-05-19 2002-09-24 Pitney Bowes Inc. Method for reading electronic tickets
JP4573948B2 (en) * 2000-05-24 2010-11-04 正明 薄井 Method and system for centrally managing a plurality of assets using a computer network
WO2001092982A2 (en) * 2000-05-30 2001-12-06 Moshe Caspi System and method for secure transactions via a communications network
WO2001093167A1 (en) * 2000-05-31 2001-12-06 Indivos Corporation Biometric financial transaction system and method
US9165323B1 (en) 2000-05-31 2015-10-20 Open Innovation Network, LLC Biometric transaction system and method
US20020007346A1 (en) * 2000-06-06 2002-01-17 Xin Qiu Method and apparatus for establishing global trust bridge for multiple trust authorities
US6938080B1 (en) * 2000-06-07 2005-08-30 Nortel Networks Limited Method and computer system for managing data exchanges among a plurality of network nodes in a managed packet network
US7305478B2 (en) * 2000-06-08 2007-12-04 Symbol Technologies, Inc. Bar code symbol ticketing for authorizing access in a wireless local area communications network
US20020039420A1 (en) * 2000-06-12 2002-04-04 Hovav Shacham Method and apparatus for batched network security protection server performance
US20020087884A1 (en) * 2000-06-12 2002-07-04 Hovav Shacham Method and apparatus for enhancing network security protection server performance
AU2001269881A1 (en) * 2000-06-19 2002-01-02 United States Postal Service System, method, and article of manufacture for shipping a package privately to acustomer
AU2001268517A1 (en) * 2000-06-19 2002-01-02 United States Postal Service Systems and methods for providing mail item retrieval
US8244809B2 (en) * 2000-06-20 2012-08-14 United States Postal Service System and methods for electronic message content identification
EP1299989A2 (en) * 2000-07-07 2003-04-09 Science Applications International Corporation A system or method for calling a vanity number using speech recognition
US8380628B1 (en) * 2000-07-17 2013-02-19 Harris Intellectual Property, Lp System and method for verifying commercial transactions
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US20020049681A1 (en) * 2000-07-20 2002-04-25 International Business Machines Corporation Secure anonymous verification, generation and/or proof of ownership of electronic receipts
US7729957B2 (en) * 2000-07-25 2010-06-01 United States Postal Service Item attribute preverification
WO2002008980A1 (en) * 2000-07-26 2002-01-31 Fujitsu Limited Electronic money transaction system
US7412524B1 (en) * 2000-07-27 2008-08-12 International Business Machines Corporation Method and system for authentication when certification authority public and private keys expire
JP2004506245A (en) 2000-08-04 2004-02-26 ファースト データ コーポレイション Linking the device's public key with information during manufacture
US6820201B1 (en) * 2000-08-04 2004-11-16 Sri International System and method using information-based indicia for securing and authenticating transactions
US7096354B2 (en) 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US7082533B2 (en) 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
US6789189B2 (en) 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US7137143B2 (en) 2000-08-07 2006-11-14 Ingrian Systems Inc. Method and system for caching secure web content
US20040015725A1 (en) * 2000-08-07 2004-01-22 Dan Boneh Client-side inspection and processing of secure content
AU2001285422A1 (en) 2000-08-11 2002-02-25 John J. Loy Trade receivable processing method and apparatus
US20020083019A1 (en) * 2000-09-11 2002-06-27 Bystrak Eugene Robert Verifying digital signatures using a postal security device
US7742996B1 (en) * 2000-09-27 2010-06-22 Khai Hee Kwan Computer program, system and method for on-line issuing and verifying a representation of economic value interchangeable for money having identification data and password protection over a computer network
US6865558B1 (en) * 2000-10-05 2005-03-08 Pitney Bowes Inc. Postage metering system having third party payment capability
US6559970B1 (en) * 2000-10-23 2003-05-06 Avery Dennison Corporation Machineable envelope assembly and method of accurately printing indicia on envelopes
US6789193B1 (en) * 2000-10-27 2004-09-07 Pitney Bowes Inc. Method and system for authenticating a network user
WO2002037749A1 (en) * 2000-11-03 2002-05-10 Fusionone, Inc. Secure authentication of users via intermediate parties
AU2002224482A1 (en) 2000-11-06 2002-05-15 First Usa Bank, N.A. System and method for selectable funding of electronic transactions
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
JP2002189699A (en) * 2000-12-19 2002-07-05 Hitachi Ltd Information processor, log integration control device, content distribution control device and contents distributing system using the same
US7096493B1 (en) * 2000-12-21 2006-08-22 Gary G. Liu Internet file safety information center
US6925645B2 (en) * 2000-12-29 2005-08-02 Webex Communications, Inc. Fault tolerant server architecture for collaborative computing
US20030167418A1 (en) * 2000-12-29 2003-09-04 Min Zhu Fault-tolerant server for collaborative computing
US7069298B2 (en) * 2000-12-29 2006-06-27 Webex Communications, Inc. Fault-tolerant distributed system for collaborative computing
US6901448B2 (en) * 2000-12-29 2005-05-31 Webex Communications, Inc. Secure communications system for collaborative computing
US7203755B2 (en) * 2000-12-29 2007-04-10 Webex—Communications, Inc. System and method for application sharing in collaborative setting
US20030167302A1 (en) * 2000-12-29 2003-09-04 Min Zhu Scalable distributed network system for collaborative computing
US20030164853A1 (en) 2000-12-29 2003-09-04 Min Zhu Distributed document sharing
WO2002054264A1 (en) 2000-12-29 2002-07-11 Webex Communications, Inc. Distributed network system architecture for collaborative computing
US7757278B2 (en) * 2001-01-04 2010-07-13 Safenet, Inc. Method and apparatus for transparent encryption
US7882009B2 (en) * 2001-01-16 2011-02-01 Fralic Donald R Method of on-line auctioning for leases
WO2002057879A2 (en) * 2001-01-17 2002-07-25 Benik Hovsepian System and method of managing pre-paid electronic access to goods, services and other content
US20020103826A1 (en) * 2001-01-29 2002-08-01 Banta Corporation System and method for creating documents populated with variable data
US8805739B2 (en) 2001-01-30 2014-08-12 Jpmorgan Chase Bank, National Association System and method for electronic bill pay and presentment
US6839677B2 (en) * 2001-02-14 2005-01-04 International Business Machines Corporation Transactional data transfer in a network system
WO2002066344A1 (en) * 2001-02-20 2002-08-29 United States Postal Service Universal delivery and collection box unit (udcbu)
US7949605B2 (en) * 2001-02-23 2011-05-24 Mark Itwaru Secure electronic commerce
AU2002257540B2 (en) * 2001-03-21 2007-01-25 Deutsche Post Ag Method for franking postal deliveries and a graphical user interface for carrying out said method
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US7805338B2 (en) * 2001-03-26 2010-09-28 Usa Technologies, Inc. Method of constructing a digital content play list for transmission and presentation on a public access electronic terminal
US7788399B2 (en) 2001-03-26 2010-08-31 Salesforce.Com, Inc. System and method for mapping of services
US7689711B2 (en) 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US9948644B2 (en) 2001-03-26 2018-04-17 Salesforce.Com, Inc. Routing messages between applications
US7516191B2 (en) * 2001-03-26 2009-04-07 Salesforce.Com, Inc. System and method for invocation of services
US7305454B2 (en) * 2001-03-30 2007-12-04 Minor Ventures, Llc. Apparatus and methods for provisioning services
US7779481B2 (en) * 2001-04-12 2010-08-17 United States Postal Service Systems and methods for electronic postmarking of data including location data
US6921331B2 (en) * 2001-04-19 2005-07-26 Cyberscan Technology, Inc. Methods and systems for electronic virtual races
US8095597B2 (en) 2001-05-01 2012-01-10 Aol Inc. Method and system of automating data capture from electronic correspondence
AU2002315061A1 (en) * 2001-05-11 2002-11-25 United States Postal Service Systems and methods for a label with postage application programming interface
US7979740B2 (en) * 2001-05-21 2011-07-12 Mudalla Technology, Inc. Gaming machine having game play suspension and resumption features using biometrically-based authentication and method of operating same
US7051332B2 (en) * 2001-05-21 2006-05-23 Cyberscan Technology, Inc. Controller having a restart engine configured to initiate a controller restart cycle upon receipt of a timeout signal from a watchdog timer
US7346917B2 (en) * 2001-05-21 2008-03-18 Cyberview Technology, Inc. Trusted transactional set-top box
US7565353B2 (en) * 2001-05-21 2009-07-21 Mudalla Technology, Inc. Trusted transactional internet kiosk
US7478266B2 (en) * 2001-05-21 2009-01-13 Mudalla Technology, Inc. Method and apparatus for fast transaction commit over unreliable networks
JP2002360937A (en) * 2001-06-08 2002-12-17 Konami Computer Entertainment Osaka:Kk Data delivery system, data delivery server, and video game device
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
US8166115B2 (en) * 2001-06-20 2012-04-24 United States Postal Service Systems and methods for electronic message content identification
US20030018964A1 (en) * 2001-07-19 2003-01-23 International Business Machines Corporation Object model and framework for installation of software packages using a distributed directory
US20030018532A1 (en) * 2001-07-23 2003-01-23 General Motors Corporation Method and device for conducting mobile commerce
US7458612B1 (en) 2001-08-01 2008-12-02 Stamps.Com Inc. Postal shipping label
US20030037328A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Extending installation suites to include topology of suite's run-time environment
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US7401043B2 (en) * 2001-09-03 2008-07-15 Michihiro Sato Method and system for issuing securities and fixed rate financing instruments, method for establishing a market with the system
US8024249B2 (en) * 2001-09-03 2011-09-20 Michihiro Sato Issuing machine and issuing system
US7444676B1 (en) 2001-08-29 2008-10-28 Nader Asghari-Kamrani Direct authentication and authorization system and method for trusted network of financial institutions
US8281129B1 (en) 2001-08-29 2012-10-02 Nader Asghari-Kamrani Direct authentication system and method via trusted authenticators
US8275691B2 (en) * 2001-09-03 2012-09-25 Michihiro Sato Issuing machine and issuing system
US8103580B2 (en) * 2001-09-03 2012-01-24 Michihiro Sato Issuing machine and issuing system for public-offering a financing instrument on-line
US8255235B2 (en) * 2001-09-07 2012-08-28 United States Postal Service Item tracking and anticipated delivery confirmation system method
US7827136B1 (en) 2001-09-20 2010-11-02 Emc Corporation Management for replication of data stored in a data storage environment including a system and method for failover protection of software agents operating in the environment
US20040106450A1 (en) * 2001-10-01 2004-06-03 Seelig Jerald C. Lighted gaming diplay device
JP2005507106A (en) * 2001-10-17 2005-03-10 エヌ・ピー・エックス テクノロジース リミテッド Verification of person identifiers received online
US7546266B2 (en) * 2001-10-18 2009-06-09 General Electric Company Method, system, and storage medium for pre-screening customers for credit card approval at a point of sale
US7822679B1 (en) 2001-10-29 2010-10-26 Visa U.S.A. Inc. Method and system for conducting a commercial transaction between a buyer and a seller
US20030088518A1 (en) * 2001-11-05 2003-05-08 Pitney Bowes Incorporated Method and system for secure printing of indicia via a web based browser
US20030088443A1 (en) * 2001-11-08 2003-05-08 Majikes Matthew George System and method for personalizing and delivering insurance or financial services-related content to a user
AU2002363753A1 (en) * 2001-11-15 2003-05-26 United States Postal Service Shipping shared services postage indicia
US20030101143A1 (en) * 2001-11-20 2003-05-29 Psi Systems, Inc. Systems and methods for detecting postage fraud using a unique mail piece indicium
US8463716B2 (en) * 2001-11-20 2013-06-11 Psi Systems, Inc. Auditable and secure systems and methods for issuing refunds for misprints of mail pieces
US7899718B2 (en) * 2001-12-05 2011-03-01 United Services Automobile Association (Usaa) System and method of facilitating transactions over a computer network
US7865446B2 (en) * 2001-12-11 2011-01-04 International Businesss Machines Corporation Method for secure electronic commercial transaction on-line processing
US20030229590A1 (en) * 2001-12-12 2003-12-11 Byrne Shannon Lee Global integrated payment system
GB2383147B (en) * 2001-12-13 2005-04-06 Inventec Corp Method for integrating multiple web servers based on individual client authorisation
US8046238B2 (en) * 2001-12-20 2011-10-25 Accenture Global Services Limited Business transaction management
US20030118191A1 (en) * 2001-12-21 2003-06-26 Huayan Wang Mail Security method and system
US20030125012A1 (en) * 2001-12-28 2003-07-03 Allen Lee S. Micro-credit certificate for access to services on heterogeneous access networks
US6725576B2 (en) * 2002-01-04 2004-04-27 Atlas Snowshoe Company Snowshoe with molded tail piece
US20030130943A1 (en) * 2002-01-08 2003-07-10 Bottomline Technologies (De) Inc. Automated invoice receipt and management system with automated loading systems
US20030135421A1 (en) * 2002-01-14 2003-07-17 Cales Shelia F. Buyer protection service
US7395503B1 (en) 2002-02-06 2008-07-01 Adobe Systems Incorporated Dynamic preview of electronic signature appearance
US20030225711A1 (en) * 2002-02-20 2003-12-04 Martin Paping Method and apparatus for postal user identification and billing
KR100453341B1 (en) * 2002-02-25 2004-10-15 (주)베스텍컴 payment system using a credit card for trade and method thereof
US20030182206A1 (en) * 2002-03-07 2003-09-25 Hendrix Thomas R. Accounts payable electronic processing
US20030171998A1 (en) * 2002-03-11 2003-09-11 Omnicell, Inc. Methods and systems for consolidating purchase orders
US20040122780A1 (en) * 2002-04-02 2004-06-24 Devar Rodney C Universal delivery and collection box unit
US20030229790A1 (en) * 2002-04-30 2003-12-11 Russell William Christopher System and method for electronic ticket purchasing and redemption
US7689482B2 (en) * 2002-05-24 2010-03-30 Jp Morgan Chase Bank, N.A. System and method for payer (buyer) defined electronic invoice exchange
US20030225638A1 (en) * 2002-05-28 2003-12-04 Secola Antonio F. Method for outsourcing accounting functions over the internet; using an integrated system between the bank account information and the accounting records
FR2841070B1 (en) * 2002-06-17 2005-02-04 Cryptolog INTERFACE METHOD AND DEVICE FOR PROTECTED EXCHANGING ONLINE CONTENT DATA
US20040030724A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for replenishing material inventories
US20040044591A1 (en) * 2002-06-19 2004-03-04 Gilliland Ramelle L. Method and system for electronic procurement involving electronic requests for quotation
US20040039735A1 (en) * 2002-06-19 2004-02-26 Ross Maria A. Computer-implemented method and system for performing searching for products and services
US20040030602A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for managing supplier access to purchasing and inventory transactions
US7698231B2 (en) * 2002-06-19 2010-04-13 Ford Motor Company Computer-implemented method and system for global purchasing
US20040030618A1 (en) * 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system of payment of indirect materials
US7363253B2 (en) * 2002-06-19 2008-04-22 Ford Motor Company Computer-implemented method and system for retroactive pricing for use in order procurement
US20040030614A1 (en) * 2002-06-19 2004-02-12 Shields Jay C. Computer-implemented method and system for managing workload of procurement individuals
US20040210518A1 (en) * 2002-08-01 2004-10-21 Tiem Marvin Van Wire transfer system and method
US20040039660A1 (en) * 2002-08-23 2004-02-26 James Prescott Automated on-line purchasing system
WO2004019182A2 (en) * 2002-08-24 2004-03-04 Ingrian Networks, Inc. Selective feature activation
CN1689049A (en) * 2002-08-29 2005-10-26 美国邮政服务公司 Systems and methods for re-estimating the postage fee of a mailpiece during processing
EP1403793A1 (en) * 2002-09-27 2004-03-31 Sap Ag Method for automatic integrated document filing in the logging of business transactions
EP1403794A1 (en) * 2002-09-27 2004-03-31 Sap Ag Method and system for automatic storage of business data
AU2002951921A0 (en) * 2002-10-04 2002-10-24 Epip Pty Ltd Means to facilitate delivery of electronic documents into a postal network
US8489742B2 (en) 2002-10-10 2013-07-16 Convergys Information Management Group, Inc. System and method for work management
US8577795B2 (en) * 2002-10-10 2013-11-05 Convergys Information Management Group, Inc. System and method for revenue and authorization management
US20040078327A1 (en) * 2002-10-16 2004-04-22 First Data Corporation Wireless communication device account payment notification systems and methods
US7904391B2 (en) * 2002-10-24 2011-03-08 Hewlett-Packard Development Company, L.P. Methods of returning merchandise purchased by a customer from a vendor, computer implemented methods performed by a vendor, and return of merchandise processing apparatuses
US7574607B1 (en) * 2002-10-29 2009-08-11 Zix Corporation Secure pipeline processing
JP2004192094A (en) * 2002-12-09 2004-07-08 Fujitsu Ltd Reservation application management method, program, and system
US20040122769A1 (en) * 2002-12-19 2004-06-24 Paul Bailo Method and apparatus for facilitating a payment from an account
US20040138973A1 (en) * 2003-01-14 2004-07-15 American Express Travel Related Services Company, Inc. Method and system for exchange of currency related instructions
US7484087B2 (en) * 2003-02-24 2009-01-27 Jp Morgan Chase Bank Systems, methods, and software for preventing redundant processing of transmissions sent to a remote host computer
US7028895B2 (en) * 2003-03-28 2006-04-18 United States Postal Service System and method for managing postal induction, tracking, and delivery
US10311412B1 (en) 2003-03-28 2019-06-04 Jpmorgan Chase Bank, N.A. Method and system for providing bundled electronic payment and remittance advice
US8630947B1 (en) 2003-04-04 2014-01-14 Jpmorgan Chase Bank, N.A. Method and system for providing electronic bill payment and presentment
JP3615749B2 (en) * 2003-04-25 2005-02-02 三菱電機インフォメーションシステムズ株式会社 Print service system and print service program
US9123047B2 (en) * 2003-04-28 2015-09-01 Xerox Corporation System for providing document services using a coupon with a coupon scanning device
US20040211832A1 (en) * 2003-04-28 2004-10-28 Xerox Corporation System and method for purchasing and selling document services using a coupon
US20040211828A1 (en) * 2003-04-28 2004-10-28 Xerox Corporation. Method for forming and decoding a coupon providing the bearer with access to document services
US7900038B2 (en) * 2003-04-29 2011-03-01 Wells Fargo Bank, N.A. Method and apparatus for a broker entity
US7949613B2 (en) * 2003-05-02 2011-05-24 Siemens Industry, Inc. Apparatus for improved sortation and delivery point processing of military mail
US7617154B1 (en) 2003-06-09 2009-11-10 Legal Systems Holding Company Ensuring the accurateness and currentness of information provided by the submitter of an electronic invoice throughout the life of a matter
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
EP1693983B1 (en) * 2003-07-25 2007-08-29 Ricoh Company, Ltd. Authentication system and method using individualized and non-individualized certificates
US20050033701A1 (en) * 2003-08-08 2005-02-10 International Business Machines Corporation System and method for verifying the identity of a remote meter transmitting utility usage data
US11037151B1 (en) 2003-08-19 2021-06-15 Stamps.Com Inc. System and method for dynamically partitioning a postage evidencing system
US20050044243A1 (en) * 2003-08-19 2005-02-24 Toshiba America Information Systems, Inc. System for toll-free or reduced toll internet access
US20050050170A1 (en) * 2003-08-29 2005-03-03 International Business Machines Corporation Method and apparatus for securely conducting digital property trade
US7958055B2 (en) * 2003-08-29 2011-06-07 International Business Machines Corporation Method and apparatus for temporary ownership of digital items in a network data processing system
US7698229B2 (en) * 2003-08-29 2010-04-13 International Business Machines Corporation Method and apparatus for trading digital items in a network data processing system
US7447663B1 (en) 2003-09-10 2008-11-04 Ameriprise Financial, Inc. Method for on-line client set-up and authorization of automatic electronic funds transfers
US20050138469A1 (en) * 2003-09-19 2005-06-23 Pitney Bowes Inc. Fraud detection in a postage system
US7937333B2 (en) * 2003-09-19 2011-05-03 Pitney Bowes Inc. System and method for facilitating refunds of unused postage
US7353213B2 (en) * 2003-09-19 2008-04-01 Pitney Bowes Inc. System and method for preventing duplicate printing in a web browser
US20050071294A1 (en) * 2003-09-26 2005-03-31 Rios Jeffrey P. Mailing machine scanner apparatus and method
US7668093B1 (en) 2004-08-05 2010-02-23 Convergys Information Management Group, Inc. Architecture for balancing workload
US8453196B2 (en) * 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
US7487537B2 (en) * 2003-10-14 2009-02-03 International Business Machines Corporation Method and apparatus for pervasive authentication domains
US7904882B2 (en) * 2003-10-16 2011-03-08 Salesforce.Com, Inc. Managing virtual business instances within a computer network
US8655755B2 (en) 2003-10-22 2014-02-18 Scottrade, Inc. System and method for the automated brokerage of financial instruments
US20050114271A1 (en) * 2003-11-26 2005-05-26 Eugene Sindambiwe System and method to provide secure electronic records
US7814003B2 (en) 2003-12-15 2010-10-12 Jp Morgan Chase Billing workflow system for crediting charges to entities creating derivatives exposure
KR100744531B1 (en) * 2003-12-26 2007-08-01 한국전자통신연구원 System and method for managing encryption key for mobile terminal
US10332190B1 (en) 2004-01-30 2019-06-25 Jpmorgan Chase Bank, N.A. System and method for trade payment exchange
US7827603B1 (en) * 2004-02-13 2010-11-02 Citicorp Development Center, Inc. System and method for secure message reply
US7380707B1 (en) 2004-02-25 2008-06-03 Jpmorgan Chase Bank, N.A. Method and system for credit card reimbursements for health care transactions
US7739351B2 (en) * 2004-03-23 2010-06-15 Salesforce.Com, Inc. Synchronous interface to asynchronous processes
US7590685B2 (en) * 2004-04-07 2009-09-15 Salesforce.Com Inc. Techniques for providing interoperability as a service
US20050225796A1 (en) * 2004-04-12 2005-10-13 Kyocera Mita Corporation Wide area network printing system, document server, and image forming apparatus
US7324973B2 (en) * 2004-04-16 2008-01-29 Video Gaming Technologies, Inc. Gaming system and method of securely transferring a monetary value
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
ES2585353T3 (en) 2004-05-12 2016-10-05 Synchronoss Technologies, Inc. Advanced contact identification system
US20050256797A1 (en) * 2004-05-13 2005-11-17 Scottrade, Inc. Method and apparatus for user-interactive financial instrument trading
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US8781975B2 (en) * 2004-05-21 2014-07-15 Emc Corporation System and method of fraud reduction
KR100601680B1 (en) * 2004-05-22 2006-07-14 삼성전자주식회사 Image forming apparatus
US20050273347A1 (en) * 2004-06-04 2005-12-08 Bank One, Delaware, National Association Method and system for processing payment items at a central processor
US7590980B1 (en) 2004-06-14 2009-09-15 Convergys Cmg Utah, Inc. System and method for a functional extensibility framework
US8606697B2 (en) 2004-06-17 2013-12-10 Visa International Service Association Method and system for providing buyer bank payable discounting services
US8554673B2 (en) 2004-06-17 2013-10-08 Jpmorgan Chase Bank, N.A. Methods and systems for discounts management
US8121944B2 (en) 2004-06-24 2012-02-21 Jpmorgan Chase Bank, N.A. Method and system for facilitating network transaction processing
US7748606B2 (en) * 2004-06-29 2010-07-06 United States Postal Service Cluster box mail delivery unit having security features
US20060010320A1 (en) * 2004-07-09 2006-01-12 Leadtek Research Inc. Method of secure data exchange
US7264154B2 (en) * 2004-07-12 2007-09-04 Harris David N System and method for securing a credit account
US8290863B2 (en) 2004-07-23 2012-10-16 Jpmorgan Chase Bank, N.A. Method and system for expediting payment delivery
US8290862B2 (en) 2004-07-23 2012-10-16 Jpmorgan Chase Bank, N.A. Method and system for expediting payment delivery
US11893089B1 (en) 2004-07-27 2024-02-06 Auctane, Inc. Systems and methods for protecting content when using a general purpose user interface application
US9728107B1 (en) 2008-04-15 2017-08-08 Stamps.Com Inc. Systems and methods for protecting content when using a general purpose user interface application
US7725605B2 (en) * 2004-08-06 2010-05-25 Salesforce.Com, Inc. Providing on-demand access to services in a wide area network
US7461031B2 (en) * 2004-08-31 2008-12-02 Pitney Bowes Inc. System and method for meter enabled payment functionality
US7721328B2 (en) * 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US8108428B1 (en) * 2004-11-30 2012-01-31 Legal Systems Holding Company Vendor/client information system architecture
US7571144B2 (en) * 2004-11-30 2009-08-04 Pitney Bowes Inc. Systems and methods for selecting postal indicia image formats
US7711639B2 (en) 2005-01-12 2010-05-04 Visa International Pre-funding system and method
US8666900B1 (en) * 2005-03-30 2014-03-04 Intuit Inc. Secure product enablement over channels with narrow bandwidth
US8291224B2 (en) 2005-03-30 2012-10-16 Wells Fargo Bank, N.A. Distributed cryptographic management for computer systems
US20060230000A1 (en) * 2005-04-07 2006-10-12 Lubinger Karl S Smart return address indicium and method of use
US7822682B2 (en) 2005-06-08 2010-10-26 Jpmorgan Chase Bank, N.A. System and method for enhancing supply chain transactions
US20070011070A1 (en) * 2005-06-24 2007-01-11 Stewart Clements Fraud prevention system
USD745765S1 (en) 2005-06-29 2015-12-15 United States Postal Service Cluster box mail delivery unit
US7765398B2 (en) * 2005-07-07 2010-07-27 At&T Intellectual Property I, L.P. Method of promulgating a transaction tool to a recipient
AU2006309231B2 (en) * 2005-08-09 2011-11-24 Cardinalcommerce Corporation Web terminal and bridge that support passing of authentication data to acquirer for payment processing
US8230491B2 (en) * 2005-08-19 2012-07-24 Opnet Technologies, Inc. Automatic access to network devices using various authentication schemes
FR2890218B1 (en) * 2005-08-31 2007-11-09 Neopost Ind Sa DELIVERY SYSTEM WITH DISTRIBUTED ACCOUNTING
US7912765B2 (en) * 2005-09-01 2011-03-22 United Parcel Service Of America, Inc. Method and system for gathering data
US20070079140A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Data migration
US20070079386A1 (en) * 2005-09-26 2007-04-05 Brian Metzger Transparent encryption using secure encryption device
US8046579B2 (en) * 2005-10-04 2011-10-25 Neopost Technologies Secure gateway with redundent servers
US20070080218A1 (en) * 2005-10-06 2007-04-12 Lussori Inc. Sale and warranty confirmation management
US8301529B1 (en) 2005-11-02 2012-10-30 Jpmorgan Chase Bank, N.A. Method and system for implementing effective governance of transactions between trading partners
AU2006201479B2 (en) * 2005-12-14 2006-07-06 Epip Pty Ltd Improved delivery of electronic documents into a postal network using 'ignore page'
US20070179903A1 (en) * 2006-01-30 2007-08-02 Microsoft Corporation Identity theft mitigation
US8386768B2 (en) * 2006-02-08 2013-02-26 Safenet, Inc. High performance data encryption server and method for transparently encrypting/decrypting data
US7958091B2 (en) 2006-02-16 2011-06-07 Ingrian Networks, Inc. Method for fast bulk loading data into a database while bypassing exit routines
CN101025802A (en) * 2006-02-17 2007-08-29 鸿富锦精密工业(深圳)有限公司 Working log electronic system and method
US7840809B2 (en) * 2006-02-24 2010-11-23 Cisco Technology, Inc. Method and system for secure transmission of an encrypted media stream across a network
US20070269040A1 (en) * 2006-05-16 2007-11-22 Microsoft Corporation Cryptographic Protocol for Commonly Controlled Devices
US7734545B1 (en) 2006-06-14 2010-06-08 Jpmorgan Chase Bank, N.A. Method and system for processing recurring payments
US8572387B2 (en) * 2006-07-26 2013-10-29 Panasonic Corporation Authentication of a peer in a peer-to-peer network
US8849719B2 (en) * 2006-08-02 2014-09-30 Christopher W. Baker Providing content to a portable playback device
US8239677B2 (en) * 2006-10-10 2012-08-07 Equifax Inc. Verification and authentication systems and methods
EP1916620A1 (en) * 2006-10-27 2008-04-30 Deutsche Post AG Method for creating a label and device for carrying out the method
EP1916628B1 (en) * 2006-10-27 2014-11-19 Deutsche Post AG Method for creating an intelligent document and device for carrying out the method
US8379865B2 (en) * 2006-10-27 2013-02-19 Safenet, Inc. Multikey support for multiple office system
US7620600B2 (en) * 2006-11-21 2009-11-17 Verient, Inc. Systems and methods for multiple sessions during an on-line transaction
US8661520B2 (en) * 2006-11-21 2014-02-25 Rajesh G. Shakkarwar Systems and methods for identification and authentication of a user
US20080120507A1 (en) * 2006-11-21 2008-05-22 Shakkarwar Rajesh G Methods and systems for authentication of a user
US7548890B2 (en) * 2006-11-21 2009-06-16 Verient, Inc. Systems and methods for identification and authentication of a user
US8285989B2 (en) 2006-12-18 2012-10-09 Apple Inc. Establishing a secured communication session
US9779556B1 (en) 2006-12-27 2017-10-03 Stamps.Com Inc. System and method for identifying and preventing on-line fraud
US8510233B1 (en) 2006-12-27 2013-08-13 Stamps.Com Inc. Postage printer
US8612361B1 (en) 2006-12-27 2013-12-17 Stamps.Com Inc. System and method for handling payment errors with respect to delivery services
US8775331B1 (en) 2006-12-27 2014-07-08 Stamps.Com Inc Postage metering with accumulated postage
CN101232631B (en) * 2007-01-23 2011-08-31 阿里巴巴集团控股有限公司 System and method for communication terminal to perform safety authentication through short messages
US20080249964A1 (en) * 2007-04-09 2008-10-09 Neopost Technologies Method for providing a refund for indicium-based postage
US8762270B1 (en) 2007-08-10 2014-06-24 Jpmorgan Chase Bank, N.A. System and method for providing supplemental payment or transaction information
CA2703485A1 (en) * 2007-10-22 2009-04-30 Psi Systems, Inc. Systems and methods for funds processing in postage distribution environments
US7844522B2 (en) * 2007-10-30 2010-11-30 Intuit Inc. Method and apparatus for monitoring and verifying a transfer of financial settings
DE102007052458A1 (en) * 2007-11-02 2009-05-07 Francotyp-Postalia Gmbh Franking procedure and mailing system with central postage collection
US20090132804A1 (en) * 2007-11-21 2009-05-21 Prabir Paul Secured live software migration
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US7766244B1 (en) 2007-12-31 2010-08-03 Jpmorgan Chase Bank, N.A. System and method for processing transactions using a multi-account transactions device
US8622308B1 (en) 2007-12-31 2014-01-07 Jpmorgan Chase Bank, N.A. System and method for processing transactions using a multi-account transactions device
US20090228295A1 (en) * 2008-02-08 2009-09-10 Stephen Lowy Method for automatically establishing an identification theft recovery service based on the purchase of an item
US10373398B1 (en) 2008-02-13 2019-08-06 Stamps.Com Inc. Systems and methods for distributed activation of postage
US20090259585A1 (en) * 2008-04-09 2009-10-15 Kenneth Beirne Event-driven credit offers
US9978185B1 (en) 2008-04-15 2018-05-22 Stamps.Com Inc. Systems and methods for activation of postage indicia at point of sale
US8326661B2 (en) * 2008-06-26 2012-12-04 Alibaba Group Holding Limited Method and apparatus for providing data statistics
US8090616B2 (en) 2008-09-08 2012-01-03 Proctor Jr James Arthur Visual identification information used as confirmation in a wireless communication
US9092447B1 (en) 2008-10-20 2015-07-28 Jpmorgan Chase Bank, N.A. Method and system for duplicate detection
US8391584B2 (en) 2008-10-20 2013-03-05 Jpmorgan Chase Bank, N.A. Method and system for duplicate check detection
US9911246B1 (en) 2008-12-24 2018-03-06 Stamps.Com Inc. Systems and methods utilizing gravity feed for postage metering
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US10089797B1 (en) * 2010-02-25 2018-10-02 Stamps.Com Inc. Systems and methods for providing localized functionality in browser based postage transactions
US9842308B1 (en) 2010-02-25 2017-12-12 Stamps.Com Inc. Systems and methods for rules based shipping
US8447641B1 (en) 2010-03-29 2013-05-21 Jpmorgan Chase Bank, N.A. System and method for automatically enrolling buyers into a network
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US9183590B2 (en) * 2010-07-20 2015-11-10 Neopost Technologies System and method for managing postal accounting data using transient data collectors
US8589288B1 (en) 2010-10-01 2013-11-19 Jpmorgan Chase Bank, N.A. System and method for electronic remittance of funds
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US8543503B1 (en) 2011-03-30 2013-09-24 Jpmorgan Chase Bank, N.A. Systems and methods for automated invoice entry
US8543504B1 (en) 2011-03-30 2013-09-24 Jpmorgan Chase Bank, N.A. Systems and methods for automated invoice entry
US9734498B2 (en) 2011-05-11 2017-08-15 Riavera Corp Mobile image payment system using short codes
US9785935B2 (en) 2011-05-11 2017-10-10 Riavera Corp. Split mobile payment system
US9547861B2 (en) 2011-05-11 2017-01-17 Mark Itwaru System and method for wireless communication with an IC chip for submission of pin data
MX2013013166A (en) 2011-05-11 2014-09-01 Mark Itwaru Split mobile payment system.
US9715704B2 (en) 2011-05-11 2017-07-25 Riavera Corp Merchant ordering system using optical machine readable image representation of invoice information
US10223674B2 (en) 2011-05-11 2019-03-05 Riavera Corp. Customized transaction flow for multiple transaction types using encoded image representation of transaction information
US8616453B2 (en) 2012-02-15 2013-12-31 Mark Itwaru System and method for processing funds transfer between entities based on received optical machine readable image information
US9721243B2 (en) 2011-05-11 2017-08-01 Riavera Corp. Mobile payment system using subaccounts of account holder
US10713634B1 (en) 2011-05-18 2020-07-14 Stamps.Com Inc. Systems and methods using mobile communication handsets for providing postage
US9437051B1 (en) * 2011-06-10 2016-09-06 Stamps.Com Inc. Systems and methods for providing operational continuity using reduced data replication
US10846650B1 (en) 2011-11-01 2020-11-24 Stamps.Com Inc. Perpetual value bearing shipping labels
US9959576B2 (en) * 2011-12-07 2018-05-01 Visa International Service Association Multi-purpose device having multiple certificates including member certificate
US8707050B1 (en) * 2011-12-23 2014-04-22 Emc Corporation Integrity self-check of secure code within a VM environment using native VM code
US10922641B1 (en) 2012-01-24 2021-02-16 Stamps.Com Inc. Systems and methods providing known shipper information for shipping indicia
US9122873B2 (en) 2012-09-14 2015-09-01 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US10636100B2 (en) 2013-02-27 2020-04-28 Vatbox, Ltd. System and method for prediction of value added tax reclaim success
US8918341B2 (en) * 2013-03-06 2014-12-23 United States Postal Service System and method for international merchandise return service
US20150095239A1 (en) * 2013-09-30 2015-04-02 Fiserv , Inc. Card account identifiers associated with conditions for temporary use
US9721225B1 (en) * 2013-10-16 2017-08-01 Stamps.Com Inc. Systems and methods facilitating shipping services rate resale
US9219747B2 (en) * 2013-10-28 2015-12-22 At&T Intellectual Property I, L.P. Filtering network traffic using protected filtering mechanisms
US9058626B1 (en) 2013-11-13 2015-06-16 Jpmorgan Chase Bank, N.A. System and method for financial services device usage
US10771255B1 (en) * 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
US9954848B1 (en) 2014-04-04 2018-04-24 Wells Fargo Bank, N.A. Central cryptographic management for computer systems
US10417728B1 (en) 2014-04-17 2019-09-17 Stamps.Com Inc. Single secure environment session generating multiple indicia
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
EP2963576B1 (en) * 2014-07-04 2022-03-23 Vodafone GmbH Secure installation of software in a device for accessing protected content
US9509679B2 (en) 2014-11-21 2016-11-29 Dropbox, Inc. System and method for non-replayable communication sessions
FR3030828A1 (en) * 2014-12-22 2016-06-24 Orange METHOD FOR SECURING CONTACTLESS TRANSACTIONS
WO2016179182A1 (en) 2015-05-04 2016-11-10 United States Postal Service System and method for processing items for international distribution
US10263981B1 (en) 2015-12-02 2019-04-16 United Services Automobile Association (Usaa) Public authentication systems and methods
US10817593B1 (en) * 2015-12-29 2020-10-27 Wells Fargo Bank, N.A. User information gathering and distribution system
US10521754B2 (en) 2016-03-08 2019-12-31 Auctane, LLC Concatenated shipping documentation processing spawning intelligent generation subprocesses
KR101780636B1 (en) 2016-05-16 2017-09-21 주식회사 코인플러그 Method for issuing certificate information and blockchain-based server using the same
US10621157B2 (en) 2016-10-10 2020-04-14 AlphaPoint Immediate order book failover
US10673628B1 (en) * 2017-04-27 2020-06-02 EMC IP Holding Company LLC Authentication and authorization token management using life key service
CN107277041B (en) * 2017-07-20 2023-08-22 北京织迦科技发展有限公司 Shared mode express delivery system and method based on crowdsourcing mode
US11281850B2 (en) * 2017-12-28 2022-03-22 A9.Com, Inc. System and method for self-filing customs entry forms
CN109191272B (en) * 2018-08-17 2023-04-07 深圳市智税链科技有限公司 Data processing method, device, storage medium and equipment for electronic bill
US11532040B2 (en) 2019-11-12 2022-12-20 Bottomline Technologies Sarl International cash management software using machine learning
US11526859B1 (en) 2019-11-12 2022-12-13 Bottomline Technologies, Sarl Cash flow forecasting using a bottoms-up machine learning approach
CN110891061B (en) * 2019-11-26 2021-08-06 中国银联股份有限公司 Data encryption and decryption method and device, storage medium and encrypted file
US11431689B2 (en) * 2020-01-10 2022-08-30 Lennox Industries Inc. Secure payload delivery
WO2021159052A1 (en) * 2020-02-08 2021-08-12 Cameron Laghaeian Method and apparatus for managing encryption keys and encrypted electronic information on a network server
US11704671B2 (en) 2020-04-02 2023-07-18 Bottomline Technologies Limited Financial messaging transformation-as-a-service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835087A (en) * 1994-11-29 1998-11-10 Herz; Frederick S. M. System for generation of object profiles for a system for customized electronic identification of desirable objects
US5850446A (en) * 1996-06-17 1998-12-15 Verifone, Inc. System, method and article of manufacture for virtual point of sale processing utilizing an extensible, flexible architecture
US5889863A (en) * 1996-06-17 1999-03-30 Verifone, Inc. System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4097923A (en) 1975-04-16 1978-06-27 Pitney-Bowes, Inc. Remote postage meter charging system using an advanced microcomputerized postage meter
US4447890A (en) 1980-07-14 1984-05-08 Pitney Bowes Inc. Remote postage meter systems having variable user authorization code
US4436992A (en) 1981-01-08 1984-03-13 Simjian Luther G Check controlled metering device
US4757537A (en) 1985-04-17 1988-07-12 Pitney Bowes Inc. System for detecting unaccounted for printing in a value printing system
US4743747A (en) 1985-08-06 1988-05-10 Pitney Bowes Inc. Postage and mailing information applying system
US4775246A (en) 1985-04-17 1988-10-04 Pitney Bowes Inc. System for detecting unaccounted for printing in a value printing system
US4725718A (en) 1985-08-06 1988-02-16 Pitney Bowes Inc. Postage and mailing information applying system
US4812994A (en) 1985-08-06 1989-03-14 Pitney Bowes Inc. Postage meter locking system
US4907161A (en) 1985-12-26 1990-03-06 Pitney Bowes Inc. Batch mailing system
US4855920A (en) 1985-12-26 1989-08-08 Pitney Bowes, Inc. Postage accounting device
US4853865A (en) 1985-12-26 1989-08-01 Pitney Bowes Inc. Mailing system with postage value printing capability
US4999481A (en) 1985-12-26 1991-03-12 Pitney Bowes Inc. Method and apparatus for sequentially numbering mail pieces
US4998204A (en) 1985-12-26 1991-03-05 Pitney Bowes Inc. Mailing system and method for low volume mailers printing postage information upon inserts
US4837701A (en) 1985-12-26 1989-06-06 Pitney Bowes Inc. Mail processing system with multiple work stations
US4760534A (en) 1985-12-26 1988-07-26 Pitney Bowes Inc. Mailing system with postage value transfer and accounting capability
US5375172A (en) 1986-07-07 1994-12-20 Chrosny; Wojciech M. Postage payment system employing encryption techniques and accounting for postage payment at a time subsequent to the printing of postage
US4802218A (en) 1986-11-26 1989-01-31 Wright Technologies, L.P. Automated transaction system
US4900904A (en) 1986-11-26 1990-02-13 Wright Technologies, L.P. Automated transaction system with insertable cards for downloading rate or program data
US4900903A (en) 1986-11-26 1990-02-13 Wright Technologies, L.P. Automated transaction system with insertable cards for transferring account data
US4864618A (en) 1986-11-26 1989-09-05 Wright Technologies, L.P. Automated transaction system with modular printhead having print authentication feature
FR2610403B1 (en) 1987-01-30 1991-06-14 Jet Services SYSTEM AND METHOD FOR WEIGHING AN OBJECT, WITH AUTOMATIC EDITING OF A LABEL
US4831566A (en) 1987-03-20 1989-05-16 Summagraphics Corporation Method and apparatus for calibration of a charge ratio digitizer
US5323323A (en) 1987-07-09 1994-06-21 Neopost Limited Franking machine system
US5200903A (en) 1987-07-09 1993-04-06 Alcatel Business Systems Ltd. Franking machine
US4969381A (en) 1987-07-31 1990-11-13 Kuau Technology, Ltd. Composite-materials acoustic stringed musical instrument
US4774500A (en) 1987-10-21 1988-09-27 Wright Technologies Data compaction method for microprocessor cards
US4873645A (en) 1987-12-18 1989-10-10 Pitney Bowes, Inc. Secure postage dispensing system
US4853961A (en) 1987-12-18 1989-08-01 Pitney Bowes Inc. Reliable document authentication system
US5111030A (en) 1988-02-08 1992-05-05 Pitney Bowes Inc. Postal charge accounting system
US4901241A (en) 1988-03-23 1990-02-13 Drexler Technology Corporation Debit card postage meter
US5185243A (en) 1988-08-25 1993-02-09 Syntex (U.S.A.) Inc. Method for detection of specific nucleic acid sequences
US4949381A (en) 1988-09-19 1990-08-14 Pitney Bowes Inc. Electronic indicia in bit-mapped form
US5257196A (en) 1988-12-13 1993-10-26 Pitney Bowes Inc. Apparatus and method for the processing of mail
GB8830423D0 (en) 1988-12-30 1989-03-01 Alcatel Business Systems Franking system
GB2232121B (en) 1989-05-30 1993-11-10 Alcatel Business Systems Mail item processing system
GB2233937B (en) 1989-07-13 1993-10-06 Pitney Bowes Plc A machine incorporating an accounts verification system
DE4018166C2 (en) 1990-06-01 1994-12-01 Francotyp Postalia Gmbh Franking module
US5224046A (en) 1990-09-13 1993-06-29 Pitney Bowes Inc. System for recharging a plurality of postage meters
DE4034292A1 (en) 1990-10-25 1992-04-30 Francotyp Postalia Gmbh METHOD FOR MAILING POSTAGE AND ARRANGEMENT FOR CARRYING IT OUT
US5341505A (en) 1990-10-30 1994-08-23 Whitehouse Harry T System and method for accessing remotely located ZIP+4 zipcode database
US5142577A (en) 1990-12-17 1992-08-25 Jose Pastor Method and apparatus for authenticating messages
US5233531A (en) 1990-12-24 1993-08-03 Pitney Bowes Inc. Remote postage meter resetting by facsimile communication
US5243654A (en) 1991-03-18 1993-09-07 Pitney Bowes Inc. Metering system with remotely resettable time lockout
US5319562A (en) 1991-08-22 1994-06-07 Whitehouse Harry T System and method for purchase and application of postage using personal computer
US5428210A (en) 1992-01-10 1995-06-27 National Bancard Corporation Data card terminal with embossed character reader and signature capture
US5309363A (en) 1992-03-05 1994-05-03 Frank M. Graves Remotely rechargeable postage meter
US5387783A (en) 1992-04-30 1995-02-07 Postalsoft, Inc. Method and apparatus for inserting and printing barcoded zip codes
GB9221215D0 (en) 1992-10-09 1992-11-25 Neopost Ltd Database system
US5452203A (en) 1992-11-30 1995-09-19 Pitney Bowes Inc. Methods and apparatus for correcting customer address lists
US5570465A (en) 1993-07-22 1996-10-29 Tsakanikas; Peter J. Apparatus, method and system for printing of legal currency and negotiable instruments
US5369258A (en) 1993-07-29 1994-11-29 Pitney Bowes Inc. Postage applying kiosk
US5457636A (en) 1993-07-29 1995-10-10 Pitney Bowes Inc. Postal finishing kiosk
US5448641A (en) 1993-10-08 1995-09-05 Pitney Bowes Inc. Postal rating system with verifiable integrity
US5390251A (en) 1993-10-08 1995-02-14 Pitney Bowes Inc. Mail processing system including data center verification for mailpieces
US5480239A (en) 1993-10-08 1996-01-02 Pitney Bowes Inc. Postage meter system having bit-mapped indicia image security
US5454038A (en) 1993-12-06 1995-09-26 Pitney Bowes Inc. Electronic data interchange postage evidencing system
DE4344476A1 (en) 1993-12-21 1995-06-22 Francotyp Postalia Gmbh Process for improving the security of franking machines
US5796834A (en) 1994-01-03 1998-08-18 E-Stamp Corporation System and method for controlling the dispensing of an authenticating indicia
US5812991A (en) 1994-01-03 1998-09-22 E-Stamp Corporation System and method for retrieving postage credit contained within a portable memory over a computer network
US5510992A (en) 1994-01-03 1996-04-23 Post N Mail, L.C. System and method for automatically printing postage on mail
US5606507A (en) 1994-01-03 1997-02-25 E-Stamp Corporation System and method for storing, retrieving and automatically printing postage on mail
US5586036A (en) 1994-07-05 1996-12-17 Pitney Bowes Inc. Postage payment system with security for sensitive mailer data and enhanced carrier data functionality
US5612889A (en) 1994-10-04 1997-03-18 Pitney Bowes Inc. Mail processing system with unique mailpiece authorization assigned in advance of mailpieces entering carrier service mail processing stream
US5598477A (en) 1994-11-22 1997-01-28 Pitney Bowes Inc. Apparatus and method for issuing and validating tickets
US5535279A (en) 1994-12-15 1996-07-09 Pitney Bowes Inc. Postage accounting system including means for transmitting a bit-mapped image of variable information for driving an external printer
US5602921A (en) 1994-12-15 1997-02-11 Pitney Bowes Inc. Postage accounting system including means for transmitting ASCII encoded variable information for driving an external printer
US5583779A (en) 1994-12-22 1996-12-10 Pitney Bowes Inc. Method for preventing monitoring of data remotely sent from a metering accounting vault to digital printer
US5606613A (en) 1994-12-22 1997-02-25 Pitney Bowes Inc. Method for identifying a metering accounting vault to digital printer
US5602742A (en) 1995-01-10 1997-02-11 Solondz; Leonard I. Postage metering system
US5583970A (en) 1995-02-28 1996-12-10 Pitney Bowes Inc. Printer command set for controlling address and postal code printing functions
US5742682A (en) 1995-03-31 1998-04-21 Pitney Bowes Inc. Method of manufacturing secure boxes in a key management system
US5812666A (en) 1995-03-31 1998-09-22 Pitney Bowes Inc. Cryptographic key management and validation system
US5661803A (en) 1995-03-31 1997-08-26 Pitney Bowes Inc. Method of token verification in a key management system
US5680456A (en) 1995-03-31 1997-10-21 Pitney Bowes Inc. Method of manufacturing generic meters in a key management system
US5796841A (en) 1995-08-21 1998-08-18 Pitney Bowes Inc. Secure user certification for electronic commerce employing value metering system
US5717597A (en) 1995-10-11 1998-02-10 E-Stamp Corporation System and method for printing personalized postage indicia on greeting cards
US5819240A (en) 1995-10-11 1998-10-06 E-Stamp Corporation System and method for generating personalized postage indica
US5801944A (en) 1995-10-11 1998-09-01 E-Stamp Corporation System and method for printing postage indicia directly on documents
US5835689A (en) 1995-12-19 1998-11-10 Pitney Bowes Inc. Transaction evidencing system and method including post printing and batch processing
CA2193282A1 (en) 1995-12-19 1997-06-20 Robert A. Cordery A method generating digital tokens from a subset of addressee information
US5835604A (en) 1995-12-19 1998-11-10 Pitney Bowes Inc. Method of mapping destination addresses for use in calculating digital tokens
US5625694A (en) 1995-12-19 1997-04-29 Pitney Bowes Inc. Method of inhibiting token generation in an open metering system
US5781438A (en) 1995-12-19 1998-07-14 Pitney Bowes Inc. Token generation process in an open metering system
US5742683A (en) 1995-12-19 1998-04-21 Pitney Bowes Inc. System and method for managing multiple users with different privileges in an open metering system
DK0780109T3 (en) 1995-12-20 2000-07-24 Koester Gmbh & Co Kg Ble fastening tape
US5799290A (en) 1995-12-27 1998-08-25 Pitney Bowes Inc. Method and apparatus for securely authorizing performance of a function in a distributed system such as a postage meter
US5923762A (en) 1995-12-27 1999-07-13 Pitney Bowes Inc. Method and apparatus for ensuring debiting in a postage meter prior to its printing a postal indicia
CA2206937A1 (en) 1996-06-06 1997-12-06 Pitney Bowes Inc. Secure apparatus and method for printing value with a value printer
US5768132A (en) 1996-06-17 1998-06-16 Pitney Bowes Inc. Controlled acceptance mail system securely enabling reuse of digital token initially generated for a mailpiece on a subsequently prepared different mailpiece to authenticate payment of postage
US5812400A (en) 1996-08-23 1998-09-22 Pitney Bowes Inc. Electronic postage meter installation and location movement system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835087A (en) * 1994-11-29 1998-11-10 Herz; Frederick S. M. System for generation of object profiles for a system for customized electronic identification of desirable objects
US5850446A (en) * 1996-06-17 1998-12-15 Verifone, Inc. System, method and article of manufacture for virtual point of sale processing utilizing an extensible, flexible architecture
US5889863A (en) * 1996-06-17 1999-03-30 Verifone, Inc. System, method and article of manufacture for remote virtual point of sale processing utilizing a multichannel, extensible, flexible architecture

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1236141A1 (en) * 1999-09-24 2002-09-04 Oracle Corporation Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts
EP1236141A4 (en) * 1999-09-24 2005-11-16 Oracle Corp Methods and systems for carrying out directory-authenticated electronic transactions including contingency-dependent payments via secure electronic bank drafts
WO2001095267A1 (en) * 2000-06-02 2001-12-13 Nokia Mobile Phones Limited System and method for enabling the provision of goods or services
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
WO2002021793A3 (en) * 2000-09-08 2002-08-29 Rivenet Com Inc System and method for encrypted message interchange
WO2002021793A2 (en) * 2000-09-08 2002-03-14 Rivenet.Com, Inc. System and method for encrypted message interchange
US7047559B2 (en) 2000-11-08 2006-05-16 Sony Corporation Information processing apparatus and method, recording medium, and service providing system
EP1213673A3 (en) * 2000-11-08 2004-06-30 Sony Corporation Information processing apparatus and method, recording medium, and service providing system
EP1213673A2 (en) * 2000-11-08 2002-06-12 Sony Corporation Information processing apparatus and method, recording medium, and service providing system
US7376628B2 (en) 2001-04-23 2008-05-20 Oracle International Corporation Methods and systems for carrying out contingency-dependent payments via secure electronic bank drafts supported by online letters of credit and/or online performance bonds
EP1676392A1 (en) * 2003-09-30 2006-07-05 BCE Inc. System and method for secure access
EP1676392A4 (en) * 2003-09-30 2014-05-07 Bce Inc System and method for secure access

Also Published As

Publication number Publication date
AU2676299A (en) 1999-08-30
US6233565B1 (en) 2001-05-15

Similar Documents

Publication Publication Date Title
US6233565B1 (en) Methods and apparatus for internet based financial transactions with evidence of payment
US7778924B1 (en) System and method for transferring items having value
US8041644B2 (en) Cryptographic module for secure processing of value-bearing items
US7937333B2 (en) System and method for facilitating refunds of unused postage
EP1668455B1 (en) System and method for preventing duplicate printing in a web browser
US6868406B1 (en) Auditing method and system for an on-line value-bearing item printing system
US7216110B1 (en) Cryptographic module for secure processing of value-bearing items
US6005945A (en) System and method for dispensing postage based on telephonic or web milli-transactions
US7236956B1 (en) Role assignments in a cryptographic module for secure processing of value-bearing items
US20050256811A1 (en) Virtual security device
EP1678627B1 (en) Method for controlling duplicate printing of a shipping label
US7251632B1 (en) Machine dependent login for on-line value-bearing item system
US20030028790A1 (en) Security module for an account management system
JP2002501647A (en) Virtual postage meter system
JP2000105845A (en) Virtual postage meter of closed system
JP2004514360A (en) How to manage mailings with printed postage bills
WO2001011515A2 (en) Method and system for making anonymous electronic payments on the world wide web
EP1224631A2 (en) Machine dependent login for on-line value-bearing item system
MXPA99001576A (en) Virtual postage meter with secure digital signature device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase