CN106911466A - 一种软硬件结合的加密方法 - Google Patents
一种软硬件结合的加密方法 Download PDFInfo
- Publication number
- CN106911466A CN106911466A CN201510975832.XA CN201510975832A CN106911466A CN 106911466 A CN106911466 A CN 106911466A CN 201510975832 A CN201510975832 A CN 201510975832A CN 106911466 A CN106911466 A CN 106911466A
- Authority
- CN
- China
- Prior art keywords
- array
- rom
- key
- program
- ciphertext
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种软硬件结合的加密方法。在微控器中增加有ROM地址码的E2PROM;ROM地址码作为一个因子,与二个密文数组CI1[n]、CI2[n]、一个随机数组Q0[n]和函数F1、F2构成加密算法;据ROM[n]和CI1[n]由F1得数组Sc[n],与CI2[n]、Q0[n]一起代入F2得验证数组Q1[n]、Q2[n],Q1[n]、Q2[n]和Q0[n]写入E2PROM,形成密钥;从密钥读Q0[n]、Q1[n]、Q2[n]和ROM[n],与前述的CI1[n]、CI2[n]、F1、F2算出Q1′[n]、Q2′[n];与Q1[n]、Q2[n]比较,若相等,则通过,否则不通过,从而对设备保护。
Description
技术领域
本发明涉及产品加密技术领域,具体涉及以微控器为核心的程控电器设备中的加密技术领域。
背景技术
出于技术保护的目的,防止电子设备或部件被仿制,常常在电路中设计有带有密码区的存储器,将重要数据保存在其中。通过密码核验来读取关键数据或运行程序。也有将微控器中的程序存储器加密,阻止其中的代码被非法复制等方法,这些方法以密码为加密核心,在一定程度上保护了设备关键的技术。成为电子设备被仿制一道防线。但是以密码为核心的加密方式有如下缺点:
(一)由于密码长度有限,仿制者可以通过密码破解、在传输过程中截取等手段获得密码,或突破加密获得程序存储器中的程序代码。从而获得关键的数据和程序代码,加之对硬件的抄袭模仿,就可以对设备仿制。
(二)由于同一类的每台设备的系统程序是相同的,因此储存关键数据的存储器的密码都是相同的。获得了一台的密码也就意味着获得了每一台的密码,可实现对设备批量仿制。
发明内容
(一)要解决的技术问题
本发明的目的是提供一种软硬件结合的加密方法,从而使电子设备中的密码在被破解或程序机器码被非法复制的情况下,也无法对设备进行抄袭仿制。
(二)技术方案
为了达到上述目的,本发明采取以下方案:
本发明的一种软硬件结合的加密方法,有以下步骤:
1)在微控器控制电路中增加一个带有唯一的、不可更改的n个字节ROM地址码的E2PROM器件U1;
2)一个将ROM地址码ROM[n]作为一个变量数组的加密算法,此算法中还包含二个n字节的密文数组CI1[n]、CI2[n]、一个随机数数组Q0[n]和二个自定义函数F1、F2,经过算法处理后,得到二个验证数组:Q1[n]、Q2[n],公式为:Sc[n]=F1(CI1[n],ROM[n])、(Q1[n],Q2[n])=F2(CI2[n],Sc[n],Q0[n]),构成算法的函数F1、F2和密文数组CI1[n]、CI2[n]具体到每种设备系统控制程序或不同版本的控制程序是能够不相同的;
3)根据E2PROM器件U1中的ROM地址码数组ROM[n]和密文数组CI1[n]由F1函数得到中间结果数组Sc[n],再与CI2[n]、Q0[n]一起代入F2函数得到二个验证数组Q1[n]、Q2[n],Q1[n]、Q2[n]和所用到的随机数组Q0[n]写入E2PROM器件U1的E2PROM存储区保存,这样一个固有ROM地址码且存储有相匹配的验证数组的器件就形成了含有加密数据、算法的密钥;由于密文数组CI1[n]、CI2[n]只是作为函数F1、F2的参数因子,并和函数F1、F2一样,不以具体的形式保存在E2PROM器件U1中,因此函数和密文数组是不可复制的,无法根据另一个器件的ROM[n]来算出与之对应的Q1[n]、Q2[n];
4)在微控器的程序中,首先从E2PROM器件U1为载体的密钥读出其中的Q0[n]、Q1[n]、Q2[n]和该密钥独有的ROM地址码数组ROM[n],再在微控器的程序中用与上述步骤2)中相同的密文数组CI1[n]、CI2[n],以及相同的函数F1、F2计算出Q1′[n]、Q2′[n];
5)微控器在计算出Q1′[n]、Q2′[n]后,与从密钥读入的Q1[n]、Q2[n]分别相比较,若完全相等,则验证通过,程序继续执行,否则验证不通过,程序中断执行。
(三)有益效果
本发明用一种软硬件结合的加密方法,构造了一个具有硬件载体的密钥,密钥中的验证数组是依据其硬件载体中固定不变的且是唯一的ROM地址码,再与二个密文数组、一个随机数组一起,二个自定义函数F1、F2构成的算法的计算得到的。因此各密钥的验证数组是不同的,即使密钥中验证数组被复制到其它同型号的硬件器件中,由于这个验证数组不是用此器件的ROM地址码数组为参量计算出来的,所以再用这个ROM[n]来进行验证是错误的。另外算法不是存储在密钥中具体的数据,不可能从器件中获得,在算法未知的情况下,不可能复制密钥。因此用所述的加密方法从而使电子设备中的密码、验证数组在被破解或程序机器码被非法复制的情况下,也无法对设备进行抄袭仿制。
附图说明
图1是本发明方法中软硬件结合的方法构成的密钥与微控器的连接示意图;
图2是本发明方法中密钥中验证数组的产生及存储过程流程图;
图3是本发明方法中微控器主程序流程图;
U1:E2PROM器件。
具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明的方法是用具有唯一固定ROM地址码的存储器件DS2431和存储在器件中依据一个算法计算而得的验证数组构成密钥。电路连接示意图参见图1。制作密钥的流程见图2所示。这个算法是以这个器件的ROM地址码数组ROM[8]、随机数组Q0[8]、密文数组CI1[8]、CI2[8]作为参数,自定义函数F1(CI1[8],ROM[8])、F2(CI2[8],Sc[8],Q0[8])所构成的。Sc[8]是函数F1的结果,即Sc[8]=F1(CI1[8],ROM[8])。由函数F2就可以得到验证数组Q1[8]和Q2[8]。密钥是不可复制的,这是因为尽管验证数组有可能被复制到另一个同型号的器件DS2431中,但器件ROM地址码数组是固定不可变更的,不可能复制到另一个器件中。
将密钥与微控器的I/O口相连接,并且微控器在进入主程序后通过I/O口读取该密钥中的地址码数组ROM[8]、随机数组Q0[8]、验证数组Q1[8]、Q2[8]。用与上述算法相同函数F1、F2以及密文数组CI1[8]、CI2[8]在微控器中也计算出验证数组Q1′[8]、Q2′[8]。最后进入验证环节:将微控器计算出的验证数组Q1′[8]、Q2′[8]与从密钥中读入的验证数组Q1[8]、Q2[8]作对应比较,完全相同则验证通过,程序继续执行;否则验证不通过,程序不能正常运行。微控器系统程序流程图见图3。如果没有符合算法的密钥,即使复制了全部的数据,也不具备仿制整机设备的条件,从而达到了技术保护的目的。
利用器件固定的ROM地址码作为算法函数中的变量因子是本方法关键:因为器件的ROM地址码数组ROM[8]是固定且不可变更的。也就决定了用本方法制作的密钥是不可复制的。仅仅将存储在其内部的验证数组复制到其它器件中是无效的,不能通过验证。
另外所用的密文和算法函数不以具体的形式存在于密钥中,即使密钥中所有的数据被盗读或复制。由于没有密文和算法,就求不出相应符合算法的验证数组Q1[8]、Q2[8],所以在密码被破解,内部数据以及程序机器码都被盗读的情况下,仍不能制作出密钥,保护设备不被仿制。
在算法中还引入了随机数组Q0[8],同一个器件用同一算法和密文每次得到的验证数组Q1[8]、Q2[8]是不同的,使验证数组针对ROM[8]又具有多变性,无规律可循,进一步增加破解难度。
微控器中,算法程序是被包含在整个系统程序之中并以机器码的形式存在的,且算法中的函数F1、F2的简繁可由所需的密级设计,既可以选用自定义基本的变换算法,亦可选用成熟的专业加密算法,因此从系统程序的机器码中,对于算法的破解工作量是巨大的。
E2PROM器件(Electrically Erasable Programmable Read-OnlyMemory),电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。E2PROM器件可以在电脑上或专用设备上擦除已有信息,重新编程。
综上所述,本发明的方法能够用软硬件结合的技术方法阻碍了仿制的行为,达到了技术保护的目的。
Claims (1)
1.一种软硬件结合的加密方法,其特征在于有以下步骤:
1)在微控器控制电路中增加一个带有唯一的、不可更改的n个字节ROM地址码的E2PROM器件(U1);
2)一个将ROM地址码ROM[n]作为一个变量数组的加密算法,此算法中还包含二个n字节的密文数组CI1[n]、CI2[n]、一个随机数数组Q0[n]和二个自定义函数F1、F2,经过算法处理后,得到二个验证数组:Q1[n]、Q2[n],公式为:Sc[n]=F1(CI1[n],ROM[n])、(Q1[n],Q2[n])=F2(CI2[n],Sc[n],Q0[n]),构成算法的函数F1、F2和密文数组CI1[n]、CI2[n]具体到每种设备系统控制程序或不同版本的控制程序是能够不相同的;
3)根据E2PROM器件(U1)中的ROM地址码数组ROM[n]和密文数组CI1[n]由F1函数得到中间结果数组Sc[n],再与CI2[n]、Q0[n]一起代入F2函数得到二个验证数组Q1[n]、Q2[n],Q1[n]、Q2[n]和所用到的随机数组Q0[n]写入E2PROM器件(U1)的E2PROM存储区保存,这样一个固有ROM地址码且存储有相匹配的验证数组的器件就形成了含有加密数据、算法的密钥;由于密文数组CI1[n]、CI2[n]只是作为函数F1、F2的参数因子,并和函数F1、F2一样,不以具体的形式保存在E2PROM器件(U1)中,因此函数和密文数组是不可复制的,无法根据另一个器件的ROM[n]来算出与之对应的Q1[n]、Q2[n];
4)在微控器的程序中,首先从E2PROM器件(U1)为载体的密钥读出其中的Q0[n]、Q1[n]、Q2[n]和该密钥独有的ROM地址码数组ROM[n],再在微控器的程序中用与上述步骤2)中相同的密文数组CI1[n]、CI2[n],以及相同的函数F1、F2计算出Q1′[n]、Q2′[n];
5)微控器在计算出Q1′[n]、Q2′[n]后,与从密钥读入的Q1[n]、Q2[n]分别相比较,若完全相等,则验证通过,程序继续执行,否则验证不通过,程序中断执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510975832.XA CN106911466A (zh) | 2015-12-22 | 2015-12-22 | 一种软硬件结合的加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510975832.XA CN106911466A (zh) | 2015-12-22 | 2015-12-22 | 一种软硬件结合的加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106911466A true CN106911466A (zh) | 2017-06-30 |
Family
ID=59200185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510975832.XA Pending CN106911466A (zh) | 2015-12-22 | 2015-12-22 | 一种软硬件结合的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106911466A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167594A (zh) * | 2017-10-30 | 2019-01-08 | 武汉奇致激光技术股份有限公司 | 一种微控器与一线总线器件的光电耦合结构和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339598A (zh) * | 2008-08-15 | 2009-01-07 | 马福禄 | 一种身份芯片的便携式读写器 |
CN101617351A (zh) * | 2007-01-19 | 2009-12-30 | 三菱电机株式会社 | 密文生成装置、密码通信系统以及群参数生成装置 |
CN103093128A (zh) * | 2013-01-06 | 2013-05-08 | 福建三元达通讯股份有限公司 | 一种嵌入式终端软件防复制抄袭的方法 |
CN103678994A (zh) * | 2013-12-05 | 2014-03-26 | 中国科学院数据与通信保护研究教育中心 | 一种具有环境控制的usb加密存储系统及方法 |
US20140119541A1 (en) * | 2012-06-15 | 2014-05-01 | Kabushiki Kaisha Toshiba | Information recording device |
CN104268447A (zh) * | 2014-09-25 | 2015-01-07 | 深圳市亚特尔科技有限公司 | 一种嵌入式软件的加密方法 |
-
2015
- 2015-12-22 CN CN201510975832.XA patent/CN106911466A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101617351A (zh) * | 2007-01-19 | 2009-12-30 | 三菱电机株式会社 | 密文生成装置、密码通信系统以及群参数生成装置 |
CN101339598A (zh) * | 2008-08-15 | 2009-01-07 | 马福禄 | 一种身份芯片的便携式读写器 |
US20140119541A1 (en) * | 2012-06-15 | 2014-05-01 | Kabushiki Kaisha Toshiba | Information recording device |
CN103093128A (zh) * | 2013-01-06 | 2013-05-08 | 福建三元达通讯股份有限公司 | 一种嵌入式终端软件防复制抄袭的方法 |
CN103678994A (zh) * | 2013-12-05 | 2014-03-26 | 中国科学院数据与通信保护研究教育中心 | 一种具有环境控制的usb加密存储系统及方法 |
CN104268447A (zh) * | 2014-09-25 | 2015-01-07 | 深圳市亚特尔科技有限公司 | 一种嵌入式软件的加密方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167594A (zh) * | 2017-10-30 | 2019-01-08 | 武汉奇致激光技术股份有限公司 | 一种微控器与一线总线器件的光电耦合结构和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5502198B2 (ja) | デバイスのシリアライゼーションを実行するためのシステムおよび方法 | |
JP5342649B2 (ja) | ハードウェアベースセキュリティのためのシステムおよび方法 | |
JP5572705B2 (ja) | 電子資産を管理するためのシステムおよび方法 | |
CN107085675A (zh) | 受控安全代码验证 | |
CN109902452A (zh) | Fpga授权验证方法、装置及处理设备 | |
CN107678763A (zh) | 基于数字签名技术的电能表升级方法和系统 | |
CN103427996B (zh) | 一种动态口令牌身份的验证方法及系统 | |
CN101854243A (zh) | 一种电路系统设计加密电路及其加密方法 | |
CN109088902B (zh) | 注册方法及装置、认证方法及装置 | |
CN103839013A (zh) | 基于三延时链的物理不可克隆函数电路结构 | |
JP6184751B2 (ja) | データ保護システムおよび方法 | |
EP3865997B1 (en) | System and method for generating and authenticating a physically unclonable function | |
CN104777761B (zh) | 实现mcu安全性的方法及电路 | |
CN105608775B (zh) | 一种鉴权的方法、终端、门禁卡及sam卡 | |
CN109886662A (zh) | 区块链钱包应用方法及系统、终端和计算机可读存储介质 | |
CN106919858A (zh) | 芯片、所述芯片的数据保护装置及方法 | |
CN108229202A (zh) | 一种智能卡自动全检方法及装置、计算机装置、存储介质 | |
CN107612915A (zh) | 基于验证码变换的双保密形式的防密码破解的方法和装置 | |
CN109302286A (zh) | 一种Fido设备密钥索引的生成方法 | |
CN106911466A (zh) | 一种软硬件结合的加密方法 | |
CN107329746B (zh) | 一种芯片配置信息处理方法及装置 | |
CN106056726B (zh) | 一种可双向认证的cpu卡门禁读卡器的安全认证方法 | |
CN106156548B (zh) | 用于程序加密的认证方法和装置 | |
CN107968764A (zh) | 一种认证方法及装置 | |
CN105095780B (zh) | 一种芯片内测试端口的访问方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170630 |