CN108964922A - 移动终端令牌激活方法、终端设备及服务器 - Google Patents

移动终端令牌激活方法、终端设备及服务器 Download PDF

Info

Publication number
CN108964922A
CN108964922A CN201810629838.5A CN201810629838A CN108964922A CN 108964922 A CN108964922 A CN 108964922A CN 201810629838 A CN201810629838 A CN 201810629838A CN 108964922 A CN108964922 A CN 108964922A
Authority
CN
China
Prior art keywords
whitepack
serial number
ciphertext
seed key
token
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
CN201810629838.5A
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.)
Shenzhen Excelsecu Data Technology Co Ltd
Original Assignee
Shenzhen Excelsecu Data Technology Co Ltd
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 Shenzhen Excelsecu Data Technology Co Ltd filed Critical Shenzhen Excelsecu Data Technology Co Ltd
Priority to CN201810629838.5A priority Critical patent/CN108964922A/zh
Publication of CN108964922A publication Critical patent/CN108964922A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及计算机技术领域,提供了一种移动终端令牌激活方法、终端设备及服务器。该方法包括:向服务器发送认证信息;接收服务器在校验所述认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据所述白盒解密文件对所述令牌序列号密文和所述种子密钥密文进行解密,得到令牌序列号和种子密钥;根据所述令牌序列号及所述种子密钥生成激活口令,并将所述激活口令发送至服务器;所述激活口令用于指示服务器对所述激活口令进行认证。本发明通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性。

Description

移动终端令牌激活方法、终端设备及服务器
技术领域
本发明涉及计算机技术领域,尤其涉及一种移动终端令牌激活方法、终端设备及服务器。
背景技术
现有技术中,在终端设备进行账户登录或交易认证时,一般采取静态密码、短信验证、硬件动态令牌或者硬件USB一代/二代KEY的方式进行安全验证。其中静态密码形式登录,密码容易泄露或者被碰撞破解;短信验证方式存在延迟,且容易被截获,安全性不高;硬件动态令牌或者硬件USB一代/二代KEY携带不便,用户体验差。
移动终端令牌是移动终端上用来进行安全验证的程序,相较于前面几种安全验证方式,无需携带额外的设备即可进行安全验证,具有良好的便捷性,但目前移动终端令牌的激活过程安全性较低,影响移动终端令牌的安全使用。
发明内容
有鉴于此,本发明实施例提供了移动终端令牌激活方法、终端设备及服务器,以解决目前移动终端令牌的激活过程安全性较低的问题。
本发明实施例的第一方面提供了移动终端令牌激活方法,应用于客户端,包括:
向服务器发送认证信息;
接收服务器在校验所述认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;
根据所述白盒解密文件对所述令牌序列号密文和所述种子密钥密文进行解密,得到令牌序列号和种子密钥;
根据所述令牌序列号及所述种子密钥生成激活口令,并将所述激活口令发送至服务器;所述激活口令用于指示服务器对所述激活口令进行认证。
本发明实施例的第二方面提供了移动终端令牌激活方法,应用于服务器,包括:
接收客户端发送的认证信息;
在校验所述认证信息有效后向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文,以使得客户端根据所述白盒解密文件对所述令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥,并根据所述令牌序列号及所述种子密钥生成激活口令;
接收客户端发送的激活口令,并对所述激活口令进行认证。
本发明实施例的第三方面提供了终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面中的移动终端令牌激活方法。
本发明实施例的第四方面提供了终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面中的移动终端令牌激活方法。
本发明实施例的第五方面提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面中的移动终端令牌激活方法。
本发明实施例与现有技术相比存在的有益效果是:通过向服务器发送认证信息;接收服务器在校验认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥;根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器,能够实现对移动终端令牌的激活。本发明实施例通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性,从而提高对移动终端令牌进行激活的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的移动终端令牌激活方法的实现流程图;
图2是本发明实施例提供的移动终端令牌激活方法中进行授权申请的实现流程图;
图3是本发明实施例提供的移动终端令牌激活方法中接收白盒解密文件、令牌序列号密文和种子密钥密文的实现流程图;
图4是本发明另一实施例提供的移动终端令牌激活方法的实现流程图;
图5是本发明实施例提供的移动终端令牌激活方法中下发白盒解密文件、令牌序列号密文及种子密钥密文的实现流程图;
图6是本发明实施例提供的移动终端令牌激活方法的交互流程图;
图7是本发明一个实施例提供的移动终端令牌激活装置的示意图;
图8是本发明另一实施例提供的移动终端令牌激活装置的示意图;
图9是本发明实施例提供的终端设备的示意图;
图10是本发明实施例提供的服务器的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1为本发明一个实施例提供的移动终端令牌激活方法的实现流程图,该方法应用于客户端,详述如下:
在S101中,向服务器发送认证信息。
在本实施例中,每个客户端对应唯一的认证信息,认证信息用于服务器确定客户端。服务器校验认证信息有效后,可以与客户端协商会话密钥。
作为本发明的一个实施例,如图2所示,在S101之前,还可以包括:
在S201中,发送携带用户标识的授权申请信息至服务器。
在本实施例,用户标识可以包括但不限于用户名、手机号及邮箱账号中的一种或多种。客户端通过向服务器发送携带用户标识的授权申请信息来申请授权码。
在S202中,接收服务器在校验所述用户标识有效后返回的授权码。
在本实施例中,服务器校验用户标识是否有效,有效则将授权码发送给客户端,客户端接收服务器返回的授权码。例如,服务器可以通过短信方式将授权码发送至客户端,或者通过邮件形式将授权码发送至用户邮箱,在此不作限定。
在S203中,根据所述用户标识和所述授权码生成所述认证信息。
在本实施例中,认证信息可以由用户标识和授权码组合生成,也可以根据其他规则结合用户标识和授权码生成,在此不作限定。
本实施例根据用户标识和授权码生成认证信息,一方面保证了认证信息的唯一性,另一方面由于授权码是服务器下发的,这样可以确保认证信息的安全性。
在S102中,接收服务器在校验所述认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文。
在本实施例中,采用白盒算法可以生成白盒加密文件及白盒解密文件,其中白盒加密文件用于对数据进行加密得到密文,白盒解密文件用于对密文进行解密得到数据。服务器可以用白盒加密文件加密令牌序列号和种子密钥,得到令牌序列号密文和种子密钥密文。
作为本发明的一个实施例,如图3所示,S102可以包括:
在S301中,接收服务器下发的白盒解密文件及白盒标识。
在本实施例中,一个白盒标识对应一个白盒解密文件及一个白盒加密文件。服务器在校验认证信息有效后,可以向客户端下发白盒解密文件和对应的白盒标识。客户端接收并保存白盒解密文件及白盒标识。
在S302中,向服务器发送携带所述白盒标识的请求信息。
在本实施例中,客户端向服务器发送携带白盒标识的请求信息,以请求服务器下发令牌序列号密文及种子密钥密文。
在S303中,接收服务器下发的令牌序列号密文和种子密钥密文;所述令牌序列号密文和种子密钥密文为由所述白盒标识对应的白盒加密文件加密令牌序列号和种子密钥得到的密文。
在本实施例中,服务器接收到携带白盒标识的请求信息后,可以根据白盒标识对应的白盒加密文件对令牌序列号和种子密钥进行加密,得到令牌序列号密文和种子密钥密文,并将令牌序列号密文和种子密钥密文下发至客户端。客户端接收令牌序列号密文和种子密钥密文。
在S103中,根据所述白盒解密文件对所述令牌序列号密文和所述种子密钥密文进行解密,得到令牌序列号和种子密钥。
在本实施例中,客户端采用保存的白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥。
本实施例中客户端将白盒标识添加到请求信息中,使服务器能够根据白盒标识对应的白盒加密文件对令牌序列号和种子密钥加密,保证了客户端保存的白盒解密文件与接收到的令牌序列号密文和种子密钥密文相对应,使客户端在需要使用令牌序列号及种子密钥时能够成功对其密文解密,进而保证令牌序列号和种子密钥的安全传输和安全保存,提高移动终端令牌激活的安全性。
在S104中,根据所述令牌序列号及所述种子密钥生成激活口令,并将所述激活口令发送至服务器;所述激活口令用于指示服务器对所述激活口令进行认证。
在本实施例中,客户端根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器。服务器对激活口令进行认证,若认证通过则移动终端令牌激活成功。
本发明实施例通过向服务器发送认证信息;接收服务器在校验认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥;根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器,能够实现对移动终端令牌的激活。本发明实施例通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性,从而提高对移动终端令牌进行激活的安全性。
作为本发明的一个实施例,所述激活口令包括动态口令,S104中“根据所述令牌序列号及所述种子密钥生成激活口令”可以包括:
根据所述令牌序列号、所述种子密钥及动态口令算法计算动态口令。
在本实施例中,客户端可以根据令牌序列号、种子密钥及动态口令算法计算得到动态口令,将动态口令及令牌序列号发送至服务器。服务器接收动态口令及令牌序列号,对动态口令进行认证。
本实施例采用动态口令作为激活口令,可以进一步提高激活口令认证的安全性。
图4为本发明另一实施例提供的移动终端令牌激活方法的实现流程图,该方法应用于服务器,详述如下:
在S401中,接收客户端发送的认证信息。
在S402中,在校验所述认证信息有效后向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文,以使得客户端根据所述白盒解密文件对所述令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥,并根据所述令牌序列号及所述种子密钥生成激活口令。
在本实施例中,服务器对接收到的认证信息进行校验,若认证信息校验有效,则向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文。客户端接收到白盒解密文件、令牌序列号密文及种子密钥密文后,根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥,并根据令牌序列号及种子密钥生成激活口令。
作为本发明的一个实施例,所述白盒解密文件为服务器从预先生成的白盒文件池中获取到的白盒解密文件。
在本实施例中,白盒文件池保存有预先生成的白盒解密文件。服务器可以采用白盒算法预先生成多个白盒解密文件,将这些文件形成白盒文件池。在服务器需要向客户端下发白盒解密文件时直接从白盒文件池获取。
本实施例通过提前生成保存有白盒解密文件的白盒文件池,在需要下发白盒解密文件时不用生成白盒解密文件,而是直接从白盒文件池中获取,这样避免了生成白盒解密文件所需的时间,降低服务器内存消耗,使服务器能够更快速地响应客户端的请求下发白盒解密文件,提高服务器的执行效率,进而减少移动终端令牌激活过程所需的时间,提高激活效率,提升用户体验。
作为本发明的一个实施例,如图5所示,S402可以包括:
在S501中,在校验所述认证信息有效后向客户端下发白盒解密文件及白盒标识。
在S502中,接收客户端发送的携带所述白盒标识的请求信息。
在S503中,根据所述白盒标识对应的白盒加密文件对令牌序列号和种子密钥进行加密,得到令牌序列号密文和种子密钥密文。
在S504中,将所述令牌序列号密文和所述种子密钥密文下发至客户端。
在本实施例中,服务器接收到携带白盒标识的请求信息后,可以根据白盒标识对应的白盒加密文件对令牌序列号和种子密钥进行加密,得到令牌序列号密文和种子密钥密文,并将令牌序列号密文和种子密钥密文下发至客户端。
本实施例中服务器根据白盒标识对应的白盒加密文件对令牌序列号和种子密钥加密,保证了下发的令牌序列号密文和种子密钥密文与客户端保存的白盒解密文件相对应,使客户端在需要使用令牌序列号及种子密钥时能够成功对其密文解密,进而保证令牌序列号和种子密钥的安全传输和安全保存,提高移动终端令牌激活的安全性。
在S403中,接收客户端发送的激活口令,并对所述激活口令进行认证。
在本实施例中,服务器对激活口令进行认证,若认证通过则移动终端令牌激活。
本实施例在服务器下发种子密钥的过程中,采取白盒算法对种子密钥进行加密处理,极大地降低了种子密钥外泄的可能性,提高了种子密钥存储和传输的安全性。
本发明实施例通过向服务器发送认证信息;接收服务器在校验认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥;根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器,能够实现对移动终端令牌的激活。本发明实施例通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性,从而提高对移动终端令牌进行激活的安全性。
作为本发明的一个实施例,服务器可以包括云令管理服务器和云令认证服务器。
在本实施例中,云令认证管服务器用于实现云令的管理功能。云令认证服务器为激活口令认证服务器,用于激活口令的激活及验证。可选地,云令认证服务器可以采用分布式部署,这样在高并发的时候,能够提高云令服务器***的并发能力。
图6为本发明实施例提供的移动终端令牌激活方法的交互流程图,参与该交互流程的执行主体包括客户端、云令管理服务器及云令认证服务器,该交互流程的实现原理与图1至图5所述的实现原理一致,因此仅简要地描述该交互流程,不赘述:
1.客户端发送携带用户标识的授权申请信息至云令管理服务器。
2.云令管理服务器校验用户标识是否有效,有效则将授权码发送至客户端。
3.客户端发送认证信息至云令管理服务器。云令管理服务器校验认证信息有效后,与客户端协商会话密钥。
4.云令管理服务器向云令认证服务器发送获取白盒解密文件和白盒标识的请求信息。
5.云令认证服务器从提前生成的白盒文件池中获取白盒解密文件和白盒标识,将白盒解密文件和白盒标识发送至云令管理服务器。
6.云令管理服务器将白盒解密文件和白盒标识下发至客户端。
7.客户端向云令管理服务器发送携带白盒标识的请求信息。
8.云令管理服务器响应客户端发送的请求信息,向云令认证服务器发送获取令牌序列号和种子密钥的请求信息。
9.云令认证服务器校验白盒标识的合法性,校验通过则用相应的白盒加密文件加密令牌序列号和种子密钥,将令牌序列号密文和种子密钥密文发送给云令管理服务器。
10.云令管理服务器将令牌序列号密文和种子密钥密文发送至客户端。
11.客户端接收令牌序列号密文和种子密钥密文;通过白盒解密文件,解密密文得到明文的令牌序列号和种子密钥。
12.客户端通过种子密钥、令牌序列号以及动态口令算法,计算得到动态口令,并将动态口令和令牌序列号发送至云令管理服务器。
13.云令管理服务器将动态口令和令牌序列号发送至云令认证服务器。
14.云令认证服务器认证动态口令,认证通过则移动端令牌激活。
本发明实施例通过向服务器发送认证信息;接收服务器在校验认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥;根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器,能够实现对移动终端令牌的激活。本发明实施例通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性,从而提高对移动终端令牌进行激活的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的移动终端令牌激活方法,图7示出了本发明实施例提供的移动终端令牌激活装置的示意图,该装置应用于客户端。为了便于说明,仅示出了与本实施例相关的部分。
参照图7,该装置包括发送模块71、第一接收模块72、解密模块73和生成模块74。
发送模块71,用于向服务器发送认证信息。
第一接收模块72,用于接收服务器在校验所述认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文。
解密模块73,用于根据所述白盒解密文件对所述令牌序列号密文和所述种子密钥密文进行解密,得到令牌序列号和种子密钥。
生成模块74,根据所述令牌序列号及所述种子密钥生成激活口令,并将所述激活口令发送至服务器;所述激活口令用于指示服务器对所述激活口令进行认证。
可选地,该装置还包括授权申请模块,所述授权申请模块用于:
发送携带用户标识的授权申请信息至服务器;
接收服务器在校验所述用户标识有效后返回的授权码;
根据所述用户标识和所述授权码生成所述认证信息。
可选地,所述第一接收模块72用于:
接收服务器下发的白盒解密文件及白盒标识;
向服务器发送携带所述白盒标识的请求信息;
接收服务器下发的令牌序列号密文和种子密钥密文;所述令牌序列号密文和种子密钥密文为由所述白盒标识对应的白盒加密文件加密令牌序列号和种子密钥得到的密文。
可选地,所述激活口令包括动态口令,所述生成模块74用于:
根据所述令牌序列号、所述种子密钥及动态口令算法计算动态口令。
本发明实施例通过向服务器发送认证信息;接收服务器在校验认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥;根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器,能够实现对移动终端令牌的激活。本发明实施例通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性,从而提高对移动终端令牌进行激活的安全性。
对应于上文实施例所述的移动终端令牌激活方法,图8示出了本发明实施例提供的移动终端令牌激活装置的示意图,该装置应用于服务器。为了便于说明,仅示出了与本实施例相关的部分。
参照图8,该装置包括第二接收模块81、下发模块82和认证模块83。
第二接收模块81,用于接收客户端发送的认证信息。
下发模块82,用于在校验所述认证信息有效后向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文,以使得客户端根据所述白盒解密文件对所述令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥,并根据所述令牌序列号及所述种子密钥生成激活口令。
认证模块83,用于接收客户端发送的激活口令,并对所述激活口令进行认证。
可选地,所述白盒解密文件为服务器从预先生成的白盒文件池中获取到的白盒解密文件。
可选地,所述下发模块82用于:
在校验所述认证信息有效后向客户端下发白盒解密文件及白盒标识;
接收客户端发送的携带所述白盒标识的请求信息;
根据所述白盒标识对应的白盒加密文件对令牌序列号和种子密钥进行加密,得到令牌序列号密文和种子密钥密文;
将所述令牌序列号密文和所述种子密钥密文下发至客户端。
本发明实施例通过向服务器发送认证信息;接收服务器在校验认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;根据白盒解密文件对令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥;根据令牌序列号及种子密钥生成激活口令,并将激活口令发送至服务器,能够实现对移动终端令牌的激活。本发明实施例通过白盒解密文件对令牌序列号密文和种子密钥密文进行解密,再根据解密出的令牌序列号及种子密钥生成激活口令,能够使激活口令的生成及传输过程更加安全,提高激活口令的安全性,从而提高对移动终端令牌进行激活的安全性。
图9是本发明一实施例提供的终端设备的示意图。如图9所示,该实施例的终端设备9包括:处理器90、存储器91以及存储在所述存储器91中并可在所述处理器90上运行的计算机程序92,例如程序。所述处理器90执行所述计算机程序92时实现上述各个方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器90执行所述计算机程序92时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块71至74的功能。
示例性的,所述计算机程序92可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器91中,并由所述处理器90执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序92在所述终端设备9中的执行过程。例如,所述计算机程序92可以被分割成发送模块、第一接收模块、解密模块和生成模块,各模块具体功能如下:
发送模块,用于向服务器发送认证信息;
第一接收模块,用于接收服务器在校验所述认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;
解密模块,用于根据所述白盒解密文件对所述令牌序列号密文和所述种子密钥密文进行解密,得到令牌序列号和种子密钥;
生成模块,根据所述令牌序列号及所述种子密钥生成激活口令,并将所述激活口令发送至服务器;所述激活口令用于指示服务器对所述激活口令进行认证。
所述终端设备9可以是桌上型计算机、笔记本、掌上电脑及手机等计算设备。所述终端设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的示例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线、显示器等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91可以是所述终端设备9的内部存储单元,例如终端设备9的硬盘或内存。所述存储器91也可以是所述终端设备9的外部存储设备,例如所述终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述终端设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
图10是本发明一实施例提供的服务器的示意图。如图10所示,该实施例的服务器10包括:处理器100、存储器101以及存储在所述存储器101中并可在所述处理器100上运行的计算机程序102,例如程序。所述处理器100执行所述计算机程序102时实现上述各个方法实施例中的步骤,例如图4所示的步骤401至403。或者,所述处理器100执行所述计算机程序102时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块81至83的功能。
示例性的,所述计算机程序102可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器101中,并由所述处理器100执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序102在所述服务器10中的执行过程。例如,所述计算机程序102可以被分割成第二接收模块、下发模块和认证模块,各模块具体功能如下:
第二接收模块,接收客户端发送的认证信息。
下发模块,用于在校验所述认证信息有效后向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文,以使得客户端根据所述白盒解密文件对所述令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥,并根据所述令牌序列号及所述种子密钥生成激活口令。
认证模块,用于接收客户端发送的激活口令,并对所述激活口令进行认证。
所述服务器可包括,但不仅限于,处理器100、存储器101。本领域技术人员可以理解,图10仅仅是服务器10的示例,并不构成对服务器10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线、显示器等。
所称处理器100可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器101可以是所述服务器10的内部存储单元,例如服务器10的硬盘或内存。所述存储器101也可以是所述服务器10的外部存储设备,例如所述服务器10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器101还可以既包括所述服务器10的内部存储单元也包括外部存储设备。所述存储器101用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种移动终端令牌激活方法,其特征在于,应用于客户端,包括:
向服务器发送认证信息;
接收服务器在校验所述认证信息有效后下发的白盒解密文件、令牌序列号密文和种子密钥密文;
根据所述白盒解密文件对所述令牌序列号密文和所述种子密钥密文进行解密,得到令牌序列号和种子密钥;
根据所述令牌序列号及所述种子密钥生成激活口令,并将所述激活口令发送至服务器;所述激活口令用于指示服务器对所述激活口令进行认证。
2.如权利要求1所述的移动终端令牌激活方法,其特征在于,在所述发送认证信息至服务器之前,还包括:
发送携带用户标识的授权申请信息至服务器;
接收服务器在校验所述用户标识有效后返回的授权码;
根据所述用户标识和所述授权码生成所述认证信息。
3.如权利要求1所述的移动终端令牌激活方法,其特征在于,所述接收服务器下发的白盒解密文件、令牌序列号密文和种子密钥密文包括:
接收服务器下发的白盒解密文件及白盒标识;
向服务器发送携带所述白盒标识的请求信息;
接收服务器下发的令牌序列号密文和种子密钥密文;所述令牌序列号密文和种子密钥密文为由所述白盒标识对应的白盒加密文件加密令牌序列号和种子密钥得到的密文。
4.如权利要求1至3任一项所述的移动终端令牌激活方法,其特征在于,所述激活口令包括动态口令,所述根据所述令牌序列号及所述种子密钥生成激活口令包括:
根据所述令牌序列号、所述种子密钥及动态口令算法计算动态口令。
5.一种移动终端令牌激活方法,其特征在于,应用于服务器,包括:
接收客户端发送的认证信息;
在校验所述认证信息有效后向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文,以使得客户端根据所述白盒解密文件对所述令牌序列号密文和种子密钥密文进行解密,得到令牌序列号和种子密钥,并根据所述令牌序列号及所述种子密钥生成激活口令;
接收客户端发送的激活口令,并对所述激活口令进行认证。
6.如权利要求5所述的移动终端令牌激活方法,其特征在于,所述白盒解密文件为服务器从预先生成的白盒文件池中获取到的白盒解密文件。
7.如权利要求5或6所述的移动终端令牌激活方法,其特征在于,所述在校验所述认证信息有效后向客户端下发白盒解密文件、令牌序列号密文及种子密钥密文包括:
在校验所述认证信息有效后向客户端下发白盒解密文件及白盒标识;
接收客户端发送的携带所述白盒标识的请求信息;
根据所述白盒标识对应的白盒加密文件对令牌序列号和种子密钥进行加密,得到令牌序列号密文和种子密钥密文;
将所述令牌序列号密文和所述种子密钥密文下发至客户端。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求5至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN201810629838.5A 2018-06-19 2018-06-19 移动终端令牌激活方法、终端设备及服务器 Pending CN108964922A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810629838.5A CN108964922A (zh) 2018-06-19 2018-06-19 移动终端令牌激活方法、终端设备及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810629838.5A CN108964922A (zh) 2018-06-19 2018-06-19 移动终端令牌激活方法、终端设备及服务器

Publications (1)

Publication Number Publication Date
CN108964922A true CN108964922A (zh) 2018-12-07

Family

ID=64490742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810629838.5A Pending CN108964922A (zh) 2018-06-19 2018-06-19 移动终端令牌激活方法、终端设备及服务器

Country Status (1)

Country Link
CN (1) CN108964922A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602700A (zh) * 2019-09-23 2019-12-20 飞天诚信科技股份有限公司 种子密钥处理方法、装置及电子设备
CN110830471A (zh) * 2019-11-06 2020-02-21 北京一砂信息技术有限公司 Otp验证方法、服务器、客户端及计算机可读存储介质
CN110855667A (zh) * 2019-11-14 2020-02-28 宁夏吉虎科技有限公司 一种区块链加密方法、装置及***
CN111464301A (zh) * 2020-04-28 2020-07-28 郑州信大捷安信息技术股份有限公司 一种密钥管理方法及***
CN111538977A (zh) * 2020-06-23 2020-08-14 腾讯科技(深圳)有限公司 云api密钥的管理、云平台的访问方法、装置及服务器
CN111586023A (zh) * 2020-04-30 2020-08-25 广州市百果园信息技术有限公司 一种认证方法、设备和存储介质
CN112104456A (zh) * 2020-08-14 2020-12-18 广州江南科友科技股份有限公司 一种令牌激活方法、装置、存储介质和计算机设备
CN112865970A (zh) * 2021-02-20 2021-05-28 普源精电科技股份有限公司 电子测试设备和选配功能的配置方法
CN113722741A (zh) * 2021-09-07 2021-11-30 浙江大华技术股份有限公司 数据加密方法及装置、数据解密方法及装置
CN113935744A (zh) * 2020-06-29 2022-01-14 华为技术有限公司 一种设备防伪方法及装置
CN115396103A (zh) * 2022-10-26 2022-11-25 杭州海康威视数字技术股份有限公司 基于白盒密钥的ai数据共享方法、***和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307095A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种动态令牌种子密钥注入和变形方法
US20130145172A1 (en) * 2011-12-06 2013-06-06 Wwpass Corporation Token activation
CN103684782A (zh) * 2013-11-26 2014-03-26 飞天诚信科技股份有限公司 一种令牌认证***中令牌设备的激活方法
CN104519066A (zh) * 2014-12-23 2015-04-15 飞天诚信科技股份有限公司 一种激活移动终端令牌的方法
CN104539701A (zh) * 2014-12-29 2015-04-22 飞天诚信科技股份有限公司 一种在线激活移动终端令牌的设备和***的工作方法
CN105141628A (zh) * 2015-09-18 2015-12-09 飞天诚信科技股份有限公司 一种实现推送的方法及装置
CN107493264A (zh) * 2017-07-17 2017-12-19 深圳市文鼎创数据科技有限公司 Otp激活方法、移动终端、服务器、存储介质及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307095A (zh) * 2011-04-27 2012-01-04 上海动联信息技术有限公司 一种动态令牌种子密钥注入和变形方法
US20130145172A1 (en) * 2011-12-06 2013-06-06 Wwpass Corporation Token activation
CN103684782A (zh) * 2013-11-26 2014-03-26 飞天诚信科技股份有限公司 一种令牌认证***中令牌设备的激活方法
CN104519066A (zh) * 2014-12-23 2015-04-15 飞天诚信科技股份有限公司 一种激活移动终端令牌的方法
CN104539701A (zh) * 2014-12-29 2015-04-22 飞天诚信科技股份有限公司 一种在线激活移动终端令牌的设备和***的工作方法
CN105141628A (zh) * 2015-09-18 2015-12-09 飞天诚信科技股份有限公司 一种实现推送的方法及装置
CN107493264A (zh) * 2017-07-17 2017-12-19 深圳市文鼎创数据科技有限公司 Otp激活方法、移动终端、服务器、存储介质及***

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602700B (zh) * 2019-09-23 2023-01-17 飞天诚信科技股份有限公司 种子密钥处理方法、装置及电子设备
CN110602700A (zh) * 2019-09-23 2019-12-20 飞天诚信科技股份有限公司 种子密钥处理方法、装置及电子设备
CN110830471A (zh) * 2019-11-06 2020-02-21 北京一砂信息技术有限公司 Otp验证方法、服务器、客户端及计算机可读存储介质
CN110830471B (zh) * 2019-11-06 2022-05-24 北京一砂信息技术有限公司 Otp验证方法、服务器、客户端及计算机可读存储介质
CN110855667A (zh) * 2019-11-14 2020-02-28 宁夏吉虎科技有限公司 一种区块链加密方法、装置及***
CN111464301B (zh) * 2020-04-28 2022-02-11 郑州信大捷安信息技术股份有限公司 一种密钥管理方法及***
CN111464301A (zh) * 2020-04-28 2020-07-28 郑州信大捷安信息技术股份有限公司 一种密钥管理方法及***
CN111586023A (zh) * 2020-04-30 2020-08-25 广州市百果园信息技术有限公司 一种认证方法、设备和存储介质
CN111586023B (zh) * 2020-04-30 2022-05-31 广州市百果园信息技术有限公司 一种认证方法、设备和存储介质
CN111538977A (zh) * 2020-06-23 2020-08-14 腾讯科技(深圳)有限公司 云api密钥的管理、云平台的访问方法、装置及服务器
CN113935744A (zh) * 2020-06-29 2022-01-14 华为技术有限公司 一种设备防伪方法及装置
CN112104456A (zh) * 2020-08-14 2020-12-18 广州江南科友科技股份有限公司 一种令牌激活方法、装置、存储介质和计算机设备
CN112865970A (zh) * 2021-02-20 2021-05-28 普源精电科技股份有限公司 电子测试设备和选配功能的配置方法
CN113722741A (zh) * 2021-09-07 2021-11-30 浙江大华技术股份有限公司 数据加密方法及装置、数据解密方法及装置
CN115396103A (zh) * 2022-10-26 2022-11-25 杭州海康威视数字技术股份有限公司 基于白盒密钥的ai数据共享方法、***和装置

Similar Documents

Publication Publication Date Title
CN108964922A (zh) 移动终端令牌激活方法、终端设备及服务器
CN105450406B (zh) 数据处理的方法和装置
CN105007279B (zh) 认证方法和认证***
CN109274503A (zh) 分布式协同签名方法及分布式协同签名装置、软盾***
CN105553654B (zh) 密钥信息处理方法和装置、密钥信息管理***
CN109064324A (zh) 基于联盟链的交易方法、电子装置及可读存储介质
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和***
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
CN107483212A (zh) 一种双方协作生成数字签名的方法
CN109743176A (zh) 一种pos终端的证书更新方法、服务器及pos终端
CN110519309A (zh) 数据传输方法、装置、终端、服务器及存储介质
CN113067823B (zh) 邮件用户身份认证和密钥分发方法、***、设备及介质
CN103944724B (zh) 一种用户身份识别卡
CN107358441A (zh) 支付验证的方法、***及移动设备和安全认证设备
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和***
CN109361508A (zh) 数据传输方法、电子设备及计算机可读存储介质
CN107994995A (zh) 一种低安全介质的交易方法、***及终端设备
CN109274500A (zh) 一种密钥下载方法、客户端、密码设备及终端设备
CN104182876A (zh) 安全支付交易方法和***
CN110505055A (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和***
CN108764912A (zh) 一种基于短信验证码的支付方法及装置
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及***
CN109361512A (zh) 数据传输方法
CN110176989B (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

Application publication date: 20181207

RJ01 Rejection of invention patent application after publication