CN106789094A - 基于随机算法与加密算法的动态认证方法 - Google Patents
基于随机算法与加密算法的动态认证方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3228—One-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic 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)与保存的原始码比较,相同则成功,否则失败。
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)
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)
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解锁密钥的方法 |
-
2017
- 2017-03-09 CN CN201710137016.0A patent/CN106789094A/zh active Pending
Patent Citations (3)
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)
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 |