CN106789094A - 基于随机算法与加密算法的动态认证方法 - Google Patents

基于随机算法与加密算法的动态认证方法 Download PDF

Info

Publication number
CN106789094A
CN106789094A CN201710137016.0A CN201710137016A CN106789094A CN 106789094 A CN106789094 A CN 106789094A CN 201710137016 A CN201710137016 A CN 201710137016A CN 106789094 A CN106789094 A CN 106789094A
Authority
CN
China
Prior art keywords
algorithm
code
interface
encrypted
deciphering
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
Application number
CN201710137016.0A
Other languages
English (en)
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.)
Long Shang Technology (shanghai) Co Ltd
Original Assignee
Long Shang Technology (shanghai) Co Ltd
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 Long Shang Technology (shanghai) Co Ltd filed Critical Long Shang Technology (shanghai) Co Ltd
Priority to CN201710137016.0A priority Critical patent/CN106789094A/zh
Publication of CN106789094A publication Critical patent/CN106789094A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种基于随机算法与加密算法的动态认证方法,该算法涉及三个接口,分别是“生成加密码”、“计算解密码”、“验证密码”,其中“生成加密码”接口与“验证密码”接口部署在被加密设备上,“计算解密码”接口部署在解密器上。被加密设备调用“生成加密码”会生成一个由字母和数字组成的字符串,解密设备将该字符串传入“计算解密码”接口,可得到一个新的字符串。该新字符串可被“验证密码”接口验证通过。本发明所述算法具有不绑定某个固定码,如MAC、IMEI、SN等特点。同一设备每次认证,认证码都不相同,不易暴力破解。

Description

基于随机算法与加密算法的动态认证方法
技术领域
本发明涉及计算机加密技术领域,具体的来说涉及一种动态认证的加密方法。
背景技术
业内现有方法一般是依靠IMEI或SN号来生成密码的,一般设备只能用固定密码解锁,不能做到动态密码解锁,无法防止穷举法暴力破解。当密码或算法被破解后,无法通过升级来反破解。
发明内容
本发明所要解决的技术问题在于,克服现有技术中存在的问题,提供一种基于随机算法与加密算法的动态认证方法。
为了解决上述问题本发明的技术方案是这样的:
一种基于随机算法与加密算法的动态认证方法,包括:生成加密码、计算解密码、验证密码三个接口,所述生成加密码接口与验证密码接口部署在被加密设备上,计算解密码接口部署在解密器上;
被加密设备调用生成加密码会生成一个由字母和数字组成的字符串,解密设备将该字符串传入计算解密码接口,可得到一个新的字符串;该新字符串可被验证密码接口验证通过;
在同一被加密设备上,生成加密码接口每次产生的字符串都不相同,解密串也不同;验证密码接口一旦验证失败,则正确密码也会验证失败,只能重新生成加密码。
所述算法在模块中使用过程为,从模块获取加密字符串,然后将该字符串输入另外的解密软件,由解密软件生成一个验证码,最后将该验证码输入模块。
所述生成加密码其算法步骤如下:
1)从已加入算法中随机选择加密算法
2)随机生成原始数据并保存
3)从已选择加密算法中获取一对秘钥并保存
4)使用3中选择的解密算法加密原始数据,并放入结构容器中
5)加密4中容器,生成加密码。
所述计算解密码其算法为生成加密码算法的反过程。
所述验证密码,其算法步骤如下:
1)解密参数,解出结构数据中的加密数据
2)使用保存的秘钥中的私钥解密加密数据,得到原始码
3)与保存的原始码比较,相同则成功,否则失败。
有益效果,本发明所述的方法是一种随机算法与加密算法的动态认证方法,具有不绑定某个固定码,如MAC、IMEI、SN等特点。同一设备每次认证,认证码都不相同,不易暴力破解。认证码本身经过多次不同加密算法的加密,安全性强。主算法中集成多种加密算法,加密时随机选取,降低了算法被破解的几率。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,进一步阐述本发明。
1.算法特点
我们的模块的DIAG口与ADB口是调试端口,权限比较大,考虑到安全问题需要在正式版本中封闭,同时又需要在升级与内部调试时,解封这些端口。而封闭与解封如果只简单的使用一条at命令,则很容易流传出去,达不到封闭效果,而如果简单使用设备IMEI号码或SN号码加解密,一则容易被破解,二则研发同事调试的设备上这些号码是可能不存在的,解密不通用。所以,我们就需要选择一套算法对解封操作进行加密,只有输入正确密码,才能解封。
我们需要算法具备以下特性:
1.不绑定IMEI或SN号
2.同一个设备每次解密时使用的解密码不同
3.算法可以升级,可加入新的加密,
4.加入新算法后,还能兼容旧设备使用旧算法解密
2.算法概述
该算法涉及三个接口,分别是“生成加密码”、“计算解密码”、“验证密码”,其中“生成加密码”接口与“验证密码”接口部署在被加密设备上,“计算解密码”接口部署在解密器上。
被加密设备调用“生成加密码”会生成一个由字母和数字组成的字符串,解密设备将该字符串传入“计算解密码”接口,可得到一个新的字符串。该新字符串可被“验证密码”接口验证通过。
在同一被加密设备上,“生成加密码”接口每次产生的字符串都不相同,所以解密串也不同。“验证密码”接口一旦验证失败,则正确密码也会验证失败,只能重新生成加密码。
3.使用方法
3.1模块上使用方法
算法的使用分为三个步骤,依次是从模块获取加密字符串,然后将该字符串输入另外的解密软件,由解密软件生成一个验证码,最后将该验证码输入模块。假设模块中该加密功能的接口是AT+LSHENCR,则具体操作方法如下。
(1)向模块下发AT+LSHENCR=0命令,模块返回字符串(每次得到的不同)如:D4F6A67EF058E73656750590
(2)在解密软件中输入该字符串,单击解密按钮,生成获取到解密字符串
(3)向模块下发AT+LSHENCR=1,”DF12DA61”
如果解密成功,AT+LSHDIAG=1可正常打开DIAG口,否则不可以。
3.2解密软件LongsungDecryptor管理
LongsungDecryptor软件是基于Windows的一款图形界面软件,其主要功能是将加密码转换成解密码,这个软件是需要保密的,否则模块加密毫无意义。
该软件使用上有如下需求:
1.研发人员在公司使用,在公司网络环境内
2.技术支持工程师在客户现场使用,不在公司网络环境内,可连接vpn,也可能没有网络
3.其他人员通过特殊渠道拿到该软件,将不能正常使用
为满足需求,LongsungDecryptor软件做了如下功能:
1.将LongsungDecryptor软件内部公开,不过加密算法会持续周期性更新,使用人获取到最新版本LongsungDecryptor软件,可解密所有密码。
2.对LongsungDecryptor软件进行限制,使用人需要在公司局域网或APN环境下才能使用,在公司局域网中搭建专用服务器支持。
3.对LongsungDecryptor软件进行限制,如果不在公司局域网环境内,不能使用。
4.在公司环境网络环境内,具有破解功能,破解后,离开网络环境也可使用,但是每次破解只可使用1天。
3.3升级工具集成解密算法
我们知道,如果封闭端口后,一件升级工具需要解封才能升级模块,这样,一件升级工具就需要集成加密算法。但是有个问题,如果算法更新了,旧的一件升级工具就不能对新版本模块升级了。
一件升级工具通过dll方式集成加密算法,如果遇上算法升级的情况,获取最新版本的加密算法dll,替换进去即可。
4.外部接口描述
外部接口是用来移植算法的接口,如将算法加入模块源代码,升级工具调用集成该算法的dll等,都需要调用这些接口。外部接口共有3个,分别是生成加密码,加密码转换成解密码,验证解密码。
4.1生成加密码
接口名称:lsh_crypto_create_string
接口描述:生成加密码。
返回值:枚举类型,0为成功,其他为失败,每个值有各自含义。成功时,生成的加密码由参数1传出。
参数1:char*code,出参,用于存放生成的加密码,由调用者申请与释放空间。
参数2:const unsigned int sz,调用者申请的code的大小。
算法描述:
1.从已加入算法中随机选择加密算法
2.随机生成原始数据并保存
3.从已选择加密算法中获取一对秘钥并保存
4.使用3中选择的解密算法加密原始数据,并放入结构容器中
5.加密4中容器,生成加密码
4.2加密码转换成解密码
接口名称:lsh_crypto_decrypt_string
接口描述:加密码转换成解密码。
返回值:枚举类型,0为成功,其他为失败,每个值有各自含义,成功时,转换的解密码由参数1传出。
参数1:char*decrypted_code,出参,成功时,传出解密码,由调用者申请与释放空间。
参数2:const unsigned int decrypted_code_size,调用者申请的解密码的空间大小。
参数3:const char*raw_code,入参,传入加密码。
参数4:const unsigned int siraw_code_len,传入的加密码的实际长度。
算法描述:
算法4.1的反过程,不再详述。
4.3验证解密码
接口名称:lsh_crypto_verify_string
接口描述:验证解密码。
返回值:枚举类型,0为成功,其他为失败,每个值有各自含义。
参数1:char*code,入参,传入解密码。
参数2:unsigned int len,传入的解密码实际长度。
算法描述:
1.解密参数1,解出结构数据中的加密数据
2.使用4.1中保存的秘钥中的私钥解密加密数据,得到原始码
3.与4.1中保存的原始码比较,相同则成功,否则失败。
5.内部接口描述
内部接口是向算法中添加新的加密算法的接口,包含三个,分别是加密算法、解密算法和获取秘钥。
主算法遵循OC原则,新增的算法只需要实现这三个内部接口,即可加入主算法,已加入的算法之间互不干扰,加密时,主算法会随机挑选已加入的算法进行加密,解密时,主算法也可自动识别所用加密算法,进行解密。
加入的加密算法可以是对称加密算法,也可以是非对称加密算法。对称加密算法只有秘钥,不区分公钥与私钥,适配对称加密算法时,需要将接口5.3中的公钥与私钥同时写入相同的秘钥即可。
5.1加密算法
接口名称:lsh_encryption_algorithm
接口描述:加密算法,使用秘钥,把原始数据加密,生成加密数据。
返回值:枚举类型,0为成功,其他为失败,每个值有各自含义。成功时,加密数据由参数1传出。
参数1:unsigned char*crypto_data,出参,成功时,传出加密数据,由调用者申请与释放空间。
参数2:const unsigned int crypto_data_size,调用者申请的加密数据的空间大小。
参数3:const unsigned char*key,入参,传入秘钥。
参数4:const unsigned int key_len,传入的秘钥的实际长度。
参数5:const unsigned char*raw_data,入参,传入原始数据。
参数6:const unsigned int raw_data_len,传入的原始数据的实际长度。
5.2解密算法
接口名称:lsh_decryption_algorithm
接口描述:解密算法,使用秘钥,把加密数据解密,生成原始数据。
返回值:枚举类型,0为成功,其他为失败,每个值有各自含义。成功时,原始数据由参数1传出。
参数1:unsigned char*crypto_data,出参,成功时,传出原始数据,由调用者申请与释放空间。
参数2:const unsigned int crypto_data_size,调用者申请的解密数据的空间大小。
参数3:const unsigned char*key,入参,传入秘钥。
参数4:const unsigned int key_len,传入的秘钥的实际长度。
参数5:const unsigned char*raw_data,入参,传入加密数据。
参数6:const unsigned int raw_data_len,传入的加密数据的实际长度。
5.3获取秘钥
接口名称:lsh_get_public_and_private_key
接口描述:获取秘钥,同时获取公钥与私钥。
返回值:枚举类型,0为成功,其他为失败,每个值有各自含义。成功时,公钥由参数1传出,私钥由参数3传出。
参数1:unsigned char*public_key,出参,成功时,传出公钥,由调用者申请与释放空间。
参数2:const unsigned intpublic_key_size,调用者申请的公钥的空间大小。
参数3:unsigned char*private_key,出参,成功时,传出私钥,由调用者申请与释放空间。
参数4:const unsigned intprivate_key_size,调用者申请的私钥的空间大小。
参数5:const int additional,附加参数,保留,传0。
6.使用特点及效果
一种随机算法与加密算法的动态认证方法,具有不绑定某个固定码,如MAC、IMEI、SN等,的特点。同一设备每次认证,认证码都不相同,不易暴力破解。认证码本身经过多次不同加密算法的加密,安全性强。主算法中集成多种加密算法,加密时随机选取,降低了算法被破解的几率。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明专利要求保护的范围由所附的权利要求书及其等同物界定。

Claims (5)

1.基于随机算法与加密算法的动态认证方法,其特征是,
包括:生成加密码、计算解密码、验证密码三个接口,所述生成加密码接口与验证密码接口部署在被加密设备上,计算解密码接口部署在解密器上;
被加密设备调用生成加密码会生成一个由字母和数字组成的字符串,解密设备将该字符串传入计算解密码接口,可得到一个新的字符串;该新字符串可被验证密码接口验证通过;
在同一被加密设备上,生成加密码接口每次产生的字符串都不相同,解密串也不同;验证密码接口一旦验证失败,则正确密码也会验证失败,只能重新生成加密码。
2.根据权利要求1所述的基于随机算法与加密算法的动态认证方法,其特征是,所述算法在模块中使用过程为,从模块获取加密字符串,然后将该字符串输入另外的解密软件,由解密软件生成一个验证码,最后将该验证码输入模块。
3.根据权利要求1所述的基于随机算法与加密算法的动态认证方法,其特征是,所述生成加密码其算法步骤如下:
1)从已加入算法中随机选择加密算法
2)随机生成原始数据并保存
3)从已选择加密算法中获取一对秘钥并保存
4)使用3中选择的解密算法加密原始数据,并放入结构容器中
5)加密4中容器,生成加密码。
4.根据权利要求3所述的基于随机算法与加密算法的动态认证方法,其特征是,所述计算解密码其算法为生成加密码算法的反过程。
5.根据权利要求1所述的基于随机算法与加密算法的动态认证方法,其特征是,所述验证密码,其算法步骤如下:
1)解密参数,解出结构数据中的加密数据
2)使用保存的秘钥中的私钥解密加密数据,得到原始码
3)与保存的原始码比较,相同则成功,否则失败。
CN201710137016.0A 2017-03-09 2017-03-09 基于随机算法与加密算法的动态认证方法 Pending CN106789094A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710137016.0A CN106789094A (zh) 2017-03-09 2017-03-09 基于随机算法与加密算法的动态认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710137016.0A CN106789094A (zh) 2017-03-09 2017-03-09 基于随机算法与加密算法的动态认证方法

Publications (1)

Publication Number Publication Date
CN106789094A true CN106789094A (zh) 2017-05-31

Family

ID=58961731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710137016.0A Pending CN106789094A (zh) 2017-03-09 2017-03-09 基于随机算法与加密算法的动态认证方法

Country Status (1)

Country Link
CN (1) CN106789094A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107889104A (zh) * 2017-11-30 2018-04-06 深圳天珑无线科技有限公司 root权限的授权方法及授权系统、存储装置
CN108322462A (zh) * 2018-01-31 2018-07-24 北京车和家信息技术有限公司 一种安全验证的方法、请求安全验证的方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1953366A (zh) * 2006-11-10 2007-04-25 北京飞天诚信科技有限公司 智能密钥装置的密码管理方法和系统
US20090063802A1 (en) * 2006-01-24 2009-03-05 Clevx, Llc Data security system
CN102571327A (zh) * 2010-12-31 2012-07-11 上海格尔软件股份有限公司 一种集中安全管理USBKey解锁密钥的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063802A1 (en) * 2006-01-24 2009-03-05 Clevx, Llc Data security system
CN1953366A (zh) * 2006-11-10 2007-04-25 北京飞天诚信科技有限公司 智能密钥装置的密码管理方法和系统
CN102571327A (zh) * 2010-12-31 2012-07-11 上海格尔软件股份有限公司 一种集中安全管理USBKey解锁密钥的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107889104A (zh) * 2017-11-30 2018-04-06 深圳天珑无线科技有限公司 root权限的授权方法及授权系统、存储装置
CN108322462A (zh) * 2018-01-31 2018-07-24 北京车和家信息技术有限公司 一种安全验证的方法、请求安全验证的方法及相关设备

Similar Documents

Publication Publication Date Title
CN106161402B (zh) 基于云环境的加密机密钥注入系统、方法及装置
CN1808966B (zh) 安全数据处理方法及其系统
CN107766724A (zh) 一种可信计算机平台软件栈功能架构的构建方法
CN101515319B (zh) 密钥处理方法、密钥密码学服务系统和密钥协商方法
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN106656503A (zh) 密钥存储方法、数据加解密方法、电子签名方法及其装置
CN107135070A (zh) Rsa密钥对和证书的注入方法、架构及系统
CN107070660A (zh) 一种区块链加密射频芯片的存储设计方法
CN1954540A (zh) 多协议网络加密系统
CN107104795B (zh) Rsa密钥对和证书的注入方法、架构及系统
CN105306194A (zh) 供加密档案和/或通讯协定的多重加密方法与系统
CN103378971A (zh) 一种数据加密系统及方法
CN104135531B (zh) 一种Web软件的升级方法及装置
CN105978686A (zh) 密钥管理方法及系统
WO2020235942A1 (ko) 분실된 개인 키를 복원하는 시스템
CN107124409A (zh) 一种接入认证方法及装置
CN106789094A (zh) 基于随机算法与加密算法的动态认证方法
Maes et al. Analysis and design of active IC metering schemes
CN1953366B (zh) 智能密钥装置的密码管理方法和系统
CN106599697A (zh) 一种安全升级pci密码卡卡内程序的方法及系统
CN106953917B (zh) 数据同步方法及系统
CN103379103A (zh) 线性与加密解密的硬件实现方法
CN107733936A (zh) 一种移动数据的加密方法
EP3556046B1 (en) Method for secure management of secrets in a hierarchical multi-tenant environment
CN113676446B (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: 20170531