CN108712382B - 一种基于安全二维码的数字身份的认证方法以及系统 - Google Patents
一种基于安全二维码的数字身份的认证方法以及系统 Download PDFInfo
- Publication number
- CN108712382B CN108712382B CN201810342552.9A CN201810342552A CN108712382B CN 108712382 B CN108712382 B CN 108712382B CN 201810342552 A CN201810342552 A CN 201810342552A CN 108712382 B CN108712382 B CN 108712382B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- identity authentication
- party application
- information
- encrypted
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于安全二维码的数字身份的认证方法,第三方应用发起授权登录请求;身份认证SDK从服务端获取一会话密钥;身份认证SDK通过会话密钥将第三方应用信息进行加密,并将该加密后的信息以及授权登录请求发送至服务端;服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过密钥进行加密,身份认证SDK获取加密后的二维码url;身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;用户扫描二维码,进行认证,授权第三方应用登录;本发明还提供一种基于安全二维码的数字身份的认证系统,保证授权过程安全,第三方应用安全登录。
Description
技术领域
本发明涉及一种基于安全二维码的数字身份的认证方法以及系统。
背景技术
随着信息技术发展,互联网身份授权的使用越来越频繁,主流互联网应用都提供第三方登录入口,例如CSDN可使用QQ、微信授权登录等。
目前常见的身份认证账号加密码缺点:容易被获取被键盘记录等方式获取;刮刮卡验证缺点:使用嗅探监听软件可以获取获取静态静态码的位置数据和内容,多次截获,即可完整的获取整个刮刮卡的静态密码、图形验证码缺点:使用OCR技术同样可以获取图形验证码的内容、软证书缺点攻击者可以使用木马病毒的工具窃取用户的软证书;短信验证码缺点:手机验证码可以被短信劫持工具截获,甚至用户手机端不会显示短信,就直接发到攻击者手机中,攻击者轻而易举的窃取资金。
发明内容
本发明要解决的技术问题,在于提供一种基于安全二维码的数字身份的认证方法以及系统,通过集成“身份认证SDK”来实现身份服务和第三方之间应用交互,通过安全二维码来实现授权登录。
本发明之一是这样实现的:一种基于安全二维码的数字身份的认证方法,包括:
步骤1、第三方应用发起授权登录请求;
步骤2、身份认证SDK从服务端获取一会话密钥;
步骤3、身份认证SDK通过会话密钥将第三方应用信息进行加密,并将该加密后的信息以及授权登录请求发送至服务端;
步骤4、服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过会话密钥进行加密,身份认证SDK获取加密后的二维码url;
步骤5、身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;
步骤6、用户扫描二维码,进行认证,授权第三方应用登录。
进一步地,所述步骤6进一步具体为:用户扫描二维码,从服务端获取终端公钥以及工作密钥,通过终端公钥对二维码进行解码得到二维码信息,将二维码信息使用工作密钥进行加密并发送至服务端,服务端使用终端公钥对所接收的加密二维码信息解密并验证,验证通过之后生成用户accessToken,返回加密后的accessToken数据密文至第三方应用;第三方应用通过身份认证SDK进行解密得到用户accessToken,身份认证SDK采用accessToken向服务端获取用户信息,服务端使用工作密钥加密用户信息并返回数据密文至身份认证SDK,身份认证SDK使用终端公钥解密数据密文获取用户信息,并发送至第三方应用,第三方应用进行登录。
本发明之二是这样实现的:一种基于安全二维码的数字身份的认证系统,包括:
请求模块,第三方应用发起授权登录请求;
获取密钥模块,身份认证SDK从服务端获取一会话密钥;
发送信息模块,身份认证SDK通过会话密钥将第三方应用信息进行加密,并将该加密后的信息以及授权登录请求发送至服务端;
生码模块,服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过会话密钥进行加密,身份认证SDK获取加密后的二维码url;
跳转模块,身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;
登录模块,用户扫描二维码,进行认证,授权第三方应用登录。
进一步地,所述登录模块进一步具体为:用户扫描二维码,从服务端获取终端公钥以及工作密钥,通过终端公钥对二维码进行解码得到二维码信息,将二维码信息使用工作密钥进行加密并发送至服务端,服务端使用终端公钥对所接收的加密二维码信息解密并验证,验证通过之后生成用户accessToken,返回加密后的accessToken数据密文至第三方应用;第三方应用通过身份认证SDK进行解密得到用户accessToken,身份认证SDK采用accessToken向服务端获取用户信息,服务端使用工作密钥加密用户信息并返回数据密文至身份认证SDK,身份认证SDK使用终端公钥解密数据密文获取用户信息,并发送至第三方应用,第三方应用进行登录。
本发明具有如下优点:通过集成“身份认证SDK”来实现服务端和第三方之间应用交互,通过安全二维码来实现授权登录,防止数据泄露,保证登录安全。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
图2为本发明第三方获取唯一安全二维码信息时序图。
图3为本发明扫描二维码信息实现用户授权登录时序图。
具体实施方式
如图1、图2和图3所示,本发明基于安全二维码的数字身份的认证方法,包括:
步骤1、第三方应用发起授权登录请求;
步骤2、身份认证SDK从服务端获取一会话密钥;
步骤3、身份认证SDK通过会话密钥将第三方应用信息进行加密,并将该加密后的信息以及授权登录请求发送至服务端;
步骤4、服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过会话密钥进行加密,身份认证SDK获取加密后的二维码url;
步骤5、身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;
步骤6、用户扫描二维码,从服务端获取终端公钥以及工作密钥,通过终端公钥对二维码进行解码得到二维码信息,将二维码信息使用工作密钥进行加密并发送至服务端,服务端使用终端公钥对所接收的加密二维码信息解密并验证,验证通过之后生成用户accessToken,返回加密后的accessToken数据密文至第三方应用;第三方应用通过身份认证SDK进行解密得到用户accessToken,身份认证SDK采用accessToken向服务端获取用户信息,服务端使用工作密钥加密用户信息并返回数据密文至身份认证SDK,身份认证SDK使用终端公钥解密数据密文获取用户信息,并发送至第三方应用,第三方应用进行登录。
本发明基于安全二维码的数字身份的认证系统,包括:
请求模块,第三方应用发起授权登录请求;
获取密钥模块,身份认证SDK从服务端获取一会话密钥;
发送信息模块,身份认证SDK通过会话密钥将第三方应用信息进行加密,并将该加密后的信息以及授权登录请求发送至服务端;
生码模块,服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过会话密钥进行加密,身份认证SDK获取加密后的二维码url;
跳转模块,身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;
登录模块,用户扫描二维码,从服务端获取终端公钥以及工作密钥,通过终端公钥对二维码进行解码得到二维码信息,将二维码信息使用工作密钥进行加密并发送至服务端,服务端使用终端公钥对所接收的加密二维码信息解密并验证,验证通过之后生成用户accessToken,返回加密后的accessToken数据密文至第三方应用;第三方应用通过身份认证SDK进行解密得到用户accessToken,身份认证SDK采用accessToken向服务端获取用户信息,服务端使用工作密钥加密用户信息并返回数据密文至身份认证SDK,身份认证SDK使用终端公钥解密数据密文获取用户信息,并发送至第三方应用,第三方应用进行登录。
本发明一种具体实施方式:
本发明主要目的是解决通过集成身份认证SDK来实现身份服务和第三方之间应用交互,通过安全二维码来实现授权登录。
本发明将第三应用与“身份认证平台”交互集成到身份认证“SDK”中,“SDK”可供第三方应用打包使用。
本发明“SDK”主要提供功能:
供第三方应用调用的重定向跳转扫码的url接口。
与“身份认证平台”传输发起国密算法进行协商会话传输,通过“SDK”的唯一标识申请协商会话,通过协商会话密钥对数据信息进行加解密。
与“身份认证平台”通过APP扫码后返回到第三方应用重定向地址,第三方应用将加密信息通过“SDK”国密算法解密后获取到用户信息
本发明流程:第三方应用通过调用“SDK”接口,“SDK”向“身份认证平台”发起登录请求,请求成功后重定向跳转展示“身份认证平台”生成的二维码信息,“身份认证平台”通过移动“APP”扫码来获取用户信息,“身份认证平台”把获取到的信息返回到第三方应用的重定向地址,第三方应用的重定向地址通过“SDK”接口获取到用户信息。通过以下具体操作步骤来实现:
当第三方应用请求授权登录时,第三方应用请求通过“SDK”发起国密算法的协商会话流程。
“SDK”生成本次公钥、私钥对并通过分配给第三方应用的唯一appid上传本地公钥到“身份认证平台”。
“身份认证平台”收到请求后,根据该公钥生成本次国密算法的工作密钥组(mac会话密钥密文、mac会话密钥密文校验值、工作会话密钥密文、工作会话密钥密文校验值)并下发保存本次该第三方应用appid对应的工作密文组。
“SDK”收到工作密钥组后,用本次协商会话生成的私钥校验工作密钥组是否成立,校验成功后“SDK”保存该国密算法的密钥组。
“SDK”使用该密钥组对数据内容(包括第三方登录成功后重定向登录地址、唯一码等)通过国密算法加密后,向“身份认证平台”发起登录请求。
“身份认证平台”收到登录请求后,根据该“SDK”登录请求信息在“身份认证平台”生成安全二维码页面,第三方应用重定向跳转到“身份认证平台”的二维码页面,供移动“APP”扫码登录使用。
移动“APP”扫该“身份认证平台”生成的二维码信息,确认登录后,移动“APP”与“身份认证平台”确认该用户登录。
“身份认证平台”获取该“APP”用户登录信息后,用该SDK对应唯一码的会话密钥加解密数据,把该用户信息传递到“SDK”请求的重定向地址。“SDK”应用跳转到第三方应用的重定向地址。
第三方的重定向地址获取到用户信息,从而完成登录过程,得到请求信息。
本发明中采用的加解密算法均为国密算法。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (2)
1.一种基于安全二维码的数字身份的认证方法,其特征在于:包括:
步骤1、第三方应用发起授权登录请求;
步骤2、身份认证SDK从服务端获取一会话密钥;
步骤3、身份认证SDK通过会话密钥将第三方应用信息进行加密,并将加密后的第三方应用信息以及授权登录请求发送至服务端;
步骤4、服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过会话密钥进行加密,身份认证SDK获取加密后的二维码url;
步骤5、身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;
步骤6、用户扫描二维码,进行认证,授权第三方应用登录;其中,所述步骤6进一步具体为:用户扫描二维码,从服务端获取终端公钥以及工作密钥,通过终端公钥对二维码进行解码得到二维码信息,将二维码信息使用工作密钥进行加密并发送至服务端,服务端使用终端公钥对所接收的加密二维码信息解密并验证,验证通过之后生成用户accessToken,返回加密后的accessToken数据密文至第三方应用;第三方应用通过身份认证SDK进行解密得到用户accessToken,身份认证SDK采用accessToken向服务端获取用户信息,服务端使用工作密钥加密用户信息并返回数据密文至身份认证SDK,身份认证SDK使用终端公钥解密数据密文获取用户信息,并发送至第三方应用,第三方应用进行登录。
2.一种基于安全二维码的数字身份的认证系统,其特征在于:包括:
请求模块,第三方应用发起授权登录请求;
获取密钥模块,身份认证SDK从服务端获取一会话密钥;
发送信息模块,身份认证SDK通过会话密钥将第三方应用信息进行加密,并将加密后的第三方应用信息以及授权登录请求发送至服务端;
生码模块,服务端通过会话密钥解密得到第三方应用信息,并生成二维码以及二维码url,将二维码url通过会话密钥进行加密,身份认证SDK获取加密后的二维码url;
跳转模块,身份认证SDK将加密的二维码url进行解密,之后第三方应用根据二维码url进行跳转,显示二维码;
登录模块,用户扫描二维码,进行认证,授权第三方应用登录;具体为:用户扫描二维码,从服务端获取终端公钥以及工作密钥,通过终端公钥对二维码进行解码得到二维码信息,将二维码信息使用工作密钥进行加密并发送至服务端,服务端使用终端公钥对所接收的加密二维码信息解密并验证,验证通过之后生成用户accessToken,返回加密后的accessToken数据密文至第三方应用;第三方应用通过身份认证SDK进行解密得到用户accessToken,身份认证SDK采用accessToken向服务端获取用户信息,服务端使用工作密钥加密用户信息并返回数据密文至身份认证SDK,身份认证SDK使用终端公钥解密数据密文获取用户信息,并发送至第三方应用,第三方应用进行登录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810342552.9A CN108712382B (zh) | 2018-04-17 | 2018-04-17 | 一种基于安全二维码的数字身份的认证方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810342552.9A CN108712382B (zh) | 2018-04-17 | 2018-04-17 | 一种基于安全二维码的数字身份的认证方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108712382A CN108712382A (zh) | 2018-10-26 |
CN108712382B true CN108712382B (zh) | 2021-07-06 |
Family
ID=63866668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810342552.9A Active CN108712382B (zh) | 2018-04-17 | 2018-04-17 | 一种基于安全二维码的数字身份的认证方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712382B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902472A (zh) * | 2019-02-25 | 2019-06-18 | 山东浪潮通软信息科技有限公司 | 一种基于二维码和微信小程序提取个人信息认证的方法 |
CN110086625A (zh) * | 2019-03-27 | 2019-08-02 | 深圳市星火电子工程公司 | 一种基于加密二维码的双向认证方法及系统 |
CN111178874B (zh) * | 2019-12-13 | 2023-12-08 | 杜晓楠 | 一种基于区块链冷钱包的交易方法和系统 |
CN111193718A (zh) * | 2019-12-13 | 2020-05-22 | 航天信息股份有限公司 | 一种基于第三方授权的安全登录方法及系统 |
CN111259356B (zh) * | 2020-02-17 | 2022-09-02 | 北京百度网讯科技有限公司 | 授权方法、辅助授权组件、管理服务器和计算机可读介质 |
CN111431719A (zh) * | 2020-04-20 | 2020-07-17 | 山东确信信息产业股份有限公司 | 一种移动终端密码保护模块、移动终端及密码保护方法 |
CN112801672B (zh) * | 2021-01-27 | 2024-02-13 | 浙江天演维真网络科技股份有限公司 | 基于群签名的农产品溯源二维码签名方法 |
CN112989297A (zh) * | 2021-02-04 | 2021-06-18 | 金保信社保卡科技有限公司 | 一种电子社保卡扫码登录应用方法及系统 |
CN114726553B (zh) * | 2022-06-07 | 2022-10-28 | 深圳市永达电子信息股份有限公司 | 一种基于二维码的自动认证方法及装置 |
CN115277082B (zh) * | 2022-06-23 | 2024-01-12 | 支付宝(杭州)信息技术有限公司 | 第三方应用的校验方法和装置 |
CN115296867A (zh) * | 2022-07-20 | 2022-11-04 | 厦门护卫云信息技术有限公司 | 服务器二次身份认证方法及系统 |
CN115438324A (zh) * | 2022-09-20 | 2022-12-06 | 中国建设银行股份有限公司 | 一种身份验证方法、装置及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104253784B (zh) * | 2013-06-25 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 登录和授权的方法、系统、第三方终端及互联服务器 |
US10530582B2 (en) * | 2013-10-28 | 2020-01-07 | Singou Technology Ltd. | Method and device for information system access authentication |
CN104836782B (zh) * | 2014-04-03 | 2018-07-20 | 腾讯科技(北京)有限公司 | 服务器、客户端以及数据访问方法和系统 |
CN104378368B (zh) * | 2014-11-10 | 2019-06-07 | 语联网(武汉)信息技术有限公司 | 一种扫码登陆方法和系统 |
CN105656922A (zh) * | 2016-02-04 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 一种应用程序的登录方法、装置及智能设备 |
CN107682367A (zh) * | 2017-11-14 | 2018-02-09 | 北京酷我科技有限公司 | 一种pc端网页登录方法和系统 |
-
2018
- 2018-04-17 CN CN201810342552.9A patent/CN108712382B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108712382A (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712382B (zh) | 一种基于安全二维码的数字身份的认证方法以及系统 | |
US10530582B2 (en) | Method and device for information system access authentication | |
US8811609B2 (en) | Information protection system and method | |
US20110154036A1 (en) | Method For Implementing Encryption And Transmission of Information and System Thereof | |
CN109150897B (zh) | 一种端到端的通信加密方法及装置 | |
CN103188221A (zh) | 应用程序登录方法、装置和移动终端 | |
CN109873819B (zh) | 一种防止非法访问服务器的方法及系统 | |
CN109684129B (zh) | 数据备份恢复方法、存储介质、加密机、客户端和服务器 | |
CN112823503B (zh) | 一种数据访问方法、数据访问装置及移动终端 | |
CN113553572B (zh) | 资源信息获取方法、装置、计算机设备和存储介质 | |
CN105719131A (zh) | 服务器、客户端及电子支付的代付方法 | |
KR20150079489A (ko) | 실시간 통신 방법 및 시스템 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN101582896A (zh) | 第三方网络认证系统及其认证方法 | |
CN112437044B (zh) | 即时通讯方法和装置 | |
CN113204760B (zh) | 用于软件密码模块的安全通道建立方法及系统 | |
CN114143082B (zh) | 一种加密通信方法、系统及装置 | |
JP2008535427A (ja) | データ処理デバイスとセキュリティモジュールとの間のセキュア通信 | |
CN106411520B (zh) | 一种虚拟资源数据的处理方法、装置及系统 | |
CN106953731B (zh) | 一种终端管理员的认证方法及系统 | |
CN104243452A (zh) | 一种云计算访问控制方法及系统 | |
CN103916834A (zh) | 一种用户独享密钥的短信加密方法和系统 | |
JP2003234734A (ja) | 相互認証方法及びサーバ装置及びクライアント装置及び相互認証プログラム及び相互認証プログラムを格納した記憶媒体 | |
CN108513272B (zh) | 短信息处理方法及装置 | |
KR101329789B1 (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 |
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 |