Summary of the invention
The objective of the invention is to overcome above-mentioned defective and a kind of e-bank's Verification System and method based on CPK is provided, it does not need to safeguard the database of mass data, and the efficient of operation is greatly enhanced.
A kind of e-bank's security certification system based on CPK for realizing that the object of the invention provides comprises account card, client and bank's end, and client can be discerned account card, and client is held with bank and is connected.
Described account card comprises a CPK safety chip, is used for the transaction data according to user's input, utilizes transaction data to obtain the system integrity sign indicating number, utilizes with the corresponding private key of account number and by the CPK algorithm data integrity code is signed;
Described client comprises the 2nd CPK safety chip, is used for the data of sending according to account card the one CPK safety chip, and adds the client identification data, obtains the client transaction data; Obtain the client integrity code according to the client transaction data; Utilize client private key to the client integrity code being signed by the CPK algorithm; Produce random number then, utilize random number that client transaction data, integrity code and signature are encrypted, obtain the client encrypt data, the PKI that utilizes bank's end to provide is encrypted random number, obtains the random number encryption data;
Described bank end comprises the 3rd CPK safety chip, is used for the end private key by bank, utilizes the deciphering of CPK algorithm to obtain random number, utilizes the random number deciphering to obtain the client transaction data; Utilize client public key checking client signature credible then, the system integrity sign indicating number of simultaneous verification client transaction data, after checking is passed through, from the client transaction data, read the account card signature, utilize account card public key verifications account number signature credible, the system integrity sign indicating number of simultaneous verification transaction data after checking is passed through, is imported transaction data with the user and is handled at bank's end.
A described CPK safety chip, the 2nd CPK safety chip and the 3rd CPK safety chip comprise CPK algorithm function module, indentification protocol module and Internet Key Exchange Protocol module, the PKI matrix module, and corresponding to the private key of account card, client and bank's end sign.
Described account card is the smart card of band CPU.
Described client is ATM or POS machine.
Described the 2nd CPK safety chip and the 3rd CPK safety chip are the U rod.
Also comprise computer network, be used to connect client and bank end, carry out data communication, the transaction request of client is sent to bank's end from client.
For realizing that the object of the invention also provides a kind of e-bank's safety certifying method based on CPK, comprise the following steps:
Steps A) account card utilizes transaction data to obtain the system integrity sign indicating number according to the transaction data of user's input, utilizes with the corresponding private key of account number and by the CPK algorithm data integrity code is signed, and is transferred to client then;
Step B) the client data of sending according to account card, and add the client identification data, obtain the client transaction data; Obtain the client integrity code according to the client transaction data; Utilize client private key to the client integrity code being signed by the CPK algorithm; Produce random number then, utilize random number that client transaction data, integrity code and signature are encrypted, obtain the client encrypt data, the PKI that utilizes bank's end to provide is encrypted random number, obtain the random number encryption data, with the client encrypt data, client integrity code and random data enciphered data send bank's end to;
Step C) bank's end utilizes the deciphering of CPK algorithm to obtain random number by bank's end private key, utilizes the random number deciphering to obtain the client transaction data; Utilize client public key checking client signature credible then, the system integrity sign indicating number of simultaneous verification client transaction data, after checking is passed through, from the client transaction data, read the account card signature, utilize account card public key verifications account number signature credible, the system integrity sign indicating number of simultaneous verification transaction data after checking is passed through, is imported transaction data with the user and is handled at bank's end.
Step D) after checking is passed through, bank's end is preserved exchange hour, client signature and account card signed data.
Described steps A) can comprise the following steps:
Steps A 1) after the user inserts account card bank client end equipment application transaction, client provides the user to enter password after confirming account card that this card can discern for this machine, and whether the inspection user password is correct; If correct, then the prompting transaction is proceeded; Otherwise the prompting user re-enters or closes the trade;
Steps A 2) after the user imports correct password, client device prompting transaction content;
Steps A 3) account card obtains the system integrity sign indicating number of user input data according to the data of user's input, utilizes the system integrity sign indicating number being signed with the corresponding private key of account number of preserving in the account card then; And with the data of user input, system integrity sign indicating number and signature send client together to.
Described step B) can comprise the following steps:
Step B1) client is received the data of user's input that account card sends, and behind system integrity sign indicating number and the signature, adds the client identification data, obtains the client transaction data of this transaction;
Step B2) client is utilized the client transaction data of this transaction, generates the client integrity code of this transaction;
Step B3) client utilizes client private key that the client sign indicating number is signed;
Step B4) client generates random number, utilizes random number, by the CPK algorithm client transaction data is encrypted, and obtains the client encrypt data;
Step B5) client utilize bank end PKI with random number encryption, obtain encrypted random number;
Step B6) client is the client encrypt data, the client integrity code, and the client signature, the client encrypt data, and encrypted random number sends bank's end in the lump to.
Described step C) can comprise the following steps:
Step C1) bank's end equipment is received the client encrypt data that client device sends, client integrity code, client signature, the client encrypt data, and behind the encrypted random number, bank's end utilizes the private key of oneself, the encrypted random number that deciphering is received obtains original random number;
Step C2) bank's end utilizes the public key verifications client signature of client, confirms the credibility of client, and checking client system integrity sign indicating number, the data consistent that data that affirmation is received and client transmit;
Step C3) bank's end utilizes random number, and by the CPK algorithm, deciphering client encrypt data obtain former client transaction data;
Step C4) bank's end is preserved the client identification data, utilizes the signature of the public key verifications account card of account card, confirms the account card credibility, and checking account card system integrity sign indicating number, the data consistent of the data that affirmation is received and user's input.
The invention has the beneficial effects as follows: e-bank's Verification System and method based on CPK of the present invention, it utilizes limited factor, to identify and key bindings by mapping algorithm, realize ultra-large key management with very little resource, need not the third party proves, do not need the support of database, so system does not need to safeguard.It adapts to different trading environment and transaction-based requirements, for account number, the amount of money, place and the time etc. of concluding the business provide credible (being responsible for property) to prove.
Embodiment
Further describe e-bank's Verification System and the method based on CPK of the present invention below in conjunction with accompanying drawing.
Usually, existing e-banking system is made of client and bank's end (Portal),
The transaction that the user carries out on ATM and POS machine.With the ATM system is example, and bank's end (Portal) and ATM constitute radial network, constitute a radial network between ATM and the client again.
Client, the user allows the remote client of bank to initiate the monetary transaction request that will handle automatically selectively, comprises ATM or POS machine.
Bank's end is used for the customer in response end, automatic reception and the described monetary transaction request of processing client.
Connect carry out between client and the bank end data communication computer network, be used for transaction request with client and send bank to from client and hold.
As shown in Figure 1, e-bank of the present invention security certification system, it is included in the CPK chip of client and bank's end, and account card, utilizes CPK key authentication algorithm, the data security transmission of foundation from user to the client and between bank's end.
(Combined Pubic Key CPK) is based on the public key algorithm of sign to the Conbined public or double key algorithm, and its KMC generates private key calculating parameter (private key calculates base) and the PKI calculating parameter (PKI calculates basic) that corresponds to each other; According to the sign that first user provides, utilize described private key calculating parameter to calculate first user's private key, and the private key that is produced is offered first user; And announce described PKI calculating parameter, so that second user can utilize described PKI calculating parameter according to first user's sign after the sign that obtains first user, calculate first user's PKI.
E-bank of the present invention security certification system utilizes the CPK chip to realize, comprises the CPK algorithm function module in the CPK algorithm in the CPK chip, the indentification protocol module, the Internet Key Exchange Protocol module, PKI matrix module, and the private key of holding sign corresponding to account card, client and bank.
Have CPK algorithm function module, an indentification protocol module among the present invention, applicant's Chinese invention patent application 2005100021564 based on the key generation apparatus of sign and method in embodiment described, quote in full in the present invention.The algorithm function module of CPK and indentification protocol module provide required all parameters of authentication and agreement, utilize the PKI matrix then just can calculate the PKI of any entity.
CPK safety chip of the present invention can be embedded in the U rod, also can be embedded in the account card.All signature functions, authentication function and key-switch function all carry out in the CPK safety chip.Just can utilize the CPK algorithm to sign by the private key in the CPK algorithm, have PKI (times point) matrix just can verify the signature of any sign.PKI (times point) matrix is open variable, can be placed in U rod or the account card, also can be placed on places such as ATM, POS machine, bank's door.
The format surface of user's account card is the same with present magnetic stripe card, mainly is distribution name, serial number and number of the account, can set up number of the account in the interim registration of bank counter.The number of the account of account card is defined when dispatching from the factory by trade company, the good number of the account private key of configured in advance.Private key deposits in the chip under password encryption, and the function of change password is provided.
Account card realizes there is the private key of this number of the account with the smart card (IC) of band CPU, and private key also is subjected to virtual protection except that physical protection, promptly store under user password and system integrity sign indicating number double-encryption.The system integrity sign indicating number is not present in the CPK safety chip of account card, but the interim computing system integrity code of when calling private key each time the user being imported of data prevents to steal with illegal means the behavior of private key with this.
The user is when using account card, after will blocking the ATM or POS machine of inserting client earlier, enter password, the inspection of password is not carried out at client or bank's end of bank, but carry out in user's CPK safety chip inside, could correctly call the function of chip when having only password correct.
The ATM of client or POS machine, and the CPK safety chip of the gate system outfit of bank's end can be the U rods, and its function is identical with the CPK safety chip function of account card, and has been equipped with the PKI matrix.Because the CPK safety chip of client and bank end has been equipped with PKI (times point) matrix, can verify the signature of sign of user's account card.
A) in e-bank's transaction processing process, at first account card is inserted bank client end equipment (ATM the user, POS) after the application transaction, after client is confirmed account card that this card can discern for this machine, CPK safety chip 1 on the operation account card, provide the user to enter password, check whether user password is correct; If correct, then the prompting transaction is proceeded; Otherwise the prompting user re-enters or closes the trade.
After the user imports correct password, client device prompting transaction content, the user imports related data, comprises withdrawing the money, deposit, transferring accounts etc., and selects to determine.
CPK safety chip 1 in the account card obtains the system integrity sign indicating number of user input data according to the data of user's input, utilizes the system integrity sign indicating number being signed with the corresponding private key of account number of preserving in the account card then; And with the data of user input, system integrity sign indicating number and signature send client together to.
B) client device (ATM, POS machine) is received the data of user's input that account card sends, and behind system integrity sign indicating number and the signature, adds the sign of the 2nd CPK safety chip 2 of exchange hour and this machine, obtains the client transaction data of this transaction;
The 2nd CPK safety chip 2 of client utilizes the client transaction data of this transaction, generates the client integrity code of this transaction;
The 2nd CPK safety chip 2 utilizes client private key that the client sign indicating number is signed then;
Thereafter, the 2nd CPK safety chip 2 generates a random number, utilizes random number, by the CPK algorithm client transaction data is encrypted, and obtains the client encrypt data;
Then, the 2nd CPK safety chip 2 utilizes the PKI of bank's end with random number encryption, obtains encrypted random number;
Client device is the client encrypt data, the client integrity code, and the client signature, the client encrypt data, and encrypted random number sends bank's end in the lump to.
C) bank's end equipment (PORTAL etc.) is received the client encrypt data that client device sends, the client integrity code, the client signature, the client encrypt data, and behind the encrypted random number, bank holds the 3rd CPK safety chip 3 at first to utilize the private key of oneself, and the encrypted random number that deciphering is received obtains original random number;
The 3rd CPK safety chip 3 utilizes the public key verifications client signature of client, confirms the credibility of client, and checking client system integrity sign indicating number, the data consistent that data that affirmation is received and client transmit;
The 3rd CPK safety chip 3 utilizes random number, and by the CPK algorithm, deciphering client encrypt data obtain former client transaction data;
Then, bank's end is preserved exchange hour and the 2nd CPK safety chip 2 signs, and the 3rd CPK safety chip 3 utilizes the signature of the public key verifications account card of account card, confirms the account card credibility, and checking account card system integrity sign indicating number, the data consistent of the data that affirmation is received and user's input.
Bank's end equipment is with data content processing bank's operation system processing again of user's input, and with result notifying bank end equipment, bank's end equipment notice client device is carried out (go out money, print etc.).
Therefore, the e-bank's security certification system based on CPK of the present invention can all will provide CPK credible proof to e-bank in each link of transaction of e-bank.Wherein, the private key of CPK algorithm is respectively by the account card in user's hand, and the safety chip of CPK separately of client and bank's end provides, and PKI is then provided by the PKI in the CPK chip (times point) matrix.Because the PKI matrix is open variable, and data volume very little (amount of more than 2,000 Chinese character), its storage is very easy to solve.According to the CPK algorithm, as long as PKI (times point) matrix and sign have been arranged, just can calculate the PKI of this sign by the CPK mapping algorithm, therefore can verify the signature of any sign easily.
Protocol module in the e-bank of the present invention security certification system comprises digital signature protocol and cryptographic protocol, and Internet Key Exchange Protocol.Digital signature protocol adopts international 509 standards to carry out, and does not prove but do not need to call the third party, does not need to call the other side's certificate, because the CPK algorithm is the algorithm of indicating self proof, therefore calls the other side's certificate, and it is unnecessary that the process of authentication certificate becomes.
Internet Key Exchange Protocol of the present invention does not have ready-made, the New Deal of the non-handshaking type of otherwise designed:
Internet Key Exchange Protocol is as follows:
If the private key of user A is SK
A, PKI is PK
A, the private key of user B is SK
B, PKI is PK
B, the key exchange process of A and B is so:
A1: generate random number r;
A2: calculate rG, G is the basic point of elliptic curve key, makes rG=key;
A3: with key data data is encrypted: E
Key(data)=α;
A4: on the public base of B, calculate r (PK
B)=β;
A5: α, β are issued B;
B1: the private key with oneself carries out computing to β, obtains encryption key key:
β(SK
B)
-1=r(PK
B)(SK
B)
-1=r(SK
B*G)(SK
B)
-1=rG=key;
B2: with key DecryptDecryption data: D
KEY(α)=data;
Below with the flow process of withdrawing the money as object lesson; e-bank of the present invention safety certifying method process is described; but the present invention is not as limit; in carrying out the electronic banking process; relate to the process operational approach of utilizing the CPK algorithm that e-bank's safety is authenticated, all within protection scope of the present invention.
Steps A: according to the transaction data of user's input, account card the one CPK safety chip 1 utilizes transaction data to obtain the system integrity sign indicating number, utilize the private key in the CPK safety chip 1 the data integrity code to be signed, be transferred to client then by the CPK algorithm.
The client at first carries out the work of safety certification at customer account number card (ID) when carrying out e-bank's operation:
The client inserts account card (ID card), can be by the screen display operation of at present existing ATM.After the client enters password, ID card checking user password.Then, submit to professionally, by the ATM prompting, select professional: withdraw the money, select the amount of money: 5000, and the data of selecting are sent in the ID card.Flow process in the ID card is as follows.
(1.data1=number of the account // withdraw the money // 5000); //
*With this block number of the account, the code of withdrawing the money, 5000 makes data data1
*
2.Mac1=HASH (data1); //
*Integrity code Mac1 with hash function HASH computational data data1
*
3.Sign1=SIG
The number of the account private key(mac1); //
*Utilize the CPK algorithm that integrity code is signed with the number of the account private key, must be to signed codevector SIGN1
*
4.ID block data data1, integrity code Mac1, signed codevector Sign1 sends, and hands to ATM.
Step B: the 2nd CPK safety chip 2 in the client receives the data that account card sends, and adds exchange hour, and the client secure chip identification, obtains the client transaction data; Utilize the client transaction data to obtain the client integrity code, and utilize the private key in the 2nd CPK safety chip 2 that integrity code is signed, produce random number then, utilize random number that client transaction data, integrity code and signature are encrypted, obtain the client encrypt data, the PKI that utilizes bank's end to provide is encrypted random number, obtains the random number encryption data, with the client encrypt data, client integrity code and random data enciphered data send bank's end to.
After the ATM of client receives the next data of account card transmission, utilize the client secure chip on the ATM to carry out the work of safety certification:
Data that ATM is sent the ID card and exchange hour are sent in the safety chip (U rod) on the ATM, and the flow process that safety chip (U rod) carries out in the safety certification is as follows;
(1.data2=data1, Mac1, Sign1, exchange hour, ATM1); //
*ATM1 is the sign of this ATM1 safety chip U rod
2.Mac2=Hash(data2);
3.Sign2=SIG
The ATM1 private key(mac2);
4. carry out data encryption then:
41) produce random number R 3, to utilizing the CPK algorithm data are encrypted with R3
ER3 (data2/Mac2/Sign2)=cipher-text; // utilize the CPK algorithm that data data2/ integrity code mac2/ signature Sign2 is encrypted by the private key in the safety chip in the ATM, cipher-text is a data encrypted
42) utilize the CPK algorithm to encrypt with the other side's PKI (PORTAL PKI) R3 again;
E
The PORTAL PKI(R3)=coded-key; //
*The PKI that utilizes bank end to provide is encrypted random number R 3, and coded-key utilizes data after the CPK algorithm for encryption to R3
*
5. data encrypted cipher-text and coded-key are sent outside the U rod, send to the end PORTAL of bank by ATM.
Step C: bank end (PORTAL) utilizes bank to hold the 3rd CPK safety chip 3 after receiving the data that client sends, and by bank's end private key, deciphering obtains random number, utilizes the random number deciphering to obtain the client transaction data; Utilize client public key checking client signature credible then, the system integrity sign indicating number of simultaneous verification client transaction data, after checking is passed through, the client transaction data is transferred to bank hold the 3rd CPK safety chip 3, from the client transaction data, read the account card signature, utilize account card public key verifications account number signature credible, the system integrity sign indicating number of simultaneous verification transaction data, after checking is passed through, user's service data is handled at bank's end, and the preservation exchange hour, data such as client signature and account card signature.
Bank end (PORTAL) utilizes bank's end CPK safety chip to carry out safety certification work after receiving the data that client sends:
1. the data of sending to client (ATM) are decrypted
With the CPK private key of bank's end (PORTAL) oneself, utilize the deciphering of CPK algorithm, random number R 3 is decrypted, utilize 3 pairs of client encrypt data decryptions of random number R, obtain client transaction data data2/Mac2/Sign2;
D
The PORTAL private key(coded-key)=R3; //
*Deciphering obtains random number R 3
*
DR3 (cipher-text)=(data2/Mac2/Sign2) //
*Utilize random data R3 to decrypt ciphertext, obtain former data data2/Mac2/Sign2
2. with the PKI inspection signature Sign2 of ATM1, the responsible property of ATM1 is checked;
3. check and all pass through that give business department with data2 and handle, business department takes out sign1 from data2, checks the number of the account signature, if legal, business department handles the business of withdrawing the money, and the number of the account signature is given over to the evidence of getting money.
4. result is made data data3, data will comprise mac, R1, and the portal signature as the receipt data, is encrypted and is sent to ATM1.
5. last, ATM checks mac and random number R 1 to the receipt DecryptDecryption, if meet, then points out and allows to carry out and withdraw the money.
E-bank of the present invention security certification system and method, with the realization compatibility of existing system, therefore ATM, the POS machine of existing magnetic stripe card system's use account number (IC) card that itself and e-banking system relate to, are realized changing original e-banking system is minimum.Because the main certification work of native system is all finished in the CPK safety chip, also little to the influence of existing e-banking system, just need to change card reader safety chip part, be with a wide range of applications.
The present invention is based on e-bank's security certification system of CPK, by depositing and withdrawing and ta vservice that ATM, POS machine carry out.User's number of the account card is realized with the IC-card of band CPU, can realize number of the account seal (signature) easily, and the credibility that assurance is withdrawn the money, deposits, transferred accounts is the credit card of existing magnetic stripe card, the regeneration product of debt-credit card.Its safety certification process comprises the mutual authentication between mutual authentication, client and the bank's end between mutual authentication, number of the account card and the client (as ATM) of user and number of the account card, forms the mutual authentication between holding of number of the account card and bank at last.Its safety certification has comprised that the authenticity to number of the account card, number of the account, dealing money, exchange hour, loco etc. proves, guarantees the security of transaction.
E-bank's Verification System and method based on CPK of the present invention, it utilizes limited factor, will identify and key bindings by mapping algorithm, realize ultra-large key management with very little resource, need not the third party proves, does not need the support of database, so system does not need to safeguard.It adapts to different trading environment and transaction-based requirements, for account number, the amount of money, place and the time etc. of concluding the business provide credible (being responsible for property) to prove.
Present embodiment is to make those of ordinary skills understand the present invention; and to detailed description that the present invention carried out; but can expect; in the scope that does not break away from claim of the present invention and contained, can also make other variation and modification, these variations and revising all in protection scope of the present invention.