CN113259934A - 一种短信验证码加密方法、解密方法及加解密系统 - Google Patents
一种短信验证码加密方法、解密方法及加解密系统 Download PDFInfo
- Publication number
- CN113259934A CN113259934A CN202110712070.XA CN202110712070A CN113259934A CN 113259934 A CN113259934 A CN 113259934A CN 202110712070 A CN202110712070 A CN 202110712070A CN 113259934 A CN113259934 A CN 113259934A
- Authority
- CN
- China
- Prior art keywords
- encryption
- signature
- short message
- ciphertext
- user identity
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 68
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/3247—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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Abstract
本发明公开了一种短信验证码加密、解密方法及加解密系统。加密方法包括:生成保留格式的加密算法的加密秘钥;采用加密秘钥对短信验证码进行加密;采用用户身份标识ID对应的SM9加密参数对加密秘钥进行加密;用户身份标识ID包括用户手机号和/或用户端设备IMEI号;SM9加密参数为根据用户身份标识ID,采用SM9算法生成的加密参数;采用用户身份标识ID对应的SM9签名参数对加密秘钥密文进行签名;SM9签名参数为根据用户身份标识ID,采用SM9算法生成的签名参数;将短信验证码密文、加密秘钥密文以及秘钥密文签名发送至用户端设备。本发明使用SM9加密算法,没有传统签名方案的证书管理,方案更加简洁。
Description
技术领域
本发明涉及短信验证码加密领域,特别是涉及一种短信验证码加密方法、解密方法及加解密系统。
背景技术
智能手机在人们日常的生活中得到了十分广泛的应用,而且越来越多的用户利用智能手机上网、交易、银行转账和各种各样其他业务。同时,越来越多的网站和应用程序利用短信的方式传递4-8位的数字(或数字和字母的组合)给用户进行登录授权。本发明将这种类型的代码称为短信验证码。作为国内非常通用的一个安全验证手段,越来越多的网站和应用都借助于手机短信验证码来方便用户重置密码(包括登录密码和支付密码),更甚者,短信验证码在很多时候都被作为安全支付的有效手段,一旦被窃取,很可能将会给用户带来较为严重的经济损失。当前,截取及窃取智能手机中的短信验证码的恶意软件层出不穷,很多手机应用可能会捆绑携带这类恶意软件,这使得用户在不知不觉间就会被窃取短信验证码信息。在安卓4.4版本(KitKat)之前,恶意应用程序可以拦截手机短信,并检索其中是否包含所需窃取的验证码信息。然后在不通知用户的情况下,偷偷地阻止这条短信被安卓系统的短信应用所接受。然而,从安卓4.4版本开始,谷歌为了防止这类恶意行为的发生,对安卓短信机制进行了改变。然而,恶意应用程序仍然可以通过注册短信广播权限或者注册短信数据库查询权限,获取到短信内容。这些恶意应用会通过各种各样的诱导令用户同意授予它们相关的权限,从而窃取短信验证码,给用户造成巨大的损失。
当前有两种保护方法,一种是使用加密的方法,目前传统的短信验证码加密方法都是建立在基于证书的公钥密码体制的基础上,但是将基于证书的公钥密码应用在移动网络环境中会出现很多问题。例如,移动设备需要大量的存储空间来存储用户的数字证书,并且在用户通信时还需要大量的计算来验证数字证书。随着移动网络用户的增加,移动设备和无线网络必将面临巨大的压力。因此,在基于证书的公钥密码体制上设计短信验证码加密方法显然是存在着弊端。另一种是使用隐私保护算法。例如,TISSA(TamingInformation-Stealing Smartphone Applications)可以提供空值或虚假值来代替实际数据,避免真实的隐私数据泄漏(包括短信验证码)。但是,TISSA是在安卓早期的Dalvik虚拟机上实现的系统,无法直接移植到现在主流的安卓ART虚拟机上,这无疑限制了它的推广应用。SecureSMS(Secure Short Message Service)是另一个用来保护用户短信的系统。它通过更改安卓广播发送短信广播给相关应用的广播顺序来保证系统应用能够优先获取短信内容。当短信到来时,SecureSMS首先检索短信内容,如果是敏感信息,则停止短信广播继续发送给其他应用,以防止恶意应用程序获取这些敏感信息。但这在某些情况下可能会导致兼容性问题,致使某些依赖于收到短信的良性应用程序都将无法正常工作。此外,从安卓4.4版本开始,短信广播机制发生了变化,所有注册了短信广播的应用,都会收到短信广播,且无法被截断。
发明内容
本发明的目的是提供一种系统复杂性低的短信验证码加密方法、解密方法及加解密系统。
为实现上述目的,本发明提供了如下方案:
一种短信验证码加密方法,包括:
生成保留格式的加密算法的加密秘钥;
采用所述加密秘钥对短信验证码进行加密,得到短信验证码密文;
采用用户身份标识ID对应的SM9加密参数对所述加密秘钥进行加密,得到加密秘钥密文;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;
采用所述用户身份标识ID对应的SM9签名参数对所述加密秘钥密文进行签名,得到秘钥密文签名;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;
将所述短信验证码密文、所述加密秘钥密文以及所述秘钥密文签名发送至用户端设备。
可选的,在所述采用所述用户身份标识ID对应的加密参数对所述加密秘钥进行加密之前,还包括:
根据所述用户身份标识ID生成SM9加密参数和SM9签名参数。
可选的,所述保留格式的加密算法为FF3加密算法。
本发明还提供了一种短信验证码解密方法,包括:
根据用户身份标识ID对应的SM9签名参数对秘钥密文签名进行验证;
当所述验证通过时,根据用户身份标识ID对应的SM9加密参数对加密秘钥密文进行解密,得到加密秘钥;
采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码;
所述用户身份标识ID、所述加密秘钥密文以及所述短信验证码密文来自用户端设备;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;所述秘钥密文签名为根据所述SM9签名参数对加密秘钥密文进行签名得到的签名;所述加密秘钥密文为根据所述SM9加密参数对加密秘钥进行加密得到的密文;所述加密秘钥为保留格式的加密算法的加密秘钥。
可选的,所述根据用户身份标识ID对应的加密参数对加密秘钥密文进行解密,得到加密秘钥步骤,以及所述采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码步骤,由用户端设备执行。
本发明还提供了一种短信验证码加解密系统,包括:秘钥分发中心,所述秘钥分发中心包括:加密模块和解密模块;
所述加密模块用于:
生成保留格式的加密算法的加密秘钥;
采用所述加密秘钥对短信验证码进行加密,得到短信验证码密文;
采用用户身份标识ID对应的SM9加密参数对所述加密秘钥进行加密,得到加密秘钥密文;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;
采用所述用户身份标识ID对应的SM9签名参数对所述加密秘钥密文进行签名,得到秘钥密文签名;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;
将所述短信验证码密文、所述加密秘钥密文以及所述秘钥密文签名发送至用户端设备;
所述解密模块用于:
根据用户身份标识ID对应的SM9签名参数对秘钥密文签名进行验证;
当所述验证通过时,根据用户身份标识ID对应的SM9加密参数对加密秘钥密文进行解密,得到加密秘钥;
采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码;
所述用户身份标识ID、所述加密秘钥密文以及所述短信验证码密文来自用户端设备;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;所述秘钥密文签名为根据所述SM9签名参数对加密秘钥密文进行签名得到的签名;所述加密秘钥密文为根据所述SM9加密参数对加密秘钥进行加密得到的密文;所述加密秘钥为保留格式的加密算法的加密秘钥。
可选的,所述秘钥分发中心还包括:参数生成模块,所述参数生成模块用于根据所述用户身份标识ID生成SM9加密参数和SM9签名参数。
可选的,所述保留格式的加密算法为FF3加密算法。
根据本发明提供的具体实施例,公开了以下技术效果:本发明实施例采用保留格式的加密算法对短信验证码进行加密,加密后验证码长度和形式都没有改变,避免了密文过长短信不能发送的问题。采用国密SM9加密算法加密保留格式的加密密钥,保证其在传输过程的安全性,由于SM9算法是基于身份的密码体制,无需对公钥进行认证,降低系统的复杂性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中参数生成流程图;
图2为本发明实施例中短信验证码的加密方法流程示意图;
图3为本发明实施例中加密签名流程图;
图4为本发明实施例中短信验证码的解密方法流程示意图;
图5为本发明实施例中验证解密流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种系统复杂性低的短信验证码加密方法、解密方法及加解密系统。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供了一种短信验证码加密方法,该方法包括加密步骤和解密步骤。当用户端设备选择发送验证码后,本实施例提供的短信验证码加解密系统执行上述加密步骤对短信验证码进行加密,经加密后的短信验证码密文以及其他相关参数发送至用户端设备,用户端设备在接收到上述短信验证码密文和其他相关参数后,将上述短信验证码密文和其他相关参数发送至本实施例提供的短信验证码加解密系统,该系统执行上述解密步骤实现对上述短信验证码密文的解密,最终将解密后的短信验证码发送至用户端设备。
下面对加密步骤进行详细介绍
本发明实施例的加密步骤主要基于保留格式的加密算法、SM9算法进行,其中,主要涉及基于保留格式的加密算法生成的加密秘钥以及基于SM9算法生成的SM9加密参数和SM9签名参数。
在一个示例中,参见图1,通过用户的注册,短信验证码加解密系统实现用户设备端对应的SM9加密参数和SM9签名参数的生成。具体可以通过以下方式实现:
在用户在用户端设备,如手机上,填写手机号点击注册,发送填写的手机号P和Android手机IMEI号到服务器并作为用户身份标识ID来生成SM9签名参数和加密参数。具体步骤如下:
(1)首先创建2个表:SM9签名表和SM9加密表。SM9签名表以手机号P为主键,表中除主键外包括SM9签名参数Ppub-s、dSA。SM9加密表以IMEI为主键,表中除主键外包括SM9加密参数Ppub-e、hid以及加密私钥deB。
(2)初始化SM9算法参数,参数如下:椭圆曲线类型、椭圆曲线的参数相关参数(q,r,b,beta,alpha1,alph1)、阶为素数N的乘法循环群GT、2个阶为素数N的加法循环群(G1和G2)、群G1的生成元P1和群G2的生成元P2、基于SM3实现的密码杂凑函数Hv()、由Hv()派生出来的2个密码杂凑函数H1()和H2()、消息认证码函数MAC(K2,Z),K=Hv(Z||K2)、密钥派生函数KDF()、分组密码算法包括加密算法Enc(K1,m)以及解密算法Dec(K1,m)。
(3)生成SM9签名主密钥和用户签名密钥,具体步骤如下:a、生成SM9签名主密钥,产生随机数ks∈[1,N-1]作为签名主私钥,计算G2中元素Ppub-s=[ks]P2作为签名主公钥,签名主密钥对为(ks,Ppub-s),秘密保存ks,公开Ppub-s;b、根据手机号P来生成用户签名密钥,选择并公开用一个字节表示的签名私钥生成函数识别符hid,在有限域FN上计算t1=H1(P||hid,N)+ks若t1=0则需要重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥,否则计算t2=ks·t1 -1modN,然后计算签名私钥dSA=[t2]P1;c、根据手机号P查询SM9签名表,将Ppub-s、hid以及dSA存入数据库中。
(4)根据Android手机IMEI号生成SM9系统加密主密钥和用户加密密钥。具体步骤如下:a、生成SM9加密主密钥,产生随机数ke∈[1,N-1]作为签名主私钥,计算G1中元素Ppub-e=[ke]P1作为签名主公钥,签名主密钥对为(ke,Ppub-e),秘密保存ke,公开Ppub-e;b、根据Android手机IMEI号来生成用户加密密钥,选择并公开用一个字节表示的签名私钥生成函数识别符hid,在有限域FN上计算t1=H1(IMEI||hid,N)+ke,若t1=0则需重新产生加密主私钥,计算和公开加密主公钥,并更新已有用户的加密私钥;否则计算t2=ke·t1 -1,然后计算deB=[t2]P2;c、根据Android手机IMEI查询SM9加密表,将Ppub-e、hid以及加密私钥deB存入数据库。
参见图2,当用户端设备需要获取验证码时,需要填写手机号,点击发送验证码,本实施例提供的短信验证码加解密系统响应于上述操作,执行以下步骤:
步骤11:生成保留格式的加密算法的加密秘钥。
步骤12:采用所述加密秘钥对短信验证码进行加密,得到短信验证码密文。
步骤13:采用用户身份标识ID对应的SM9加密参数对所述加密秘钥进行加密,得到加密秘钥密文;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数。
步骤14:采用所述用户身份标识ID对应的SM9签名参数对所述加密秘钥密文进行签名,得到秘钥密文签名;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数。
步骤15:将所述短信验证码密文、所述加密秘钥密文以及所述秘钥密文签名发送至用户端设备。
其中,步骤11和步骤12具体可以通过以下方式实现:
参见图3,生成保留格式加密算法FF3加密密钥,FF3算法加密密钥就是123bitAES加密算法的加密密钥k。随机生成验证码,并使用FF3加密密钥对验证码X进行加密,输入为验证码X,长度为n,调整字符串T长度为64,输出为加密后的字符串Y,长度为n,具体步骤如下:
[x]s将x表示为s字节字符串,例如[1]1=00000001;NUMradix(x)将radix进制的字符串x转化为10进制数字,例如NUM5(00011010)=755;REV(X)将字符串进行反转,例如REV(13579)=97531;CIPHk(x)使用AES加密算法密钥k对x进行加密;REVB(x)将x的bit串进行反转;NUM(X)将2进制的字符串x转化为10进制数字;将10进制x转化为radix进制m个数字,例如
步骤13具体可以通过以下方式实现:
利用IMEI查询SM9加密表得到Ppub-e、hid对FF3算法加密密钥k进行加密,具体步骤如下:
(1)计算QB=[H1(IMEI||hid,N)]P1+Ppub-e。
(2)产生随机数r∈[1,N-1]。
(3)计算群G1中的元素C1=[r]QB,将C1的数据类型转换为比特串。
(4)计算群GT中的元素g=e(Ppub-e,P2)。
(5)计算群GT中的元素w=gr,按将w的数据类型转换为比特串。
(6)计算整数klen=K1_len+K2_len,然后计算K=KDF(C1||w||IDB,klen)。令K1为K最左边的K1_len比特,K2为剩下的K2_len比特,若K1为全0比特串,则返回(2),计算C2=Enc(K1,k)。
(7)计算C3=MAC(K2,C2),输出密文C=C1||C3||C2。
步骤14具体可以通过以下方式实现:
利用手机号P查询SM9签名表得到Ppub-s、hid、dSA对SM9加密后的保留格式加密密钥C进行签名,具体步骤如下:
(1)计算群GT中的元素g=e(P1,Ppub-s)。(2)产生随机数r∈[1,N-1]。(3)计算群GT中的元素w=gr,将w的数据类型转换为比特串。(4)计算整数h=H2(C||w,N)。(5)计算整数l=(r-h)modN,若l=0则返回(2)。(6)计算群G1中的元素S=[l]dSA,则消息C的签名为(h,S)。(7)保留格式加密FF3密钥密文的数字签名(h,S)、保留格式加密FF3密钥密文C用于发送到手机端。
下面对解密步骤进行详细介绍
参见图4,短信验证码加解密系统执行的解密步骤主要如下:
步骤21:根据用户身份标识ID对应的SM9签名参数对秘钥密文签名进行验证;
步骤22:当所述验证通过时,根据用户身份标识ID对应的SM9加密参数对加密秘钥密文进行解密,得到加密秘钥;
步骤23:采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码;
其中,所述用户身份标识ID、所述加密秘钥密文以及所述短信验证码密文来自用户端设备;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;所述秘钥密文签名为根据所述SM9签名参数对加密秘钥密文进行签名得到的签名;所述加密秘钥密文为根据所述SM9加密参数对加密秘钥进行加密得到的密文;所述加密秘钥为保留格式的加密算法的加密秘钥。
步骤21的验证过程具体可以如下:
参见图5,手机端接收后,将手机号P、保留格式加密FF3密钥密文的数字签名(h′,S′)、保留格式加密FF3密钥密文C′发送到接收方发送到本实施例提供的短信验证码加解密系统。该系统利用手机号P查询SM9签名表得到Ppub-s和hid,验证步骤如下:
(1)检验h′∈[1,N-1]是否成立,若不成立则验证不通过。(2)将S′的数据类型转化为椭圆曲线上的点,检验S′∈G1是否成立,若不成立则验证不通过。(3)计算群GT中的元素g=e(P1,Ppub-s)。(4)计算群GT中元素t=gh′。(5)计算整数h1=H1(P||hid,N)。(6)计算群G2中的元素Q=[h1]P2+Ppub-s。(7)计算群GT中的元素u=e(S′,Q)。(8)计算群GT中的元素w′=u·t,将w′的数据类型转化为比特串。(9)计算整数h2=H2(M′||w′,N),检验h2=h′是否成立,若成立则验证通过,否则验证不通过。
验证通过后,解密的步骤22和步骤23也可以由用户端设备执行,短信验证码加解密系统将加密后的保留格式加密FF3密钥密文C、加密后的验证码Y发送到用户端设备,手机端上。
手机端接收后,解密SM4加密密钥密文C,将保留格式加密FF3密钥密文C、加密后的验证码Y、IMEI号发送到服务器,根据IMEI查询SM9加密表deB,然后对保留格式加密FF3密钥密文C进行解密,其步骤如下:
(1)从C中取出比特串C1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,若不成立则报错并退出。(2)计算群GT中的元素w′=e(C1,deB),将w′的数据类型转换为比特串。(3)计算整数klen=K1_len+K2_len,然后计算K′=KDF(C1||w′||IDB,klen)。令K′1为K′最左边的K1_len比特,K2′为剩下的K2_len比特,若K1′为全0比特串,则报错并推出,计算C′=Dec(K1′,C2)。(4)计算u=MAC(K2′,C2),从C中取出比特串C3,若u≠C3,则报错并退出。(5)输出明文C′。
利用解密后的保留格式加密FF3密钥C′对加密的验证码Y进行解密,输入为加密验证码Y,长度为n,调整字符串T长度为64,输出为解密后的验证码X,长度为n,具体步骤如下:
最后将验证码X发送到手机端,并在手机端验证码输入框自动显示。
本发明的有益效果是:短信内容长度有限制,而保留格式加密技术使得验证码长度和形式没有变化,同时加密算法使用的是SM9加密算法,没有传统签名方案的证书管理,使得方案更加简洁。
与上述加密方法、解密方法相对应,本发明实施例还提供了一种短信验证码加解密系统。该系统包括:秘钥分发中心,该秘钥分发中心包括:加密模块和解密模块。
其中,上述加密模块用于:
生成保留格式的加密算法(比如加密算法为FF3加密算法)的加密秘钥。采用所述加密秘钥对短信验证码进行加密,得到短信验证码密文。采用用户身份标识ID对应的SM9加密参数对所述加密秘钥进行加密,得到加密秘钥密文;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数。采用所述用户身份标识ID对应的SM9签名参数对所述加密秘钥密文进行签名,得到秘钥密文签名;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数。将所述短信验证码密文、所述加密秘钥密文以及所述秘钥密文签名发送至用户端设备。
上述解密模块用于:
根据用户身份标识ID对应的SM9签名参数对秘钥密文签名进行验证。当所述验证通过时,根据用户身份标识ID对应的SM9加密参数对加密秘钥密文进行解密,得到加密秘钥。采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码。
其中,所述用户身份标识ID、所述加密秘钥密文以及所述短信验证码密文来自用户端设备;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;所述秘钥密文签名为根据所述SM9签名参数对加密秘钥密文进行签名得到的签名;所述加密秘钥密文为根据所述SM9加密参数对加密秘钥进行加密得到的密文;所述加密秘钥为保留格式的加密算法的加密秘钥。
在一个示例中,上述秘钥分发中心还包括:参数生成模块,所述参数生成模块用于根据所述用户身份标识ID生成SM9加密参数和SM9签名参数。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种短信验证码加密方法,其特征在于,包括:
生成保留格式的加密算法的加密秘钥;
采用所述加密秘钥对短信验证码进行加密,得到短信验证码密文;
采用用户身份标识ID对应的SM9加密参数对所述加密秘钥进行加密,得到加密秘钥密文;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;
采用所述用户身份标识ID对应的SM9签名参数对所述加密秘钥密文进行签名,得到秘钥密文签名;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;
将所述短信验证码密文、所述加密秘钥密文以及所述秘钥密文签名发送至用户端设备。
2.根据权利要求1所述的短信验证码透明加密方法,其特征在于,在所述采用所述用户身份标识ID对应的加密参数对所述加密秘钥进行加密之前,还包括:
根据所述用户身份标识ID生成SM9加密参数和SM9签名参数。
3.根据权利要求1所述的短信验证码透明加密方法,其特征在于,所述保留格式的加密算法为FF3加密算法。
4.一种短信验证码解密方法,其特征在于,包括:
根据用户身份标识ID对应的SM9签名参数对秘钥密文签名进行验证;
当所述验证通过时,根据用户身份标识ID对应的SM9加密参数对加密秘钥密文进行解密,得到加密秘钥;
采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码;
所述用户身份标识ID、所述加密秘钥密文以及所述短信验证码密文来自用户端设备;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;所述秘钥密文签名为根据所述SM9签名参数对加密秘钥密文进行签名得到的签名;所述加密秘钥密文为根据所述SM9加密参数对加密秘钥进行加密得到的密文;所述加密秘钥为保留格式的加密算法的加密秘钥。
5.根据权利要求4所述的短信验证码解密方法,其特征在于,所述根据用户身份标识ID对应的加密参数对加密秘钥密文进行解密,得到加密秘钥步骤,以及所述采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码步骤,由用户端设备执行。
6.一种短信验证码加解密系统,其特征在于,包括:秘钥分发中心,所述秘钥分发中心包括:加密模块和解密模块;
所述加密模块用于:
生成保留格式的加密算法的加密秘钥;
采用所述加密秘钥对短信验证码进行加密,得到短信验证码密文;
采用用户身份标识ID对应的SM9加密参数对所述加密秘钥进行加密,得到加密秘钥密文;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;
采用所述用户身份标识ID对应的SM9签名参数对所述加密秘钥密文进行签名,得到秘钥密文签名;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;
将所述短信验证码密文、所述加密秘钥密文以及所述秘钥密文签名发送至用户端设备;
所述解密模块用于:
根据用户身份标识ID对应的SM9签名参数对秘钥密文签名进行验证;
当所述验证通过时,根据用户身份标识ID对应的SM9加密参数对加密秘钥密文进行解密,得到加密秘钥;
采用所述加密秘钥对短信验证码密文进行解密,得到短信验证码;
所述用户身份标识ID、所述加密秘钥密文以及所述短信验证码密文来自用户端设备;所述用户身份标识ID包括用户手机号和/或用户端设备IMEI号;所述SM9签名参数为根据所述用户身份标识ID,采用SM9算法生成的签名参数;所述SM9加密参数为根据所述用户身份标识ID,采用SM9算法生成的加密参数;所述秘钥密文签名为根据所述SM9签名参数对加密秘钥密文进行签名得到的签名;所述加密秘钥密文为根据所述SM9加密参数对加密秘钥进行加密得到的密文;所述加密秘钥为保留格式的加密算法的加密秘钥。
7.根据权利要求6所述的短信验证码加解密系统,其特征在于,所述秘钥分发中心还包括:参数生成模块,所述参数生成模块用于根据所述用户身份标识ID生成SM9加密参数和SM9签名参数。
8.根据权利要求6所述的短信验证码加解密系统,其特征在于,所述保留格式的加密算法为FF3加密算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712070.XA CN113259934A (zh) | 2021-06-25 | 2021-06-25 | 一种短信验证码加密方法、解密方法及加解密系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712070.XA CN113259934A (zh) | 2021-06-25 | 2021-06-25 | 一种短信验证码加密方法、解密方法及加解密系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113259934A true CN113259934A (zh) | 2021-08-13 |
Family
ID=77189726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110712070.XA Pending CN113259934A (zh) | 2021-06-25 | 2021-06-25 | 一种短信验证码加密方法、解密方法及加解密系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259934A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611811A (zh) * | 2012-04-13 | 2012-07-25 | 北京大学 | 交互式语音应答系统和方法 |
CN105959098A (zh) * | 2016-04-28 | 2016-09-21 | 东港股份有限公司 | 基于多分割Feistel网络的保留格式加密算法 |
CN106779705A (zh) * | 2016-12-08 | 2017-05-31 | 上海众人网络安全技术有限公司 | 一种动态支付方法及系统 |
CN108769027A (zh) * | 2018-05-31 | 2018-11-06 | 深圳壹账通智能科技有限公司 | 安全通信方法、装置、移动终端和存储介质 |
CN109600725A (zh) * | 2019-01-04 | 2019-04-09 | 广东安创信息科技开发有限公司 | 一种基于sm9算法的短信加密方法 |
CN110795762A (zh) * | 2019-10-30 | 2020-02-14 | 贵州大学 | 基于流密码的保留格式加密方法 |
CN111586049A (zh) * | 2020-05-08 | 2020-08-25 | 国网电子商务有限公司 | 一种针对移动互联网的轻量级密钥认证方法及装置 |
CN111783112A (zh) * | 2020-06-09 | 2020-10-16 | 北京三未信安科技发展有限公司 | 一种保留格式加密的快速实现方法、系统、介质及设备 |
CN112532648A (zh) * | 2020-12-11 | 2021-03-19 | 中电科大数据研究院有限公司 | 一种基于混合密码体制的安全访问方法及系统 |
CN112597480A (zh) * | 2020-12-28 | 2021-04-02 | 北京炼石网络技术有限公司 | 一种可扩展的格式保留加密方法的实现方式 |
CN112688784A (zh) * | 2020-12-23 | 2021-04-20 | 安徽中科美络信息技术有限公司 | 一种数字签名、验证方法、装置及系统 |
CN112822014A (zh) * | 2021-04-22 | 2021-05-18 | 北京信安世纪科技股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112994874A (zh) * | 2021-04-19 | 2021-06-18 | 工业信息安全(四川)创新中心有限公司 | 一种基于消息鉴别码算法的保留格式加密方法及解密方法 |
-
2021
- 2021-06-25 CN CN202110712070.XA patent/CN113259934A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611811A (zh) * | 2012-04-13 | 2012-07-25 | 北京大学 | 交互式语音应答系统和方法 |
CN105959098A (zh) * | 2016-04-28 | 2016-09-21 | 东港股份有限公司 | 基于多分割Feistel网络的保留格式加密算法 |
CN106779705A (zh) * | 2016-12-08 | 2017-05-31 | 上海众人网络安全技术有限公司 | 一种动态支付方法及系统 |
CN108769027A (zh) * | 2018-05-31 | 2018-11-06 | 深圳壹账通智能科技有限公司 | 安全通信方法、装置、移动终端和存储介质 |
CN109600725A (zh) * | 2019-01-04 | 2019-04-09 | 广东安创信息科技开发有限公司 | 一种基于sm9算法的短信加密方法 |
CN110795762A (zh) * | 2019-10-30 | 2020-02-14 | 贵州大学 | 基于流密码的保留格式加密方法 |
CN111586049A (zh) * | 2020-05-08 | 2020-08-25 | 国网电子商务有限公司 | 一种针对移动互联网的轻量级密钥认证方法及装置 |
CN111783112A (zh) * | 2020-06-09 | 2020-10-16 | 北京三未信安科技发展有限公司 | 一种保留格式加密的快速实现方法、系统、介质及设备 |
CN112532648A (zh) * | 2020-12-11 | 2021-03-19 | 中电科大数据研究院有限公司 | 一种基于混合密码体制的安全访问方法及系统 |
CN112688784A (zh) * | 2020-12-23 | 2021-04-20 | 安徽中科美络信息技术有限公司 | 一种数字签名、验证方法、装置及系统 |
CN112597480A (zh) * | 2020-12-28 | 2021-04-02 | 北京炼石网络技术有限公司 | 一种可扩展的格式保留加密方法的实现方式 |
CN112994874A (zh) * | 2021-04-19 | 2021-06-18 | 工业信息安全(四川)创新中心有限公司 | 一种基于消息鉴别码算法的保留格式加密方法及解密方法 |
CN112822014A (zh) * | 2021-04-22 | 2021-05-18 | 北京信安世纪科技股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
国家市场监督管理总局 国家标准化管理委员会: "信息安全技术 SM9标识密码算法第2部分:算法", 《中华人民共和国国家标准 GB/T 38635.2—2020》 * |
李敏等: "敏感信息的保留格式加密模型", 《南开大学学报(自然科学版)》 * |
李明禄: "《英汉云计算.物联网.大数据简明词典》", 31 December 2017 * |
袁峰,程朝辉: "SM9标识密码算法综述", 《信息安全研究》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101789865B (zh) | 一种用于加密的专用服务器及加密方法 | |
CN107395368B (zh) | 无介质环境中的数字签名方法及解封装方法与解密方法 | |
CN106789042A (zh) | Ibc域内的用户访问pki域内的资源的认证密钥协商方法 | |
CN107425971B (zh) | 无证书的数据加/解密方法和装置、终端 | |
CN101720071A (zh) | 基于安全sim卡的短消息两阶段加密传输和安全存储方法 | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN103138938A (zh) | 基于csp的sm2证书申请及应用方法 | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和系统 | |
CN113285959A (zh) | 一种邮件加密方法、解密方法及加解密系统 | |
US20230188325A1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN108696518B (zh) | 区块链上用户通信加密方法、装置、终端设备及存储介质 | |
CN109873699A (zh) | 一种可撤销的身份公钥加密方法 | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN107249002B (zh) | 一种提高智能电能表安全性的方法、系统及装置 | |
NL1043779B1 (en) | Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge | |
KR101793528B1 (ko) | 무인증서 공개키 암호 시스템 | |
CN112019351B (zh) | 基于SDKey的移动终端信息交互方法 | |
Somaiya et al. | Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed | |
CN114866244A (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
CN106211108A (zh) | 一种基于rsa公钥的短信加密方法 | |
CN114401102A (zh) | 一种基于国密算法的http请求参数加密方案 | |
CN113259934A (zh) | 一种短信验证码加密方法、解密方法及加解密系统 | |
CN112565206A (zh) | 一种充电桩信息安全防护方法及防护系统 | |
KR101388452B1 (ko) | 인증서 전송 서버를 이용하는 일회용 공개 정보 기반 이동 단말기로의 인증서 이동 방법 및 이를 이용한 장치 | |
CN212727433U (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: 20210813 |