CN113424161A - 用于使用区块链来认证用户的方法、***和介质 - Google Patents

用于使用区块链来认证用户的方法、***和介质 Download PDF

Info

Publication number
CN113424161A
CN113424161A CN202080013030.XA CN202080013030A CN113424161A CN 113424161 A CN113424161 A CN 113424161A CN 202080013030 A CN202080013030 A CN 202080013030A CN 113424161 A CN113424161 A CN 113424161A
Authority
CN
China
Prior art keywords
blockchain
user
local
cloud
application
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
Application number
CN202080013030.XA
Other languages
English (en)
Inventor
西恩·万·范
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fan Holdings Ltd
Nuevox Group
Synergex Group LLC
Pham Holdings Inc
Original Assignee
Fan Holdings Ltd
Nuevox Group
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fan Holdings Ltd, Nuevox Group filed Critical Fan Holdings Ltd
Publication of CN113424161A publication Critical patent/CN113424161A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

提供了用于使用区块链来认证用户的方法、***和介质。在一些实施例中,所述方法包括:在用户的用户设备处接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;将所述新区块添加到所述本地区块链;以及基于验证的用户凭证来授权对所述应用的访问。

Description

用于使用区块链来认证用户的方法、***和介质
技术领域
所公开的主题涉及用于使用区块链来认证用户的方法、***和介质。
背景技术
人们越来越多地使用多个用户设备并且从每个设备访问多个应用。例如,一个人可以在其家中或办公室中具有各自可访问不同应用的多个用户设备(例如,移动电话、平板计算机、台式计算机等)和多个物联网(IoT)设备。每个用户设备可能需要被认证到该应用以访问和使用该应用。
使用分布式区块链服务器来认证用户设备可能是耗时且资源密集的。例如,为了验证分布式区块链网络上的用户设备,用户设备必须连接到区块链网络的区块链服务器,区块链服务器然后将区块链的区块更新到区块链网络的其余区块链服务器。此外,使用分布式区块链网络会具有安全风险。例如,使用受共识控制的区块链服务器可能允许黑客访问区块链网络的区块链服务器,这可以使整个区块链网络易受攻击。
因此,期望提供用于使用区块链来认证用户的新方法、***和介质。
发明内容
提供了用于使用区块链来认证用户的方法、***和介质。
根据所公开的主题的一些实施例,提供了一种用于使用区块链来认证用户的方法,所述方法包括:在用户的用户设备处接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;将所述新区块添加到所述本地区块链;以及基于验证的用户凭证来授权对所述应用的访问。
根据所公开的主题的一些实施例,提供了一种用于使用区块链来认证用户的***,所述***包括:存储器;以及硬件处理器,当执行存储在存储器中的计算机可执行指令时,该硬件处理器被配置为:在用户的用户设备处接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;将所述新区块添加到所述本地区块链;以及基于验证的用户凭证来授权对所述应用的访问。
根据所公开的主题的一些实施例,提供了一种包含计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由处理器执行时使得所述处理器执行用于使用区块链来认证用户的方法,所述方法包括:在用户的用户设备处接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;将所述新区块添加到所述本地区块链;以及基于验证的用户凭证来授权对所述应用的访问。
附图说明
当结合以下附图考虑时,参考所公开的主题的以下详细描述,可以更充分地理解所公开的主题的各种目的、特征和优点,在附图中,相同的附图标记标识相同的元件。
图1示出根据所公开的主题的一些实施例的用于使用区块链来认证用户的过程的示例。
图2示出根据所公开的主题的一些实施例的适于实现本文所描述的用于使用区块链来认证用户的机制的说明性***的示意图。
图3示出根据所公开主题的一些实施例的可以在图2的服务器和/或用户设备中使用的硬件的详细示例。
具体实施方式
根据各个实施例,提供了用于使用区块链来认证用户的机制(其可以包括方法、***和介质)。
在一些实施例中,本文描述的机制可以用于使用存储在用户设备上的本地区块链和/或存储在区块链服务器上的云区块链来针对要在用户设备上打开或执行的应用认证用户设备的用户。在一些实施例中,本地区块链和云区块链可以被同步,使得本地区块链和云区块链是相同的。
在一些实施例中,用户设备可以是任何合适类型的用户设备,诸如移动电话、平板计算机、膝上型计算机、台式计算机、媒体回放设备、物联网(IoT)设备(例如,智能恒温器、智能锁、智能电器和/或任何其他合适类型的IoT设备)和/或任何其他合适类型的用户设备。在一些实施例中,所述机制可以用于授权对任何适当类型的应用的访问,诸如用于访问用户设备上的消息(例如,电子邮件、文本消息和/或任何其他适当类型的消息)的应用、用于在用户设备上呈现媒体内容的应用、用于使用用户设备控制其他设备的应用和/或任何其他适当类型的应用。
在一些实施例中,这些机制可以使用任何合适的技术或技术的组合来认证用户设备的用户。例如,在一些实施例中,机制可以接收与用户将针对其被认证的应用相关联的用户凭证,并且可以使用存储在用户设备上的本地区块链来验证用户凭证。在一些实施例中,响应于使用本地区块链来验证用户凭证,该机制可以生成要被添加到本地区块链的新区块。在一些实施例中,所述机制然后可以尝试连接到区块链服务器以使得新区块被添加到存储在区块链服务器上的云区块链。在一些实施例中,在机制不能连接到区块链服务器的情况下,所述机制可以将新创建的区块存储为离线区块,所述离线区块将在用户设备下次能够成功连接到区块链服务器时被添加到云区块链。相反,在机制可以连接到区块链服务器的情况下,机制可以同步本地区块链和云区块链,使得本地区块链和云区块链是相同的,如结合图1更详细地描述的。
注意,在一些实施例中,本地区块链可以分布在多个用户设备之间。例如,在一些实施例中,本地区块链可以分布在各自与特定用户相关联的多个用户设备之间。作为更具体的示例,在一些实施例中,本地区块链可以分布在多个用户设备和多个IoT设备(诸如各自在用户的家、办公室或其他位置内的多个IoT设备)之间。
转向图1,示出根据所公开的主题的一些实施例的用于使用区块链来认证用户的过程的示例100。在一些实施例中,过程100的块可以在用户设备上和/或在存储块链的区块链服务器(例如,如以下结合图2所示和所述的云区块链服务器202)上执行。
过程100可以在102处通过接收用于针对应用进行认证的用户凭证而开始。在一些实施例中,应用可以是可以在用户设备上执行的任何合适类型的应用,诸如用于呈现媒体内容的应用、用于访问电子邮件或其他消息的应用、对应于社交网络服务的应用、用于控制用户家中的IoT设备的应用、和/或任何其他合适类型的应用。在一些实施例中,用户凭证可以包括任何合适类型的用户凭证,诸如用户名、密码、生物测定签名、动态令牌、对应于用户设备的唯一设备标识符和/或可以唯一地标识用户设备和/或用户设备的用户的任何其他合适类型的信息。
注意,在一些实施例中,过程100可以在任何合适的时间和/或响应于任何合适的动作接收用户凭证。例如,在一些实施例中,过程100可以响应于在用户设备上选择或打开应用而接收用户凭证。作为更具体的示例,在一些实施例中,过程100可以响应于确定应用已经被选择或打开而呈现请求用户凭证(例如,用户名和/或密码、生物测定标识符和/或任何其他合适的证书)的用户界面。作为另一示例,在一些实施例中,过程100可以响应于确定用户设备已经被开启或激活而从用户请求用户凭证。
在104,过程100可以使用本地区块链来确定用户凭证是否有效。注意,在一些实施例中,本地区块链可以是本地存储在用户设备的存储器中的区块链。在一些实施例中,过程100可以以任何合适的方式使用本地区块链来确定用户凭证是否有效。例如,在一些实施例中,过程100可以使用任何合适的技术或技术的组合来针对应用认证用户凭证。作为更具体的示例,在一些实施例中,过程100可以验证用户凭证的散列以针对应用认证用户凭证。
注意,在一些实施例中,本地区块链可以分布在多个用户设备之间。例如,在一些实施例中,本地区块链的一部分可被存储在正在针对应用认证的用户设备上,并且本地区块链的剩余部分可以被分布在其他用户设备中。作为更具体的示例,在一些实施例中,本地区块链的剩余部分可以分布在与针对应用认证的用户设备的用户相关联的其他用户设备中,诸如由用户使用的其他用户设备、用户的家庭或办公室中的IoT设备和/或任何其他合适的用户设备。
如果在104,过程100使用本地区块链确定用户凭证无效(在104为“否”),则过程100可以在124结束。
如果在104处,过程100使用本地区块链确定用户凭证有效(在104处为“是”),则过程100可以在106处确定是否存在到云区块链服务器(例如,如以下结合图2所示和所述的云区块链服务器202)的连接。在一些实施例中,过程100可以以任何合适的方式确定是否存在到云区块链服务器的连接。例如,在一些实施例中,过程100可以使用任何合适的通信网络来尝试连接到云区块链服务器,并且可以确定连接到云区块链服务器的尝试是否成功。
如果在106,过程100确定不存在到云区块链服务器的连接(在106为“否”),则过程100可以在108为本地区块链创建新区块。例如,在一些实施例中,新区块可以对应于其中用户设备被认证到应用的实例。在一些实施例中,可以使用任何合适的信息来生成新区块,任何合适的信息诸如对应于应用的用户名和/或密码、生物测定签名、动态令牌、对应于用户设备的唯一标识符、公钥基础结构(PKI)公钥和私钥、网际协议(IP)地址、日期和/或时间(例如,使用本地区块链来认证用户凭证的日期和/或时间、和/或任何其他合适的日期和/或时间)、地理位置(例如,当前全球定位***或GPS、用户设备的坐标、用户设备的当前城市或城镇、和/或任何其他合适的地理位置)、和/或任何其他合适的信息。注意,在一些实施例中,可以使用信息的任何适当组合来生成新区块。另外,注意,在一些实施例中,可以使用任何合适的加密协议以任何合适的方式对新区块进行加密。
在110,过程100可以将新区块添加到本地区块链。注意,在一些实施例中,新区块可以作为离线区块被添加到本地区块链,离线区块可以在用户设备下次连接到云区块链服务器时与存储在云区块链服务器上的区块链同步。
在112,过程100可以授权与用户凭证相关联的用户对应用的访问。在一些实施例中,过程100可以以任何合适的方式授权对用户设备上的应用的访问。例如,在一些实施例中,过程100可以使用用户凭证登录到与用户和应用相关联的用户账户。
过程100然后可以在124结束。
返回参考106,如果在106处,过程100确定存在到区块链服务器的连接(在106处为“是”),则在114处,过程100可以使用云区块链来确定用户凭证是否有效。在一些实施例中,过程100可以以任何合适的方式使用云区块链来确定用户凭证是否有效。例如,在一些实施例中,用户设备可以向区块链服务器传送请求,该请求向应用请求验证用户凭证。在一些实施例中,区块链服务器可以使用任何合适的技术或技术的组合来验证用户凭证。例如,在一些实施例中,过程100可以验证与用户凭证相关联的散列。
如果在114,过程100确定用户凭证无效(在114为“否”),则过程100可以在124结束。
如果在114,过程100确定用户凭证有效(在114为“是”),则在116,过程100可以同步云区块链和本地区块链。在一些实施例中,过程100可以使用任何合适的技术或技术的组合来同步云区块链和本地区块链。例如,在一些实施例中,过程100可以将由过程100创建的尚未被添加到云区块链的所有区块从用户设备传送到区块链服务器。作为更具体的示例,在一些实施例中,过程100可以传送被指示为离线区块的区块,如以上结合110所描述的。作为具体示例,在一些实施例中,过程100可在没有成功连接到区块链服务器时传送先前被添加到本地区块链的离线区块。作为另一示例,在一些实施例中,过程100可以在用户设备处从区块链服务器接收存在于存储在区块链服务器上的云区块链中的、尚未被包括在本地区块链中的任何区块。作为更具体的示例,在一些实施例中,在本地区块链分布在多个用户设备之间的情况下,过程100可以从区块链服务器接收从存储本地区块链的一部分的其他用户设备添加到云区块链的区块。
在118,过程100可以为本地区块链创建新区块。如上结合108所述,过程100可以以任何合适的方式为本地区块链创建新区块。例如,在一些实施例中,可以使用任何合适的信息来生成新区块,任何合适的信息诸如对应于应用的用户名和/或密码、生物测定签名、动态令牌、对应于用户设备的唯一标识符、公钥基础设施(PKI)公钥和私钥、网际协议(IP)地址、日期和/或时间(例如,用户设备针对应用认证的日期和/或时间、和/或任何其他合适的日期和/或时间)、地理位置、和/或任何其他合适的信息。注意,在一些实施例中,可以使用信息的任何适当组合来生成新区块。另外,注意,在一些实施例中,可以以任何合适的方式并且使用任何合适的协议来加密新区块。
在120,过程100可以将新区块添加到本地区块链。
在122,过程100可以将新区块传送到区块链服务器。在一些这样的实施例中,可以利用指令来传送新区块,所述指令使得区块链服务器将新区块添加到存储在区块链服务器上的云区块链。
然后,如上所述,在112,过程100可以授权与用户凭证相关联的用户对应用的访问。
转向图2,示出根据所公开的主题的一些实施例的可以使用的用于使用区块链来认证用户的硬件的示例200。如图所示,硬件200可包括云区块链服务器202、通信网络204、诸如用户设备208、210和212的一个或多个用户设备206、和/或诸如路由器214和/或216的一个或多个路由器。
云区块链服务器202可以是用于存储信息、数据、程序和/或任何其他合适的内容的任何合适的服务器。例如,在一些实施例中,云区块链服务器202可以存储与区块链相关联的信息,该信息可以用于针对应用认证用户。在一些实施例中,存储在云区块链服务器202上的云区块链可以与存储在用户设备206中的一个或多个上的本地区块链同步,如以上结合图1所示和所述。
在一些实施例中,通信网络204可以是一个或多个有线和/或无线网络的任何合适的组合。例如,通信网络204可以包括互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字用户线(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网络(VPN)和/或任何其它适当的通信网络中的任何一个或多个。用户设备206可以通过一个或多个通信链路连接到通信网络204,该通信网络可以经由一个或多个通信链路链接到云区块链服务器202。在一些实施例中,用户设备206可以经由一个或多个路由器(诸如路由器214和/或路由器216)连接到通信网络204。例如,在一些实施例中,用户设备208和210可以经由路由器214连接到通信网络204,并且用户设备212可以经由路由器216连接到通信网络204。在一些实施例中,通信链路可以是适合于在用户设备206和服务器202之间传达数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其他合适的通信链路、或此类链路的任何合适的组合。
用户设备206可以包括任何一个或多个用户设备。例如,在一些实施例中,用户设备206可以包括用户设备,诸如移动电话、平板计算机、膝上型计算机、台式计算机、可穿戴计算机和/或任何其他合适类型的计算机。作为另一示例,在一些实施例中,用户设备206可以包括媒体回放设备,诸如电视、扬声器、游戏控制台和/或任何其他合适类型的媒体回放设备。作为又一示例,在一些实施例中,用户设备206可以包括任何合适的物联网(IoT)设备,诸如智能恒温器、智能锁和/或任何其他合适的IoT设备。注意,在一些实施例中,用户设备206的用户可以针对要在用户设备206上执行的任何合适的应用进行认证,任何合适的应用诸如用于访问电子邮件的应用、用于呈现媒体内容的应用和/或任何其他合适类型的应用。在一些实施例中,可以使用上面结合图1示出和描述的技术来执行认证。
尽管云区块链服务器202被图示为一个设备,但是在一些实施例中,由云区块链服务器202执行的功能可以使用任何合适数量的设备来执行。例如,在一些实施例中,多个设备可以用于实现由云区块链服务器202执行的功能。
尽管为了避免附图过于复杂而在图2中示出了三个用户设备208、210和212,但是在一些实施例中可以使用任何合适数量的用户设备和/或任何合适类型的用户设备。
在一些实施例中,云区块链服务器202和用户设备206可以使用任何合适的硬件来实现。例如,在一些实施例中,设备202和206可以使用任何合适的通用计算机或专用计算机来实现。例如,移动电话可以使用专用计算机来实现。任何这样的通用计算机或专用计算机可以包括任何合适的硬件。例如,如图3的示例硬件300中所示,这样的硬件可以包括硬件处理器302、存储器和/或存储304、输入设备控制器306、输入设备308、显示器/音频驱动器310、显示器和音频输出电路312、通信接口314、天线316和总线318。
在一些实施例中,硬件处理器302可以包括任何合适的硬件处理器,诸如微处理器、微控制器、数字信号处理器、专用逻辑和/或用于控制通用计算机或专用计算机的功能的任何其他合适的电路。在一些实施例中,硬件处理器302可以由存储在服务器的存储器和/或存储中的服务器程序控制,所述服务器诸如云区块链服务器202。例如,在一些实施例中,服务器程序可以使硬件处理器302将区块添加到云区块链,将云区块链与本地存储在用户设备上的区块链同步,和/或执行任何其他合适的功能。在一些实施例中,硬件处理器302可以由存储在诸如用户设备206的用户设备的存储器和/或存储中的计算机程序控制。例如,在一些实施例中,计算机程序可以使硬件处理器302使用存储在用户设备206上的本地区块链来针对要在用户设备306上执行的应用认证用户,使本地存储的区块链与存储在云区块链服务器202上的区块链同步,使用本地存储的区块链基于用户凭证的认证来向用户设备206的用户授权对应用的访问,和/或执行任何其他合适的功能。
在一些实施例中,存储器和/或存储304可以是用于存储程序、数据和/或任何其它合适的信息的任何合适的存储器和/或存储装置。例如,存储器和/或存储304可以包括随机存取存储器、只读存储器、闪存、硬盘存储、光学介质和/或任何其它合适的存储器。
在一些实施例中,输入设备控制器306可以是用于控制和接收来自一个或多个输入设备308的输入的任何合适的电路。例如,输入设备控制器306可以是用于从触摸屏、从键盘、从一个或多个按钮、从语音识别电路、从麦克风、从相机、从光学传感器、从加速度计、从温度传感器、从近场传感器、从压力传感器、从编码器和/或任何其他类型的输入设备接收输入的电路。
在一些实施例中,显示器/音频驱动器310可以是用于控制和驱动到一个或多个显示器/音频输出设备312的输出的任何合适的电路。例如,显示器/音频驱动器310可以是用于驱动触摸屏、平板显示器、阴极射线管显示器、投影仪、一个或多个扬声器和/或任何其它合适的显示和/或呈现设备的电路。
通信接口314可以是用于与一个或多个通信网络(例如,计算机网络204)对接的任何合适的电路。例如,接口314可以包括网络接口卡电路、无线通信电路和/或任何其他合适类型的通信网络电路。
在一些实施例中,天线316可以是用于与通信网络(例如,通信网络204)无线通信的任何合适的一个或多个天线。在一些实施例中,可以省略天线316。
在一些实施例中,总线318可以是用于在两个或更多个组件302、304、306、310和314之间通信的任何合适的机制。
根据一些实施例,硬件200中可以包括任何其他合适的组件。
在一些实施例中,图1的过程的上述块中的至少一些可以以不限于结合附图示出和描述的顺序和序列的任何顺序或序列来执行或进行。而且,图1的上述块中的一些块可以在适当的情况下基本上同时或并行地执行或进行,以减少等待时间和处理时间。另外或替代地,可省略图1的过程的上述块中的一些块。
在一些实施例中,任何合适的计算机可读介质可用于存储用于执行本文的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质可以是暂时性的或非暂时性的。例如,非暂时性计算机可读介质可以包括介质,诸如非暂时性形式的磁介质(诸如硬盘、软盘和/或任何其他合适的磁介质)、非暂时性形式的光学介质(诸如压缩盘、数字视频盘、蓝光盘和/或任何其他合适的光学介质)、非暂时性形式的半导体介质(诸如闪存、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和/或任何其他合适的半导体介质)、在传输期间不短暂或缺乏任何永久性的外观的任何合适的介质和/或任何合适的有形介质。作为另一示例,暂时性计算机可读介质可以包括网络上的信号、电线中的信号、导体中的信号、光纤中的信号、电路中的信号、传输期间短暂且缺乏任何持久的外观的任何合适的介质中的信号、和/或任何合适的无形介质中的信号。
因此,提供了用于使用区块链来认证用户的方法、***和介质。
尽管在上述说明性实施例中描述和说明了本发明,但是应当理解,本公开仅通过示例的方式进行,并且在不脱离本发明的精神和范围的情况下,可以对本发明的实现细节进行各种改变,本发明的精神和范围仅由所附权利要求限定。所公开的实施例的特征可以以各种方式组合和重新布置。

Claims (18)

1.一种用于使用区块链来认证用户的方法,包括:
在用户的用户设备处,接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;
使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;
响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;
将所述新区块添加到所述本地区块链;以及
基于验证的用户凭证来授权对所述应用的访问。
2.根据权利要求1所述的方法,还包括:
连接到存储云区块链的区块链服务器;以及
使得所述新区块被添加到所述云区块链。
3.根据权利要求2所述的方法,还包括:使用所述云区块链来确定所述用户凭证对于所述应用是否有效,其中,使得所述新区块被添加到所述云区块链是响应于使用所述云区块链确定所述用户凭证对于所述应用有效。
4.根据权利要求2所述的方法,还包括:
接收包括在所述云区块链中的、不包括在所述本地区块链中的多个区块;以及
将所述多个区块添加到所述本地区块链。
5.根据权利要求1所述的方法,还包括:
请求到存储云区块链的区块链服务器的连接;
确定到所述区块链服务器的所述连接不成功,其中,响应于确定到所述区块链服务器的所述连接不成功,将所述新区块作为离线区块添加到所述本地区块链。
6.根据权利要求1所述的方法,其中,所述本地区块链是区块链的一部分,并且其中,所述区块链的其他部分由与所述用户相关联的其他用户设备本地存储。
7.一种用于使用区块链来认证用户的***,所述***包括:
存储器;以及
硬件处理器,当执行存储在所述存储器中的计算机可执行指令时,所述硬件处理器被配置为:
在用户的用户设备处接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;
使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;
响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;
将所述新区块添加到所述本地区块链;以及
基于验证的用户凭证来授权对所述应用的访问。
8.根据权利要求7所述的***,其中,所述硬件处理器还被配置为:
连接到存储云区块链的区块链服务器;以及
使得所述新区块被添加到所述云区块链。
9.根据权利要求8所述的***,其中,所述硬件处理器还被配置为:使用所述云区块链来确定所述用户凭证对于所述应用是否有效,其中,使得所述新区块被添加到所述云区块链是响应于使用所述云区块链确定所述用户凭证对于所述应用有效。
10.根据权利要求8所述的***,其中,所述硬件处理器还被配置为:
接收包括在所述云区块链中的、不包括在所述本地区块链中的多个区块;以及
将所述多个区块添加到所述本地区块链。
11.根据权利要求7所述的***,其中,所述硬件处理器还被配置为:
请求到存储云区块链的区块链服务器的连接;
确定到所述区块链服务器的所述连接不成功,其中,响应于确定到所述区块链服务器的所述连接不成功,将所述新区块作为离线区块添加到所述本地区块链。
12.根据权利要求7所述的***,其中,所述本地区块链是区块链的一部分,并且其中,所述区块链的其他部分由与所述用户相关联的其他用户设备本地存储。
13.一种包含计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由处理器执行时使所述处理器执行一种用于使用区块链来认证用户的方法,所述方法包括:
在用户的用户设备处接收用于针对与所述用户设备相关联的应用进行认证的用户凭证;
使用存储在所述用户设备上的本地区块链来确定所述用户凭证对于所述应用是否有效;
响应于确定所述用户凭证有效,生成要被添加到所述本地区块链的新区块;
将所述新区块添加到所述本地区块链;以及
基于验证的用户凭证来授权对所述应用的访问。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,所述方法还包括:
连接到存储云区块链的区块链服务器;以及
使得所述新区块被添加到所述云区块链。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述方法还包括:使用所述云区块链来确定所述用户凭证对于所述应用是否有效,其中,使得所述新区块被添加到所述云区块链是响应于使用所述云区块链确定所述用户凭证对于所述应用有效。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,所述方法还包括:
接收包括在所述云区块链中的、不包括在所述本地区块链中的多个区块;以及
将所述多个区块添加到所述本地区块链。
17.根据权利要求13所述的非暂时性计算机可读介质,其中,所述方法还包括:
请求到存储云区块链的区块链服务器的连接;
确定到所述区块链服务器的所述连接不成功,其中,响应于确定到所述区块链服务器的所述连接不成功,将所述新区块作为离线区块添加到所述本地区块链。
18.根据权利要求13所述的非暂时性计算机可读介质,其中,所述本地区块链是区块链的一部分,并且其中,所述区块链的其他部分由与所述用户相关联的其他用户设备本地存储。
CN202080013030.XA 2019-02-08 2020-02-03 用于使用区块链来认证用户的方法、***和介质 Pending CN113424161A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/271,024 2019-02-08
US16/271,024 US11222099B2 (en) 2019-02-08 2019-02-08 Methods, systems, and media for authenticating users using blockchains
PCT/US2020/016377 WO2020163223A1 (en) 2019-02-08 2020-02-03 Methods, systems, and media for authenticating users using blockchains

Publications (1)

Publication Number Publication Date
CN113424161A true CN113424161A (zh) 2021-09-21

Family

ID=71946071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080013030.XA Pending CN113424161A (zh) 2019-02-08 2020-02-03 用于使用区块链来认证用户的方法、***和介质

Country Status (6)

Country Link
US (1) US11222099B2 (zh)
JP (1) JP2022519743A (zh)
CN (1) CN113424161A (zh)
CA (1) CA3128981A1 (zh)
TW (1) TW202044085A (zh)
WO (1) WO2020163223A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019141290A2 (en) * 2019-05-15 2019-07-25 Alibaba Group Holding Limited Processing data elements stored in blockchain networks
EP4196894A1 (en) * 2020-11-10 2023-06-21 St. Jude Medical, Cardiology Division, Inc. Centralized ledger system for device authentication
US11308198B1 (en) * 2020-12-22 2022-04-19 Lucas GC Limited Blockchain-based credential vault system (CVS)
CN114268472B (zh) * 2021-12-10 2023-12-15 杭州溪塔科技有限公司 基于区块链的应用***的用户认证方法及***

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234697B2 (en) * 2008-03-31 2012-07-31 Intel Corporation Method, apparatus, and system for sending credentials securely
US9197417B2 (en) * 2009-04-24 2015-11-24 Microsoft Technology Licensing, Llc Hosted application sandbox model
US20110202989A1 (en) * 2010-02-18 2011-08-18 Nokia Corporation Method and apparatus for providing authentication session sharing
US9569771B2 (en) * 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US11057364B2 (en) * 2015-06-15 2021-07-06 Airwatch Llc Single sign-on for managed mobile devices
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US9942237B2 (en) * 2015-08-28 2018-04-10 Bank Of America Corporation Determining access requirements for online accounts based on characteristics of user devices
WO2017127564A1 (en) 2016-01-19 2017-07-27 Priv8Pay, Inc. Network node authentication
US10178105B2 (en) 2016-02-22 2019-01-08 Bank Of America Corporation System for providing levels of security access to a process data network
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US10881045B2 (en) * 2016-03-04 2021-01-05 Nutrien Ag Solutions (Canada) Inc. System and method for prescribing fertilizer application rates for spatial distribution of a product
US10135817B2 (en) * 2016-03-28 2018-11-20 Bank Of America Corporation Enhancing authentication and source of proof through a dynamically updatable biometrics database
US10212145B2 (en) * 2016-04-06 2019-02-19 Avaya Inc. Methods and systems for creating and exchanging a device specific blockchain for device authentication
US10133857B2 (en) * 2016-05-18 2018-11-20 Bank Of America Corporation Phalangeal authentication device
US10592639B2 (en) * 2016-09-06 2020-03-17 Intel Corporation Blockchain-based shadow images to facilitate copyright protection of digital content
US10581847B1 (en) * 2016-09-27 2020-03-03 Amazon Technologies, Inc. Blockchain-backed device and user provisioning
US10469478B2 (en) * 2016-12-07 2019-11-05 Vmware, Inc. Inter-application secure data sharing workflow
US11631077B2 (en) * 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
US9992022B1 (en) * 2017-02-06 2018-06-05 Northern Trust Corporation Systems and methods for digital identity management and permission controls within distributed network nodes
WO2018160228A1 (en) * 2017-03-03 2018-09-07 General Electric Company Microgrid energy reservoir transaction verification via secure, distributed ledger
US10880089B2 (en) 2017-03-15 2020-12-29 NuID, Inc. Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
US20180293576A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
US20180314817A1 (en) * 2017-04-27 2018-11-01 Accenture Global Solutions Limited Biometric-based single sign-on
US10735193B1 (en) * 2017-06-01 2020-08-04 Massachusetts Mutual Life Insurance Company Decentralized encryption and decryption of blockchain data
EP3410156A1 (en) * 2017-06-02 2018-12-05 Nokia Technologies Oy Positioning information verification
US10693644B2 (en) * 2017-06-23 2020-06-23 International Business Machines Corporation Single-input multifactor authentication
US10810004B2 (en) * 2017-06-30 2020-10-20 Oracle International Corporation System and method for managing a public software component ecosystem using a distributed ledger
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
US11416832B2 (en) * 2017-07-18 2022-08-16 nChain Holdings Limited Systems and methods for blockchain-dependent operation sets
US10452824B2 (en) * 2017-07-24 2019-10-22 Dell Products, Lp Method and apparatus for optimized access of security credentials via mobile edge-computing systems
US20190057454A1 (en) * 2017-08-18 2019-02-21 United Parcel Service Of America, Inc. Immutable electronic platform for insurance selection
US10805085B1 (en) * 2017-08-24 2020-10-13 United Services Automobile Association (Usaa) PKI-based user authentication for web services using blockchain
US20190080402A1 (en) * 2017-09-11 2019-03-14 Templum, Llc System and method for providing a regulatory-compliant token
US10331875B2 (en) * 2017-09-20 2019-06-25 Level 3 Communications, Llc Access control for content delivery services
US10790982B2 (en) * 2017-10-27 2020-09-29 Secureworks Corp. Systems and methods for block chain authentication
US11310234B2 (en) * 2017-11-16 2022-04-19 International Business Machines Corporation Securing permissioned blockchain network from pseudospoofing network attacks
US20190173854A1 (en) * 2017-11-22 2019-06-06 Michael Beck Decentralized information sharing network
US10735450B2 (en) * 2017-11-30 2020-08-04 Intel Corporation Trust topology selection for distributed transaction processing in computing environments
US10887301B1 (en) * 2017-12-12 2021-01-05 United Services Automobile Association (Usaa) Client registration for authorization
US20200396059A1 (en) * 2017-12-19 2020-12-17 Algorand Inc. Fast and partition-resilient blockchains
US10756883B2 (en) * 2018-01-19 2020-08-25 Trist Technologies, Inc. Systems and methods for data collection with blockchain recording
US11218315B2 (en) * 2018-01-24 2022-01-04 Safeshare, Inc. System and method establishing a trust model for shared content on the internet
US20190238316A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment
US20190236559A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment
US20190251573A1 (en) * 2018-02-09 2019-08-15 Airbus (S.A.S.) Systems and methods of verifying credentials of aircraft personnel using a blockchain computer system
US11038689B2 (en) * 2018-03-01 2021-06-15 FinancialForce.com, Inc. Efficient block chain generation
WO2019178300A1 (en) * 2018-03-13 2019-09-19 Blockpoint Systems Inc. Relational blockchain database
US20190289017A1 (en) * 2018-03-14 2019-09-19 Ca, Inc. Time and location based authentication credentials
US20190319938A1 (en) * 2018-04-12 2019-10-17 Bank Of America Corporation Network authentication for real-time interaction using pre-authorized data record
US11233792B2 (en) * 2018-05-02 2022-01-25 Mastercard International Incorporated Method and system for enhanced login credential security via blockchain
CN108664223B (zh) * 2018-05-18 2021-07-02 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质
US20190361869A1 (en) * 2018-05-24 2019-11-28 Imagerights International, Inc. Systems, devices, and methods for tracking creation and modification of digital records
US10929352B2 (en) * 2018-05-29 2021-02-23 Oracle International Corporation Securing access to confidential data using a blockchain ledger
US10693716B2 (en) * 2018-05-29 2020-06-23 At&T Mobility Ii Llc Blockchain based device management
US11487749B2 (en) * 2018-05-30 2022-11-01 Aenco Technologies Limited Method and system for verifying and maintaining integrity of data transactions using distributed ledger
US11233779B2 (en) * 2018-06-03 2022-01-25 Apple Inc. Wireless credential sharing
US10409783B1 (en) * 2018-06-06 2019-09-10 Capital One Services, Llc Distributed work data management
US10972279B2 (en) * 2018-06-07 2021-04-06 International Business Machines Corporation Efficient validation for blockchain
US20200005410A1 (en) * 2018-06-29 2020-01-02 Peter Kingsley McKee System and Method for Facilitating Legal Review for Commercial Loan Transactions
US10681049B2 (en) * 2018-07-16 2020-06-09 Cisco Technology, Inc. Authentication, authorization and accounting in managed cloud computing services
US10887082B2 (en) * 2018-07-24 2021-01-05 Vmware, Inc. Internet of things blockchain auditing
WO2020023604A1 (en) * 2018-07-27 2020-01-30 Walmart Apollo, Llc Systems and methods for providing interactions based on a distributed conversation database
EP3831012B1 (en) * 2018-07-27 2023-08-23 HRL Laboratories, LLC Bidirectional blockchain
US11240239B2 (en) * 2018-08-07 2022-02-01 Dell Products L.P. Apparatus and method for shared credential authentication
US10671308B2 (en) * 2018-08-07 2020-06-02 International Business Machines Corporation Private and fault-tolerant storage of segmented data
US11257078B2 (en) * 2018-08-20 2022-02-22 Mastercard International Incorporated Method and system for utilizing blockchain and telecom network for two factor authentication and enhancing security
US10964145B2 (en) * 2018-08-24 2021-03-30 Sensormatic Electronics, LLC Access control system using blockchain ledger
US10656936B2 (en) * 2018-08-30 2020-05-19 Dell Products L.P. Systems and methods for software integrity validation using blockchain
US10896249B2 (en) * 2018-08-31 2021-01-19 Target Brands, Inc. Secure electronic authentication of a user on an electronic device
US11032292B2 (en) * 2018-09-04 2021-06-08 Allen Gluck Systems and methods for hybrid blockchain control
US11216806B2 (en) * 2018-09-19 2022-01-04 Capital One Services, Llc Systems and methods for providing card interactions
US20200097950A1 (en) * 2018-09-20 2020-03-26 Ca, Inc. Privileged entity consensus for digital asset creation
US11138572B2 (en) * 2018-09-26 2021-10-05 Mastercard International Incorporated Method and system for dispute resolution in a public blockchain
US11042613B2 (en) * 2018-10-30 2021-06-22 Avaya Inc. Enhanced user authentication based on device usage characteristics for interactions using blockchains
US20200162266A1 (en) * 2018-11-16 2020-05-21 Adobe Inc. Facilitating analytic services for provenance of digital documents
US10944745B2 (en) * 2018-12-06 2021-03-09 Bank Of America Corporation System and method for device and transaction authentication
US11087143B2 (en) * 2018-12-13 2021-08-10 Sap Se Shop platform using blockchain
US20200220881A1 (en) * 2019-01-09 2020-07-09 Ebay Inc. Weighted verification of entity data blocks on a blockchain
US11550928B2 (en) * 2019-01-11 2023-01-10 Combined Conditional Access Development And Support, Llc Distributed ledger-based digital content tracing
US10992676B2 (en) * 2019-01-16 2021-04-27 EMC IP Holding Company LLC Leveraging blockchain technology for auditing cloud service for data protection compliance
US20200265351A1 (en) * 2019-02-18 2020-08-20 Chainworks, Inc. Data similacrum based on locked information manipulation
US11392702B2 (en) * 2019-03-17 2022-07-19 Microsoft Technology Licensing, Llc Discovery and matching of internet of things (IoT) devices and services using a secure global registry
US11626989B2 (en) * 2019-03-21 2023-04-11 Verizon Patent And Licensing Inc. System and method for allocating multi-access edge computing services
US11418322B2 (en) * 2019-03-26 2022-08-16 International Business Machines Corporation Information management in a decentralized database including a fast path service
US11316706B2 (en) * 2019-04-16 2022-04-26 Mastercard International Incorporated Method and system for using dynamic private keys to secure data file retrieval
US11394554B2 (en) * 2019-04-30 2022-07-19 Paypal, Inc. Decentralized trust using blockchain for tracking and validation of voice communications
US11880349B2 (en) * 2019-04-30 2024-01-23 Salesforce, Inc. System or method to query or search a metadata driven distributed ledger or blockchain
US11809896B2 (en) * 2019-05-24 2023-11-07 International Business Machines Corporation Anomalous transaction commitment prevention for database
US11050822B2 (en) * 2019-06-05 2021-06-29 International Business Machines Corporation Secure data dissemination
US11374768B2 (en) * 2019-06-11 2022-06-28 Mastercard International Incorporated Method and system for real-time driving alerts

Also Published As

Publication number Publication date
JP2022519743A (ja) 2022-03-24
US11222099B2 (en) 2022-01-11
US20200257778A1 (en) 2020-08-13
CA3128981A1 (en) 2020-08-13
TW202044085A (zh) 2020-12-01
WO2020163223A1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
US11297055B2 (en) Multifactor contextual authentication and entropy from device or device input or gesture authentication
CN107079038B (zh) 用于提供对计算设备的访问控制的方法、***、以及介质
KR101816863B1 (ko) 기업 시스템들에서 사용자 및 디바이스 인증
US8769612B2 (en) Portable device association
US11222099B2 (en) Methods, systems, and media for authenticating users using blockchains
EP2316097B1 (en) Protocol for device to station association
JP2020520009A (ja) Botユーザのセキュアな認証
US8769289B1 (en) Authentication of a user accessing a protected resource using multi-channel protocol
US11812263B2 (en) Methods and apparatus for securely storing, using and/or updating credentials using a network device at a customer premises
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
EP3223496A1 (en) Systems and methods for automating client-side discovery of public keys of external contacts that are secured by dane using dnssec
KR20210074299A (ko) 사용자 크리덴셜을 관리하기 위한 시스템, 방법 및 매체
CN114417309A (zh) 一种双向身份验证方法、装置、设备及存储介质
US20240129411A1 (en) Techniques for implementing phone number-based user accounts with permissions to access varying levels of services utilizing visible and hidden contact addresses
TW201328280A (zh) 即時通訊身分認證系統與方法
CN115037451A (zh) 数据保护方法及电子设备
KR101879842B1 (ko) Otp를 이용한 사용자 인증 방법 및 시스템
EP3815297B1 (en) Authentication through secure sharing of digital secrets previously established between devices
US20230344818A1 (en) Systems and methods for securely establishing trusted device bonding
CN117318969A (zh) 实现容灾的业务通信方法、装置及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210921

WD01 Invention patent application deemed withdrawn after publication