CN104639328B - A kind of GOOSE message authentication method and system - Google Patents

A kind of GOOSE message authentication method and system Download PDF

Info

Publication number
CN104639328B
CN104639328B CN201510047772.5A CN201510047772A CN104639328B CN 104639328 B CN104639328 B CN 104639328B CN 201510047772 A CN201510047772 A CN 201510047772A CN 104639328 B CN104639328 B CN 104639328B
Authority
CN
China
Prior art keywords
message
authentication code
key
goose
goose message
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201510047772.5A
Other languages
Chinese (zh)
Other versions
CN104639328A (en
Inventor
梁梅
黎永昌
王智东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201510047772.5A priority Critical patent/CN104639328B/en
Publication of CN104639328A publication Critical patent/CN104639328A/en
Application granted granted Critical
Publication of CN104639328B publication Critical patent/CN104639328B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

It is an object of the invention to provide a kind of efficient GOOSE message authentication method, to better conform to electric system high real-time requires.In order to adapt to the characteristic that GOOSE message needs are uninterruptedly sent, the sequential counting sqNum domains of Application Protocol Data Unit APDU in GOOSE message are extracted as key message message segment, and judge whether APDU remainder datas are consistent with previous message:If consistent, overall authentication code is obtained as a result, above-mentioned key message is attached to and carries out HMAC computings behind its end according to the HMAC of the non-critical information of previous GOOSE message APDU;If inconsistent first to non-critical information carry out HMAC computings obtain authentication code, then by key message be additional to authentication code end and again carry out HMAC computings obtain overall authentication code.The authentication method efficiency of the present invention is far above the classical method that HAMC certifications are directly carried out to whole APDU contents.

Description

A kind of GOOSE message authentication method and system
Technical field
The invention belongs to power system information security fields, and in particular to GOOSE message defined in IEC61850 is recognized Card method.
Background technology
Powerline network progressively develops into the open system that wide area interconnects, its bounds from independent closed system Constantly expand with geographical distribution, access way it is more flexible, the safety issue of message data is also increasingly prominent.
In electric power communication network, towards transformer substation case (GOOSE, the Generic Object of general object Oriented Substation Event) message is mainly used for characterizing operational order and the breaker position such as breaker tripping and closing of breaker Important events, its security, accuracy, the real-times such as confidence breath largely affect the reliability of Operation of Electric Systems. Moreover, under the background being had been more and more widely used in using digital transformer substation as the intelligent grid of representative, GOOSE electric power Message be possible to it is trans-regional, across electrical grid transmission so that it is more likely to by eavesdropping, attacking, the intrusion event such as distorting, it is in electric power Importance in terms of information security is more prominent.The important message of POWER SYSTEM STATE is directly affected as GOOSE is this kind of, when its report When text is tampered with, may bringing on a disaster property consequence.
Security information for power system standard IEC 62351 suggests using GOOSE message HMAC certifications or digital signature to ensure The integrality of GOOSE message.But computing and storage capacity with reference to current intelligent electronic device reality, based on asymmetric encryption ring The digital signature method of section is difficult to the 4ms delay requirements for meeting the electric power message such as GOOSE.Therefore, current GOOSE security algorithms The main selection of research uses relevant Hash operation message authentication code (the Hash-based Message of key Authentication Code, hereinafter referred to as HMAC) it is authenticated to ensure integrality.Wherein HMAC computings are calculated using Hash Method, using a key and a message as input, generates an eap-message digest as output.
GOOSE message sends the heartbeat message mechanism that uses, i.e., same heartbeat message repeats to send through intervals.Together A series of GOOSE heartbeat messages, it sends, and content is essentially identical, and difference is only that sequential counting SqNum information fields.It is wherein suitable Sequence counts SqNum and has sent message number so far for recording the heartbeat message.In this case, sent to each It is not high that GOOSE message integrated straight taps into row HMAC computings its authentication efficiencies.
The content of the invention
The shortcomings that it is an object of the invention to overcome the prior art and deficiency, the characteristics of for GOOSE heartbeat messages, there is provided A kind of GOOSE message authentication method, method proposed by the present invention is according to the repetition certification meter for avoiding identical content in heartbeat message The thought of calculation proposes a kind of efficient GOOSE message authentication method, can improve authentication calculations efficiency and better conform to electric system High real-time requires.
It is a further object of the invention to provide a kind of GOOSE message Verification System.
First purpose of the present invention is achieved through the following technical solutions:
A kind of GOOSE message authentication method, variable data are placed on by the GOOSE message authentication method treats operational data End, comprises the following steps:
GOOSE message identifyings are created, judge current GOOSE message and Application Protocol Data Unit in previous GOOSE message Whether the non-critical information of APDU is consistent, wherein, the non-key message information refers to application protocol data in GOOSE message All information of the unit AP DU in addition to sequential counting sqNum domains, directly quote in previous GOOSE message if consistent and apply The correspondence authentication code of the non-critical information of protocol Data Unit APDU coordinates Application Protocol Data Unit in current GOOSE message The key message of APDU generates overall authentication code by HMAC computings, wherein, the key message refers to should in GOOSE message With the sequential counting sqNum domains of protocol Data Unit APDU,;Firstly generated if inconsistent in current GOOSE message using association The non-critical information of view data cell APDU corresponds to authentication code, coordinates the crucial letter of current GOOSE message followed by the authentication code Breath generates overall authentication code by HMAC computings;Generation check code is filled in after the overall authentication code is made cyclic redundancy check GOOSE message identifyings are completed after the frame check code domain of current GOOSE message to create;
Verify GOOSE message identifyings, firstly generate the non-key of Application Protocol Data Unit APDU in current GOOSE message Information corresponds to authentication code, then coordinates current GOOSE message key message to generate entirety by HMAC computings using the authentication code Authentication code, by overall authentication code do cyclic redundancy check generation check code after with current GOOSE message frame check code domain content into Row contrast, if the two unanimously if certification pass through otherwise authentification failure.
Further, the step of establishment GOOSE message identifyings are specially:
The key message of Application Protocol Data Unit APDU in S11, the current GOOSE message of extraction, the crucial letter of generation first Cease message segment P2;
The key message in S12, the deletion current GOOSE message, generates the first non-critical information message segment P1;
S13, judge the first non-critical information message segment P1 whether with application protocol data list in previous GOOSE message The non-critical information of first APDU is consistent, skips to S15 if consistent, is otherwise transferred to step S14;
S14, using selected in advance key and hash function, HMAC is carried out to the first non-critical information message segment P1 Computing obtains the first authentication code C1, and the first key message message segment P2 is attached to the first authentication code C1 ends forms Second authentication code C2, carries out the second authentication code C2 HMAC computings using the key and hash function and obtains the first entirety Authentication code C01, skips to step S16;
S15, by the first key message message segment P2 be attached to Application Protocol Data Unit in previous GOOSE message The non-critical information message segment of APDU carries out the 3rd authentication code C3 ends obtained by HMAC computings and forms the 4th authentication code C4, utilizes step Key described in rapid S14 and hash function carry out the 4th authentication code C4 HMAC computings and obtain the first overall authentication code C01, Skip to step S16;
Described first entirety authentication code C01, is made cyclic redundancy check by S16, and gained check code K01 is filled in described The frame check code domain of GOOSE message, completes the establishment of GOOSE message identifyings.
Further, the step of verification GOOSE message identifyings are specially:
The key message of Application Protocol Data Unit APDU, raw in S21, extraction GOOSE message identifyings to be verified Into the second key message message segment P4;
The key message in S22, the deletion GOOSE message identifyings to be verified, generates the second non-critical information Message segment P3;
S23, using key and hash function described in step S14, the second non-critical information message segment P3 is carried out HMAC computings obtain the 5th authentication code C5, and the second key message message segment P4 is attached to the 5th authentication code C5 ends forms 6th authentication code C6, carries out HMAC computings to the 6th authentication code C6 using key described in step S14 and hash function and obtains To the second overall authentication code C02,
Described second entirety authentication code C02, is done cyclic redundancy check and obtains check code K02 by S24, check code K02 with it is described The frame check code domain of GOOSE message identifyings to be verified is contrasted, if the two unanimously if be proved to be successful, otherwise authentication failed.
Further, the key message includes sequential counting sqNum domains.
Further, the key is length 16 to the character string between 128Byte.
Further, the hash function is MD2 or MD4 or MD5 or SHA-1 or SHA-224 or SHA-256 or SHA- 384 or SHA-512.
Another object of the present invention is achieved through the following technical solutions:
A kind of GOOSE message Verification System, variable data are placed on by the GOOSE message Verification System treats operational data End, including following modules:
GOOSE message identifying modules are created, which is used to judge current GOOSE message with answering in previous GOOSE message It is whether consistent with the non-critical information of protocol Data Unit APDU, wherein, the non-key message information refers to that GOOSE is reported All information of the Application Protocol Data Unit APDU in addition to sequential counting sqNum domains in text, if consistent directly before reference The correspondence authentication code of the non-critical information of Application Protocol Data Unit APDU coordinates in current GOOSE message in one GOOSE message The key message of Application Protocol Data Unit APDU generates overall authentication code by HMAC computings, wherein, the key message refers to Be Application Protocol Data Unit APDU in GOOSE message sequential counting sqNum domains,;Firstly generated if inconsistent current The non-critical information of Application Protocol Data Unit APDU corresponds to authentication code in GOOSE message, matches somebody with somebody followed by the authentication code and is fated Preceding GOOSE message key message generates overall authentication code by HMAC computings;The overall authentication code is made into cyclic redundancy check Generation check code completes the establishment of GOOSE message identifyings after being filled in the frame check code domain of current GOOSE message afterwards;
Verify GOOSE message identifying modules, which firstly generates Application Protocol Data Unit in current GOOSE message The non-critical information of APDU corresponds to authentication code, then coordinates current GOOSE message key message to pass through HMAC using the authentication code The overall authentication code of computing generation, by overall authentication code do after cyclic redundancy check generation check code with current GOOSE message frame school Code domain content is tested to be contrasted, if the two unanimously if certification pass through otherwise authentification failure.
Further, the establishment GOOSE message identifying modules include:
First key message message segment generation unit, the unit are used to extract application protocol data in current GOOSE message The key message of unit AP DU, generates the first key message message segment P2;
First non-critical information message segment generation unit, the unit are used to delete described in the current GOOSE message Key message, generates the first non-critical information message segment P1;
First judging unit, the unit be used for judge the first non-critical information message segment P1 whether with previous GOOSE The non-critical information of Application Protocol Data Unit APDU is consistent in message, and skipping to overall authentication code second if consistent generates list Member, is otherwise transferred to overall the first generation unit of authentication code;
Overall the first generation unit of authentication code, the unit is using selected in advance key and hash function, to described first Non-critical information message segment P1 carries out HMAC computings and obtains the first authentication code C1, and the first key message message segment P2 is added The second authentication code C2 is formed to the first authentication code C1 ends, using the key and hash function to second authentication code C2 carries out HMAC computings and obtains the first overall authentication code C01, skips to check code fills unit;
Overall the second generation unit of authentication code, the unit are used to the first key message message segment P2 being attached to previous The non-critical information message segment of Application Protocol Data Unit APDU carries out the 3rd authentication code C3 obtained by HMAC computings in GOOSE message End forms the 4th authentication code C4, and carrying out HMAC computings to the 4th authentication code C4 using the key and hash function obtains First overall authentication code C01, skips to check code fills unit;
Check code fills unit, the unit are used to the described first entirety authentication code C01 making cyclic redundancy check, and by institute The frame check code domain that check code K01 is filled in the GOOSE message is obtained, completes the establishment of GOOSE message identifyings.
Further, the verification GOOSE message identifying modules include:
Second key message message segment generation unit, the unit are used to extract to apply in GOOSE message identifyings to be verified The key message of protocol Data Unit APDU, generates the second key message message segment P4;
Second non-critical information message segment generation unit, the unit are used to delete the GOOSE message identifyings to be verified In the key message, generate the second non-critical information message segment P3;
Overall the 3rd generation unit of authentication code, which utilizes the key and hash function, non-key to described second Infomational message section P3 carries out HMAC computings and obtains the 5th authentication code C5, and the second key message message segment P4 is attached to the described 5th Authentication code C5 ends form the 6th authentication code C6, and the key described in and hash function carry out the 6th authentication code C6 HMAC computings obtain the second overall authentication code C02,
Second judging unit, the unit obtain check code for the described second entirety authentication code C02 to be done cyclic redundancy check K02, check code K02 and the frame check code domain of the GOOSE message identifyings to be verified are contrasted, if the two unanimously if verify Succeed, otherwise authentication failed.
The present invention is had the following advantages relative to the prior art and effect:
(1) present invention reduces identical content in GOOSE heartbeat messages on the premise of message information security is not reduced Repeated HMAC authentication calculations, improve the efficiency of HMAC authentication calculations.
(2) present invention proposes a kind of efficient GOOSE message authentication method, can better adapt to electric system high real-time It is required that.
Brief description of the drawings
Fig. 1 is the procedure chart that GOOSE message identifyings are created in the embodiment of the present invention one;
Fig. 2 is the procedure chart that GOOSE message identifyings are verified in the embodiment of the present invention one;
Fig. 3 is the structure diagram of GOOSE message in the present invention;
Fig. 4 is GOOSE message case 1 in the embodiment of the present invention two;
Fig. 5 is GOOSE message case 2 in the embodiment of the present invention two;
Fig. 6 is GOOSE message case 3 in the embodiment of the present invention two;
Fig. 7 is the composition frame chart of GOOSE message identifyings system in embodiment three;
Fig. 8 is the composition frame chart that GOOSE message identifying modules are created in embodiment three;
Fig. 9 is the composition frame chart that GOOSE message identifying modules are verified in embodiment three.
Embodiment
For make the technical means, the creative features, the aims and the efficiencies achieved by the present invention easy to understand referring to Attached drawing develops simultaneously, and the present invention is described in more detail for embodiment.It should be appreciated that specific embodiment described herein only to Explain the present invention, be not intended to limit the present invention.
Embodiment one
Fig. 1 and Fig. 2 are referred to, Fig. 1 and Fig. 2 are on creating GOOSE message identifyings and verification respectively in the present embodiment The procedure chart of GOOSE message identifyings.
A kind of efficient GOOSE message authentication method disclosed in the present embodiment, specifically includes and creates GOOSE message identifyings With verification two steps of GOOSE message identifyings.
Wherein, the process of GOOSE message identifyings is created as shown in Figure 1, the step first determines whether current GOOSE message (structure diagram of GOOSE message is as shown in Figure 3) with previous GOOSE message Application Protocol Data Unit APDU it is non-key Whether information is consistent, and the non-critical information of Application Protocol Data Unit APDU in previous GOOSE message is directly quoted if consistent Correspondence authentication code coordinate the key message of Application Protocol Data Unit APDU in current GOOSE message to be generated by HMAC computings Overall authentication code;The non-critical information of Application Protocol Data Unit APDU in current GOOSE message is firstly generated if inconsistent Corresponding authentication code, coordinates current GOOSE message key message to generate overall certification by HMAC computings followed by the authentication code Code;The overall authentication code is made into the frame check code domain that generation check code after cyclic redundancy check is filled in current GOOSE message GOOSE message identifyings are completed afterwards to create.
Wherein, verify the process of GOOSE message identifyings as shown in Fig. 2, the step firstly generate in current GOOSE message should Authentication code is corresponded to the non-critical information of protocol Data Unit APDU, then coordinates current GOOSE message to close using the authentication code Key information generates overall authentication code by HMAC computings, by overall authentication code do after cyclic redundancy check generation check code with it is current GOOSE message frame check code domain content is contrasted, if the two unanimously if certification pass through otherwise authentification failure.
HMAC is the relevant Hash operation message authentication code of key (Hash-based Message Authentication Code), HMAC computings utilize hash algorithm, and using a key and a message as input, one eap-message digest of generation is as defeated Go out.
HMAC is the message authentication code based on hash function.It need encryption hash function (be expressed as H, can be with MD5 or SHA-1) and a key K calculating message authentication code.
Calculate HMAC need hash function hash (can be MD2 or MD4 or MD5 or SHA-1 or SHA-224 or SHA-256 or SHA-384 or SHA-512) and key key (key key can be length 16 between 128Byte Character string).Represent that hash functions output string grows (md5 is 16) with L, with B represent data block length (md5 and sha-1's 64) partition data block length is all.The length of key key can be less than or equal to data block length B, can if greater than data block length As a result it is exactly the key of a L long to be changed using hash function pairs key.
Then the kinds of characters string of two B long is created:
Innerpad=length is the 0 × 36 of B;
Outterpad=length is 0 × 5C of B;
Calculate the HMAC of input character string str:
hash(key^outterpad,hash(key^innerpad,str))。
As shown in Figure 1, the step of wherein creating GOOSE message identifyings is specially:
The key message of Application Protocol Data Unit APDU, generates the first key message report in S11, extraction GOOSE message Literary section P2;Key message described in this embodiment is sequential counting sqNum domains.
The key message in S12, the deletion GOOSE message, generates the first non-critical information message segment P1;
S13, judge the first non-critical information message segment P1 whether with application protocol data list in previous GOOSE message The non-critical information of first APDU is consistent, skips to S15 if consistent, is otherwise transferred to step S14;
S14, using selected in advance key and hash function, HMAC is carried out to the first non-critical information message segment P1 Computing obtains the first authentication code C1, and the first key message message segment P2 is attached to the first authentication code C1 ends forms Second authentication code C2, carries out the second authentication code C2 HMAC computings using the key and hash function and obtains the first entirety Authentication code C01, skips to step S16;
S15, by the first key message message segment P2 be attached to Application Protocol Data Unit in previous GOOSE message The non-critical information message segment of APDU carries out the 3rd authentication code C3 ends obtained by HMAC computings and forms the 4th authentication code C4, utilizes step Key described in rapid S14 and hash function carry out the 4th authentication code C4 HMAC computings and obtain the first overall authentication code C01, Skip to step S16;
Described first entirety authentication code C01, is made cyclic redundancy check by S16, and gained check code K01 is filled in described The frame check code domain of GOOSE message, completes the establishment of GOOSE message identifyings.
As shown in Fig. 2, the step of verification GOOSE message identifyings, is specially:
The key message of Application Protocol Data Unit APDU, raw in S21, extraction GOOSE message identifyings to be verified Into the second key message message segment P4;
The key message in S22, the deletion GOOSE message identifyings to be verified, generates the second non-critical information Message segment P3;
S23, using key and hash function described in step S14, the second non-critical information message segment P3 is carried out HMAC computings obtain the 5th authentication code C5, and the second key message message segment P4 is attached to the 5th authentication code C5 ends forms 6th authentication code C6, carries out HMAC computings to the 6th authentication code C6 using key described in step S14 and hash function and obtains To the second overall authentication code C02,
Described second entirety authentication code C02, is done cyclic redundancy check and obtains check code K02 by S24, check code K02 with it is described The frame check code domain of GOOSE message identifyings to be verified is contrasted, if the two unanimously if be proved to be successful, otherwise authentication failed.
In GOOSE message identifying algorithm and the timing of key length one, reduce the core that GOOSE message authentication algorithm takes and exist In the length for the content that computing is encrypted needed for reduction.Analyze GOOSE message send mechanism, GOOSE message need repeat, it is indefinite Interval is sent, wherein except sqNum parameters, other data in GOOSE message APDU are constant.Pressed in conjunction with HASH mathematical algorithms 512bit length is treated operational data and is grouped, inputted under fixed input condition it is constant, therefore, the data of change can be put with Treat operational data end, you can avoid the HASH calculating processes of data as before.
Embodiment two
Present embodiment discloses the specific embodiment of efficient GOOSE message authentication method of the invention.In the embodiment two The key that hash algorithm uses is character string:“qazwsxedcrfvtgbyhnujmik,ol.p;/ ", hash function uses SHA- 1, cyclic redundancy check uses 32 cyclic redundancy check (CRC)s 32.
Fig. 4-Fig. 6 is 3 GOOSE messages, and switching value displacement occurs after wherein GOOSE message is sent shown in Fig. 4, is formed new GOOSE message heartbeat series, Fig. 5 and Fig. 6 are the first and second GOOSE message of new GOOSE message heartbeat series.
1st, it is as follows for the GOOSE message in Fig. 4, its message transmitting party authentication code generation step:
Key message segment P2 and non-key message segment P1 is generated according to GOOSE message, current non-key message segment P1 and The previous non-key message segment of message is contrasted, the two inconsistent (stNum domains, t domains and allData domains content are inconsistent), Therefore HMAC computings directly are carried out to non-key message segment P1, obtain the first authentication code C1 (16 binary form):
bda031b95d8db0ba30e78449d08f5e71b0632174(Hex);
The first authentication code is then merged into obtain the second authentication code C2 with key message segment P2:
bda031b95d8db0ba30e78449d08f5e71b063217486010f(Hex);
HMAC computings are carried out to C2 and obtain the first full authentication code C01:
e153ff8857e71ef24b08380f4824a2e75b928a64(Hex);
Cyclic redundancy computing then is carried out to C01 and obtains check code:
5265BD27;
Check code is filled in the frame check domain of GOOSE message, that is, completes GOOSE message authentication code in Fig. 4 and generates.
Its message recipient's authenticating step is as follows:
Key message segment P3 and non-key message segment P4 is generated according to the GOOSE message received, to non-key message Section P3 carries out HMAC computings, obtains the 5th authentication code C5 (16 binary form):
bda031b95d8db0ba30e78449d08f5e71b0632174(Hex);
The 5th authentication code is then merged into obtain the 6th authentication code C6 with key message segment P4:
bda031b95d8db0ba30e78449d08f5e71b063217486010f(Hex);
HMAC computings are carried out to C6 and obtain the second overall authentication code C02:
e153ff8857e71ef24b08380f4824a2e75b928a64(Hex);
Cyclic redundancy computing then is carried out to C02 and obtains check code:
5265BD27;
The frame check domain of check code and GOOSE message contrast unanimously, judges that certification passes through.
2nd, it is as follows for the GOOSE message in Fig. 5, its message transmitting party authentication code generation step:
Key message segment P2 and non-key message segment P1 is generated according to GOOSE message, current non-key message segment P1 and The previous non-key message segment of message is contrasted, the two inconsistent (stNum domains, t domains and allData domains content are inconsistent), Therefore HMAC computings directly are carried out to non-key message segment P1, obtain the first authentication code C1 (16 binary form):
88580e829232f09be7e3ba60b883cc083506e5a1(Hex);
The first authentication code is then merged into obtain the second authentication code C2 with key message segment P2:
88580e829232f09be7e3ba60b883cc083506e5a1860100(Hex);
HMAC computings are carried out to C2 and obtain the first full authentication code C01:
d995a3b16b79f3334bf0c6d81512c1f929bde8e0(Hex);
Cyclic redundancy computing then is carried out to C01 and obtains check code:
30A15AB6;
Check code is filled in the frame check domain of GOOSE message, that is, completes GOOSE message authentication code in Fig. 5 and generates.
Its message recipient's authenticating step is as follows:
Key message segment P3 and non-key message segment P4 is generated according to the GOOSE message received, to non-key message Section P3 carries out HMAC computings, obtains the 5th authentication code C5 (16 binary form):
88580e829232f09be7e3ba60b883cc083506e5a1(Hex);
The 5th authentication code is then merged into obtain the 6th authentication code C6 with key message segment P4:
88580e829232f09be7e3ba60b883cc083506e5a1860100(Hex);
HMAC computings are carried out to C6 and obtain the second overall authentication code C02:
d995a3b16b79f3334bf0c6d81512c1f929bde8e0(Hex);
Cyclic redundancy computing then is carried out to C02 and obtains check code:
30A15AB6;
The frame check domain of check code and GOOSE message contrast unanimously, judges that certification passes through.
3rd, it is as follows for the GOOSE message in Fig. 6, its message transmitting party authentication code generation step:
Key message segment P2 and non-key message segment P1 is generated according to GOOSE message, current non-key message segment P1 and The previous non-key message segment of message is contrasted, the two is consistent, therefore the 3rd authentication code C3 and the first certification of previous GOOSE message Code is consistent, without being calculated (16 binary form):
88580e829232f09be7e3ba60b883cc083506e5a1(Hex);
The 3rd authentication code is then merged into obtain the 4th authentication code C4 with key message segment P2:
88580e829232f09be7e3ba60b883cc083506e5a1860101(Hex);
HMAC computings are carried out to C4 and obtain final authentication code C01:
11af0d95c4aadc568dfa0f414fd229562b8503f4(Hex);
Cyclic redundancy computing then is carried out to C01 and obtains check code:
087CDED7;
Check code is filled in the frame check domain of GOOSE message, that is, completes GOOSE message authentication code in Fig. 6 and generates.
Its message recipient's verification step is as follows:
Key message segment P2 and non-key message segment P1 is generated according to the GOOSE message received, to non-key message Section P1 carries out HMAC computings, obtains the 5th authentication code C5 (16 binary form):
88580e829232f09be7e3ba60b883cc083506e5a1(Hex);
The 5th authentication code is then merged into obtain the 6th authentication code C6 with key message segment P2:
88580e829232f09be7e3ba60b883cc083506e5a1860101(Hex);
HMAC computings are carried out to C6 and obtain the second final authentication code C02:
11af0d95c4aadc568dfa0f414fd229562b8503f4(Hex);
Cyclic redundancy computing then is carried out to C02 and obtains check code:
087CDED7;
The frame check domain of check code and GOOSE message contrast unanimously, judges that certification passes through.
Embodiment three
Present embodiment discloses a kind of GOOSE message Verification System, specifically such as GOOSE message identifyings system in attached drawing 7 Shown in composition frame chart, which includes creating GOOSE message identifyings module and verification GOOSE message identifyings two modules of module.
Wherein, GOOSE message identifying modules are created, which is used to judge current GOOSE message and previous GOOSE message Whether the non-critical information of middle Application Protocol Data Unit APDU is consistent, and directly being quoted if consistent should in previous GOOSE message Coordinate Application Protocol Data Unit in current GOOSE message with the correspondence authentication code of the non-critical information of protocol Data Unit APDU The key message of APDU generates overall authentication code by HMAC computings;Being firstly generated if inconsistent should in current GOOSE message Authentication code is corresponded to the non-critical information of protocol Data Unit APDU, coordinates current GOOSE message to close followed by the authentication code Key information generates overall authentication code by HMAC computings;Generation check code is filled out after the overall authentication code is made cyclic redundancy check Fill after the frame check code domain of current GOOSE message and complete the establishment of GOOSE message identifyings.
Wherein, GOOSE message identifying modules are verified, which firstly generates application protocol data in current GOOSE message The non-critical information of unit AP DU corresponds to authentication code, then coordinates current GOOSE message key message to pass through using the authentication code The overall authentication code of HMAC computings generation, by overall authentication code do after cyclic redundancy check generation check code with current GOOSE message Frame check code domain content is contrasted, if the two unanimously if certification pass through otherwise authentification failure.
As created in Fig. 8 shown in GOOSE message identifying module composition frame charts, establishment GOOSE message identifying modules include:
First key message message segment generation unit, the unit are used to extract Application Protocol Data Unit in GOOSE message The key message of APDU, generates the first key message message segment P2.
First non-critical information message segment generation unit, the unit are used to delete the key in the GOOSE message Information, generates the first non-critical information message segment P1.
First judging unit, the unit be used for judge the first non-critical information message segment P1 whether with previous GOOSE The non-critical information of Application Protocol Data Unit APDU is consistent in message, and skipping to overall authentication code second if consistent generates list Member, is otherwise transferred to overall the first generation unit of authentication code.
Overall the first generation unit of authentication code, the unit is using selected in advance key and hash function, to described first Non-critical information message segment P1 carries out HMAC computings and obtains the first authentication code C1, and the first key message message segment P2 is added The second authentication code C2 is formed to the first authentication code C1 ends, using the key and hash function to second authentication code C2 carries out HMAC computings and obtains the first overall authentication code C01, skips to check code fills unit.
Overall the second generation unit of authentication code, the unit are used to the first key message message segment P2 being attached to previous The non-critical information message segment of Application Protocol Data Unit APDU carries out the 3rd authentication code C3 obtained by HMAC computings in GOOSE message End forms the 4th authentication code C4, and carrying out HMAC computings to the 4th authentication code C4 using the key and hash function obtains First overall authentication code C01, skips to check code fills unit.
Check code fills unit, the unit are used to the described first entirety authentication code C01 making cyclic redundancy check, and by institute The frame check code domain that check code K01 is filled in the GOOSE message is obtained, completes the establishment of GOOSE message identifyings.
As verified in Fig. 9, verification GOOSE message identifying modules include shown in GOOSE message identifying module composition frame charts:
Second key message message segment generation unit, the unit are used to extract to apply in GOOSE message identifyings to be verified The key message of protocol Data Unit APDU, generates the second key message message segment P4.
Second non-critical information message segment generation unit, the unit are used to delete the GOOSE message identifyings to be verified In the key message, generate the second non-critical information message segment P3.
Overall the 3rd generation unit of authentication code, which utilizes the key and hash function, non-key to described second Infomational message section P3 carries out HMAC computings and obtains the 5th authentication code C5, and the second key message message segment P4 is attached to the described 5th Authentication code C5 ends form the 6th authentication code C6, and the key described in and hash function carry out the 6th authentication code C6 HMAC computings obtain the second overall authentication code C02.
Second judging unit, the unit obtain check code for the described second entirety authentication code C02 to be done cyclic redundancy check K02, check code K02 and the frame check code domain of the GOOSE message identifyings to be verified are contrasted, if the two unanimously if verify Succeed, otherwise authentication failed.
It is worth noting that, in said system embodiment, included each device and unit are simply according to function logic Divided, but be not limited to above-mentioned division, as long as corresponding function can be realized;In addition, each device and list The specific name of member is also only to facilitate mutually distinguish, the protection domain being not intended to limit the invention.
Above-described embodiment is the preferable embodiment of the present invention, but embodiments of the present invention and from above-described embodiment Limitation, other any Spirit Essences without departing from the present invention with made under principle change, modification, replacement, combine, simplification, Equivalent substitute mode is should be, is included within protection scope of the present invention.

Claims (4)

1. a kind of GOOSE message authentication method, it is characterised in that variable data are placed on by the GOOSE message authentication method Treat operational data end, comprise the following steps:
GOOSE message identifyings are created, judge current GOOSE message and Application Protocol Data Unit APDU in previous GOOSE message Non-critical information it is whether consistent, wherein, the non-key message information refers to Application Protocol Data Unit in GOOSE message All information of the APDU in addition to sequential counting sqNum domains, application protocol in previous GOOSE message is directly quoted if consistent The correspondence authentication code of the non-critical information of data cell APDU coordinates Application Protocol Data Unit APDU in current GOOSE message Key message generates overall authentication code by HMAC computings, wherein, the key message refers to application protocol in GOOSE message The sequential counting sqNum domains of data cell APDU, firstly generate application protocol data list in current GOOSE message if inconsistent The non-critical information of first APDU corresponds to authentication code, coordinates current GOOSE message key message to pass through followed by the authentication code The overall authentication code of HMAC computings generation;Generation check code is filled in currently after the overall authentication code is made cyclic redundancy check GOOSE message identifyings are completed after the frame check code domain of GOOSE message to create;
Verify GOOSE message identifyings, firstly generate the non-critical information of Application Protocol Data Unit APDU in current GOOSE message Corresponding authentication code, then coordinates current GOOSE message key message to generate overall certification by HMAC computings using the authentication code Code, overall authentication code is done and is carried out pair with current GOOSE message frame check code domain content after cyclic redundancy check generation check code Than, if the two unanimously if certification pass through otherwise authentification failure;The step of establishment GOOSE message identifyings is specially:
The key message of Application Protocol Data Unit APDU, generates the first key message report in S11, the current GOOSE message of extraction Literary section P2;
The key message in S12, the deletion current GOOSE message, generates the first non-critical information message segment P1;
S13, judge the first non-critical information message segment P1 whether with Application Protocol Data Unit in previous GOOSE message The non-critical information of APDU is consistent, skips to S15 if consistent, is otherwise transferred to step S14;
S14, using selected in advance key and hash function, HMAC computings are carried out to the first non-critical information message segment P1 The first authentication code C1 is obtained, the first key message message segment P2 is attached to the first authentication code C1 ends forms second Authentication code C2, carries out the second authentication code C2 HMAC computings using the key and hash function and obtains the first overall certification Code C01, skips to step S16;
S15, by the first key message message segment P2 be attached to Application Protocol Data Unit APDU in previous GOOSE message Non-critical information message segment carries out the 3rd authentication code C3 ends obtained by HMAC computings and forms the 4th authentication code C4, utilizes step S14 Described in key and hash function HMAC computings carried out to the 4th authentication code C4 obtain the first overall authentication code C01, skip to Step S16;
Described first entirety authentication code C01, is made cyclic redundancy check by S16, and gained check code K01 is filled in described The frame check code domain of GOOSE message, completes the establishment of GOOSE message identifyings;The step of verification GOOSE message identifyings, is specific For:
The key message of Application Protocol Data Unit APDU in S21, extraction GOOSE message identifyings to be verified, generation the Two key message message segment P4;
The key message in S22, the deletion GOOSE message identifyings to be verified, generates the second non-critical information message Section P3;
S23, using key and hash function described in step S14, HMAC is carried out to the second non-critical information message segment P3 Computing obtains the 5th authentication code C5, and the second key message message segment P4 is attached to the 5th authentication code C5 ends forms the 6th Authentication code C6, carries out the 6th authentication code C6 using key described in step S14 and hash function HMAC computings and obtains the Two overall authentication code C02;
Described second entirety authentication code C02, is done cyclic redundancy check and obtains check code K02 by S24, check code K02 with it is described to be tested The frame check code domain of the GOOSE message identifyings of card is contrasted, if the two unanimously if be proved to be successful, otherwise authentication failed.
2. a kind of GOOSE message authentication method according to claim 1, it is characterised in that the key is length 16 To the character string between 128Byte.
A kind of 3. GOOSE message authentication method according to claim 1, it is characterised in that the hash function be MD2 or MD4 or MD5 or SHA-1 or SHA-224 or SHA-256 or SHA-384 or SHA-512.
4. a kind of GOOSE message Verification System, it is characterised in that variable data are placed on by the GOOSE message Verification System Treat operational data end, including following modules:
GOOSE message identifying modules are created, which is used to judge current GOOSE message with applying association in previous GOOSE message Whether consistent discuss the non-critical information of data cell APDU, wherein, the non-key message information refers to should in GOOSE message With all information of the protocol Data Unit APDU in addition to sequential counting sqNum domains, previous GOOSE is directly quoted if consistent The correspondence authentication code of the non-critical information of Application Protocol Data Unit APDU coordinates application protocol in current GOOSE message in message The key message of data cell APDU generates overall authentication code by HMAC computings, wherein, the key message refers to GOOSE The sequential counting sqNum domains of Application Protocol Data Unit APDU in message;Firstly generated if inconsistent in current GOOSE message The non-critical information of Application Protocol Data Unit APDU corresponds to authentication code, coordinates current GOOSE message followed by the authentication code Key message generates overall authentication code by HMAC computings;Check code is generated after the overall authentication code is made cyclic redundancy check The establishment of GOOSE message identifyings is completed after being filled in the frame check code domain of current GOOSE message;
Verify GOOSE message identifying modules, which firstly generates Application Protocol Data Unit APDU in current GOOSE message Non-critical information corresponds to authentication code, then coordinates current GOOSE message key message to be given birth to by HMAC computings using the authentication code Integral authentication code, by overall authentication code do cyclic redundancy check generation check code after with current GOOSE message frame check code domain Content is contrasted, if the two unanimously if certification pass through otherwise authentification failure;
The establishment GOOSE message identifying modules include:
First key message message segment generation unit, the unit are used to extract Application Protocol Data Unit in current GOOSE message The key message of APDU, generates the first key message message segment P2;
First non-critical information message segment generation unit, the unit are used to delete the key in the current GOOSE message Information, generates the first non-critical information message segment P1;
First judging unit, the unit be used for judge the first non-critical information message segment P1 whether with previous GOOSE message The non-critical information of middle Application Protocol Data Unit APDU is consistent, and overall the second generation unit of authentication code is skipped to if consistent, no Then it is transferred to overall the first generation unit of authentication code;
Overall the first generation unit of authentication code, the unit is using selected in advance key and hash function, to the described first non-pass Key information message segment P1 carries out HMAC computings and obtains the first authentication code C1, and the first key message message segment P2 is attached to institute State the first authentication code C1 ends and form the second authentication code C2, using the key and hash function to the second authentication code C2 into Row HMAC computings obtain the first overall authentication code C01, skip to check code fills unit;
Overall the second generation unit of authentication code, the unit are used to the first key message message segment P2 being attached to previous The non-critical information message segment of Application Protocol Data Unit APDU carries out the 3rd authentication code C3 obtained by HMAC computings in GOOSE message End forms the 4th authentication code C4, and carrying out HMAC computings to the 4th authentication code C4 using the key and hash function obtains First overall authentication code C01, skips to check code fills unit;
Check code fills unit, the unit are used to the described first entirety authentication code C01 making cyclic redundancy check, and by gained school The frame check code domain that yard K01 is filled in the GOOSE message is tested, completes the establishment of GOOSE message identifyings;
The verification GOOSE message identifying modules include:
Second key message message segment generation unit, the unit are used to extract application protocol in GOOSE message identifyings to be verified The key message of data cell APDU, generates the second key message message segment P4;
Second non-critical information message segment generation unit, the unit are used to delete in the GOOSE message identifyings to be verified The key message, generates the second non-critical information message segment P3;
Overall the 3rd generation unit of authentication code, which utilizes the key and hash function, to second non-critical information Message segment P3 carries out HMAC computings and obtains the 5th authentication code C5, and the second key message message segment P4 is attached to the 5th certification Code C5 ends form the 6th authentication code C6, the key described in and hash function and carry out HMAC fortune to the 6th authentication code C6 Calculation obtains the second overall authentication code C02,
Second judging unit, the unit obtain check code K02 for the described second entirety authentication code C02 to be done cyclic redundancy check, Check code K02 and the frame check code domain of the GOOSE message identifyings to be verified are contrasted, if the two unanimously if verification into Work(, otherwise authentication failed.
CN201510047772.5A 2015-01-29 2015-01-29 A kind of GOOSE message authentication method and system Expired - Fee Related CN104639328B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510047772.5A CN104639328B (en) 2015-01-29 2015-01-29 A kind of GOOSE message authentication method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510047772.5A CN104639328B (en) 2015-01-29 2015-01-29 A kind of GOOSE message authentication method and system

Publications (2)

Publication Number Publication Date
CN104639328A CN104639328A (en) 2015-05-20
CN104639328B true CN104639328B (en) 2018-04-13

Family

ID=53217686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510047772.5A Expired - Fee Related CN104639328B (en) 2015-01-29 2015-01-29 A kind of GOOSE message authentication method and system

Country Status (1)

Country Link
CN (1) CN104639328B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162594B (en) * 2015-07-31 2018-03-30 飞天诚信科技股份有限公司 A kind of quick endorsement method and signature device
JP6814549B2 (en) * 2016-04-27 2021-01-20 日立オートモティブシステムズ株式会社 Arithmetic logic unit, authentication system, authentication method
CN108366055A (en) * 2018-02-05 2018-08-03 国电南瑞科技股份有限公司 A kind of GOOSE message signature and the method for certification
US11418432B1 (en) * 2021-04-22 2022-08-16 Schweitzer Engineering Laboratories, Inc. Automated communication flow discovery and configuration in a software defined network
CN113541955A (en) * 2021-06-03 2021-10-22 国电南瑞科技股份有限公司 Encryption method and device for 2M communication of security control system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010040688A1 (en) * 2010-09-14 2012-03-15 Siemens Aktiengesellschaft Method and device for authenticating multicast messages
CN103746962B (en) * 2013-12-12 2017-01-25 华南理工大学 GOOSE electric real-time message encryption and decryption method
CN103873461B (en) * 2014-02-14 2015-09-23 中国南方电网有限责任公司 Based on the safety interacting method of the GOOSE message of IEC62351

Also Published As

Publication number Publication date
CN104639328A (en) 2015-05-20

Similar Documents

Publication Publication Date Title
CN107249009B (en) Data verification method and system based on block chain
CN104639328B (en) A kind of GOOSE message authentication method and system
CN107846282A (en) A kind of electronic data distribution keeping method and system based on block chain technology
CN103746962B (en) GOOSE electric real-time message encryption and decryption method
CN101409619B (en) Flash memory card and method for implementing virtual special network key exchange
CN104702466B (en) A kind of process layer safety test system and method based on IEC62351
CN109412794A (en) A kind of quantum key automatic filling method and system adapting to power business
CN112511304A (en) Power data privacy communication method based on hybrid encryption algorithm
CN105610837B (en) For identity authentication method and system between SCADA system main website and slave station
CN110830251B (en) Method for safely transmitting electricity consumption information in ubiquitous power Internet of things environment
CN104811427B (en) A kind of safe industrial control system communication means
CN105072636B (en) A kind of wireless test and data transmission system
CN104506500A (en) GOOSE message authentication method based on transformer substation
CN110505049A (en) A kind of text information transmission method, apparatus and system
CN109976948A (en) Private information backup method and recovery method and system
CN104639330B (en) A kind of GOOSE message completeness certification method
CN110912877A (en) Data transmitting and receiving method and device based on IEC61850 model in transformer substation
CN114024698A (en) Power distribution Internet of things service safety interaction method and system based on state cryptographic algorithm
CN110034936B (en) Pierceable digital signature method
CN109978543A (en) A kind of method, apparatus, electronic equipment and the storage medium of contract signature
CN111490874B (en) Distribution network safety protection method, system, device and storage medium
CN107231628B (en) Safety data fusion method suitable for multiple application scenes
CN113225318A (en) Method and system for government affair big data encryption transmission and safe storage
CN109039841A (en) The method, apparatus and girff of cascade network is added
CN113766007B (en) Authentication pre-system and authentication method based on multi-source heterogeneous data analysis protocol

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Liang Mei

Inventor after: Li Yongchang

Inventor after: Wang Zhidong

Inventor before: Li Yongchang

Inventor before: Wang Zhidong

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180413

Termination date: 20220129