CN109474592B - 公钥绑定方法及系统 - Google Patents
公钥绑定方法及系统 Download PDFInfo
- Publication number
- CN109474592B CN109474592B CN201811327243.0A CN201811327243A CN109474592B CN 109474592 B CN109474592 B CN 109474592B CN 201811327243 A CN201811327243 A CN 201811327243A CN 109474592 B CN109474592 B CN 109474592B
- Authority
- CN
- China
- Prior art keywords
- public key
- request
- server
- client
- identity verification
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
提供了一种公钥绑定方法和系统,其中该方法包括:通过客户端接收来自用户的请求并生成公钥和身份验证码请求,以及通过客户端将身份验证码请求发送至通讯服务器;通过通讯服务器生成并发送身份验证码至客户端;通过客户端基于身份验证码生成公钥绑定请求并将公钥绑定请求发送至密钥服务器;通过密钥服务器基于公钥绑定请求生成身份验证请求并将身份验证请求发送至通讯服务器;通过通讯服务器向密钥服务器发送用户的用户信息;以及通过密钥服务器接收用户信息并将公钥与用户信息相绑定。
Description
技术领域
本公开涉及一种通讯技术领域,具体涉及一种公钥绑定方法及系统。
背景技术
即时通讯(Instant Messaging,简称IM),是一种基于互联网的即时交流消息方式,它允许两人或多人使用网络实时地传递文字消息、文件乃至实现语音与视频交流。当前国内外的即时通讯应用很多,例如QQ、微信、WhatsApp等。
然而,随着人们越来越多地使用即时通讯应用,即时通讯应用用户的隐私也应受到更好的保护。
发明内容
针对至少一个上述问题,在第一方面中,本公开提供了一种公钥绑定方法,其特征在于,该公钥绑定方法包括:
通过客户端接收来自用户的请求并生成公钥和身份验证码请求,以及通过客户端将身份验证码请求发送至通讯服务器;
响应于来自客户端的身份验证码请求,通过通讯服务器生成并发送身份验证码至客户端;
通过客户端基于身份验证码生成公钥绑定请求并将公钥绑定请求发送至密钥服务器,公钥绑定请求包括公钥和身份验证码;
通过密钥服务器基于公钥绑定请求生成身份验证请求并将身份验证请求发送至通讯服务器,身份验证请求包括身份验证码;
响应于身份验证码被确认为有效,通过通讯服务器向密钥服务器发送用户的用户信息;以及
通过密钥服务器接收用户信息并将公钥与用户信息相绑定。
在一些实施方式中,将公钥与用户信息相绑定的步骤包括:存储公钥、用户信息以及客户端之间的对应关系。
在一些实施方式中,用户信息包括用户的标识。
在一些实施方式中,标识包括用户的用户ID。
在一些实施方式中,密钥服务器与通讯服务器设置为相互独立。
在一些实施方式中,公钥绑定方法还包括:在生成公钥的同时生成私钥,并通过客户端存储私钥。
在一些实施方式中,身份验证码包括以下中至少之一:
短消息;以及
二维码。
在一些实施方式中,客户端包括即时通讯客户端。
在第二方面中,本公开提供了一种公钥绑定系统,其特征在于,该公钥绑定系统包括:客户端、密钥服务器以及通讯服务器,
其中,客户端用于:
接收来自用户的请求并生成公钥和身份验证码请求,以及将身份验证码请求发送至通讯服务器;以及
接收来自通讯服务器的身份验证码,并基于身份验证码生成公钥绑定请求以及将公钥绑定请求发送至密钥服务器,公钥绑定请求包括公钥和身份验证码,
密钥服务器用于:
接收来自客户端的公钥绑定请求,并基于公钥绑定请求生成身份验证请求以及将身份验证请求发送至通讯服务器,身份验证请求包括身份验证码;以及
接收来自通讯服务器的用户信息并将公钥与用户信息相绑定,以及
通讯服务器用于:
接收来自客户端的身份验证码请求,以及生成和发送身份验证码至客户端;
接收来自密钥服务器的身份验证请求;以及
响应于身份验证码被确认为有效,向密钥服务器发送用户的用户信息。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1示意性示出了适于实施根据本公开一些实施方式的公钥绑定方法的系统架构。
图2示出了根据本公开一些实施方式的公钥绑定方法的示意性流程图。
图3示出了适于用来实现本公开实施方式的密钥服务器或通讯服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开。
请参考图1,其示出了适于实施根据本公开一些实施方式的公钥绑定方法的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、网络103和通讯服务器104和密钥服务器105。网络103用以在终端设备101、102和通讯服务器104和密钥服务器105之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
即时通讯应用客户端可安装在终端设备101和102上。用户110可以使用终端设备101、102通过网络103与通讯服务器104和密钥服务器105进行通信,以访问各种服务。上述的即时通讯应用客户端例如可以是腾讯科技(深圳)有限公司的微信客户端、QQ客户端等。终端设备101、102与密钥服务器105之间可采用安全传输层协议(TLS)构建安全连接,保证通讯数据的安全性。
终端设备101、102可以是各种电子设备,包括但不限于个人电脑、智能手机、智能电视、平板电脑、个人数字助理、电子书阅读器等等。用户110可在终端设备101、102中至少一个上登录即时通讯应用客户端。
通讯服务器104和密钥服务器105可以是提供各种服务的服务器。服务器可以响应于用户的服务请求而提供服务。可以理解,一个服务器可以提供一种或多种服务,同一种服务也可以由多个服务器来提供。通讯服务器104和密钥服务器105可通过通用计算机、专用计算机或计算机集群等来实现。
各终端设备101、102上的即时通讯应用客户端与其他用户的即时通讯应用客户端之间通过通讯服务器104传输的消息该客户端进行了加密,而由于通讯服务器102并不知晓客户端的公私钥,因此通讯服务器104并不能对加密的消息进行解密,从而也无法得到明文数据。此外,由于各终端设备101、102上的即时通讯应用客户端与其他用户的即时通讯应用客户端之间传输的消息仅通过通讯服务器104而不通过密钥服务器105,因此密钥服务器105也无法得到明文数据。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了根据本公开一些实施方式的公钥绑定方法200的示意性流程图。
如图2所示,方法200包括:
S201,通过客户端接收来自用户的请求并生成公钥和身份验证码请求,以及通过客户端将身份验证码请求发送至通讯服务器,
S202,响应于来自客户端的身份验证码请求,通过通讯服务器生成并发送身份验证码至客户端;
S203,通过客户端基于身份验证码生成公钥绑定请求并将公钥绑定请求发送至密钥服务器,公钥绑定请求包括公钥和身份验证码;
S204,通过密钥服务器基于公钥绑定请求生成身份验证请求并将身份验证请求发送至通讯服务器,身份验证请求包括身份验证码;
S205,响应于身份验证码被确认为有效,通过通讯服务器向密钥服务器发送用户的用户信息;以及
S206,通过密钥服务器接收用户信息并将公钥与用户信息相绑定。
在本公开的一些示例性实施方式中,步骤S201还可包括:在生成公钥的同时生成私钥,并通过客户端存储该私钥。
在本公开的一些示例性实施方式中,在步骤S202中,通讯服务器可以短消息或二维码中至少之一的形式发送身份验证码至客户端。
在本公开的一些示例性实施方式中,在步骤S205中,通过通讯服务器向密钥服务器发送的用户信息可包括用户的标识。在本公开的一些实施方式中,用户的标识可包括用户的用户ID。
在本公开的一些示例性实施方式中,步骤S206还可包括通过密钥服务器存储公钥、用户信息以及客户端之间的对应关系。
在本公开的一些实施方式中,客户端可包括消息模块和加解密模块,其中客户端通过消息模块与通讯服务器进行通信,以及客户端通过加解密模块与密钥服务器进行通信。客户端之间通过通讯服务器进行通信。客户端之间发送的消息通过加解密模块进行加密和解密,客户端之间发送的消息通过消息模块进行传输。加解密模块用于加密和解密的加密密钥由密钥服务器生成。加解密模块可利用国密算法(包括但不限于非对称算法、对称算法、摘要算法)对发送的消息进行加密。在本公开的一个具体实施方式中,加解密模块可通过软件开发工具包(SDK)来实施。在本公开的另一具体实施方式中,加解密模块可由客户端自身来实现。
在本公开的一些实施方式中,步骤S201可包括:通过加解密模块生成私钥和/或公钥。在本公开的另一些实施方式中,步骤S201还可包括:通过加解密模块生成公钥并向消息模块发送提示信息;响应于该提示信息,通过消息模块生成并发送身份验证码请求至通讯服务器。
在本公开的一些实施方式中,步骤S202还可包括:通过通讯服务器发送身份验证码至消息模块。
在本公开的一些实施方式中,步骤S203还可包括:
通过消息模块基于身份验证码生成并发送给第一公钥绑定请求至加解密模块,该第一公钥绑定请求包括身份验证码;以及
通过加解密模块基于接收到的第一公钥绑定请求生成并发送第二公钥绑定请求至密钥服务器,该第二公钥绑定请求包括公钥和身份验证码。
上述实施方式中提到的“消息”包括但不限于图片、文档、语音和视频等文件。
在根据本公开实施方式的公私绑定方法中,通讯服务器并不知晓客户端的公私钥,因此通讯服务器并不能对加密的消息进行解密,从而也无法得到明文数据,并且由于客户端之间传输的消息仅通过通讯服务器而不通过密钥服务器,因此密钥服务器也无法得到明文数据,从而保护了用户的隐私。
下面参考图3,其示出了适于用来实现本公开实施方式的密钥服务器或通讯服务器的计算机系统300的结构示意图。
如图3所示,计算机系统300包括中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有系统300操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本公开的实施方式,上文参考图2描述的过程可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,该计算机程序包含用于执行图2的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。
附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述的模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中服务器中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本公开的公钥绑定方法。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (9)
1.一种公钥绑定方法,其特征在于,所述公钥绑定方法包括:
通过客户端接收来自用户的请求并生成公钥和身份验证码请求,以及通过所述客户端将所述身份验证码请求发送至通讯服务器;
响应于来自所述客户端的所述身份验证码请求,通过所述通讯服务器生成并发送身份验证码至所述客户端;
通过所述客户端基于所述身份验证码生成公钥绑定请求并将所述公钥绑定请求发送至密钥服务器,所述公钥绑定请求包括所述公钥和所述身份验证码;
通过所述密钥服务器基于所述公钥绑定请求生成身份验证请求并将所述身份验证请求发送至通讯服务器,所述身份验证请求包括所述身份验证码;
响应于所述身份验证码被确认为有效,通过所述通讯服务器向所述密钥服务器发送所述用户的用户信息;以及
通过所述密钥服务器接收所述用户信息并将所述公钥与所述用户信息相绑定。
2.根据权利要求1所述的公钥绑定方法,其特征在于,将所述公钥与所述用户信息相绑定的步骤包括:存储所述公钥、所述用户信息以及所述客户端之间的对应关系。
3.根据权利要求1所述的公钥绑定方法,其特征在于,所述用户信息包括所述用户的标识。
4.根据权利要求3所述的公钥绑定方法,其特征在于,所述标识包括所述用户的用户ID。
5.根据权利要求1所述的公钥绑定方法,其特征在于,所述密钥服务器与所述通讯服务器设置为相互独立。
6.根据权利要求1所述的公钥绑定方法,其特征在于,所述公钥绑定方法还包括:在生成所述公钥的同时生成私钥,并通过所述客户端存储所述私钥。
7.根据权利要求1所述的公钥绑定方法,其特征在于,所述身份验证码包括以下中至少之一:
短消息;以及
二维码。
8.根据权利要求1至7中任一项所述的公钥绑定方法,其特征在于,所述客户端包括即时通讯客户端。
9.一种公钥绑定系统,其特征在于,所述公钥绑定系统包括:客户端、密钥服务器以及通讯服务器,
其中,所述客户端用于:
接收来自用户的请求并生成公钥和身份验证码请求,以及将所述身份验证码请求发送至所述通讯服务器;以及
接收来自所述通讯服务器的身份验证码,并基于所述身份验证码生成公钥绑定请求以及将所述公钥绑定请求发送至所述密钥服务器,所述公钥绑定请求包括所述公钥和所述身份验证码;
所述密钥服务器用于:
接收来自所述客户端的所述公钥绑定请求,并基于所述公钥绑定请求生成身份验证请求以及将所述身份验证请求发送至所述通讯服务器,所述身份验证请求包括所述身份验证码;以及
接收来自所述通讯服务器的用户信息并将所述公钥与所述用户信息相绑定;
所述通讯服务器用于:
接收来自所述客户端的所述身份验证码请求,以及生成和发送所述身份验证码至所述客户端;
接收来自所述密钥服务器的所述身份验证请求;以及
响应于所述身份验证码被确认为有效,向所述密钥服务器发送所述用户的用户信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811327243.0A CN109474592B (zh) | 2018-11-08 | 2018-11-08 | 公钥绑定方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811327243.0A CN109474592B (zh) | 2018-11-08 | 2018-11-08 | 公钥绑定方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109474592A CN109474592A (zh) | 2019-03-15 |
CN109474592B true CN109474592B (zh) | 2021-08-31 |
Family
ID=65672268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811327243.0A Active CN109474592B (zh) | 2018-11-08 | 2018-11-08 | 公钥绑定方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109474592B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851635A (zh) * | 2016-12-15 | 2017-06-13 | 北京三未信安科技发展有限公司 | 一种基于身份的分布式签名方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162602B (zh) * | 2015-09-01 | 2018-05-11 | 中国互联网络信息中心 | 一种可信网络身份管理和验证系统和方法 |
CN105681030B (zh) * | 2015-12-31 | 2017-12-19 | 腾讯科技(深圳)有限公司 | 密钥管理系统、方法及装置 |
CN105554760B (zh) * | 2016-01-29 | 2018-06-29 | 腾讯科技(深圳)有限公司 | 无线接入点认证方法、装置及系统 |
CN106211146B (zh) * | 2016-06-27 | 2019-08-27 | 上海联彤网络通讯技术有限公司 | 安全通讯录添加方法、信息通信方法和通话方法及系统 |
CN106686585A (zh) * | 2016-12-07 | 2017-05-17 | 深圳市金立通信设备有限公司 | 一种绑定方法和系统 |
KR101862861B1 (ko) * | 2017-01-11 | 2018-07-04 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버 |
CN107332862A (zh) * | 2017-08-16 | 2017-11-07 | 浪潮软件股份有限公司 | 一种身份认证方法、前置机及身份认证系统 |
-
2018
- 2018-11-08 CN CN201811327243.0A patent/CN109474592B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106851635A (zh) * | 2016-12-15 | 2017-06-13 | 北京三未信安科技发展有限公司 | 一种基于身份的分布式签名方法及系统 |
Non-Patent Citations (2)
Title |
---|
Proposal of secure remote access using encryption;T. Kawase;《IEEE GLOBECOM 1998 (Cat. NO. 98CH36250)》;20020806;868-873 * |
基于PKI技术构建企业统一认证平台研究;王贤鸣;《中国优秀硕士学位论文全文数据库信息科技辑》;20091215;I139-79 * |
Also Published As
Publication number | Publication date |
---|---|
CN109474592A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8499156B2 (en) | Method for implementing encryption and transmission of information and system thereof | |
CN113364760A (zh) | 一种数据加密处理方法、装置、计算机设备及存储介质 | |
US9137223B2 (en) | Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer | |
US7073066B1 (en) | Offloading cryptographic processing from an access point to an access point server using Otway-Rees key distribution | |
CN111130803B (zh) | 数字签名的方法、系统及装置 | |
US20170317823A1 (en) | Zero Knowledge Encrypted File Transfer | |
CN113347206A (zh) | 一种网络访问方法和装置 | |
CN104144049A (zh) | 一种加密通信方法、系统和装置 | |
CN110177099B (zh) | 基于非对称加密技术的数据交换方法、发送终端和介质 | |
CN112437044B (zh) | 即时通讯方法和装置 | |
CN112637230B (zh) | 一种即时通信方法及系统 | |
CN112966287B (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
Aggarwal et al. | Security aspect in instant mobile messaging applications | |
CN111327605A (zh) | 传输私密信息的方法、终端、服务器和系统 | |
CN104683107A (zh) | 数字证书保管方法和装置、数字签名方法和装置 | |
CN113300999B (zh) | 信息处理方法、电子设备和可读存储介质 | |
CN110401531B (zh) | 一种基于sm9算法的协同签名和解密系统 | |
CN103997405B (zh) | 一种密钥生成方法及装置 | |
CN109492359B (zh) | 一种用于身份认证的安全网络中间件及其实现方法和装置 | |
KR100931986B1 (ko) | 단말기 및 메시지 송수신 방법 | |
CN109474592B (zh) | 公钥绑定方法及系统 | |
CN115567263A (zh) | 一种数据传输管理的方法、数据处理的方法和装置 | |
CN109302287B (zh) | 消息转发方法和系统 | |
CN114117488A (zh) | 文件管理方法、文件上传方法、文件解密方法及相关设备 | |
KR20140146432A (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 |