The invention relates to secure communications, and particularly relates to a secure communication method and device based on application layer in mobile communication.
Evolved from the TLS (Transport Layer Security) Version 1.0 standards, security of mobile financial services such as mobile banking systems rely mainly on the basis of transport layer security protocol, such as WTLS (Wireless Transport Layer Security) protocol. A second protocol called SET (Secure Electronic Transaction) protocol exists for similar reason. But SET fell short of its popularity due to its complexity and incompleteness to be useful for mobile applications. These mobile banking security protocols share the following common drawbacks:
Per recent surveys, no application layer security protocol has ever been defined to realize secure mobile financial services. And, the applicant finds that there is a need to configure a certain secure communication mechanism in the application layer, so as to cooperate with the lower layer secure communication mechanism in the protocol stack and to better realized secure communication. This secure protocol in application layer should possess the following features:
It can be seen that a light-weight secure communication method in the application layer is required for the mobile financial services. This method should guarantee the security of transaction communications and use messages as few as possible to complete the request and response communication of the transaction.
To meet the above technical requirement, according to an embodiment in one aspect of the invention, it is provided a method, in a mobile terminal of a user, of conducting secure transaction communication with a financial server, comprising the steps of: i. creating a transaction request (req); ii. generating a digital signature of said transaction request (req) by using a private key (KC−1) of the user; iii. encrypting said transaction request (req) and said digital signature of said transaction request (req) by using a first secret key (k1), and obtaining a ciphertext; iv. encrypting said first secret key (k1) by using a public key (KB) of said server; v. transmitting, to said server, the ciphertext and said encrypted first secret key (k1).
According to an embodiment in one aspect of the invention, it is provided a method, in financial server, of conducting secure transaction communication with a mobile terminal of a user, comprising the steps of: I. receiving, from the mobile terminal, a first secret key (k1) encrypted by a public key (KB) of the server and a ciphertext, wherein said ciphertext is obtained through encrypting a transaction request (req) and a digital signature of said transaction request (req) by using said first secret key (k1); II. decrypting said first secret key (k1) encrypted by the public key (KB) of the server, by using a private key (KB−1) of the server, and obtaining said first secret key (k1); III. decrypting said ciphertext by using said first secret key (k1) and obtaining the transaction request (req) and the digital signature of said transaction request (req); IV. determining whether the transaction request (req) matches the digital signature of said transaction request (req) by using the public key (KC) of the user: conducting transactions corresponding to said transaction request (req) when matching.
According to embodiments in another aspect of the invention, it is also provided an apparatus, in mobile terminals, for conducting secure transaction communication with the financial server, and an apparatus, in financial server, for conducting secure transaction communication with the mobile terminals, corresponding to the above methods.
The embodiments of the invention propose a method for conducting mobile financial transaction in the application layer, wherein the exchanged messages are few, and the requirement for the processing capability of the mobile terminal is low. Proven by the strand space theory, the security of the preferred embodiment of the invention is guaranteed.
Features, aspects and advantages of the present invention will become obvious by reading the following description of non-limiting embodiments with the aid of appended drawings.
Wherein, same or similar reference numerals refer to the same or similar steps or means.
The embodiment elucidates the invention by using an example in which one user uses his mobile terminal MS to make mobile transactions such as transfer or payment with a financial server of the bank. The following table describes the symbols used in the embodiment:
Before using the mobile bank service, the user must subscribe to this service. During the subscribing, the user will be provided with a public key KC and a private key KC−1 corresponding to the public key, generated automatically through a certain mechanism. This user also registers to the financial server his identification (such as bank account number) and the public key KC. Meanwhile, the user also obtained the public key KB of the bank and stores it in the handset. Thus, the embodiment is based on the following conditions:
The above two pairs of public key and private key are asymmetrical. It is readily to understand that the ways of generating the asymmetrical public key and private key, as well as the handshake procedure for exchanging the public key with each other are common knowledge for those skilled in the art, thus the specification will no give unnecessary details.
When the user operates the application program such as the mobile bank client in the handset of the user to make transfer or payment transactions, at first, in step S10, the mobile terminal MS generates two random symmetrical session secret keys k1, k2, by for example taking a pseudo random number as the seed. These two secret keys are used for the session of the present transaction and they will expire when the present transaction ends. Randomly generating new session secret key for each transaction respectively can prevent reply attacks. It should be noted that this is a preferable embodiment. Alternatively these two secret keys can be generated and stored for a plurality of transactions within a predefined time duration, and be re-generated automatically after the predefined time duration or the plurality of transactions complete.
In step S11, the mobile terminal MS creates the transaction request req for the present transaction, according to the operation of transfer or payment from the user. This request can comprise the type of the transaction, such as transfer or payment; the currency of the transaction; the amount of the transaction; the object of the transaction, for example, the counterpart of the transaction, such as the bank account number of the counterpart or the identification of the store. The request can also comprise the identification C of the user and the identification B of the bank, for being verified by the financial server of the bank.
Then, in step S12, the mobile terminal MS generates a digital signature of the transaction request req by using the private key (KC−1) of the user.
In one embodiment, in step S120, the mobile terminal MS generates abstract information h(req,k2) of a new message concatenated by transaction request (req) and the secret key k2, according to a first abstracting rule.
After that, in step S121, the mobile terminal MS encrypts the generated abstract information by using the private key KC−1 of the user, and generating said digital signature {h(req,k2)}K
It should be understood that the ways of generating digital signature is not limited by the above one, the application of digital signature is well known for those skilled in the art and the specification will not give unnecessary details about the other ways.
Then, in step S13, the mobile terminal MS encrypts a new message concatenated by the transaction request req and the digital signature of the transaction request req, by using the first secret key k1, and obtains a ciphertext {req,{h(req,k2)}K
And, in step S14, the mobile terminal MS encrypts the secret keys k1 and k2 by using the public key KB of the server, and obtains a digital envelop {k1,k2}K
Then, in step S15, the mobile terminal MS transmits, to the financial server, the ciphertext {req,{h(req,k2)}K
Then, in step S20, the financial server receives the message of {{req,{h(req,k2)}K
After that, in step S21, the financial server decrypts {k1,k2}K
Then, in step S22, the financial server decrypts {req,{h(req,k2)}K
Then, in step S23, the financial server searches its database for the public key KC of the user corresponding to the user identification, according to the user identification within the transaction request req, and loads it. The financial server further determines whether the transaction request req matches the digital signature {h(req,k2)}K
In one embodiment, in step S230, the financial server generates abstract information h′(req,k2) for verification based on the transaction request req and the decrypted secret key k2, based on the same abstracting rule as that used by the mobile terminal.
After that, in step S231, the financial server decrypts the digital signature {h(req,k2)}K
Then, in step S232, the financial server determines whether the abstract information h(req,k2) of the transaction request req and secret key k2 matches the abstract information h′(req,k2) for verification: when matching, the financial server could determine for sure that this transaction request req was transmitted by the user, and has not been tampered, thus the non-repudiation can be guaranteed. Thus, the financial server obtains the type, currency, amount and the counterpart of the present transaction from the transaction request req, and processes this transaction, for example deducts the corresponding fund from the bank account of the user and pays this fund to the counterpart of transaction.
In one case, the transaction procedure ends once the financial server processes the transaction. In this case, the above random secret key k2 is dispensable, namely the abstract information of the transaction request req is determined by the transaction request req itself.
In another case, after completing the processing of the transaction, the financial server further generates a transaction response and transmits it to the user based on secure transaction communication. The following will elucidate the secure communication for the transaction response according to a preferred embodiment of the invention.
In step S24, the financial server creates a transaction response res. The transaction response comprises the processing result for the transaction request req, such as transaction success, or transaction failure with reason to the failure. The transaction response res could also comprises the identification B of the bank and the identification C of the user.
In step S25, the financial server generates a digital signature of the transaction response res by using the private key KB−1 of the server.
In one embodiment, in step S250, the financial server generates abstract information h(res) of the transaction response res, according to a predefined abstracting rule. It should be understood that the abstracting rule used here can be either the same as or different from the abstracting rule used by the mobile terminal to generate the transaction request req.
In step S251, the financial server encrypts the abstract information h(res) of the transaction response res by using the private key KB−1 of the server, and generates a digital signature {h(res)}K
It should be understood that the ways of generating digital signature is not limited by the above one, the application of digital signature is well known for those skilled in the art and the specification will not give unnecessary details about the other ways.
In step S26, the financial server encrypts the transaction response res and the digital signature {h(res)}K
In step S27, the financial server transmits the ciphertext {res,k1,{h(res)}K
In step S16, the mobile terminal MS receives the ciphertext {res,k1,{h(res)}K
In step S17, the mobile terminal MS decrypts the ciphertext {res,k1,{h(res)}K
In step S18, the mobile terminal searches its database for the public key KB of the financial server corresponding to the bank, according to the bank identification B within the transaction response, and loads it. The mobile terminal further determines whether the transaction response res matches the digital signature {h(res)}K
In one embodiment, in step S180, the mobile terminal generates abstract information h′ (res) for verification based on the transaction response res, based on the same abstracting rule as that used by the financial server.
After that, in step S181, the mobile terminal decrypts the digital signature {h(res)}K
Then, in step S182, the mobile terminal determines whether the abstract information h(res) of the transaction response res matches the abstract information h′(res) for verification, and determines whether the decrypted secret key k1 matches the secret key k1 generated by the mobile terminal: when matching, the mobile terminal could determine for sure that this transaction response res was transmitted by the bank, and has not been tampered. Thus, the mobile terminal displays to the user that this transaction is success or failure with reason to failure, according to the transaction response res. It should be understood that the financial server transmits the ciphertext {res,{h(res)}K
In implementation, the embodiment can be realized by SMS: when the user makes bank services by using the handset, the handset can prompt the user to input information such as account number, service code and pin code. The software in the handset executes the above method so as to generate corresponding transaction request and encrypt the transaction request as an SMS. The handset transmits the SMS to the SMS platform of the bank via the SMS gateway of the mobile operator. The SMS platform of the bank connects to the financial server of the bank, and provides the encrypted SMS to the financial server. The financial server processes the transaction request after verifying the validity of the SMS, generates a transaction response corresponding to the result of the transaction, and encrypts the transaction response. After that, the financial server transmits the encrypted transaction response to the mobile terminal of the user via the SMS platform of the bank and the SMS gateway of the mobile operator. The mobile terminal displays the result of transaction indicated in the SMS for the user after verifying the validity of the SMS.
The embodiment can also communicate with the financial server of the bank directly via an IP-based application software running in the handset.
It should be understood that the embodiments of the invention is based on the secure communication in the application layer. The mobile terminal can also deploy transport layer secure communication protocol in the transport layer according to its capability, so as to increase the security.
The digital envelope {k1,k2}K
As to the calculation complexity, the embodiment relates to the mobile terminal, thus it is necessary to try the best to decrease calculation amount in the mobile terminal. In the embodiment, abstract information is obtained at first, then the signature calculation, which needs great calculation amount, is carried out on this relatively short abstract information. Thus the calculation time is decreased, the integrity of the message is guaranteed and non-repudiation requirement is met. Both of the random secret keys k1 and k2 in the digital envelope {k1,k2}K
For the symmetry of the request and response, the request message has one more digital envelop than the response message, and structure, content and length of their symmetrically encrypted parts are different, thus the structure of the messages are significantly different. This asymmetric message structure is one of the effective means to resist replay attacks. The attackers can't use reflection attack, namely they can't transmit the transaction request to the handset as the response message and vice versa.
According to another embodiment of the invention, it is provided an apparatus, in mobile terminals, for conducting secure transaction communications with a financial server, comprising a device for implementing the above method. This device comprises:
According to another embodiment of the invention, it is provided an apparatus, in financial servers, for conducting secure transaction communications with a mobile terminal, comprising a device for implementing the above method. The device comprises:
The above part elucidates the preferred embodiments of the invention from the aspect of method and device. The following part will prove the security of the preferred embodiment of the invention by using the strand space.
In the theory of Strand Space model the correctness of Mobile Banking (MB) protocol can be considered in the following two aspects:
One thing should be pointed out is that the theory of Strand Space model defines a set of 8 types of generalized attack behaviors, currently known so far. And the following proof is based on the known set of attack behaviors.
Strand Spaces
Definition 1: An infiltrated Strand Space (Σ, P) is an MB Strand space if Σ is the union of three kinds of strands:
+{{req,{h(C,B,req,k2)}K
where C,B∈T, k1, k2∈K, Customer [B,C, k1, k2,req,res] denotes the set of all strands with the trace shown. The principal associated with this Strand is handset user C.
−{{req,{h(C,B,req,k2)}K
where C, B∈T, k1, k2∈K, Bank [B,C, k1, k2, req,res] denotes the set of all strands with the trace shown. The principal associated with this Strand is bank B.
Given any Strand s in Σ, we can uniquely classify it as a penetrator strand, a customer's strand, or a bank's Strand just by the form of its trace.
The Proof of Correspondence
Proposition 1 If:
Then C contains an bank's Strand t∈Bank [B,C, k1, k2,req,res] with C−height 2.
Customer' strand is depicted in
Lemma 1: The set V={n∈C:k1⊂uns_term(n){k1,k2}K
Proof. Because k1⊂terms,1=term(n0), so k1 originates on n0. From
Can n2 lie on a penetrator of strand p? There are several possibilities:
M. The trace tr(p) has the form +t where t∈T. But T∩K=φ, and k1∈K, so t≠k1. Thus, this case is invalid.
F. The trace tr(p) has the form −g, thus lacks any positive nodes.
T. The trace tr (p) has the form −g, +g, +g, so the positive nodes are not minimal occurrences.
C. The trace tr (p) has the form −g, −h, +gh, suppose term(n2)=+gh. ∵k1 is simple, ∴k1⊂g or k1⊂h. So the positive node is not a minimal occurrence.
E. The trace tr (p) has the form −K,−h, +{h}K. Suppose k1⊂{h}K{k1,k2}K
K. The trace tr (p) has the form +k where k∈KP. But k1∉KP, so this case does not apply.
D. The trace tr(p) has the form −K−1, −{h}K, +h. If k1⊂h{k1,k2}K
S. The trace tr(p) has the form −gh, +g, +h. Without loss of generality, assume term(n2)=g, there is a symmetrical case if term(n2)=h. ∵k1⊂g{k1,k2}K
Clearly a minimal member of U cannot lie on M, F, T, K strands.
S. The trace tr (p) has the form −g, −h, +gh, if gh⊂term(m1), where m1 is a positive node on a Strand p′ of kind S, then gh⊂term(<p′,1>), <p′, 1>m1, contradicting the minimality of m in U.
E. The trace tr (p) has the form −K, −h, +{h}K. If gh⊂term(m1), where m1 is a positive node on a Strand p′ of kind E, then gh⊂term(<p′,2>), <p′,2>m1, contradicting the minimality of m in U.
D. The trace tr(p) has the form −K−1, −{h}K, +h. If gh⊂term(m1), where m1 is a positive node on a Strand p′ of kind D, then gh⊂term(<p′,2>), <p′,2>m1, contradicting the minimality of m in U.
C. The trace tr (p) has the form −g, −h, +gh. Suppose gh⊂term(m1), m1 is a positive node on a Strand p′ of kind C, then gh=term(m1), term(<p′,1>)=g=term(n2). Hence <p′,1><p′,3>=m1n2, contradicting the minimality of n2 in V.
Therefore n2 does not lie on a penetrator strand, but must lie on a regular Strand instead.
Lemma 2: A node n1 precedes n2, and {k1,k2}K
Proof. As showed in
Lemma 3: The regular strand t is a bank strand contained in C, then t contains n1 and n2.
Proof. Node n2 is a positive regular node and comes after a node (namely n1) of the form {xy}k. Hence t is a bank strand; if it were a customer strand, it would contain only a negative node after one of that form. However n2 is a positive node, therefore t is a bank Strand, Thus, n1 and n2 are the first and second nodes of t respectively. Since the last node of t is contained in C, it must have C−height of 2.
Proposition 1 is proofed according to lemma 1 and lemma 2.
The Proof of Secrecy
We may use the same methods to show that the secret keys k1, k2 remains secret in the protocol.
Proposition 2: If:
Then for all nodes m∈C such that k1⊂term(m), either {k1,k2}K
Proof. Let {ans,k1,{h(B,C,ans)}K
Consider the set F={n∈C:k1⊂term(n){k1,k2}K
Suppose that m∈F being minimal and a regular node, the sign of m is positive. Only n0 in s is positive, and {k1,k2}K
Next proof is similar to the proof of Lemma 1. The only significant difference is that when the penetrator strand is of type D, we must consider another case. In that case, h={res,k1,{h(B,C,res)}K
So we can draw a conclusion that F actually is empty and the occurrence of k1 can only take the encrypted form prescribed by MB protocol. That is to say k1 remains secret in MB protocol.
Since the secret keys k2 and k1 have equal status, Thus the proof of secrecy of k2 is similar to that of k1. The proof of secrecy of req is also similar to that.
Although the above description and drawings elucidate the invention, it should be noted that these elucidations are for describing and exemplifying instead of limiting; the invention is not limited by the above embodiment.
Those ordinary skilled in the art could understand and realize modifications to the disclosed embodiments, through studying the description, drawings and appended claims. The word “comprising” does not exclude the presence of elements or steps not listed in a claim or in the description. The word “a” or “an” preceding an element does not exclude the presence of a plurality of such elements. In the practice of present invention, several technical features in the claim can be embodied by one component. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN09/72386 | 6/22/2009 | WO | 00 | 6/15/2011 |
Number | Date | Country | |
---|---|---|---|
61201601 | Dec 2008 | US |