CN1332522C - 具有安全保护功能的密码芯片的制备方法 - Google Patents

具有安全保护功能的密码芯片的制备方法 Download PDF

Info

Publication number
CN1332522C
CN1332522C CNB2003101041176A CN200310104117A CN1332522C CN 1332522 C CN1332522 C CN 1332522C CN B2003101041176 A CNB2003101041176 A CN B2003101041176A CN 200310104117 A CN200310104117 A CN 200310104117A CN 1332522 C CN1332522 C CN 1332522C
Authority
CN
China
Prior art keywords
chip
protection
crypto
crypto chip
error handling
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
CNB2003101041176A
Other languages
English (en)
Other versions
CN1635607A (zh
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CNB2003101041176A priority Critical patent/CN1332522C/zh
Publication of CN1635607A publication Critical patent/CN1635607A/zh
Application granted granted Critical
Publication of CN1332522C publication Critical patent/CN1332522C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明的目的是提供一种具有安全保护功能的密码芯片制备方法,它是采用硬件FPGA,将密码算法芯片通过两个部分来实现:一是密码算法运算部分,加电后从外部注入芯片,在芯片内完成运算过程;二是芯片的安全保护部分,是一种硬件形态,存于芯片内部的E2PROM中,由芯片可以运行的保护协议、签名算法组成。采用本发明的具有安全保护功能的密码芯片,除了具有原有密码芯片的运算功能外,还增加了自身安全保护的功能和算法安全修改的功能,从而既保证了芯片的实现和应用过程中的安全性,又改进了原来的密码芯片算法不能灵活修改的缺点。

Description

具有安全保护功能的密码芯片的制备方法
技术领域:
本发明属于电子技术领域,它特别涉及密码芯片技术。
背景技术
目前国内加解密算法的硬件实现主要采用通用器件来构建。由于各种密码算法涉及大量的特殊计算,如幂运算、位移、换位等,通用器件不直接支持,所以为了提高处理速度,增强算法的安全性,增加密钥长度,现在这些实现方案正在逐步转变为采用处理器和协处理器来实现。
现有的密码芯片的设计和实现方法是,将密码算法直接用芯片(主要是FPGA和ASIC)来实现,其结构如图1所示。这种方法的缺点是,首先,现有的密码芯片基本上没有对芯片本身采取任何安全保护措施,而由于芯片本身如FPGA和ASIC流片都是来自国外,必须考虑芯片本身的安全性问题。其次,设计和实现一旦完成,密码芯片中的算法就不可更改。随着技术的发展和处理速度的提高,对算法的安全性要求和密钥长度的要求也在不断提高,而芯片的设计和实现又是一件极为耗时耗资的事情。
发明的内容
本发明的目的是提供一种具有安全保护功能的密码芯片制备方法,采用本发明的制备方法制备的具有安全保护功能的密码芯片,除了具有原有密码芯片的运算功能外,还增加了自身安全保护的功能和算法安全修改的功能,从而既保证了芯片的实现和应用过程中的安全性,又改进了原来的密码芯片算法不能灵活修改的缺点。
为了方便描述本发明的内容,首先将要用到的术语定义如下。
定义1  保护协议:是用于保护芯片安全性的过程控制,本发明在初始化时将其存于芯片的E2ROM中。分为静态保护和动态保护两部分,分别参见后面的说明。
定义2  动态保护:要求用户与密码芯片之间按照动态保护协议(参见下面的说明)进行通信。如果该过程不能正常完成,则进入出错处理。从动态检验保护进入的出错处理,一律设定为中级以上出错处理。
动态保护协议:当用户程序要求密码芯片完成的操作属于动态检验保护范围时,应同时将用户的有关数据(例如用户数据的Hash值,加密或不加密后)附在操作指令之后,送给密码芯片。密码芯片解密或直接与初始化时存在内部的原始数据比较,识别用户是否为合法的授权用户,若相同,则通过动态保护协议,否则不能通过,进入出错处理。
定义3  签名:是采用签名算法对数据进行运算的结果,用于认证数字身份的真实性。签名算法是一种单向算法,用于计算和验证数字信息的真实性。在初始化时,签名和签名算法存于密码芯片的E2ROM中。本发明中用于保护重要的初始化参数,例如保护密码算法参数时,密码算法参数经过授权用户签名运算后,得到的数据存于密码芯片内部,供比较确认所用。
定义4  Hash函数、Hash值:Hash函数是一种单向压缩算法,在初始化时存于芯片的E2ROM中,Hash值是对输入采用Hash函数运算后得到的结果。本发明中用于压缩各种初始化数据,得到的结果数据存于芯片内部,供比较认证时所用。
本发明的具有安全保护功能的密码芯片制备方法,采用下面的步骤:
步骤1  制备安全保护模块:安全保护模块包括密码芯片的初始化、静态保护处理,动态保护处理,以及出错处理四个部分,
所述的密码芯片的初始化部分是指:设定初始化参数,这些参数包括:
可以改变密码芯片设置的用户的信息,以下称为授权用户信息;
随机数生成;
重要函数是Hash函数的主要参数,Hash函数的功能是用于保护的;
密码算法关键参数和授权用户签名的Hash值;
芯片固有的随机参数(密钥);
出错处理的保护级别;
将上述初始化参数写入芯片的初始化参数存储区就完成了初始化参数设定。
所述的静态保护处理部分是指:
将密码算法和密钥参数读入密码芯片内部,并对其进行Hash计算,与存在芯片内的初始化参数的Hash值相比较,如果相同则进入下一步,否则进入出错处理部分。
下一步,芯片随机抽查测试中初始化设定的数据,即,随机抽取某一种或数种数据,例如如果抽取用户数据检验,则根据保护协议要求用户输入相关数据,计算其Hash值,再与初始化时存在密码芯片内的Hash值相比较,如果相同则开始正常使用,否则进入出错处理;
所述的动态保护处理部分是指:
对于要求芯片完成的:密钥输入、密码旁路(即明文输入要求明文输出)、改变芯片初始化参数操作进行的动态保护。
所述的出错处理部分是指:
对于出错的三个等级,即高中低级进行的处理。
高级的情况相对于密码芯片保护要求为绝密级,此时密码芯片将通过控制接口向CPU发送最高优先级命令,清除密码芯片内所有初始化设定,以及应用系统内所有与密码芯片相关的数据,还可以包括芯片外部E2PROM中的密码算法;
中级的情况相对于密码芯片保护要求为机密级,此时,清除密码芯片内所有初始化设定;
低级的情况相对于密码芯片保护要求为秘密级,此时,芯片将告警,并纪录告警次数,重新回到出错前的状态,一旦告警次数超过三次,则按照中级出错处理处理,即清除密码芯片内所有初始化设定。
上述静态保护处理、动态保护处理、以及出错处理均用芯片能够运行的程序写出。
经过上述参数初始化、静态保护处理、动态保护处理,以及出错处理,就完成了安全模块的制备。
步骤2  将已制备好的安全保护模块,通过芯片提供的接口写入其中的E2PROM。
步骤3  将已写入安全保护模块的芯片加电后,通过芯片提供的接口,注入密码算法之后,就可以得到具有安全保护功能的密码芯片了。
本发明的具有安全保护功能的密码芯片详细结构示意图如图3所示。
本发明的实质:
采用硬件FPGA,将密码算法芯片通过两个部分来实现:
1、密码算法运算部分,加电后从外部注入芯片,在芯片内完成运算过程。密码算法由密码算法的典型运算组成,包括数据的位处理、数据的块处理、数据块的置换处理、幂运算等,现有的密码算法芯片仅有这一部分,在本发明(图2)中为加电后注入的算法;
2、芯片的安全保护模块部分,是一种硬件形态,存于芯片内部的E2PROM中,由芯片可以运行的保护协议、签名算法组成,这是本项发明的创新部分。
与现有的密码芯片相比,本项发明的创新点是:
1.将密码算法部分放到密码芯片之外,使密码芯片专注于保护算法的控制部分;
2.增加密码芯片本身的安全保护部分,使密码算法以及用户设定的重要信息的改变必须经过认可才能生效
3.密码算法在加电后注入密码芯片,并经过认证后使用。
采用本发明的制备方法制备的具有安全保护功能的密码芯片,除了具有原有密码芯片的运算功能外,还增加了自身安全保护的功能和算法安全修改的功能,从而既保证了芯片的实现和应用过程中的安全性,又改进了原来的密码芯片算法不能灵活修改的缺点,节省开发时间和费用。
附图说明
图1是现有的密码芯片结构图
图2是本发明的密码芯片结构图
图3是本发明的密码芯片详细结构示意图
图4是本发明的制备流程图
图5是本发明的工作流程图
图6是本发明的密码算法和密钥保护流程图
图7是实施例应用3中的方法1的密码算法修改流程图
具体实施方式
本实施例中选择具有E2PROM的Xilinx或Altera公司的芯片,选定ECC算法作为签名算法,选定MD5算法作为Hash函数,选定DES算法作为加解密运算。本实施例中的系统需要保护正在使用的密码算法和芯片中的密钥,制备芯片的过程如下:
首先制备安全保护模块,按照本发明的步骤,先设定初始化参数,这些参数有:随机数生成、授权用户签名的Hash值、计算DES的Hash值、密钥的Hash值、AES的Hash值。将计算好的Hash值通过芯片提供的E2PROM接口注入E2PROM的初始化参数存储区。
接下来,分别将静态保护处理部分和动态保护处理部分用芯片能够执行的程序写出,这时,芯片的安全保护模块就制备好了。
第二步,按照本发明的步骤,将制备好的安全保护模块,通过芯片提供的E2PROM接口注入E2PROM的动态保护存储区。这时,就得到已经具备安全保护模块的芯片。
第三步,按照本发明的步骤,将已写入安全保护模块的芯片加电后,通过芯片提供的接口,注入密码算法之后,就得到具有安全保护功能的密码芯片了。
所制备的保护密码芯片的具体应用:
应用1:保护应用系统正在使用的密码算法不被非法修改。
假设:假设密码芯片外部的E2PROM中的DES算法被非法修改为FEAL算法。
执行过程如下:由于密码芯片内部E2PROM中存储的的密码算法参数的Hash值是DES的,所以当密码芯片加电后,就不能通过静态检验保护(图6中B),芯片进入出错处理,不能正常使用。假定用户设定此类出错为高级出错。
密码芯片进入出错处理后,必须由授权用户重新制备初始化参数,并按照本发明的步骤重新制备安全保护模块,才能够再次使用。
参见图6。
应用2:对密钥的保护。
密钥是密码系统最重要的参数,假设图2中密码芯片内部的初始化参数中密钥参数被非法修改,保护生效的过程如下:
由于在制备芯片的初始化参数步骤中,已经存入了密码算法关键参数和授权用户签名的Hash值,仅仅对密钥参数的修改,将导致静态检验保护(图6中的B)不能通过,芯片将进入出错处理,假定用户设定此类出错为高级出错,执行过程参见图6。
应用3:密码算法的改进。
假设芯片使用一段时间后,应用系统对密码算法的要求提高,需要将最初设计的DES密码算法改变为AES密码算法,则按照本发明,有两种方法可以实现。
方法1  利用动态协议修改初始化参数,包括两个步骤:
步骤1将AES算法用芯片可以运行的程序实现,并计算实现结果的Hash值。利用动态保护协议,将初始化参数中,原来的DES算法的Hash值修改成新算法AES的Hash值,再按照本发明的步骤,芯片加电后,注入新的密码算法AES,就得到具有新的算法的密码芯片了。
步骤2:取下图2中密码芯片外的E2PROM,将其中的内容改写为芯片可以运行的AES算法,再安装回原处。
通过以上两个步骤,当芯片再次加电后,就会注入新的AES算法,并且可以安全运行了。这样,也就实现了密码算法的修改。参见图7。
方法2  重新制备新的密码保护模块,也包括两个步骤:
步骤1  将AES算法用芯片可以运行的程序实现,并计算实现结果的Hash值,作为新的密码算法Hash值。按照图4的步骤,重新制各安全保护模块,保持其他初始化参数不变,重新注入芯片的初始化参数区的E2PROM中,完成新的密码保护模块的制备。
步骤2取下图2中密码芯片外的E2PROM,将其中的内容改写为芯片可以运行的AES算法,再安装回原处。
通过以上两个步骤,当芯片再次加电后,就会注入新的AES算法,并且可以安全运行了。这样,也就实现了密码算法的修改。
综上所述,可以得到本发明的优点是,一次制备完成后,就可以提供对密码芯片本身的安全保护,同时,在需要时,可以按照本发明的步骤对芯片完成的密码算法安全地进行修改,从而提高了系统的安全性,节约了开发周期和成本。
因此,由于本发明的具有安全保护功能的密码芯片的结构和模块,将密码算法部分放在芯片外部,而在芯片内部固化(即在E2PROM中注入)了安全保护模块,就可以在密码芯片设计实现结束后,保护芯片本身的安全,防止在密码芯片的使用过程中,其中的重要数据和参数被修改和泄漏;并且能够安全地修改已经实现的密码算法,大大节省了密码芯片的开发时间和开发费用,延长了密码芯片和应用系统的使用寿命。

Claims (1)

1、一种具有安全保护功能的密码芯片的制备方法,其特征是采用下面的步骤:
步骤1  制备安全保护模块:安全保护模块包括密码芯片的初始化、静态保护处理,动态保护处理,以及出错处理四个部分,
所述的密码芯片的初始化部分是指:设定需要保护的初始化参数,这些参数包括:
可以改变密码芯片设置的用户的信息,以下称为授权用户信息:
随机数生成;
重要函数是Hash函数的主要参数,Hash函数的功能是用于保护的;
密码算法关键参数和授权用户签名的Hash值;
芯片固有的随机参数;
出错处理的保护级别;
将上述初始化参数写入芯片的初始化参数存储区;
所述的静态保护处理部分是指:将密码算法和密钥参数读入密码芯片内部,并对其进行Hash计算,与存在芯片内的初始化参数的Hash值相比较,如果相同则进入下一步,否则进入出错处理部分;
下一步,芯片随机抽查测试中初始化设定的数据,即,随机抽取某一种或数种数据,如果抽取用户数据检验,则根据保护协议要求用户输入相关数据,计算其Hash值,再与初始化时存在密码芯片内的Hash值相比较,如果相同则开始正常使用,否则进入出错处理;
所述的动态保护部分是指:对于要求芯片完成的:密钥输入、密码旁路、改变芯片初始化参数操作进行的动态保护;所述的动态保护是指:要求用户与密码芯片之间按照动态保护协议进行通信;如果该过程不能正常完成,则进入出错处理;从动态检验保护进入的出错处理,一律设定为中级以上出错处理;所述的动态保护协议是指:当用户程序要求密码芯片完成的操作属于动态检验保护范围时,应同时将用户的有关数据附在操作指令之后,送给密码芯片;密码芯片解密或直接与初始化时存在内部的原始数据比较,识别用户是否为合法的授权用户,若相同,则通过动态保护协议,否则不能通过,进入出错处理;
所述的出错处理部分是指:对于出错的三个等级,即高中低级进行的处理;
高级的情况相对于密码芯片保护要求为绝密级,此时密码芯片将通过控制接口向CPU发送最高优先级命令,清除密码芯片内所有初始化设定,以及应用系统内所有与密码芯片相关的数据,包括芯片外部E2PROM中的密码算法;中级的情况相对于密码芯片保护要求为机密级,此时,清除密码芯片内所有初始化设定;
低级的情况相对于密码芯片保护要求为秘密级,此时,芯片将告警,并纪录告警次数,重新回到出错前的状态,一旦告警次数超过三次,则按照中级出错处理处理,即清除密码芯片内所有初始化设定;
上述静态保护处理、动态保护处理、以及出错处理均用芯片能够运行的程序写出;
步骤2  将已制备好的安全保护模块,通过芯片提供的接口写入其中的E2PROM;
步骤3  将已写入安全保护模块的芯片加电后,通过芯片提供的接口,注入密码算法之后,就可以得到具有安全保护功能的密码芯片了。
CNB2003101041176A 2003-12-25 2003-12-25 具有安全保护功能的密码芯片的制备方法 Expired - Fee Related CN1332522C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2003101041176A CN1332522C (zh) 2003-12-25 2003-12-25 具有安全保护功能的密码芯片的制备方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2003101041176A CN1332522C (zh) 2003-12-25 2003-12-25 具有安全保护功能的密码芯片的制备方法

Publications (2)

Publication Number Publication Date
CN1635607A CN1635607A (zh) 2005-07-06
CN1332522C true CN1332522C (zh) 2007-08-15

Family

ID=34842958

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101041176A Expired - Fee Related CN1332522C (zh) 2003-12-25 2003-12-25 具有安全保护功能的密码芯片的制备方法

Country Status (1)

Country Link
CN (1) CN1332522C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530364B1 (en) 2018-10-10 2020-01-07 International Business Machines Corporation Multiple programmable hardware-based on-chip password

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859404B (zh) * 2006-02-09 2010-05-12 华为技术有限公司 安全处理的装置、系统和方法
CN101110608B (zh) * 2007-08-23 2011-02-09 华为技术有限公司 一种主备板数据检测的方法、系统和装置
CN101996155B (zh) * 2009-08-10 2014-01-29 北京多思科技发展有限公司 支持多种指令体系的处理器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355413A (en) * 1992-03-06 1994-10-11 Mitsubishi Denki Kabushiki Kaisha Authentication method performed between IC card and terminal unit and system therefor
US5559883A (en) * 1993-08-19 1996-09-24 Chipcom Corporation Method and apparatus for secure data packet bus communication
EP0774845A2 (de) * 1995-11-16 1997-05-21 Siemens Aktiengesellschaft Verfahren und Anordnung zur Authentifizierung des Benutzers eines Teilnehmeranschlusses
CN1204432A (zh) * 1995-10-25 1999-01-06 西门子公司 安全芯片
CN1229254A (zh) * 1998-01-25 1999-09-22 深圳市明华澳汉磁卡系列有限公司 大容量加密存储芯片
US6209098B1 (en) * 1996-10-25 2001-03-27 Intel Corporation Circuit and method for ensuring interconnect security with a multi-chip integrated circuit package

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355413A (en) * 1992-03-06 1994-10-11 Mitsubishi Denki Kabushiki Kaisha Authentication method performed between IC card and terminal unit and system therefor
US5559883A (en) * 1993-08-19 1996-09-24 Chipcom Corporation Method and apparatus for secure data packet bus communication
CN1204432A (zh) * 1995-10-25 1999-01-06 西门子公司 安全芯片
EP0774845A2 (de) * 1995-11-16 1997-05-21 Siemens Aktiengesellschaft Verfahren und Anordnung zur Authentifizierung des Benutzers eines Teilnehmeranschlusses
US6209098B1 (en) * 1996-10-25 2001-03-27 Intel Corporation Circuit and method for ensuring interconnect security with a multi-chip integrated circuit package
CN1229254A (zh) * 1998-01-25 1999-09-22 深圳市明华澳汉磁卡系列有限公司 大容量加密存储芯片

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10530364B1 (en) 2018-10-10 2020-01-07 International Business Machines Corporation Multiple programmable hardware-based on-chip password
US10790825B2 (en) 2018-10-10 2020-09-29 International Business Machines Corporation Multiple programmable hardware-based on-chip password

Also Published As

Publication number Publication date
CN1635607A (zh) 2005-07-06

Similar Documents

Publication Publication Date Title
CN101430747B (zh) 基于可信嵌入式平台的移动设备及其安全存储方法
Owusu et al. OASIS: On achieving a sanctuary for integrity and secrecy on untrusted platforms
CN1914849B (zh) 受信移动平台体系结构
KR100852927B1 (ko) 이용 인증 방법, 이용 인증 프로그램을 저장한 컴퓨터 판독 가능 기록 매체, 정보 처리 장치 및 기록 매체
CN102262599B (zh) 一种基于可信根的移动硬盘指纹认证方法
CN102609665B (zh) 对用户程序签名及验证用户程序签名的方法及装置
CN102347834A (zh) 受信移动平台体系结构
CN101329658A (zh) 加密、解密方法,及应用所述方法的plc系统
CN106982186A (zh) 一种联机安全密钥保护方法和系统
CN103914662A (zh) 一种基于分区的文件加密系统的访问控制方法和装置
CN106533663B (zh) 数据加密方法、加密方设备及数据解密方法、解密方设备
CN103198247B (zh) 一种计算机安全保护方法和系统
CN104573549A (zh) 一种可信的数据库机密性保护方法及系统
CN104333545A (zh) 对云存储文件数据进行加密的方法
CN102163267A (zh) 固态硬盘安全访问控制方法、装置和固态硬盘
CN101917267A (zh) 一种基于可存储加密狗的加密文件的随机密钥保存方法
CN104794394A (zh) 一种虚拟机启动校验的方法及装置
CN102231115A (zh) 一种机顶盒安全启动的方法及系统
CN103971034A (zh) 一种保护Java软件的方法及装置
CN103347017A (zh) 数据处理方法和片上系统
CN1332522C (zh) 具有安全保护功能的密码芯片的制备方法
CN102298680B (zh) 一种计算机安全启动的方法
CN104363093A (zh) 通过动态授权码对文件数据加密的方法
CN101692266A (zh) 利用隐藏分区与cpu id的高强度文件加密保护方法
CN101355424B (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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Zhongshan Hongmao Electronics Co., Ltd.

Assignor: University of Electronic Science and Technology of China

Contract fulfillment period: 2007.8.30 to 2012.8.30 contract change

Contract record no.: 2008440000503

Denomination of invention: Method for making cipher chip having security protection function

Granted publication date: 20070815

License type: Exclusive license

Record date: 20081211

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2007.8.30 TO 2012.8.30; CHANGE OF CONTRACT

Name of requester: ZHONGSHAN CITY HONGMAO ELECTRONICS CO., LTD.

Effective date: 20081211

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070815

Termination date: 20100125