CN103150227A - 基于冗余编码的变量签名唯一性安全处理方法 - Google Patents
基于冗余编码的变量签名唯一性安全处理方法 Download PDFInfo
- Publication number
- CN103150227A CN103150227A CN2013100439781A CN201310043978A CN103150227A CN 103150227 A CN103150227 A CN 103150227A CN 2013100439781 A CN2013100439781 A CN 2013100439781A CN 201310043978 A CN201310043978 A CN 201310043978A CN 103150227 A CN103150227 A CN 103150227A
- Authority
- CN
- China
- Prior art keywords
- signature
- computing
- calculation mode
- variable
- mode compute
- 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
Links
Images
Abstract
本发明涉及一种基于冗余编码的变量签名唯一性安全处理方法,包括以下步骤:1)按照签名生成算法产生签名;2)输入待编码的文件,判断待编码的语句的类型,为每个变量分配或计算签名;3)对步骤2)得到的签名做签名唯一性检查,如果该签名与已经分配的签名相同,则转向步骤4),否则转向步骤5);4)从签名表中重新取一个签名分配给该变量,再转向步骤3);5)存储经过签名唯一性检查的签名,并判断编码是否结束,如果没有到达待编码文件的结尾,则转向步骤2),否则转向步骤6);6)结束。与现有技术相比,本发明具有大大降低了系统的错误不可检出率等优点。
Description
技术领域
本发明涉及一种安全编码技术,尤其是涉及一种基于冗余编码的变量签名唯一性安全处理方法。
背景技术
在现有的安全冗余编码系统中,对源码中所有的变量都会生成高位和低位,其中高位存储源码的变量值,低位存储变量的校验信息,通过高位和低位信息可以计算出变量的签名。所以,在系统每个周期运行结束之后,可以通过检查变量的签名是否正确来判断系统在运行过程中是否出现寻址错误、硬件失效等故障(非系统本身的逻辑错误)。如果变量的签名不唯一,就会导致系统的故障可能检测不出来,同时也不方便对系统的安全进行定量的分析。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种大大降低了系统的错误不可检出率的基于冗余编码的变量签名唯一性安全处理方法。
本发明的目的可以通过以下技术方案来实现:
一种基于冗余编码的变量签名唯一性安全处理方法,其特征在于,包括以下步骤:
1)按照签名生成算法产生签名;
2)输入待编码的文件,判断待编码的语句的类型,为每个变量分配或计算签名;
3)对步骤2)得到的签名做签名唯一性检查,如果该签名与已经分配的签名相同,则转向步骤4),否则转向步骤5);
4)从签名表中重新取一个签名分配给该变量,再转向步骤3);
5)存储经过签名唯一性检查的签名,并判断编码是否结束,如果没有到达待编码文件的结尾,则转向步骤2),否则转向步骤6);
6)结束。
所述的步骤2)具体为:
21)若语句为变量定义或声明,则从步骤1)生成的签名表中分配一个签名给该变量;
22)若语句为基本运算,则判断该基本运算属于哪种运算,并按照相应算法的签名方式计算签名;
23)若语句为数组运算,判断其是数组赋值运算还是数组取值运算,如果是数组赋值运算,则按数组赋值运算的签名计算方式计算签名;如果是数组取值运算,则按数组取值运算的签名计算方式计算签名。
2.4)若语句为分支、循环结构,判断是分支结构还是循环结构,如果是分支结构,则按分支结构的签名计算方式计算签名;如果为循环结构,则按循环结构的签名计算方式计算签名;
2.5)若语句为函数调用,判断其是模块函数调用还是计算函数调用,如果为模块函数调用,则按模块函数调用的签名计算方式计算签名;如果为计算函数调用,则按计算函数调用的签名计算方式计算签名。
所述的步骤22)判断该基本运算属于哪种运算,并按照相应算法的签名方式计算签名具体为:
如果是加法运算,则按加法运算的签名计算方式计算签名;
如果是减法运算,则按减法运算的签名计算方式计算签名;
如果是乘法运算,则按乘法运算的签名计算方式计算签名;
如果是除法运算,则按除法运算的签名计算方式计算签名;
如果是逻辑与运算,则按逻辑与运算的签名计算方式计算签名;
如果是逻辑或运算,则按逻辑或运算的签名计算方式计算签名;
如果是逻辑非运算,则按逻辑非运算的签名计算方式计算签名;
如果是左移运算,则按左移运算的签名计算方式计算签名;
如果是右移运算,则按右移运算的签名计算方式计算签名。
与现有技术相比,本发明具有以下优点:
1)该发明保证了所有变量的签名都是唯一的,利用对系统的安全进行定量的分析;
2)该发明保证了所有变量的签名都是唯一的,使所有的变量都被唯一标识,对于系统的所有单点故障都能检测出来;对于系统的多点故障,系统的错误不可检出率也明显降低,所以该发明大大降低了系统的错误不可检出率。
附图说明
图1为本发明的功能模块图;
图2为本发明的流程图;
图3为本发明签名产生模块的流程图;
图4为语句为基本运算的签名计算流程图;
图5为语句为数组运算的签名计算流程图;
图6为语句为分支、循环结构的签名计算流程图;
图7为语句为函数调用的签名计算流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
图1所示为本发明的功能模块结构示意图,本发明包括经签名产生模块后依次进入签名分配模块或签名计算模块、签名检查模块,最后在签名存储模块存储签名。
图2所示为本发明的工作流程图,下面结合图2-图7对各步骤进行详细描述:
步骤1:按照签名生成算法产生签名,图3是签名产生模块的具体步骤,如果产生的签名个数足够,就转向步骤2,否则继续执行步骤1。例如可以设定产生10000个签名。
步骤2:输入待编码的文件,判断待编码的语句的类型,为每个变量分配或计算签名。
2.1)该语句为变量定义或声明,则从步骤1生成的签名表中分配一个签名给该变量;
2.2)该语句属于基本运算,则判断该基本运算属于哪种运算,图4是描述了该过程的具体步骤。如果是加法运算,则按加法运算的签名计算方式计算签名;如果是减法运算,则按减法运算的签名计算方式计算签名;如果是乘法运算,则按乘法运算的签名计算方式计算签名;如果是除法运算,则按除法运算的签名计算方式计算签名;如果是逻辑与运算,则按逻辑与运算的签名计算方式计算签名;如果是逻辑或运算,则按逻辑或运算的签名计算方式计算签名;如果是逻辑非运算,则按逻辑非运算的签名计算方式计算签名;如果是左移运算,则按左移运算的签名计算方式计算签名;如果是右移运算,则按右移运算的签名计算方式计算签名。
2.3)该语句为数组运算,图5描述了该过程的具体步骤。如果是数组赋值运算,则按数组赋值运算的签名计算方式计算签名;如果是数组取值运算,则按数组取值运算的签名计算方式计算签名。
2.4)该语句为分支、循环结构,图6描述了该过程的具体步骤。如果是分支结构,则按分支结构的签名计算方式计算签名;如果为循环结构,则按循环结构的签名计算方式计算签名。
2.5)该语句为函数调用,图7描述了该过程的具体步骤。如果为模块函数调用,则按模块函数调用的签名计算方式计算签名;如果为计算函数调用,则按计算函数调用的签名计算方式计算签名。
为变量分配或计算好签名之后,则转向步骤3.
步骤3:对步骤2得到的签名做签名唯一性检查,如果该签名与已经分配的签名相同,则转向步骤4,否则转向步骤5。
步骤4:从签名表中重新取一个签名分配给该变量,再转向步骤3。
步骤5:存储经过签名唯一性检查的签名,并判断编码是否结束,如果没有到达待编码文件的结尾,则转向步骤2,否则转向步骤6。
步骤6:结束。
Claims (3)
1.一种基于冗余编码的变量签名唯一性安全处理方法,其特征在于,包括以下步骤:
1)按照签名生成算法产生签名;
2)输入待编码的文件,判断待编码的语句的类型,为每个变量分配或计算签名;
3)对步骤2)得到的签名做签名唯一性检查,如果该签名与已经分配的签名相同,则转向步骤4),否则转向步骤5);
4)从签名表中重新取一个签名分配给该变量,再转向步骤3);
5)存储经过签名唯一性检查的签名,并判断编码是否结束,如果没有到达待编码文件的结尾,则转向步骤2),否则转向步骤6);
6)结束。
2.根据权利要求1所述的一种基于冗余编码的变量签名唯一性安全处理方法,其特征在于,所述的步骤2)具体为:
21)若语句为变量定义或声明,则从步骤1)生成的签名表中分配一个签名给该变量;
22)若语句为基本运算,则判断该基本运算属于哪种运算,并按照相应算法的签名方式计算签名;
23)若语句为数组运算,判断其是数组赋值运算还是数组取值运算,如果是数组赋值运算,则按数组赋值运算的签名计算方式计算签名;如果是数组取值运算,则按数组取值运算的签名计算方式计算签名。
2.4)若语句为分支、循环结构,判断是分支结构还是循环结构,如果是分支结构,则按分支结构的签名计算方式计算签名;如果为循环结构,则按循环结构的签名计算方式计算签名;
2.5)若语句为函数调用,判断其是模块函数调用还是计算函数调用,如果为模块函数调用,则按模块函数调用的签名计算方式计算签名;如果为计算函数调用,则按计算函数调用的签名计算方式计算签名。
3.根据权利要求2所述的一种基于冗余编码的变量签名唯一性安全处理方法,其特征在于,所述的步骤22)判断该基本运算属于哪种运算,并按照相应算法的签名方式计算签名具体为:
如果是加法运算,则按加法运算的签名计算方式计算签名;
如果是减法运算,则按减法运算的签名计算方式计算签名;
如果是乘法运算,则按乘法运算的签名计算方式计算签名;
如果是除法运算,则按除法运算的签名计算方式计算签名;
如果是逻辑与运算,则按逻辑与运算的签名计算方式计算签名;
如果是逻辑或运算,则按逻辑或运算的签名计算方式计算签名;
如果是逻辑非运算,则按逻辑非运算的签名计算方式计算签名;
如果是左移运算,则按左移运算的签名计算方式计算签名;
如果是右移运算,则按右移运算的签名计算方式计算签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310043978.1A CN103150227B (zh) | 2013-02-04 | 2013-02-04 | 基于冗余编码的变量签名唯一性安全处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310043978.1A CN103150227B (zh) | 2013-02-04 | 2013-02-04 | 基于冗余编码的变量签名唯一性安全处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150227A true CN103150227A (zh) | 2013-06-12 |
CN103150227B CN103150227B (zh) | 2015-10-14 |
Family
ID=48548325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310043978.1A Active CN103150227B (zh) | 2013-02-04 | 2013-02-04 | 基于冗余编码的变量签名唯一性安全处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150227B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932886A (zh) * | 2015-06-12 | 2015-09-23 | 卡斯柯信号有限公司 | 一种基于平行签名唯一性的多维度的冗余编码方法 |
CN107590020A (zh) * | 2017-07-14 | 2018-01-16 | 同济大学 | 一种基于差异化编码和语句签名的可信计算方法 |
CN108599896A (zh) * | 2018-03-23 | 2018-09-28 | 卡斯柯信号有限公司 | 一种基于冗余编码系统的crc校验系统及方法 |
CN110851291A (zh) * | 2018-08-21 | 2020-02-28 | 西门子股份公司 | 借助编码运算处理数据的方法和装置 |
CN111010258A (zh) * | 2019-12-23 | 2020-04-14 | 卡斯柯信号有限公司 | 一种基于编码的计算机联锁系统通信方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010430A1 (en) * | 2001-05-04 | 2006-01-12 | Thales | Device and process for the signature, the marking and the authentication of computer programs |
CN101764619A (zh) * | 2009-12-15 | 2010-06-30 | 卡斯柯信号有限公司 | 一种用于车载atp系统的安全冗余编码处理方法 |
CN102045335A (zh) * | 2009-10-09 | 2011-05-04 | 索尼公司 | 终端设备、签名生成服务器、简单标识管理系统、方法及程序 |
-
2013
- 2013-02-04 CN CN201310043978.1A patent/CN103150227B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010430A1 (en) * | 2001-05-04 | 2006-01-12 | Thales | Device and process for the signature, the marking and the authentication of computer programs |
CN102045335A (zh) * | 2009-10-09 | 2011-05-04 | 索尼公司 | 终端设备、签名生成服务器、简单标识管理系统、方法及程序 |
CN101764619A (zh) * | 2009-12-15 | 2010-06-30 | 卡斯柯信号有限公司 | 一种用于车载atp系统的安全冗余编码处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104932886A (zh) * | 2015-06-12 | 2015-09-23 | 卡斯柯信号有限公司 | 一种基于平行签名唯一性的多维度的冗余编码方法 |
CN104932886B (zh) * | 2015-06-12 | 2018-01-19 | 卡斯柯信号有限公司 | 一种基于平行签名唯一性的多维度的冗余编码方法 |
CN107590020A (zh) * | 2017-07-14 | 2018-01-16 | 同济大学 | 一种基于差异化编码和语句签名的可信计算方法 |
CN107590020B (zh) * | 2017-07-14 | 2020-11-27 | 同济大学 | 一种基于差异化编码和语句签名的可信计算方法 |
CN108599896A (zh) * | 2018-03-23 | 2018-09-28 | 卡斯柯信号有限公司 | 一种基于冗余编码系统的crc校验系统及方法 |
CN110851291A (zh) * | 2018-08-21 | 2020-02-28 | 西门子股份公司 | 借助编码运算处理数据的方法和装置 |
CN110851291B (zh) * | 2018-08-21 | 2023-09-15 | 西门子股份公司 | 借助编码运算处理数据的方法和装置 |
CN111010258A (zh) * | 2019-12-23 | 2020-04-14 | 卡斯柯信号有限公司 | 一种基于编码的计算机联锁系统通信方法 |
CN111010258B (zh) * | 2019-12-23 | 2022-01-28 | 卡斯柯信号有限公司 | 一种基于编码的计算机联锁系统通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103150227B (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150227A (zh) | 基于冗余编码的变量签名唯一性安全处理方法 | |
CN103778028A (zh) | 半导体器件 | |
CN101376393A (zh) | 铁路信号系统中故障容错的安全处理器 | |
KR20110057539A (ko) | 시스템 신뢰도 평가 장치 및 방법 | |
US10063370B2 (en) | Method and device for checking an identifier | |
CN104461765A (zh) | 基于版本校验的联锁系统数据准确性检测方法 | |
CN103293948B (zh) | 用于在计算机程序中存储和传播错误信息的方法 | |
CN103269256B (zh) | 安全编码通信系统中消息时效性安全判断方法 | |
CN107590020B (zh) | 一种基于差异化编码和语句签名的可信计算方法 | |
CN113360935A (zh) | 一种基于区块链技术的对账方法及系统 | |
CN111010258B (zh) | 一种基于编码的计算机联锁系统通信方法 | |
CN104932886B (zh) | 一种基于平行签名唯一性的多维度的冗余编码方法 | |
CN101764619B (zh) | 一种用于车载atp系统的安全冗余编码处理方法 | |
CN103144657B (zh) | 带校验板的通用轨旁安全平台主处理子系统 | |
US7728645B2 (en) | Pulse generator | |
CN111651118B (zh) | 存储器系统、控制方法和控制装置 | |
EP3367242B1 (en) | Method of error detection in a microcontroller unit | |
CN112183755A (zh) | 一种应用于复杂系统的马尔可夫模型构建简化方法及系统 | |
CN108400787B (zh) | 一种基于bch编码的并行fir滤波器容错方法 | |
CN103853661A (zh) | 基于加权Merkle树实现的空间抗辐照故障检测方法 | |
CN101303599B (zh) | 工业控制器 | |
Matsumoto et al. | Stateful TMR for transient faults | |
CN113778373B (zh) | 一种安全浮点运算方法和系统 | |
Mirhakimi et al. | A preliminary study for improving reliability in hybrid vehicles | |
CN111857827B (zh) | 去中心化环境下流水线计算的验证方法和系统及介质 |
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 |