Embodiment
The source authentication method that is applied in the multicast communication system disclosed by the invention is the source authentication method based on the unsymmetrical key technology, and more integrated existing technological means, as: Diffie-Hellman Diffie-Hellman, one-way Hash algorithm, RSA public key algorithm etc.
Below in conjunction with accompanying drawing and example the present invention is elaborated.
The source authentication method that is applied in the multicast communication system provided by the invention comprises two steps:
1, for each member who participates in cast communication provides an identity recognition number, in the cast communication process, at first carries out the two-way authentication of identity between multicast client and the authentication center;
2, when multicast information transmits, adopt source certificate scheme that information transmitted is carried out signature authentication based on sequence of events.
When bidirectional identity authentication, licensed group communication member A registers his mandate identity recognition number IDa to the S of authentication center; And use the Diffie-Hellmen algorithm to generate the authority Ya payment authentication center preservation of group communication member authentication, algorithm is as follows substantially:
X
a<p,X
s<p.
Known prime number p and primitive root integer a ∈ Z*p thereof.Xa, Xs are random numbers, are generated Xa at random and are calculated the authority of Ya as group communication member's authentication by the group communication member, pay authentication center in advance and preserve, change up to this user next time.When each authen session, authentication center all provides Xs randomly, and calculates Ys and send to group communication member A and generate conversation key K as.
Although Xa is relative with Ya constant, because each authen session, authentication center all specifies Xs randomly, and then changes Ys randomly, and final order conversation key K as becomes disposable random key, increases the difficulty of competitor analysis key.
Ageing (Ts) of authentication message realizes that by time stamp (Time-stamp) and time limit (Life-time) discrete relatively at every turn replying is that interaction message is formed in twos, and causality and event sequence need have only and mutual exclusion character.Before and after adopting, the present invention adds same disposable random value (Nonce) formation " random number chain (N respectively in the message in twos
a) ", solve " event sequence consistency " problem that verification process runs in distributed environment.
In each bar message, message sends a disposable random value (N is set
a) message " random number chain " the cochain sign of replying for the recipient as transmission.And, realize the ageing (T of message by setting time stamp and time limit
s), solve consistent problem of the discrete relatively time of at every turn replying.
That is to say that disposable random value (Na) links whole protocol procedures as the chain of messages sign.Timeliness value (Ts) and " random number chain " sign of preventing " Mitnick " attack, message then are used for taking precautions against " Replay Attack ".
The structure of every message is identical in the mutual authentication process.For the sake of clarity, the one-way Hash value of every message all is expressed as H (mi), and form is as follows:
Therefore, its message sequence can be described as:
M wherein
1=(T
a, N
a, S, X
1), X
1=ID
a
M wherein
2=(N
a, N
s, A, X
2),
M wherein
3=(N
s, N '
a, S, X
3),
M wherein
4=(N '
a, A, X
4),
warrant=(type,iv,K
mgroup)。
Wherein, mgroup represents the multicast group address applied for, and Kmgroup represents the communications key of multicast group.When user and authentication center authenticated, the program flow diagram of authentication center as shown in Figure 1.Detailed process is as follows:
(1), receives the client public key that the user sends to authentication center.
(2), authentication center sends the PKI of authentication center to the user.
(3), receive the user authentication request that the user sends to authentication center, wherein the content format of user authentication request has comprised user time and has stabbed T shown in the M1 in the top message sequence in the message
a, random value N
a, identity recognition number ID
a, adopt one-way Hash algorithms to generate an one-way Hash value these contents, the user uses user's private key to sign, and at last these contents is reinstated the public key encryption of authentication center together with user's signature one, finally forms user authentication request.
(4), authentication center deciphers user authentication request with the private key of authentication center, and verifies and extract user's identity recognition number ID by user's signature
a, check whether the user exists error logging, if there is error logging, then finishes this authentication, does not carry out cast communication; If there is not error logging, then generate an X randomly
s, and calculate Y
s, then according to the Y that keeps in advance
aCalculate the key K of this session
As, and generate two random number N
sAnd N
s'.
(5), authentication center sends authentication request response to the user, the content format of authentication request response has comprised the time stamp T of authentication center in the message shown in the M2 in the top message sequence
s, random value N
sAnd N
s' and the Y that generates of authentication center
s, N wherein
s', T
s, and Y
sWill be by the key K of session
AsEncrypt, the ciphertext of generation will with random value N
sAnd the user's random value N that had before received
aAdopt the one-way Hash algorithm to generate an one-way Hash value, the private key that re-uses authentication center is signed to this one-way Hash value, at last with the ciphertext and the random value N that generate
sAnd the user's random value N that had before received
aReinstate user's public key encryption together with user's signature one, finally form the authentication request response.
(6), receive the user authentication response that the client sends to authentication center, the content format of user authentication response has comprised the random value N that the user generates in the message shown in the M3 in the top message sequence
a' and N
a", the user reduces the N that the authentication request response of authentication center draws
sAnd N
s' and the multicast group address mgroup that adds of user applies, wherein N
s', N
a" and the mgroup session key K that will generate by the user
AsEncrypt, the ciphertext of generation will with random value N
a' and the random value N of authentication center that before received
sAdopt the one-way Hash algorithm to generate an one-way Hash value, the private key that re-uses the user is signed to this one-way Hash value, at last with the ciphertext and the random value N that generate
a', N
sReinstate the public key encryption of authentication center together with user's signature one, finally form user authentication response.
(7), the random number N that oneself generates is judged by authentication center
sAnd N
s' with the user authentication response that receives in the N that provides
sAnd N
s' whether identical, if inconsistent, then finish this authentication, do not accept user's request, and in error logging, add this user's record; If consistent, by this authentication, authentication center can be according to the multicast group address of user applies, and information such as the transmission security key of cast communication send to the user, and message format is shown in the M4 in the top message sequence.The multicast user just can carry out cast communication after authenticating the transmission security key that has obtained cast communication.
After authentication, the cast communication member can obtain the information such as transmission security key of cast communication, and the PKI with oneself has sent to authentication center simultaneously, authenticates so that carry out the source during cast communication.
When the multicast user communicated, transmitting terminal at first divided into groups packet based on the source certificate scheme employing of sequence of events, and the group head bag of each grouping is signed separately, and the HASH value of packet constitutes two-way HASH chain before and after comprising in the group.Two-way HASH chain is that two HASH chains that direction is different are arranged on the packet of each grouping, and the HASH value that chain is previous bag is attached to back one and wraps, and another chain is that the HASH value of a back bag is attached to previous wrapping.When using that wherein a chain can't authenticate, use the HSAH chain of other direction can obtain authentication.Because the rapidity of HASH value verification and anti-the losing property of two-way chain, this method have rapid authentication and anti-advantage of losing.As shown in Figure 2.
When packet loss, wait for the arrival of next packet group head bag, again according to from after forward HASH chain obtain authentication.If " isolated island " situation of generation, the bag bidirection chain that promptly receives all breaks, and at this moment waits for " some list " arrival reauthentication.
The point list derives from the thinking of using the personnel that check that call the roll in the life.The implication of calling the roll is that a register had been arranged before seeing some, comprises these people's basic document in this register, checks when preparing against point to the someone.Point list technology herein adopts this thought to be used for anti-the losing property of raising source authentication.
The HASH value of some packets put together be stored in the bag, when needs authenticate, from this bag, take out the HASH value of certain bag that needs authentication respectively, compare, get final product access authentication by calculating.The prerequisite of this method is that the packet of depositing a plurality of HASH values should at first obtain identity validation, as using digital signature etc.The pack arrangement of some list as shown in Figure 3.
When carrying out cast communication, at first after the data of a grouping of buffer memory, the packet of establishing protective ESA authentication information sends each packet to this group membership to transmitting terminal then.The structure of this packet specifically comprises in each bag as shown in Figure 2:
The information Mi of i packet;
The HASH value H ' i of i packet, it is that the information Mi+1 of a back packet and it comprise the HASH value of H ' i+1, i.e. H ' i=H (Mi+1+H ' i+1);
The HASH value Hi of i packet, it is that the information Mi-1 of previous packet and it comprise the HASH value of Hi-1, i.e. Hi=H (Mi-1+Hi-1);
Each start of packet bag also comprises:
(noncei), K is a group key to the UMAC value Ui=UHAC of i packet for (Mi, Hi, H ' i), K, and nonce is a random number;
In i packet to the signature of UMAC: Sig (Ui), and with the random value noncei that goes up this bag.
Fig. 4 sends the flow chart of multicast packet for multicast user in the cast communication process.Transmitting terminal mainly is to generate packet according to the method described above, sends each packet to this group membership then.
Fig. 5 is the flow chart of multicast user's receiving multicast data in the cast communication process.When receiving terminal received the initiation parameter signature packets, at first whether signature verification was correct, obtained the required parameter of various authentications then.
When what receive is when organizing the head bag, at first checks the random value noncei of this bag, is used for taking precautions against and forges and Replay Attack.Judge whether the noncei sequence number is up-to-date, see that more whether noncei is the part in this single continuous chain: according to the noncej that has authenticated that received in the past, (whether j<i) calculates noncej=Fi-jnoncei.If, can think that then noncei is the random value of i bag, if not, illustrate that then noncei is personation or the repeating transmission of packet random value in the past, abandons.Confirm can directly to calculate nonce ' i=F ' (noncei) behind the noncei, calculate again UMAC (whether (Mi, Hi, H ' i), K noncei), conform to the UMAC value of calculating with sender's public key verifications signature, if, then prove Mi and Hi, H ' i is correct.
When what receive is when bag in the group, checks the random value in wrapping, to prevent Replay Attack.After security inspection passes through, judge whether i-1 packet existence and certified, if, directly verify the correctness of i bag with the H ' i-1 in the i-1 bag, if not, then buffer memory should wrap, and waited for the arrival of next start of packet bag, used the positive sequence chain to verify unverified bag one by one then.If backward chain and positive sequence chain all can not authenticate, the then arrival of holding point list, reauthentication.
Characteristics such as technical scheme of the present invention has that cost is low, favorable expandability, rapid authentication, anti-losing property are good can guarantee cast communication safety, low side recipient's efficient under the raising multicast application scene effectively.