CN111651788A - 一种基于格密码的终端访问控制***及方法 - Google Patents

一种基于格密码的终端访问控制***及方法 Download PDF

Info

Publication number
CN111651788A
CN111651788A CN202010496061.7A CN202010496061A CN111651788A CN 111651788 A CN111651788 A CN 111651788A CN 202010496061 A CN202010496061 A CN 202010496061A CN 111651788 A CN111651788 A CN 111651788A
Authority
CN
China
Prior art keywords
identity information
data
unit
access control
storage unit
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
CN202010496061.7A
Other languages
English (en)
Other versions
CN111651788B (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.)
Shandong Computer Science Center National Super Computing Center in Jinan
Original Assignee
Shandong Computer Science Center National Super Computing Center in Jinan
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 Shandong Computer Science Center National Super Computing Center in Jinan filed Critical Shandong Computer Science Center National Super Computing Center in Jinan
Priority to CN202010496061.7A priority Critical patent/CN111651788B/zh
Publication of CN111651788A publication Critical patent/CN111651788A/zh
Application granted granted Critical
Publication of CN111651788B publication Critical patent/CN111651788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种基于格密码的终端访问控制***及方法,在数据采集终端与外界数据通信的接口硬件层添加了访问控制单元,在物理层实现了访问控制,更加安全可靠;并且本发明的访问控制方法中使用的是基于格密码的加密方法,具有抵抗量子计算机攻击的能力,能够解决现有终端设备容易被恶意入侵和数据窃取的问题。

Description

一种基于格密码的终端访问控制***及方法
技术领域
本公开属于通信技术领域,涉及一种基于格密码的终端访问控制***及方法。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
随着物联网技术的发展,用于数据采集的嵌入式终端设备越来越多,日常生活中音视频采集终端最为常见,这些设备方便丰富了我们的生活,但是时常也会发生终端设备被恶意入侵,其中数据被窃取等安全问题,因此我们需要对外界访问这些设备进行控制,以保证这些嵌入式终端设备能够正常运行,保护其中的数据不被恶意修改或窃取。
随着量子计算机的发展,以及计算大整数分解和离散对数的量子算法的发展,众多传统密码的安全性受到威胁,而能够抵抗量子计算机攻击的格密码成为了密码学界的研究热点。基于格的密码方案具有抗量子攻击,硬件实现简单等特点。错误学习问题(Learming with Errors,简称LWE)由Regev在2005年提出,他将LWE问题量子归约到格上的标准困难问题。因此在LWE问题之上建立的所有密码学方案,都能够将其安全建立在格问题的最坏情况下困难性之上。
现有专利文献(申请号201811210425.X《基于FPGA的DM365数据传输接口电路》)中提出了一种基于FPGA的DM365数据传输接口电路,能够解决现有技术中存在的DM365芯片传输接口与可通信的***电路较单一的技术问题,其利用了嵌入式终端中FPGA芯片电路设计灵活的特点,提高了终端与外界通信的便捷性,但是该FPGA接口模块作为整个嵌入式终端设备与外界数据交互的最前端,并没有设计访问控制模块,外部设备可以直接通过该FPGA电路对嵌入式终端进行控制,无法保证终端的安全。
发明内容
本公开为了解决上述问题,提出了一种基于格密码的终端访问控制***及方法,本公开能够解决现有终端设备容易被恶意入侵和数据窃取的问题。
根据一些实施例,本公开采用如下技术方案:
一种基于格密码的终端访问控制***,包括数据采集终端和上位机,数据采集终端包括DSP模块和FPGA模块,其中:
所述FPGA模块与DSP模块和上位机相连,所述FPGA模块包括:
第一接口适配模块,用于提供所述FPGA模块与DSP模块的连接接口;
第二接口适配模块,用于提供所述FPGA模块与上位机的连接通信接口;
上行数据缓存单元和下行数据缓存单元,用于缓冲数据;
数据输入输出控制单元,用于控制上位机从上行数据缓存单元读取数据,向下行数据缓存单元写入数据;
基于格密码的访问控制模块,用于接收来自上位机加密的访问请求信息,并对该信息进行解密验证,如果验证通过,则产生使能信号对数据输入输出控制单元使能,上位机即可通过数据输入输出控制单元对该终端设备进行读写操作;如果没有通过验证,则上位机无法访问该数据采集终端。
作为可选择的实施方式,基于格密码的访问控制模块包括:
私钥存储单元,用于存储私钥数据,只有秘钥生成单元可以向该单元写入数据,并且只有解密单元能够从该单元读取数据;
公钥存储单元,用于存储公钥数据,只有秘钥生成单元能够向该单元写入数据,外部设备可以直接从该单元读取公钥数据;
密钥对生成单元,用于生成格密码公钥加密方案的密钥对,并把生成的密钥对分别存储到私钥存储单元和公钥存储单元,只有访问控制单元可以发送使能信号给秘钥生成单元,使其重新生成密钥对,其他单元都不能对该单元产生影响;
身份信息存储单元,用于存储该终端所信任的外部设备的身份信息,该身份信息包括用户名、密码和随机数;
解密单元,用私钥对加密后的密文进行解密得到明文,其中从私钥存储单元读取私钥,密文由访问控制单元发送到该单元;
访问控制单元,接收外部设备传来的加密身份信息,发送给解密单元解密后得到身份信息,然后将该身份信息与身份信息存储单元中的信息进行对比,如果身份信息中的用户名和密码相同并且随机数不同,则验证通过,其他情况则验证不通过。
所述访问控制单元,在验证通过后给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,然后该身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对。
所述第一接口适配模块为EMIF接口适配模块,所述第二接口适配模块为PCI接口适配模块。
利用上述***进行访问控制的方法,包括以下步骤:
1)在身份信息存储单元电路中设置身份信息初始数据;
2)终端设备上电开始工作后,密钥生成单元生成一个公钥和一个私钥,并将公钥写入公钥存储单元,把私钥写入私钥存储单元:
3)当上位机想要访问终端设备时,在身份信息输入模块中输入用户名和密码信息,然后发送到基于格密码的加密程序模块;
4)基于格密码的加密程序模块收到身份信息后,从终端的公钥存储单元读取公钥信息,然后利用公钥对身份信息进行加密:
5)基于格密码的加密程序模块发送加密后的身份信息c到终端的访问控制单元;
6)终端的访问控制单元对接收到的加密的身份信息c进行解密,得到身份信息后进行验证,验证通过后,访问控制单元给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,将相应的身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对;
7)上位机通过数据输入输出控制单元向下行数据缓存单元写数据,从上行数据缓存单元读取数据,进而实现与数据采集终端的数据通信。
作为可选择的实施方式,所述步骤2)包括:
2a)设置多项式最高次数n,模q为素数,且满足q≡1 mod 2n;随机选取多项式s∈R服从分布Dσ,并将s作为私钥,随机选取多项式e∈R服从分布Dσ,将e作为误差多项式,随机均匀选取α∈R,其中Dσ为整数域Z上的离散高斯分布,期望为0,标准差为σ;R为多项式环Zq[x]/(xn+1);
2b)计算b=-as+e,其中误差多项式e是LWE问题的关键,如果没有该误差项,通过b和a就会直接计算出s;
2c)得到私钥sk=s,公钥pk=(α,b),并将公钥写入公钥存储单元,把私钥写入私钥存储单元;
作为可选择的实施方式,所述步骤4)具体包括:
4a)生成随机数,并拼接在用户名和密码信息的后面,组成完整的身份认证信息m;
4b)随机选取e1,e2,e3∈R服从分布Dσ,Dσ为整数域Z上的离散高斯分布,期望为0,标准差为σ,R为多项式环Zq[x]/(xn+1);
4c)令m1=f(m)∈R,其中
Figure BDA0002522860610000051
用于实现模域的转换,将输入信息m从[0,1]的范围转换为[0,q-1]的范围;
4d)利用公钥信息对身份信息进行加密,c1=α*e1+e2,c2=b*e1+e3+m1,得到包含身份信息的密文,c=(c1,c2),即加密后的身份信息;
作为可选择的实施方式,所述步骤6)具体包括:
6a)访问控制单元首先会对访问验证信息进行解密,进而得到未加密的身份信息:
6b)把再拆开为用户名、密码和随机数,分别与身份信息存储单元中对应的数据进行对比验证;
6c)验证通过后,访问控制单元给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,然后该身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对。
作为可选择的实施方式,所述步骤6a)包括:
6aa)对于未加密的身份信息m,将密文的第一部分c1与私钥s进行环上的多项式乘法运算,得到的结果再与密文第二部分c2进行多项式加法运算,得到m2,即m2=c1*s+c2;
6ab)把m2从[0,q-1]的范围转换到[0,1]范围,对m2的每一位数字用下面公式判断,
Figure BDA0002522860610000061
如果m2中数字在该范围内,则该位置为1,不在该范围则该位置为0,转换完成得到m3,m3就等于加密前的身份信息m。
作为可选择的实施方式,所述步骤6b)具体包括:
6ba)如果用户名和密码与存储区的不同,则验证失败;
6bb)如果用户名和密码与存储器的相同,随机数也相同,说明上位机并没有重新生成用于访问的加密身份信息,有可能该加密的身份信息被盗取来重复利用,验证失败;
6bc)如果用户名和密码与存储区的相同,随机数不同,则验证通过。
与现有技术相比,本公开的有益效果为:
本公开在数据采集终端与外界数据通信的接口硬件层添加了访问控制单元,在物理层实现了访问控制,更加安全可靠;并且本实施例的访问控制方法中使用的是基于格密码的加密方法,具有抵抗量子计算机攻击的能力。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开的***结构示意图。
具体实施方式:
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
参照图1,本实施例基于格密码的终端访问控制***包括:音视频采集终端和上位机,所述音视频采集终端包括DSP模块和FPGA模块,DSP模块通过EMIF接口与FPGA模块连接,FPGA模块通过PCI接口与上位机连接。其中:
所述DSP模块,包括DSP芯片,音视频采集设备和相关***电路。DSP芯片从FPGA模块中的下行数据缓存单元中读取相关工作参数,然后控制音视频采集设备采集音频和图像数据,接着把这些原始数据处理为方便传输的TS数据流,最后把TS数据流写入上行数据缓存单元。
本实例DSP芯片采用但不限于TI公司型号为TMS320DM365的芯片。
所述FPGA模块,包括FPGA芯片和相关***电路,在FPGA芯片中设计的主要模块为上行数据缓存单元、下行数据缓存单元、数据输入输出控制单元和基于格密码的访问控制模块:
所述上行数据缓存单元和下行数据缓存单元,都是用于缓冲数据,解决数据在异步传输时,DSP模块与上位机读写速度不一致问题,其中上行数据缓存单元使用的是地址空间为1Mbyte的双口RAM存储器,下行数据缓存单元使用的是地址空间为64Kbyte的双口RAM存储器。
所述数据输入输出控制单元,用于控制上位机从上行数据缓存单元读取数据,向下行数据缓存单元写入数据;
所述基于格密码的访问控制模块,用于接收来自上位机加密的访问请求信息,并对该信息进行解密验证,如果验证通过,则产生使能信号对数据输入输出控制单元使能,上位机即可通过数据输入输出控制单元对该音视频采集终端进行读写操作;如果没有通过验证,则上位机无法通过数据输入输出控制单元,进而无法访问该终端。该模块主要包括私钥存储单元、公钥存储单元、密钥对生成单元、身份信息存储单元、解密单元和访问控制单元:
所述私钥存储单元,用于存储私钥数据,只有秘钥生成单元可以向该单元写入数据,并且只有解密单元能够从该单元读取数据,该单元使用的是地址空间为16Kbyte的FIFO存储器;
所述公钥存储单元,用于存储公钥数据,只有秘钥生成单元能够向该单元写入数据,外部设备可以直接从该单元读取公钥数据,该单元使用的是地址空间为16Kbyte的FIFO存储器;
所述密钥对生成单元,用于生成格密码公钥加密方案的密钥对,并把生成的密钥对分别存储到私钥存储单元和公钥存储单元,只有访问控制单元可以发送使能信号给秘钥生成单元,使其重新生成密钥对。密钥生成过程中使用的随机数由八位的线性反馈移位寄存器产生,加法运算、乘法运算和求模运算都使用通用的IP核实现;
所述身份信息存储单元,用于存储该终端所信任的外部设备的身份信息,该身份信息包括用户名,密码和随机数,该单元使用的是地址空间为1Kbyte的RAM存储器;
所述解密单元,用私钥对加密后的密文进行解密得到明文,其中从私钥存储单元读取私钥,密文由访问控制单元发送到该单元,其中加法运算、乘法运算和求模运算都使用通用的IP核实现;
所述访问控制单元,接收外部设备传来的加密身份信息,发送给解密单元解密后得到身份信息,然后将该身份信息与身份信息存储单元中的信息进行对比,如果身份信息中的用户名和密码相同并且随机数不同,则验证通过,其他情况则验证不通过。验证通过后,该单元给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,然后该身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对。如果验证没有通过,则外部设备无法访问该终端设备。
本实例的FPGA芯片采用但不限于ALTREA公司型号为EP3C80F484i7的芯片。
所述上位机为PC机,其中基于格密码的加密程序模块是用C语言实现的软件程序,该程序工作流程为:
1)输入用户名和密码信息;
2)调用rand()函数生成随机数,并与输入信息拼接为完整的身份信息m;
3)读取格密码加密所需的公钥pk=(a,b);
4)调用NTL库中的SetCoeff函数,选取误差多项式e1,e2,e3;
5)身份信息m乘以
Figure BDA0002522860610000111
得到m1;
6)调用NTL库中的MulTrunc()函数计算多项式乘法,利用pk对m1加密运算tmp1=α*e1+e2,tmp2=b*e1+e3+m1;
7)c1=tmp1 mod q,c2=tmp2 mod q,最终得到加密后的身份信息c=(c1,c2)。
当然,在部分实施例中,利用上述***进行访问控制的方法,其特征在于,包括如下:
1)FPGA电路设计时在身份信息存储单元电路中设置身份信息初始数据;
2)终端设备上电开始工作后,密钥生成单元生成一个公钥和一个私钥,并将公钥写入公钥存储单元,把私钥写入私钥存储单元:
2a)设置多项式最高次数n,模q为素数,且满足q≡1 mod 2n;随机选取多项式s∈R服从分布Dσ,并将s作为私钥,随机选取多项式e∈R服从分布Dσ,将e作为误差多项式,随机均匀选取α∈R,其中Dσ为整数域Z上的离散高斯分布,期望为0,标准差为σ;R为多项式环Zq[x]/(xn+1);
2b)计算b=-as+e,其中误差多项式e是LWE问题的关键,如果没有该误差项,通过b和a就会直接计算出s;
2c)得到私钥sk=s,公钥pk=(α,b),并将公钥写入公钥存储单元,把私钥写入私钥存储单元;
3)当上位机想要访问终端设备时,在身份信息输入模块中输入用户名和密码信息,然后发送到基于格密码的加密程序模块;
4)基于格密码的加密程序模块收到身份信息后,从终端的公钥存储单元读取公钥信息,然后利用公钥对身份信息进行加密:
4a)生成随机数,并拼接在用户名和密码信息的后面,组成完整的身份认证信息m;
4b)随机选取e1,e2,e3∈R服从分布Dσ,Dσ为整数域Z上的离散高斯分布,期望为0,标准差为σ,R为多项式环Zq[x]/(xn+1);
4c)令m1=f(m)∈R,其中
Figure BDA0002522860610000121
用于实现模域的转换,将输入信息m从[0,1]的范围转换为[0,q-1]的范围;
4d)利用公钥信息对身份信息进行加密,c1=α*e1+e2,c2=b*e1+e3+m1,得到包含身份信息的密文,c=(c1,c2),即加密后的身份信息;
5)基于格密码的加密程序模块发送加密后的身份信息c到终端的访问控制单元;
6)终端的访问控制单元对接收到的加密的身份信息c进行解密,得到身份信息后进行验证:
6a)访问控制单元首先会对访问验证信息进行解密,进而得到未加密的身份信息m:
6aa)将密文的第一部分c1与私钥s进行环上的多项式乘法运算,得到的结果再与密文第二部分c2进行多项式加法运算,得到m2,即m2=c1*s+c2;
6ab)把m2从[0,q-1]的范围转换到[0,1]范围,对m2的每一位数字用下面公式判断,
Figure BDA0002522860610000131
如果m2中数字在该范围内,则该位置为1,不在该范围则该位置为0,转换完成得到m3,m3就等于加密前的身份信息m;
6b)把m3再拆开为用户名,密码,随机数,分别与身份信息存储单元中对应的数据进行对比:
6ba)如果用户名和密码与存储区的不同,则验证失败;
6bb)如果用户名和密码与存储器的相同,随机数也相同,说明上位机并没有重新生成用于访问的加密身份信息,有可能该加密的身份信息被盗取来重复利用,验证失败;
6bc)如果用户名和密码与存储区的相同,随机数不同,则验证通过;
6c)验证通过后,访问控制单元给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,然后该身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对。
7)上位机通过数据输入输出控制单元向下行数据缓存单元写数据,从上行数据缓存单元读取数据,进而实现与数据采集终端的数据通信。
本领域内的技术人员应明白,本公开的实施例可提供为方法、***、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

Claims (10)

1.一种基于格密码的终端访问控制***,其特征是:包括数据采集终端和上位机,数据采集终端包括DSP模块和FPGA模块,其中:
所述FPGA模块与DSP模块和上位机相连,所述FPGA模块包括:
第一接口适配模块,用于提供所述FPGA模块与DSP模块的连接接口;
第二接口适配模块,用于提供所述FPGA模块与上位机的连接通信接口;
上行数据缓存单元和下行数据缓存单元,用于缓冲数据;
数据输入输出控制单元,用于控制上位机从上行数据缓存单元读取数据,向下行数据缓存单元写入数据;
基于格密码的访问控制模块,用于接收来自上位机加密的访问请求信息,并对该信息进行解密验证,如果验证通过,则产生使能信号对数据输入输出控制单元使能,上位机即可通过数据输入输出控制单元对该终端设备进行读写操作;如果没有通过验证,则上位机无法访问该数据采集终端。
2.如权利要求1所述的一种基于格密码的终端访问控制***,其特征是:所述基于格密码的访问控制模块包括:
私钥存储单元,用于存储私钥数据,只有秘钥生成单元可以向该单元写入数据,并且只有解密单元能够从该单元读取数据;
公钥存储单元,用于存储公钥数据,只有秘钥生成单元能够向该单元写入数据,以供外部设备读取公钥数据;
密钥对生成单元,用于生成格密码公钥加密方案的密钥对,并把生成的密钥对分别存储到私钥存储单元和公钥存储单元,只有访问控制单元可以发送使能信号给秘钥生成单元,使其重新生成密钥对,其他单元都不能对该单元产生影响;
身份信息存储单元,用于存储该终端所信任的外部设备的身份信息,该身份信息包括用户名、密码和随机数;
解密单元,用私钥对加密后的密文进行解密得到明文,其中从私钥存储单元读取私钥,密文由访问控制单元发送到该单元;
访问控制单元,接收外部设备传来的加密身份信息,发送给解密单元解密后得到身份信息,然后将该身份信息与身份信息存储单元中的信息进行对比,如果身份信息中的用户名和密码相同并且随机数不同,则验证通过,其他情况则验证不通过。
3.如权利要求1所述的一种基于格密码的终端访问控制***,其特征是:所述访问控制单元,在验证通过后给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,然后该身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对。
4.如权利要求1所述的一种基于格密码的终端访问控制***,其特征是:所述第一接口适配模块为EMIF接口适配模块,所述第二接口适配模块为PCI接口适配模块。
5.利用权利要求1-4中任一项所述的***进行访问控制的方法,其特征是:包括以下步骤:
1)在身份信息存储单元电路中设置身份信息初始数据;
2)终端设备上电开始工作后,密钥生成单元生成一个公钥和一个私钥,并将公钥写入公钥存储单元,把私钥写入私钥存储单元:
3)当上位机想要访问终端设备时,在身份信息输入模块中输入用户名和密码信息,然后发送到基于格密码的加密程序模块;
4)基于格密码的加密程序模块收到身份信息后,从终端的公钥存储单元读取公钥信息,然后利用公钥对身份信息进行加密:
5)基于格密码的加密程序模块发送加密后的身份信息c到终端的访问控制单元;
6)终端的访问控制单元对接收到的加密的身份信息c进行解密,得到身份信息后进行验证,验证通过后,访问控制单元给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,将相应的身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对;
7)上位机通过数据输入输出控制单元向下行数据缓存单元写数据,从上行数据缓存单元读取数据,进而实现与数据采集终端的数据通信。
6.如权利要求5所述的方法,其特征是:所述步骤2)包括:
2a)设置多项式最高次数n,模q为素数,且满足q≡1 mod 2n;随机选取多项式s∈R服从分布Dσ,并将s作为私钥,随机选取多项式e∈R服从分布Dσ,将e作为误差多项式,随机均匀选取α∈R,其中Dσ为整数域Z上的离散高斯分布,期望为0,标准差为σ;R为多项式环Zq[x]/(xn+1);
2b)计算b=-as+e,其中误差多项式e是LWE问题的关键,如果没有该误差项,通过b和a就会直接计算出s;
2c)得到私钥sk=s,公钥pk=(α,b),并将公钥写入公钥存储单元,把私钥写入私钥存储单元。
7.如权利要求5所述的方法,其特征是:所述步骤4)具体包括:
4a)生成随机数,并拼接在用户名和密码信息的后面,组成完整的身份认证信息m;
4b)随机选取e1,e2,e3∈R服从分布Dσ,Dσ为整数域Z上的离散高斯分布,期望为0,标准差为σ,R为多项式环Zq[x]/(xn+1);
4c)令m1=f(m)∈R,其中
Figure FDA0002522860600000041
用于实现模域的转换,将输入信息m从[0,1]的范围转换为[0,q-1]的范围;
4d)利用公钥信息对身份信息进行加密,c1=α*e1+e2,c2=b*e1+e3+m1,得到包含身份信息的密文,c=(c1,c2),即加密后的身份信息。
8.如权利要求5所述的方法,其特征是:所述步骤6)具体包括:
6a)访问控制单元首先会对访问验证信息进行解密,进而得到未加密的身份信息:
6b)把再拆开为用户名、密码和随机数,分别与身份信息存储单元中对应的数据进行对比验证;
6c)验证通过后,访问控制单元给数据输入输出控制单元发送使能信号,允许该外部设备对数据采集终端进行数据读写,然后该身份信息更新到身份信息存储单元,并且给密钥生成单元使能信号,让其重新生成密钥对。
9.如权利要求8所述的方法,其特征是:所述步骤6a)包括:
6aa)对于未加密的身份信息m,将密文的第一部分c1与私钥s进行环上的多项式乘法运算,得到的结果再与密文第二部分c2进行多项式加法运算,得到m2,即m2=c1*s+c2;
6ab)把m2从[0,q-1]的范围转换到[0,1]范围,对m2的每一位数字用下面公式判断,
Figure FDA0002522860600000051
如果m2中数字在该范围内,则该位置为1,不在该范围则该位置为0,转换完成得到m3,m3就等于加密前的身份信息m。
10.如权利要求8所述的方法,其特征是:所述步骤6b)具体包括:
6ba)如果用户名和密码与存储区的不同,则验证失败;
6bb)如果用户名和密码与存储器的相同,随机数也相同,说明上位机并没有重新生成用于访问的加密身份信息,有可能该加密的身份信息被盗取来重复利用,验证失败;
6bc)如果用户名和密码与存储区的相同,随机数不同,则验证通过。
CN202010496061.7A 2020-06-03 2020-06-03 一种基于格密码的终端访问控制***及方法 Active CN111651788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010496061.7A CN111651788B (zh) 2020-06-03 2020-06-03 一种基于格密码的终端访问控制***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010496061.7A CN111651788B (zh) 2020-06-03 2020-06-03 一种基于格密码的终端访问控制***及方法

Publications (2)

Publication Number Publication Date
CN111651788A true CN111651788A (zh) 2020-09-11
CN111651788B CN111651788B (zh) 2022-06-10

Family

ID=72347439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010496061.7A Active CN111651788B (zh) 2020-06-03 2020-06-03 一种基于格密码的终端访问控制***及方法

Country Status (1)

Country Link
CN (1) CN111651788B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420883A (zh) * 2021-06-28 2021-09-21 山东浪潮科学研究院有限公司 一种量子编程框架适配量子计算机的方法以设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986576A (zh) * 2014-04-18 2014-08-13 深圳大学 基于格的代理签名方法及***
CN107005414A (zh) * 2014-12-09 2017-08-01 索尼公司 信息处理设备、信息处理方法、程序和信息处理***
CN107743133A (zh) * 2017-11-30 2018-02-27 中国石油大学(北京) 移动终端及其基于可信安全环境的访问控制方法和***
CN108512662A (zh) * 2018-04-12 2018-09-07 上海海事大学 一种格上支持策略隐藏的多机构加密方法
CN110138543A (zh) * 2019-04-24 2019-08-16 西安邮电大学 格公钥密码体制下的盲签密方法
CN110912691A (zh) * 2019-11-15 2020-03-24 任子行网络技术股份有限公司 一种云环境下基于格上访问控制加密算法的密文分发方法、装置、***及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103986576A (zh) * 2014-04-18 2014-08-13 深圳大学 基于格的代理签名方法及***
CN107005414A (zh) * 2014-12-09 2017-08-01 索尼公司 信息处理设备、信息处理方法、程序和信息处理***
CN107743133A (zh) * 2017-11-30 2018-02-27 中国石油大学(北京) 移动终端及其基于可信安全环境的访问控制方法和***
CN108512662A (zh) * 2018-04-12 2018-09-07 上海海事大学 一种格上支持策略隐藏的多机构加密方法
CN110138543A (zh) * 2019-04-24 2019-08-16 西安邮电大学 格公钥密码体制下的盲签密方法
CN110912691A (zh) * 2019-11-15 2020-03-24 任子行网络技术股份有限公司 一种云环境下基于格上访问控制加密算法的密文分发方法、装置、***及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420883A (zh) * 2021-06-28 2021-09-21 山东浪潮科学研究院有限公司 一种量子编程框架适配量子计算机的方法以设备
CN113420883B (zh) * 2021-06-28 2022-11-22 山东浪潮科学研究院有限公司 一种量子编程框架适配量子计算机的方法及设备

Also Published As

Publication number Publication date
CN111651788B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
US10142107B2 (en) Token binding using trust module protected keys
CN102138300B (zh) 消息认证码预计算在安全存储器中的应用
JP5815294B2 (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
US8462955B2 (en) Key protectors based on online keys
CN109831430B (zh) 一种云计算环境下的安全可控高效的数据共享方法及***
US10103888B2 (en) Method of performing keyed-hash message authentication code (HMAC) using multi-party computation without Boolean gates
US11308241B2 (en) Security data generation based upon software unreadable registers
CN101950347B (zh) 一种对数据进行加密的方法和***
CN103546289B (zh) 一种基于USBKey的安全传输数据的方法及***
US8028166B2 (en) Versatile secure and non-secure messaging
US20170063853A1 (en) Data cipher and decipher based on device and data authentication
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN110889123B (zh) 一种认证方法及密钥对的处理方法、装置与可读存储介质
CN110868291B (zh) 一种数据加密传输方法、装置、***及存储介质
WO2020155812A1 (zh) 一种数据存储方法、装置及设备
CN102163267A (zh) 固态硬盘安全访问控制方法、装置和固态硬盘
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
CN111314050A (zh) 一种加解密方法及装置
CN111949999A (zh) 管理数据的设备和方法
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
US8751819B1 (en) Systems and methods for encoding data
WO2021083349A1 (zh) 一种基于安全芯片的安全认证方法与***、安全芯片及可读存储介质
CN111651788B (zh) 一种基于格密码的终端访问控制***及方法
CN114553557B (zh) 密钥调用方法、装置、计算机设备和存储介质
CN100561913C (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
GR01 Patent grant
GR01 Patent grant