CN107154852B - 一种面向区块链应用的移动端身份验证方法 - Google Patents
一种面向区块链应用的移动端身份验证方法 Download PDFInfo
- Publication number
- CN107154852B CN107154852B CN201710252725.3A CN201710252725A CN107154852B CN 107154852 B CN107154852 B CN 107154852B CN 201710252725 A CN201710252725 A CN 201710252725A CN 107154852 B CN107154852 B CN 107154852B
- Authority
- CN
- China
- Prior art keywords
- private key
- mobile terminal
- user
- block chain
- generated
- 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/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/3236—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 cryptographic hash functions
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种面向区块链应用的移动端身份验证方法,在一个区块链网络上,用户必须拥有属于自己的私钥,首次使用时,在移动端生成私钥,再由私钥生成唯一标识用户本身的地址,地址在区块链网络中公开,身份验证的步骤具体为:唯一私钥钥生成;私钥存在移动端本地沙盒;当使用APP发送区块链网络请求时,通过私钥生成公开唯一地址;私钥生成后提示用户保存;非首次使用时,可以直接输入登录。本发明实现了面向区块链应用的移动端本地身份验证方法,解决了传统APP使用中暴露了用户不愿公开的隐私信息的问题,实现了对用户隐私保护的同时能够有效地进行身份验证功能。
Description
技术领域
本发明涉及面向去中心化的区块链账本技术应用和移动端本地身份验证方法,尤其涉及一种一种面向区块链应用的移动端身份验证方法。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,用于存储区块链网络上所有用户的余额,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
拥有中心服务器的传统APP在用户输入账号密码后点击登录时候,发送网络请求,请求后台的登录接口,后台服务器程序检查数据库中密码和账户名与用户通过网络请求发送的密码和账户名是否一致,将检查后的登录信息返回给APP客户端,成功则改变用户登录状态。
很明显,这一过程过于繁琐,并且将与自身利益密切相关的账户名和密码交给第三方中心服务器代为保管,甚至将用户自身的隐私信息一并公开在第三方中心服务器上,用户需要完全自主地管理隐私信息,因此我们引入一种面向区块链应用的移动端身份验证方法,简化验证流程并保证用户能够自由使用区块链应用。
发明内容
本发明的目的是针对现有技术的不足以及用户隐私信息保护的迫切需求,提供一种面向区块链应用的移动端身份验证方法。
本发明的目的是通过以下技术方案来实现的:一种面向区块链应用的移动端身份验证方法,包括如下步骤:
(1)若用户首次使用,则在移动端本地随机生成唯一私钥;若用户非首次使用,则在移动端本地输入私钥;私钥的长度为32字节;移动端本地对私钥进行长度验证;若验证成功,则用户的私钥只会保存在移动端本地沙盒中并进入步骤(2),若验证失败,重新输入私钥;
(2)发起区块链网络请求时,用户必须在移动端本地,根据椭圆曲线签名算法,利用私钥生成长度为33字节的公钥,取低32字节作为最终的公钥,移动端使用私钥对公钥进行验证,若验证失败,重新回到步骤(1),若验证成功,则使用Keccak算法对公钥进行哈希,散列大小选取256位,哈希结果从第13字节开始,取20字节的长度,作为用户在移动端本地生成的在网络中公开使用的地址;完成身份的验证。
进一步的,所述移动端本地使用伪随机算法生成私钥,能够保证用户私钥唯一。
本发明的有益效果是:本发明在移动端本地对使用区块链应用的用户进行身份验证,满足用户在移动端本地自主管理区块链移动端相关应用的私钥。对于拥有中心服务器的传统APP在用户输入账号密码后点击登录时候,发送网络请求,请求后台的登录接口,后台服务器程序检查数据库中密码和账户名与用户通过网络请求发送的密码和账户名是否一致,将检查后的登录信息返回给APP客户端,成功则改变用户登录状态,不可避免将与用户利益直接相关的隐私信息公开在第三方中心化服务器上,为保护用户的账户隐私本发明利用移动端本地身份验证方法,区块链网络对使用用户私钥的签名进行验证,无需用户的私钥,私钥始终不会公开在网络上,只是保存在移动端本地,用户能完全自主地管理私钥,保证用户能正常使用区块链应用的同时有效地解决了传统APP的用户账户密码公开问题。
附图说明
图1是面向区块链应用的移动端用户首次使用生成私钥和地址的身份验证的过程图;
图2是面向区块链应用的移动端用户非首次使用的身份验证的过程图。
具体实施方式
下面根据附图和具体实施例详细描述本发明,本发明的目的和效果将变得更加明显。
如图1和图2所示,本发明面向区块链应用的移动端身份验证方法,在首次使用一个面向区块链的移动端APP,用户无需向第三方中心服务器发送账户名和密码,在移动端本地自动生成私钥并且由用户自己进行管理;在进行身份验证时,使用用户提供的私钥得到能在区块链网络中公开的唯一标识用户的地址,具体步骤如下:
(1)首次使用时,在移动端本地随机生成长度为256位的数字串得到32字节的唯一私钥;移动端对本地生成的私钥进行长度验证;若验证失败,重新输入私钥;
(2)验证成功之后用户的私钥只会保存在移动端本地沙盒中,用户可以查看并以其他形式保存,供用户保存并在下次登录时使用将生成的私钥保存在移动端本地沙盒文件中,并提示用户保存;
(3)发起区块链网络请求时,用户必须在移动端本地,根据椭圆曲线签名算法,利用私钥生成长度为33字节的公钥,取低32字节作为最终的公钥,移动端使用私钥对公钥进行验证,验证成功之后使用Keccak算法对公钥进行哈希,散列大小选取256位,哈希结果从第13字节开始,取20字节的长度,作为用户在移动端本地生成的在网络中公开使用的地址;
(4)非首次登录输入用户已拥有的私钥,在移动端本地自动进行长度验证,验证成功,生成公钥并使用用户输入的私钥继续对公钥进行验证,验证成功后即可正常使用区块链应用。
所述的步骤(1)中,用户首次使用APP时在移动端本地使用伪随机算法生成长度为256位的16进制数字串作为用户的私钥,且该私钥可以作为用户在所有区块链项目中的私钥使用。
所述的步骤(3)中,椭圆曲线DSA保证了公钥无法逆向获得私钥。随机生成的私钥得到相应的32字节的公钥,Keccak是一个加密杂凑算法,在移动端本地使用能够有效抵抗碰撞攻击、原象攻击以及第二原象攻击、长度扩展等常见的攻击方法的Keccak算法对公钥进行哈希,散列大小选取256位,选取其中的20字节作为公开的地址。
下面用一个用户使用面向区块链移动端应用实例来说明验证方法具体实施:
模拟用户A使用面向区块链移动端应用在本地进行身份验证。
首先,如图1所示,若A首次使用面向区块链移动端应用,在移动端本地使用伪随机算法得到私钥,然后移动端本地使用生成的私钥同时对私钥进行长度验证,验证成功得到公钥,并使用私钥对公钥进行验证,验证成功后通过公钥得到地址,如图2所示,若A已经拥有面向区块链移动端应用的私钥,移动端得到A输入的私钥进行验证,公钥的验证从而实现在移动端本地进行对用户的身份验证。以上是一个完整的身份验证过程。
Claims (2)
1.一种面向区块链应用的移动端身份验证方法,其特征在于,包括如下步骤:
(1)若用户首次使用,则在移动端本地随机生成唯一私钥;若用户非首次使用,则在移动端本地输入私钥;私钥的长度为32字节;移动端本地对私钥进行长度验证;若验证成功,则用户的私钥只会保存在移动端本地沙盒中,并进入步骤(2),若验证失败,重新输入私钥;
(2)发起区块链网络请求时,用户必须在移动端本地,根据椭圆曲线签名算法,利用私钥生成长度为33字节的公钥,取低32字节作为最终的公钥,移动端使用私钥对公钥进行验证,若验证失败,重新回到步骤(1),若验证成功,则使用Keccak算法对公钥进行哈希,散列大小选取256位,哈希结果从第13字节开始,取20字节的长度,作为用户在移动端本地生成的在网络中公开使用的地址;完成身份的验证。
2.根据权利要求1所述的一种面向区块链应用的移动端身份验证方法,其特征在于,所述移动端本地使用伪随机算法生成私钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710252725.3A CN107154852B (zh) | 2017-04-18 | 2017-04-18 | 一种面向区块链应用的移动端身份验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710252725.3A CN107154852B (zh) | 2017-04-18 | 2017-04-18 | 一种面向区块链应用的移动端身份验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107154852A CN107154852A (zh) | 2017-09-12 |
CN107154852B true CN107154852B (zh) | 2020-03-31 |
Family
ID=59793031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710252725.3A Active CN107154852B (zh) | 2017-04-18 | 2017-04-18 | 一种面向区块链应用的移动端身份验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107154852B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270571B (zh) * | 2017-12-08 | 2019-10-11 | 西安电子科技大学 | 基于区块链的物联网身份认证系统及其方法 |
CN108320156A (zh) * | 2018-02-02 | 2018-07-24 | 上海二秒科技有限公司 | 一种基于区块链技术的私钥管理系统 |
CN108347444A (zh) * | 2018-02-26 | 2018-07-31 | 深圳智乾区块链科技有限公司 | 基于区块链的身份认证方法、装置及计算机可读存储介质 |
CN110324285A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种移动端身份验证方法及装置 |
CN108681909B (zh) * | 2018-05-18 | 2021-09-24 | 浙江超脑时空科技有限公司 | 基于区块链智能合约实现的智能防伪装置及溯源防伪方法 |
CN108830983B (zh) * | 2018-05-29 | 2021-03-02 | 广州足迹体育文化发展有限公司 | 一种基于区块链的门禁系统及其工作方法 |
US11184175B2 (en) | 2018-07-30 | 2021-11-23 | Hewlett Packard Enterprise Development Lp | Systems and methods for using secured representations of location and user distributed ledger addresses to prove user presence at a location and time |
US11403674B2 (en) | 2018-07-30 | 2022-08-02 | Hewlett Packard Enterprise Development Lp | Systems and methods for capturing time series dataset over time that includes secured representations of distributed ledger addresses |
US11250466B2 (en) | 2018-07-30 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time |
US11356443B2 (en) | 2018-07-30 | 2022-06-07 | Hewlett Packard Enterprise Development Lp | Systems and methods for associating a user claim proven using a distributed ledger identity with a centralized identity of the user |
US11488160B2 (en) | 2018-07-30 | 2022-11-01 | Hewlett Packard Enterprise Development Lp | Systems and methods for using captured time series of secured representations of distributed ledger addresses and smart contract deployed on distributed ledger network to prove compliance |
US11270403B2 (en) | 2018-07-30 | 2022-03-08 | Hewlett Packard Enterprise Development Lp | Systems and methods of obtaining verifiable image of entity by embedding secured representation of entity's distributed ledger address in image |
US11233641B2 (en) | 2018-07-31 | 2022-01-25 | Hewlett Packard Enterprise Development Lp | Systems and methods for using distributed attestation to verify claim of attestation holder |
US11271908B2 (en) | 2018-07-31 | 2022-03-08 | Hewlett Packard Enterprise Development Lp | Systems and methods for hiding identity of transacting party in distributed ledger transaction by hashing distributed ledger transaction ID using secured representation of distributed ledger address of transacting party as a key |
CN109034801A (zh) * | 2018-07-31 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种隐私交易方法及系统、设备和可存储介质 |
US11488161B2 (en) | 2018-07-31 | 2022-11-01 | Hewlett Packard Enterprise Development Lp | Systems and methods for providing transaction provenance of off-chain transactions using distributed ledger transactions with secured representations of distributed ledger addresses of transacting parties |
CN109359976A (zh) * | 2018-09-06 | 2019-02-19 | 深圳大学 | 基于区块链的账号密码管理方法、装置、设备及存储介质 |
CN109743167A (zh) * | 2019-01-07 | 2019-05-10 | 殷鹏 | 基于区块链的大数据安全识别认证方法 |
CN109767221B (zh) * | 2019-01-16 | 2021-05-11 | 杭州趣链科技有限公司 | 一种面向区块链安全的移动跨平台签名方法 |
CN110351287A (zh) * | 2019-07-17 | 2019-10-18 | 江苏南工科技集团有限公司 | 一种基于区块链技术的移动应用安全分析方法 |
CN110544093A (zh) * | 2019-08-29 | 2019-12-06 | 北京艾摩瑞策科技有限公司 | 涉及租房平台用户的区块链私钥的代签方法及其装置 |
CN111193736B (zh) * | 2019-12-30 | 2020-12-29 | 江苏恒宝智能系统技术有限公司 | 一种信息的认证方法、装置、系统及存储介质 |
CN111914270A (zh) * | 2020-07-08 | 2020-11-10 | 广西佳壹大数据科技股份有限公司 | 基于区块链技术的可编程认证服务方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463001A (zh) * | 2014-12-19 | 2015-03-25 | 比特卡国际有限公司 | 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置 |
CN105323062A (zh) * | 2014-06-03 | 2016-02-10 | 北京收付宝科技有限公司 | 移动终端数字证书电子签名方法 |
CN106096967A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市淘淘谷信息技术有限公司 | 一种用区块链来标示数字货币流通的方法 |
CN106533661A (zh) * | 2016-10-25 | 2017-03-22 | 北京大学 | 基于组合公钥的密码学货币地址在线生成方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104320262B (zh) * | 2014-11-05 | 2017-07-21 | 中国科学院合肥物质科学研究院 | 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统 |
US20160342977A1 (en) * | 2015-05-20 | 2016-11-24 | Vennd.io Pty Ltd | Device, method and system for virtual asset transactions |
CA2988318A1 (en) * | 2015-06-04 | 2016-12-08 | Chronicled, Inc. | Open registry for identity of things |
CN105701372B (zh) * | 2015-12-18 | 2019-04-09 | 布比(北京)网络技术有限公司 | 一种区块链身份构建及验证方法 |
CN106357640B (zh) * | 2016-09-18 | 2019-11-08 | 江苏通付盾科技有限公司 | 基于区块链网络的身份认证方法、系统及服务器 |
-
2017
- 2017-04-18 CN CN201710252725.3A patent/CN107154852B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105323062A (zh) * | 2014-06-03 | 2016-02-10 | 北京收付宝科技有限公司 | 移动终端数字证书电子签名方法 |
CN104463001A (zh) * | 2014-12-19 | 2015-03-25 | 比特卡国际有限公司 | 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置 |
CN106096967A (zh) * | 2016-06-20 | 2016-11-09 | 深圳市淘淘谷信息技术有限公司 | 一种用区块链来标示数字货币流通的方法 |
CN106533661A (zh) * | 2016-10-25 | 2017-03-22 | 北京大学 | 基于组合公钥的密码学货币地址在线生成方法 |
Non-Patent Citations (1)
Title |
---|
揭秘比特币和区块链(三):比特币的私钥、公钥与地址;张健;《infoq》;20160623;第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107154852A (zh) | 2017-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107154852B (zh) | 一种面向区块链应用的移动端身份验证方法 | |
US11349674B2 (en) | Digital certificate management method and apparatus, computer device, and storage medium | |
CN111429254B (zh) | 一种业务数据处理方法、设备以及可读存储介质 | |
CN110264200B (zh) | 区块链数据处理方法及装置 | |
RU2719311C1 (ru) | Система и способ защиты информации | |
CN110401615B (zh) | 一种身份认证方法、装置、设备、系统及可读存储介质 | |
RU2506637C2 (ru) | Способ и устройство верификации динамического пароля | |
CN111027036B (zh) | 一种基于区块链的身份关联方法 | |
US20160125416A1 (en) | Authentication system | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
TW201822014A (zh) | 物聯網設備的燒錄校驗方法及裝置、身份認證方法及裝置 | |
CN107483509A (zh) | 一种身份验证方法、服务器及可读存储介质 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN111159681A (zh) | 基于区块链的数字身份的实现方法及系统 | |
US8924725B2 (en) | Authenticated file handles for network file systems | |
CN104753674A (zh) | 一种应用身份的验证方法和设备 | |
CN111800262B (zh) | 数字资产的处理方法、装置和电子设备 | |
US11463431B2 (en) | System and method for public API authentication | |
CN112559993A (zh) | 身份认证方法、装置、系统及电子设备 | |
CN105553667A (zh) | 一种动态口令的生成方法 | |
CN112653553B (zh) | 物联网设备身份管理系统 | |
CN104125230A (zh) | 一种短信认证服务系统以及认证方法 | |
CN109257381A (zh) | 一种密钥管理方法、系统及电子设备 | |
WO2020248656A1 (zh) | 一种在区块链中解锁账户的方法和装置 | |
CN104410498A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |