[0024] 为使本发明的目的、技术方案和优点更加清楚,下面将对本发明作进一步地详细描述。
[0025] 本发明实施例提供一种密码保险箱,所述保险箱与安全服务器通信连接,所述保险箱包括处理器、控制器、电磁锁、信息存储器、通信器、柜门、把手和蜂鸣器;所述柜体通过铰链与柜门活动连接,所述电磁锁镶嵌在柜体的边框内部,所述蜂鸣器镶嵌在柜门的外表
面上,所述把手通过螺钉固定在柜门的边框上。
[0026] 所述通信器、信息存储器、控制器和蜂鸣器均与所述处理器连接,所述控制器用于控制所述电磁锁的开闭,所述处理器通过所述通信器与所述安全服务器进行通信以获得通
行密码。
[0027] 所述密码保险箱还包括控制面板,所述控制面板上设置有N排密码输入器,每一排密码输入器可以输入一个密码,所述控制面板最多能够获取N个密码,所述密码保险箱通过
比较输入的密码与所述通行密码的关系判断是否开启所述电磁锁。
[0028] 为了实现所述密码保险箱的使用,还配置有多个用户终端,所述用户终端与所述安全服务器通信连接,所述密码保险箱、用户终端和所述安全服务器构成了一个智能安全
控制系统。
[0029] 所述智能安全控制系统中所述安全服务器用于获取通行密码并生成分持密码,将所述通行密码传输至所述密码保险箱,将分持密码传输至用户终端,所述用户终端用于根
据所述分持密码得到输入密码,以便于用户将所述输入密码录入密码保险箱的控制面板。
[0030] 具体地,所述安全服务器在生成通行密码和分持密码之前需要进行配置,配置内容包括:参与开启密码个数α、最低共同开启密码个数β(β<α)、核心参数值ξ和通行密码θ。
[0031] 其中,所述参与开启密码个数α表征了需要生成的分持密码个数,每个用户终端只能够获取一个分持密码。最低共同开启密码个数β表征了开启密码保险箱所需要的输入密
码的个数。核心参数值用于服务器生成各个分持密码。
[0032] 具体地,服务器生成分持密码的方法如图1所示,包括:
[0033] S101.根据所述核心参数值ξ确定参数数据集。
[0034] 具体地,所述参数数据集表示模ξ的ξ个剩余类的集合。
[0035] S102.在所述参数数据集中随机选择β-1个参数at构建代数式
[0036] S103.随机获取α个不同的参数xi,对于每个参数xi均将其带入所述代数式中得到对应的值yi,即生成了α个参数对(xi,yi),其中xi和yi位数均小于
[0037] S104.将参数对(xi,yi)作为分持密码传输至用户终端,每个用户终端获取一个分持密码。
[0038] 具体地,所述用户终端生成输入密码的方法如图2所示,包括:
[0039] S201.获取参数对(xi,yi)。
[0040] S202.根据参数xi得到 位的第一数据串。
[0041] S203.根据参数yi得到 位的第二数据串。
[0042] 具体地,xi,yi的位数不到 则在低位补0。
[0043] S204.拼接第一数据串和第二数据串得到输入密码。
[0044] 对于每个用户终端,其可以显示输入密码以便于用户将输入密码手动录入密码保险箱的控制面板。
[0045] 具体地,所述保险箱的开箱方法如图3所示,包括:
[0046] S301.获取β个输入密码pi,每个输入密码的长度为M。
[0047] 具体地,所述β个输入密码通过控制面板的N(N≥β)排密码器输入,每排密码器只能录入一个输入密码。
[0048] S302.根据每个输入密码pi,得到密码标识对(xi,yi)。
[0049] 具体地,本发明实施例中密码的长度为M,则前 位对应密码xi,后 位对应密码yi。
[0050] S303.获取以(xi,yi)为0点的以x为自变量的第一代数式。
[0051] 具体地,所述代数式可以表示为
[0052] S304.根据所述以x为自变量的第一代数式获取以x为自变量的第二代数式,对于任意x的值,其对应的第二代数式与第一代数式的差值均是核心参数值ξ的倍数。
[0053] S305.获取所述第二代数式中的常数项。
[0054] S306.判断所述常数项是否与通行密码相同。
[0055] 具体地,所述通行密码在密码设定环节由安全服务器通过加密方式传输至密码保险箱,并由所述密码保险箱中的信息存储器存储。
[0056] S307.若相同,则开启电磁锁,否则,启动蜂鸣器。
[0057] 具体地,所述蜂鸣器内置有定时器,所述定时器用于在蜂鸣器启动预设时间后关闭蜂鸣器。
[0058] 进一步地,为了提升密码保险箱与安全服务器交互过程中的安全性,避免通行密码的泄露,本发明实施例对于安全服务器和密码保险箱的通信过程进行全程加密。
[0059] 安全服务器对于通行密码θ的加密过程如图4所示,包括:
[0060] S401.查询密码字典并从所述密码字典获取待抽取密钥集,所述待抽取密钥集与所述通行密码θ没有相同数字;所述密码字典每个密钥长度N相同,所述安全服务器与密码
保险箱共享相同的密码字典。
[0061] S402.从所述待抽取密钥集中随机抽取一个密钥作为当前密钥。
[0062] S403.统计所述通行密码θ中出现频率最高的数字,并得到其出现的具体次数。
[0063] S404.生成预设长度的干扰数字串,所述干扰数字串具有下述特点:所述干扰数字串包括所述当前密钥中的全部数字,并且只包括所述当前密钥中的数字,并且所述干扰数
字串中出现频率最低的数字的出现次数高于通行密码θ中出现频率最高的数字的出现次
数。
[0064] S405.拼接M个当前密钥得到密钥串,并将所述密钥串中的各个数字顺序插入所述通行密码θ之中得到第一数据串。
[0065] S406.将所述第一数据串和所述干扰数字串拼接得到加密数据。
[0066] 相应的,密码保险箱解密方法如图5所示,包括:
[0067] S501.对收到的数据中各个数字的出现频率进行统计;
[0068] S502.提取出现频率最大的N个目标数字;
[0069] S503.在密码字典中查询包括N个目标数字的密钥,得到目标密钥;
[0070] S504.根据所述目标密钥从收到的数据中提取出通行密码θ;
[0071] S505.将通行密码θ存入信息存储器。
[0072] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0073] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0074] 需要说明的是:上述本发明实施例的先后顺序仅仅为了描述,不代表实施例的优劣。
[0075] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读
存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0076] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。