CN103853661A - Space radiation-resisting fault detection method based on weighting Merkle tree - Google Patents

Space radiation-resisting fault detection method based on weighting Merkle tree Download PDF

Info

Publication number
CN103853661A
CN103853661A CN201410060564.4A CN201410060564A CN103853661A CN 103853661 A CN103853661 A CN 103853661A CN 201410060564 A CN201410060564 A CN 201410060564A CN 103853661 A CN103853661 A CN 103853661A
Authority
CN
China
Prior art keywords
fundamental block
merkle
hash value
hash
tree
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.)
Granted
Application number
CN201410060564.4A
Other languages
Chinese (zh)
Other versions
CN103853661B (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.)
Beijing Shenzhou Aerospace Software Technology Co.,Ltd.
Original Assignee
BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd
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 BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd filed Critical BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co Ltd
Priority to CN201410060564.4A priority Critical patent/CN103853661B/en
Publication of CN103853661A publication Critical patent/CN103853661A/en
Application granted granted Critical
Publication of CN103853661B publication Critical patent/CN103853661B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a space radiation-resisting fault detection method based on a weighting Merkle tree. The space radiation-resisting fault detection method is characterized by comprising the following steps of generating a corresponding weighting Merkle Hash tree for a critical code section by using a compiler; then carrying out fine-grained and high-efficiency error detection based on the Merkle Hash tree during task idle under the support of an operation system, thus providing a fine-grained and high-efficiency single-point error detection mechanism. The invention provides the fine-grained and high-efficiency single-point error detection mechanism which provides the support for realizing a radiation error-resisting system in a spaceflight application system.

Description

The anti-irradiation fault detection method in space of realizing based on weighting Merkle tree
Technical field
The invention belongs to software reliability field, specifically, relate to a kind of anti-irradiation fault detection method in space of realizing based on weighting Merkle tree.
Background technology
Cosmic radiation is the significant threat that spacecraft faces.In space space, there are many high energy particles, these particles enter after semiconductor, ionize out a large amount of electric charges by coulomb interaction, thereby cause logic upset, the locking of semiconductor digital integrated circuit, even likely burn device, comprise specifically: single-particle inversion, single event latch-up and single event burnout, may cause the logic state in semiconductor circuit to be overturn, on the contrary from logical one be turned to logical zero or.The satellite failure that single particle effect causes 80% of the radiation effect fault sum that takes up space.Because cost and the power consumption of anti-irradiation device are very large, and performance is relatively low, therefore, in space electronic system, generally adopt software and hardware combining mode to complete error-detecting and the error recovery technique of single-particle inversion, and the single-particle inversion detection technique of high efficient and reliable is the key of anti-Irradiation Design.
The process variations that detection radiation brings becomes the basic function of Spacecraft Electronic system.In order to protect safety-critical software correctness, detection software enters error condition becomes the important proposition of Software for Design and operation.In safety-critical software, be a kind of effective method to the execution route protection of key code.Hash value is the integrity verification technology of a widespread use.Utilize Hash technology as required trace routine code whether change, once find inconsistently to make a mistake, can trigger fault recovering mechanism, thereby avoid system to enter into error condition.
In the application of the anti-irradiation in space, traditional Hash technology realizes the method for error-detecting, and following problems may be encountered conventionally:
1, the fault of space single-particle inversion be non-permanent nature, can be by rewriteeing and refreshing to recover original state, therefore to make mistakes be to need accurate Error Location in verification, position is more accurate, the efficiency that mistake is recovered is just higher;
2, whole code segment, data segment are carried out to Hash verification expense one by one excessive, and existence waste, according to sixteen principles, 20% focus code and hot spot data are often performed and access, its data integrity is very large for the impact of security of system, and remainder is less on security of system impact.
3, the impact position of space single-particle inversion is random, and problem may appear at code segment optional position, also may appear in the position of preserving Hash table, and simple Hash table cannot judge where Single Point of Faliure there will be.
Summary of the invention
The technical problem to be solved in the present invention is to overcome above-mentioned defect, provide a kind of and realize efficient error-detecting method based on weighting Merkle tree mode, by build the Merkle tree of the weighting based on fundamental block hash value for system code section, thereby the wrong report mechanism that can avoid hash value to be tampered bringing, and can fine granularity, carry out error-detecting efficiently, thereby for fine granularity, time data recovery mechanism provides strong support efficiently.
For addressing the above problem, the technical solution adopted in the present invention is:
The anti-irradiation fault detection method in space of realizing based on weighting Merkle tree, is characterized in that: step is as follows: utilize the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided.
Improve the structure of described weighting Merkle Hash tree as one;
1), in program compilation process, for the code segment of system, be that unit divides according to fundamental block; Fundamental block is the elementary cell that procedure order is carried out, once the first statement of fundamental block is performed, the statement of fundamental block inside also must be performed once so; If a fundamental block is excessive, fundamental block is split as to some fundamental blocks of uniform size, thereby total system code segment is divided into the fundamental block of N approximate size; In compilation process, calculate the hash value of the corresponding binary code of each fundamental block of above-mentioned establishment, obtain N hash value;
2), in compilation process, the calling graph that uses profiler instrument to generate, obtains critical path and the focus of system;
3), fundamental block carried out to focus value according to it arrange from high to Low, give respectively weighting coefficient i and be N, N-1, N-2 ..., 3,2,1; For the critical path of code segment, according to it, whether in critical path, corresponding fundamental block is given weighting coefficient j, is respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path); Calculate the weighting coefficient WP=i × j of each fundamental block;
4), fundamental block is arranged according to weighting coefficient WP, thereby build corresponding Merkle tree, wherein the hash value of each fundamental block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is the hash budget result of child node value: Hash (H)=hash (Hl|Hr);
5), Merkle leaf node sequence number and fundamental block code address are kept in a sparse matrix;
6), Merkle tree is kept in application configuration file;
Improve as one, the step that described single-particle inversion checks is as follows:
1), in system operational process, build consistance patrol task CircuitCheckTask, and consistance preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will set according to Merkle, whether the hash value of the each leaf node of verification consistent with the hash value that corresponding fundamental block calculates successively from left to right;
3), preliminary examination task PreCheckTask is according to the executing location mark of current safety mission critical, according to function calling relationship, checks that whether the hash value that its follow-up execution fundamental block is corresponding is consistent with the hash value of leaf node.
Improve as one, described hash value checking procedure is as follows:
1), if hash value comparative result is consistent, illustrate that single-point mistake does not appear in corresponding fundamental block and Merkle tree;
2), if hash value is inconsistent, illustrate that corresponding fundamental block and Merkle tree likely exist single-point mistake; Now, in order further to determine that whether single-point mistake appears in Merkle tree, by the hash value of the hash value consolidator father node of the hash value in Merkle tree and the right side brotgher of node, and compares with the hash value of father node; If comparative result is consistent, illustrate that single-point mistake occurs in corresponding fundamental block, answer mistake in using Restoration Mechanism that corresponding fundamental block is recovered; If comparative result is inconsistent, illustrate that Merkle table corresponding node exists single-point mistake, need to use fundamental block to recalculate corresponding hash value, and upgrade Merkle tree.
Owing to having adopted technique scheme, compared with prior art, the present invention utilizes the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided, provide support for realizing the wrong system of anti-irradiation in AEROSPACE APPLICATION system.
Merkle Hash tree can be compared and checking work, but travels through Merkle and set to search out the process need regular hour expense of corresponding leaf node.In order to reduce the time overhead of searching, this method has been introduced weighted value, focus and the critical path carried out according to program are calculated a weighted value, the left side that the focus fundamental block of repeatedly carrying out and the critical path fundamental block that must carry out are set near Merkle as far as possible, thus the speed of completeness check and the speed of traversal Merkle tree improved.
Use the basis of function fundamental block as Hash, carry out probability and whether be positioned on critical path thereby can calculate take fundamental block as unit it.This can improve the granularity of Hash verification on the one hand, can guarantee on the other hand the validity of each Hash check results.
Embodiment
Embodiment:
The anti-irradiation fault detection method in space of realizing based on weighting Merkle tree, step is as follows: utilize the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided.
In the present embodiment, the structure of described weighting Merkle Hash tree;
1), in program compilation process, for the code segment of system, be that unit divides according to fundamental block; Fundamental block is the elementary cell that procedure order is carried out, once the first statement of fundamental block is performed, the statement of fundamental block inside also must be performed once so; If a fundamental block is excessive, fundamental block is split as to some fundamental blocks of uniform size, thereby total system code segment is divided into the fundamental block of N approximate size; In compilation process, calculate the hash value of the corresponding binary code of each fundamental block of above-mentioned establishment, obtain N hash value.
2), in compilation process, the calling graph that uses profiler instrument to generate, obtains critical path and the focus of system.
3), fundamental block carried out to focus value according to it arrange from high to Low, give respectively weighting coefficient i and be N, N-1, N-2 ..., 3,2,1; For the critical path of code segment, according to it, whether in critical path, corresponding fundamental block is given weighting coefficient j, is respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path); Calculate the weighting coefficient WP=i × j of each fundamental block.
4), fundamental block is arranged according to weighting coefficient WP, thereby build corresponding Merkle tree, wherein the hash value of each fundamental block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is the hash budget result of child node value: Hash (H)=hash (Hl|Hr).
5), Merkle leaf node sequence number and fundamental block code address are kept to sparse matrix in a continuous array.
6), Merkle tree is kept in application configuration file.
In the present embodiment, the step that described single-particle inversion checks is as follows:
1), in system operational process, build consistance patrol task CircuitCheckTask, and consistance preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will set according to Merkle, whether the hash value of the each leaf node of verification consistent with the hash value that corresponding fundamental block calculates successively from left to right;
3), preliminary examination task PreCheckTask is according to the executing location mark of current safety mission critical, according to function calling relationship, checks that whether the hash value that its follow-up execution fundamental block is corresponding is consistent with the hash value of leaf node.
Described hash value checking procedure is as follows:
1), if hash value comparative result is consistent, illustrate that single-point mistake does not appear in corresponding fundamental block and Merkle tree;
2), if hash value is inconsistent, illustrate that corresponding fundamental block and Merkle tree likely exist single-point mistake; Now, in order further to determine that whether single-point mistake appears in Merkle tree, by the hash value of the hash value consolidator father node of the hash value in Merkle tree and the right side brotgher of node, and compares with the hash value of father node; If comparative result is consistent, illustrate that single-point mistake occurs in corresponding fundamental block, answer mistake in using Restoration Mechanism that corresponding fundamental block is recovered; If comparative result is inconsistent, illustrate that Merkle table corresponding node exists single-point mistake, need to use fundamental block to recalculate corresponding hash value, and upgrade Merkle tree.
Merkle Hash tree can be compared and checking work, but travels through Merkle and set to search out the process need regular hour expense of corresponding leaf node.In order to reduce the time overhead of searching, this method has been introduced weighted value, focus and the critical path carried out according to program are calculated a weighted value, the left side that the focus fundamental block of repeatedly carrying out and the critical path fundamental block that must carry out are set near Merkle as far as possible, thus the speed of completeness check and the speed of traversal Merkle tree improved.
Use the basis of function fundamental block as Hash, carry out probability and whether be positioned on critical path thereby can calculate take fundamental block as unit it.This can improve the granularity of Hash verification on the one hand, can guarantee on the other hand the validity of each Hash check results.

Claims (4)

1. the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree, is characterized in that: step is as follows: utilize the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided.
2. according to the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree described in claim 1, it is characterized in that: the structure of described weighting Merkle Hash tree;
1), in program compilation process, for the code segment of system, be that unit divides according to fundamental block; Fundamental block is the elementary cell that procedure order is carried out, once the first statement of fundamental block is performed, the statement of fundamental block inside also must be performed once so; If a fundamental block is excessive, fundamental block is split as to some fundamental blocks of uniform size, thereby total system code segment is divided into the fundamental block of N approximate size; In compilation process, calculate the hash value of the corresponding binary code of each fundamental block of above-mentioned establishment, obtain N hash value;
2), in compilation process, the calling graph that uses profiler instrument to generate, obtains critical path and the focus of system;
3), fundamental block carried out to focus value according to it arrange from high to Low, give respectively weighting coefficient i and be N, N-1, N-2 ..., 3,2,1; For the critical path of code segment, according to it, whether in critical path, corresponding fundamental block is given weighting coefficient j, is respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path); Calculate the weighting coefficient WP=i × j of each fundamental block;
4), fundamental block is arranged according to weighting coefficient WP, thereby build corresponding Merkle tree, wherein the hash value of each fundamental block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is the hash budget result of child node value: Hash (H)=hash (Hl|Hr);
5), Merkle leaf node sequence number and fundamental block code address are kept in a sparse matrix;
6), Merkle tree is kept in application configuration file.
3. according to the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree described in claim 2, it is characterized in that: the step that described single-particle inversion checks is as follows:
1), in system operational process, build consistance patrol task CircuitCheckTask, and consistance preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will set according to Merkle, whether the hash value of the each leaf node of verification consistent with the hash value that corresponding fundamental block calculates successively from left to right;
3), preliminary examination task PreCheckTask is according to the executing location mark of current safety mission critical, according to function calling relationship, checks that whether the hash value that its follow-up execution fundamental block is corresponding is consistent with the hash value of leaf node.
4. according to the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree described in claim 3, it is characterized in that: described hash value checking procedure is as follows:
1), if hash value comparative result is consistent, illustrate that single-point mistake does not appear in corresponding fundamental block and Merkle tree;
2), if hash value is inconsistent, illustrate that corresponding fundamental block and Merkle tree likely exist single-point mistake; Now, in order further to determine that whether single-point mistake appears in Merkle tree, by the hash value of the hash value consolidator father node of the hash value in Merkle tree and the right side brotgher of node, and compares with the hash value of father node; If comparative result is consistent, illustrate that single-point mistake occurs in corresponding fundamental block, answer mistake in using Restoration Mechanism that corresponding fundamental block is recovered; If comparative result is inconsistent, illustrate that Merkle table corresponding node exists single-point mistake, need to use fundamental block to recalculate corresponding hash value, and upgrade Merkle tree.
CN201410060564.4A 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree Active CN103853661B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410060564.4A CN103853661B (en) 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410060564.4A CN103853661B (en) 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree

Publications (2)

Publication Number Publication Date
CN103853661A true CN103853661A (en) 2014-06-11
CN103853661B CN103853661B (en) 2016-08-31

Family

ID=50861338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410060564.4A Active CN103853661B (en) 2014-02-21 2014-02-21 The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree

Country Status (1)

Country Link
CN (1) CN103853661B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767245A (en) * 2019-01-08 2019-05-17 中国联合网络通信集团有限公司 Consumption information checking method, equipment and storage medium
CN110837505A (en) * 2019-11-06 2020-02-25 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium
US20220244310A1 (en) * 2021-01-29 2022-08-04 Siemens Aktiengesellschaft Electrical operating device and method for recognizing malfunctions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005459A (en) * 2007-01-18 2007-07-25 西安电子科技大学 Radio sensor access control method based on key chain
CN101853190A (en) * 2010-06-04 2010-10-06 华中科技大学 Data integrity verification method suitable for embedded processor
US20110283085A1 (en) * 2010-05-17 2011-11-17 Oracle International Corporation System and method for end-to-end data integrity in a network file system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005459A (en) * 2007-01-18 2007-07-25 西安电子科技大学 Radio sensor access control method based on key chain
US20110283085A1 (en) * 2010-05-17 2011-11-17 Oracle International Corporation System and method for end-to-end data integrity in a network file system
CN101853190A (en) * 2010-06-04 2010-10-06 华中科技大学 Data integrity verification method suitable for embedded processor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈龙等: "一种细粒度数据完整性检验方法", 《计算机学报》 *
陈龙等: "有限域上高效的细粒度数据完整性检验方法", 《计算机学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109767245A (en) * 2019-01-08 2019-05-17 中国联合网络通信集团有限公司 Consumption information checking method, equipment and storage medium
CN110837505A (en) * 2019-11-06 2020-02-25 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium
CN110837505B (en) * 2019-11-06 2022-07-19 杭州复杂美科技有限公司 State data storage method, state data synchronization device and storage medium
US20220244310A1 (en) * 2021-01-29 2022-08-04 Siemens Aktiengesellschaft Electrical operating device and method for recognizing malfunctions

Also Published As

Publication number Publication date
CN103853661B (en) 2016-08-31

Similar Documents

Publication Publication Date Title
Hillier et al. Error Detection and Correction On‐Board Nanosatellites Using Hamming Codes
CN101281481B (en) Method for error correcting and detecting for memory anti-single particle overturn
EP2748707B1 (en) Digital error correction
CN102521062A (en) Software fault-tolerant method capable of comprehensively on-line self-detection single event upset
CA3053855C (en) Data-storage method and apparatus, and data-recovery method and apparatus
CN105279049A (en) Method for designing triple-modular redundancy type fault-tolerant computer IP core with fault spontaneous restoration function
CN109491821A (en) Primary particle inversion resistant hardened system and method
CN103853661A (en) Space radiation-resisting fault detection method based on weighting Merkle tree
KR101667400B1 (en) Apparatus and method for generating and detecting single event upset
Gottscho et al. Software-defined error-correcting codes
Thati et al. Comparative study on data error detection techniques in embedded systems
CN110489268B (en) Two-stage error correction coding method and system applied to storage system in satellite severe environment
CN102355348A (en) Fault-tolerant data encryption standard (DES) algorithm accelerator
Bouissou et al. Boolean approximation for calculating the reliability of a very large repairable system with dependencies among components
Sooraj et al. Fault tolerant FSM on FPGA using SEC-DED code algorithm
CN101826045B (en) On-line restoration method of permanent fault circuit of reconfigurable satellite-borne computer
Tong et al. Effectiveness and failure modes of error correcting code in industrial 65 nm CMOS SRAMs exposed to heavy ions
An et al. Evaluation of fault-tolerant composite field AES S-boxes under multiple transient faults
Fouad et al. Context-aware resources placement for SRAM-based FPGA to minimize checkpoint/recovery overhead
Sadi et al. Soft error tolerance in memory applications
Fouad et al. Reliability assessment of backward error recovery for SRAM-based FPGAs
Wang et al. Mars Attacks! Software Protection Against Space Radiation
CN112036117B (en) CRC (cyclic redundancy check) control system suitable for parallel input data with multiple bit widths
Vaisakhi et al. Novel Double Modular Redundancy Based Fault-Tolerant FIR Filter for Image Denoising.
Ilayaranimangammal et al. Exposure and expulsion the soft errors in digital systems using redundancy techniques

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100094 No. 28, Yongfeng Road, Beijing, Haidian District

Patentee after: Beijing Shenzhou Aerospace Software Technology Co.,Ltd.

Address before: 100094 No. 28, Yongfeng Road, Beijing, Haidian District

Patentee before: BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder