一种对基于校园卡门禁系统的下位机进行联合加密的方法转让专利

申请号 : CN200810015926.2

文献号 : CN100585647C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王洪君杨华张栋樊姗

申请人 : 山东大学

摘要 :

本发明公开了一种对基于校园卡门禁系统的下位机进行联合加密的方法。它利用校园卡门禁系统的上位机,对下位机进行加密,外人即使将下位机电路板和程序破解,也无法使下位机正常工作的一种联合加密的方法;其步骤为:a.门禁系统下位机第一次加电工作;上位机还未发送加密信息,下位机检测用于存储人员信息和人员刷卡开门记录的FLASH中是否有加密信息,若没有,则对FLASH全面格式化,使其信息全部丢失,下位机无法正常工作;b.上位机加电后将允许开门的人员名单下发到下位机的FLASH中,其中下发的信息中含有联合加密信息,并且此信息在每次下发开门人员名单时都要下发;c.在下位机检测到FLASH中的加密信息如果正确,则正常工作,否则仍保持无法正常工作状态。

权利要求 :

1.一种对基于校园卡门禁系统的下位机进行联合加密的方法,其特征是,它利用校园卡 门禁系统的上位机,对门禁系统的下位机进行加密,使外人即使将下位机的电路板和程序完 全破解,也无法使下位机正常工作的一种联合加密的方法;下位机首先与上位机联合确定加 密的方式,其加密点个数是动态的还是静态的,每个加密点地址的确定方式,是固定的或是 根据此下位机所控制的门牌号通过函数算得的;再确定每个加密点的加密层数和每层的加密 算法;将上述几点确定好后,编写程序,下载到基于校园卡门禁系统的下位机的CPU中,使 其上电工作,其具体步骤为:a门禁系统下位机第一次加电,开始工作;此时上位机还未发送加密信息,下位机CPU 运行程序的第一步,检测用于存储人员信息和人员刷卡开门记录的FLASH中是否有加密信息, 如果没有,则对FLASH进行全面格式化,使其各种信息全部丢失,此时下位机无法正常工作;

b上位机加电后将允许开门的人员名单下发到下位机的FLASH中,其中下发的信息中含 有联合加密信息,并且此信息在每次下发开门人员名单时都要下发;下发的加密信息包括:b1.加密点个数,在FLASH中设置根据设计的加密格式确定1-50个加密点,各加密点 个数为静态或动态的;

其中,静态加密点个数指加密点个数为确定的,每个加密点的位置为固定值;

其中,动态加密点个数指加密点个数不确定,每一个加密点的位置由上一个加密点来确 定,其中第一个加密点位置为确定的或通过下位机由门牌号来动态确定;

b2.加密点的加密层数,在每个加密点上,根据需要进行1-3层加密;

所述步骤b1中,加密点个数为动态时,其第一个加密点位置为固定值,事先与上位机在 设计程序设定好;

或者,第一个加密点位置也为动态的,通过下位机利用门牌号来通过函数公式算得;其 其中A为门牌号的千位,B为门牌号的百位,C为门牌号的十位,D 为门牌号的个位;如果门牌号含有字母,则对应的位按数值5来计算,如果门牌号超过4位, 则只取后四位,如果门牌号不足四位,则缺失的高位用数值5来代替;

所述步骤b2中,加密层数是由开门人员名单数来确定的,采用人员数除以3取便变得到 加密层数,如果余数为0,则加密层数为3,并且每层加密都是根据此门禁系统的下位机所控 制的房间号和人员信息来进行加密的,这样不同的下位机的加密信息是不同的;

其中,第一层加密信息是下位机所控制的房间号的个位上的数与0相间的16个比特的数 列;

第二层加密信息是第一个开门人员开门起始时间的年份的后两位数重复排列所组成的16 个比特的数列;

第三层加密信息是第一层的16个比特数列与第二层的16个比特的数列每一对应位一次 相加所得的16个比特的数列,所得数均用16进制表示;

c在下位机检测到FLASH中的加密信息如果正确,则下位机正常工作,否则仍保持无法 正常工作状态。

说明书 :

技术领域:

本发明涉及一种在门禁安防系统领域联合加密的方法,尤其涉及利用上位机对基于校园卡 门禁系统的下位机进行联合加密的方法。

背景技术:

随着电子技术的发展,电子芯片中程序的破解技术也有了很大的提高,这样,对于芯片中 所写的程序的知识产权产生了很大的威胁。目前在门禁系统中,系统下位机(门禁控制器) 一般在电路上采用双层PCB板和以80C51内核芯片为主的架构。在电路设计方面,双层电路 板极容易被别人仿制,在下为机程序方面,CPU中的程序也很容易被别人破解,得到程序的 HEX文件。这样一来,本来靠自己的智慧和技术设计的电路和程序就被别人窃取了,所设计 的产品也很容易被别人仿造,极大的危害了原创者的知识产权和设计积极性。

发明内容:

本发明的目的是为了解决目前门禁系统电路及其程序易被窃取,造成产品被他人仿冒的 问题,提供一种具有方法简单,保密性强,不易被破解等优点的一种对基于校园卡门禁系统 的下位机进行联合加密的方法。

为实现上述目的,本发明采用如下技术方案:

一种对基于校园卡门禁系统的下位机进行联合加密的方法,它利用校园卡门禁系统的上 位机,对门禁系统的下位机进行加密,使外人即使将下位机的电路板和程序完全破解,也无 法使下位机正常工作的一种联合加密的方法;其具体步骤为:

a门禁系统下位机第一次加电,开始工作;此时上位机还未发送加密信息,下位机CPU 运行程序的第一步,检测用于存储人员信息和人员刷卡开门记录的FLASH中是否有加密信息, 如果没有,则对FLASH进行全面格式化,使其各种信息全部丢失,此时下位机无法正常工作;

b上位机加电后将允许开门的人员名单下发到下位机的FLASH中,其中下发的信息中含 有联合加密信息,并且此信息在每次下发开门人员名单时都要下发;

c在下位机检测到FLASH中的加密信息如果正确,则下位机正常工作,否则仍保持无法 正常工作状态。

所述步骤b中,下发的加密信息包括:

b1.加密点个数,在FLASH中设置根据设计的加密格式确定1-50个加密点,各加密点 个数为静态或动态的;

其中,静态加密点个数指加密点个数为确定的,每个加密点的位置为固定值;

其中,动态加密点个数指加密点个数不确定,每一个加密点的位置由上一个加密点来确 定,其中第一个加密点位置为确定的或通过下位机由门牌号来动态确定;

b2.加密点的加密层数,在每个加密点上,根据需要进行1-3层加密。

所述步骤b1中,加密点个数为动态时,其第一个加密点位置为固定值,事先与上位机在 设计程序设定好;

或者,第一个加密点位置也为动态的,通过下位机利用门牌号来通过函数公式算得;其 其中A为门牌号的千位,B为门牌号的百位,C为门牌号的十位,D 为门牌号的个位;如果门牌号含有字母,则对应的位按数值5来计算,如果门牌号超过4位, 则只取后四位,如果门牌号不足四位,则缺失的高位用数值5来代替。

所述步骤b2中,加密层数是由开门人员名单数来确定的,采用人员数除以3取余变得到 加密层数,如果余数为0,则加密层数为3,并且每层加密都是根据此门禁系统的下位机所控 制的房间号和人员信息来进行加密的,这样不同的下位机的加密信息是不同的;

其中,第一层加密信息是下位机所控制的房间号的个位上的数与0相间的16个比特的数 列;

第二层加密信息是第一个开门人员开门起始时间的年份的后两位数重复排列所组成的16 个比特的数列;

第三层加密信息是第一层的16个比特数列与第二层的16个比特的数列每一对应位一次 相加所得的16个比特的数列,所得数均用16进制表示。

本发明利用校园卡门禁系统的上位机(主控电脑),对下位机进行加密,使外人即使将下 位机的电路板和程序完全破解,也无法使下位机正常工作的一种联合加密的方法。

本发明的有益效果是:通过上位机,在使用过程中对基于校园卡的门禁系统的下位机进 行加密,并利用下位机所必需的存储开门人员名单和刷卡人员信息的FLASH的特性,对其进 行联合加密,达到了防止对下位机进行破解仿制的效果,使其即使破解下位机的电路板和CPU 程序也无法正常工作。因为上位机结构复杂,并且可以配备保密级别很高的加密卡来使用, 所以防破解能力很强,而且此加密过程是在这个系统运行时动态实施的,以及加密特征也是 动态的,不是固定的,同样提高了下位机的防破解能力。并且此方法在上位机将开门人员数 据及加密信息下发之后,下位机可以独立于上位机单独工作,减小了下位机对上位机的依赖 性。最终达到了简单并有效的保护自主知识产权的目的。

附图说明:

图1为本发明下位机加密部分程序的流程图。

具体实施方式:

图1中,下位机首先与上位机联合确定加密的方式,其加密点个数,是动态的还是静态 的,每个加密点(包括第一个加密点)地址的确定方式,是固定的或是根据此下位机所控制 的门牌号通过函数算得的。再确定每个加密点的加密层数和每层的加密算法。将上述几点确 定好后,编写程序,下载到基于校园卡门禁系统的下位机的CPU中,使其上电工作。具体工 作过程为:

一种对基于校园卡门禁系统的下位机进行联合加密的方法,它利用校园卡门禁系统的上 位机,对门禁系统的下位机进行加密,使外人即使将下位机的电路板和程序完全破解,也无 法使下位机正常工作的一种联合加密的方法;其具体步骤为:

a门禁系统下位机第一次加电,开始工作;此时上位机还未发送加密信息,下位机CPU 运行程序的第一步,检测用于存储人员信息和人员刷卡开门记录的FLASH中是否有加密信息, 如果没有,则对FLASH进行全面格式化,使其各种信息全部丢失,此时下位机无法正常工作;

b上位机加电后将允许开门的人员名单下发到下位机的FLASH中,其中下发的信息中含 有联合加密信息,并且此信息在每次下发开门人员名单时都要下发;

c在下位机检测到FLASH中的加密信息如果正确,则下位机正常工作,否则仍保持无法 正常工作状态。

所述步骤b中,下发的加密信息包括:

b1.加密点个数,在FLASH中设置根据设计的加密格式确定1-50个加密点,各加密点 个数为静态或动态的;

其中,静态加密点个数指加密点个数为确定的,每个加密点的位置为固定值;

其中,动态加密点个数指加密点个数不确定,每一个加密点的位置由上一个加密点来确 定,其中第一个加密点位置为确定的或通过下位机由门牌号来动态确定;

b2.加密点的加密层数,在每个加密点上,根据需要进行1-3层加密。

所述步骤b1中,加密点个数为动态时,其第一个加密点位置为固定值,事先与上位机在 设计程序设定好;

或者,第一个加密点位置也为动态的,通过下位机利用门牌号来通过函数公式算得;其 其中A为门牌号的千位,B为门牌号的百位,C为门牌号的十位,D 为门牌号的个位;如果门牌号含有字母,则对应的位按数值5来计算,如果门牌号超过4位, 则只取后四位,如果门牌号不足四位,则缺失的高位用数值5来代替。

所述步骤b2中,加密层数是由开门人员名单数来确定的,采用人员数除以3取余变得到 加密层数,如果余数为0,则加密层数为3,并且每层加密都是根据此门禁系统的下位机所控 制的房间号和人员信息来进行加密的,这样不同的下位机的加密信息是不同的;

其中,第一层加密信息是下位机所控制的房间号的个位上的数与0相间的16个比特的数 列;

第二层加密信息是第一个开门人员开门起始时间的年份的后两位数重复排列所组成的16 个比特的数列;

第三层加密信息是第一层的16个比特数列与第二层的16个比特的数列每一对应位一次 相加所得的16个比特的数列,所得数均用16进制表示。

实施例1:

首先确定设置3个加密点,每个加密点位置由上一个加密点提供,第一个加密点位置为 地址1,下发开门人员数为4,则每个加密点进行一层加密。此下位机所控制的门牌号为1356, 加密点是6和0相间的16个比特的数列。这些都确定好后,由上位机在工作时按此规定发送 加密信息,使下位机能检测到加密信息后正常工作。

实例2:

首先确定这是一个加密点,此加密点的位置为动态的。此下位机所控制的门的门牌号为 1234,则所得结果为地址98。下发的开门人数为9,则每个加密点 进行三层加密。下发开卡第一个人员的开门起始时间年份为2008年,在此加密点的加密数是 4和8相间的16个比特的数。这些都确定好后,由上位机在工作时按此规定发送加密信息, 使下位机能检测到加密信息后正常工作。