CN114553566A - 数据加密方法、装置、设备及存储介质 - Google Patents

数据加密方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114553566A
CN114553566A CN202210181208.2A CN202210181208A CN114553566A CN 114553566 A CN114553566 A CN 114553566A CN 202210181208 A CN202210181208 A CN 202210181208A CN 114553566 A CN114553566 A CN 114553566A
Authority
CN
China
Prior art keywords
server
user
data
user password
client
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.)
Granted
Application number
CN202210181208.2A
Other languages
English (en)
Other versions
CN114553566B (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210181208.2A priority Critical patent/CN114553566B/zh
Publication of CN114553566A publication Critical patent/CN114553566A/zh
Application granted granted Critical
Publication of CN114553566B publication Critical patent/CN114553566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3247Cryptographic 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

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)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种数据加密方法、装置、设备及存储介质,可应用于信息安全技术领域。该方法包括:服务器接收来自客户端的用户名和用户口令后,运用DES算法、SHA算法以及AES算法对用户口令进行加密,得到该用户口令的AES散列值,并将该用户名、用户口令的AES散列值以及加密过程中使用的随机数据存储到数据库中,从而可以提高用户口令的安全性。除此之外,服务器还创建密钥环、CA证书和FTP服务证书,并基于该密钥环、CA证书和FTP服务证书与客户端进行数据加密传输,从而提高用户数据的安全性。

Description

数据加密方法、装置、设备及存储介质
技术领域
本申请涉及信息安全技术领域,尤其涉及数据加密方法、装置、设备及存储介质。
背景技术
客户端接收用户输入的用户名和用户口令后,将用户输入的用户名和用户口令发送给服务器,服务器根据该用户输入的用户名和用户口令对该用户进行身份注册,使得该用户可以拥有访问服务器的权限,即该用户可以通过客户端与服务器之间进行数据传输。
服务器可以将用户注册时输入的用户名和用户口令存储到数据库中,后续用户登录服务器时通过客户端向服务器输入用户名和用户口令。服务器验证用户输入的用户名和用户口令与数据库中存储的用户名和用户口令一致时,则允许该用户访问该服务器。
但是上述方法会存在如下问题:攻击者可以通过攻击服务器获取用户的用户名和用户口令,然后假冒用户的身份获取用户访问服务器时产生的数据,导致出现用户数据泄漏的情况,影响数据传输的安全性。
一种防止用户数据泄漏的方法如下:运用数据加密标准(data encryptionstandard,DES)算法对用户口令进行加密,得到用户口令的DES散列值,然后将该用户口令的DES散列值存储到数据库中,以防止用户口令泄漏,进而提高数据传输的安全性。
但是在使用过程中发现,服务器的数据库中存储的用户口令的DES散列值仍然容易被攻击者破解,从而获得用户口令,进而会导致用户数据泄露。也就是说,用户口令仍然存在安全性低的问题,从而导致用户数据安全性低的问题。
因此,如何提高用户口令的安全性以提高用户数据安全性成为亟待解决的技术问题。
发明内容
本申请提供数据加密方法、装置、设备及存储介质,用以解决现有技术中因用户口令安全性低进而导致用户数据安全性低的问题。
第一方面,本申请提供一种用户口令的加密方法,包括:服务器接收来自客户端的用户名和第一用户口令;所述服务器运用DES算法对所述第一用户口令进行加密,得到所述第一用户口令的DES散列值;所述服务器为所述第一用户口令的DES散列值添加第一随机数据,得到第一临时用户口令;所述服务器运用SHA算法对所述第一临时用户口令进行M次SHA散列处理,得到第一密钥,M大于1;所述服务器为所述用户名添加第二随机数据,得到第一临时用户名;所述服务器运用所述第一密钥对所述第一临时用户名进行高级加密标准AES加密,得到所述第一用户口令的AES散列值;所述服务器将所述用户名、所述AES散列值、所述第一随机数据和所述第二随机数据存储于数据库中。
本方法中,先运用DES算法对第一用户口令进行加密,然后运用SHA算法对添加第一随机数据的第一用户口令进行散列处理得到第一密钥,最后运用该第一密钥对添加第二随机数据的用户名进行AES加密得到该用户的第一用户口令的AES散列值,该加密过程中包括DES加密、SHA散列处理和AES加密三种加密方法,且进行多次的SHA散列处理,加密过程比较复杂。当攻击者冒用用户身份登录服务器时,攻击者必须了解完整的加密过程,且需要对自己猜测的用户口令执行与所述第一用户口令完全一样的加密过程,才能确定自己猜测的用户口令是否正确。该方法中,攻击者不仅需要对用户口令进多次猜测,而且需要对每次猜测的用户口令都执行与所述第一用户口令完全一样的加密过程,大大增加了攻击者破解用户口令的难度,提高了用户口令的安全性。
本方法中,RACF数据库中存储的第一随机数据和第二随机数据为随机化后的哈希值,可以包括随机的大小写字母、数字、字符和位数,攻击者需要耗费相当长的时间才能破解得到该第一随机数据和第二随机数据的具体数值,增加攻击者破解用户口令的难度。
结合第一方面所述的方法,该方法还包括:所述服务器接收来自客户端的所述用户名和第二用户口令;所述服务器基于所述用户名从所述数据库中获取所述用户名对应的第一随机数据和第二随机数据;所述服务器运用DES算法对所述第二用户口令进行加密,得到所述第二用户口令的DES散列值;所述服务器为所述第二用户口令的DES散列值添加所述第一随机数据,得到第二临时用户口令;所述服务器运用SHA对所述第二临时用户口令进行M次SHA散列处理,得到第二密钥;所述服务器为所述用户名添加所述第二随机数据,得到第二临时用户名;所述服务器运用所述第二密钥对所述第二临时用户口令进行AES加密,得到所述第二用户口令的AES散列值;在所述第二用户口令的AES散列值与所述第一用户口令的AES散列值一致的情况下,所述服务器允许所述用户名对应的用户登录所述服务器。
本方法中,当用户第一次使用用户名和第二用户口令登录服务器时,服务器根据用户输入的用户名和第二用户口令对该用户的身份进行验证。服务器根据该第二用户口令得到该第二用户口令的AES散列值,当该第二用户口令的AES散列值与RACF数据库中存储的所述用户的第一用户口令的AES散列值一致的情况下,说明该用户进行登录时输入的第二用户口令和该用户进行身份注册时输入的第一用户口令一致,从而可以确定该用户有访问该服务器的权限,即允许该用户登录该服务器进行数据传输。
结合第一方面所述的方法,所述服务器运用数据加密标准DES算法对所述第一用户口令进行加密之前,所述方法还包括:所述服务器确定所述数据库中不包含对所述用户名对应的用户口令进行加密处理得到的AES散列值。
本方法中,服务器先判断该用户的第一用户口令是否已加密,只有在该用户的第一用户口令未加密的情况下,服务器在对该用户的第一用户口令进行加密。这样可以避免在该用户的第一用户口令已加密的情况下,出现对该用户的第一用户口令进行重复加密的情况,不仅解决了服务器处理冗余的用户口令时导致服务器资源浪费的问题,还可以提高RACF数据库的存储利用率。
第二方面,本申请提供一种数据加密方法,包括:服务器创建密钥环;所述服务器创建CA证书和FTP服务证书,并运用所述CA证书中的私钥对所述FTP服务证书进行签名;所述服务器所述将所述CA证书和所述签名后的FTP服务证书连接到所述密钥环;所述服务器基于所述密钥环与所述客户端进行数据传输。
本方法中,密钥环是基于用户的用户名进行创建的。CA证书为服务器上的RACF为RACF自身创建并签署的证书,是一种自签名证书。FTP服务证书为服务器上的RACF为服务器创建的证书,该FTP服务证书是通过CA私钥进行签名的。将CA证书和FTP服务证书连接到密钥环,使服务器可以可通过密钥环与客户端建立可信连接,即服务器根据用户的用户名在该用户名对应的密钥环上查找证书。
结合第二方面所述的方法,该方法还包括:所述服务器向客户端发送所述CA证书的公钥;所述服务器向所述客户端发送所述FTP服务证书的相关信息,所述相关信息包括FTP服务证书的公钥、签名以及申请者与颁发者的信息;所述服务器基于所述密钥环与所述客户端进行数据传输,包括:所述服务器接收来自客户端的数据信息,所述数据信息是所述客户端根据所述CA证书的公钥验证所述FTP服务证书有效的情况下,使用所述FTP服务证书的公钥对随机数进行加密所得的数据信息;所述服务器使用所述FTP服务证书的私钥对所述数据信息进行解密,得到所述随机数;所述服务器将所述随机数作为密钥,与所述客户端进行数据传输。
本方法中,客户端在确保FTP服务证书有效的情况下,生成一个随机数,后续服务器接收到该随机数后,客户端和服务器将该随机数作为密钥进行数据传输。由于该随机数先在客户端处经过FTP服务证书公钥进行加密,然后在服务器端经过FTP服务证书私钥进行解密,而FTP服务证书是经过CA证书进行签名的证书,也就是说,先使用CA证书对FTP服务证书进行签名,再运用FTP服务证书对随机数进行加密,该随机数在客户端和服务器之间是加密传输的,必须通过解密过程才能得到该随机数,使得该随机数在客户端和服务器之间可以安全的传输。
本方法中,所述服务器将所述随机数作为密钥,与所述客户端进行数据传输,包括:所述服务器使用所述随机数对第一数据进行加密,得到第一加密数据;所述服务器向所述客户端发送所述第一加密数据。
服务器使用随机数对第一数据进行加密,然后向客户端发送该加密后的第一数据,使服务器向客户端传输该第一数据时,可以保证该第一数据以密文方式进行传输,且该随机数也是经过加密和验证处理的,提高了服务器向客户端传输数据的安全性。
本方法中,所述服务器将所述随机数作为密钥,与所述客户端进行数据传输,还包括:所述服务器接收来自所述客户端的第二加密数据;所述服务器使用所述随机数对所述第二加密数据进行解密,得到第二数据。
服务器接收的第二加密数据是客户端运用随机数对第二数据进行加密后的数据,可以保证该第二数据以密文方式进行传输,且该随机数也是经过加密和验证处理的,提高了客户端向服务器传输数据的安全性。
第三方面,本申请提供一种用户口令的加密装置,包括:接收模块,用于服务器接收来自客户端的用户名和第一用户口令。加密模块,用于所述服务器运用数据加密标准DES算法对所述第一用户口令进行加密,得到所述第一用户口令的DES散列值;所述加密模块,还用于所述服务器为所述第一用户口令的DES散列值添加第一随机数据,得到第一临时用户口令;所述加密模块,还用于所述服务器运用安全散列算法SHA对所述第一临时用户口令进行M次SHA散列处理,得到第一密钥,M大于1;所述加密模块,还用于所述服务器为所述用户名添加第二随机数据,得到第一临时用户名;所述加密模块,还用于所述服务器运用所述第一密钥对所述第一临时用户名进行高级加密标准AES加密,得到所述第一用户口令的AES散列值。存储模块,用于所述服务器将所述用户名、所述AES散列值、所述第一随机数据和所述第二随机数据存储于数据库中。
第四方面,本申请提供一种数据加密装置,包括:创建模块,用于服务器创建密钥环;所述创建模块,还用于所述服务器创建证书授权中心CA证书和文本传输FTP服务证书。签名模块,用于所述服务器运用所述CA证书中的私钥对所述FTP服务证书进行签名。连接模块,用于所述服务器所述将所述CA证书和所述签名后的FTP服务证书连接到所述密钥环。传输模块,用于所述服务器基于所述密钥环与所述客户端进行数据传输。
第五方面,本申请提供一种数据加密装置,该装置可以包括用于实现第一方面或第二方面中的方法的各个功能模块。例如,该装置可以包括存储器,以及与存储器耦合的处理器。
处理器用于执行程序指令,以实现第一方面或第二方面中方法所执行的指令;存储器用于存储处理器执行的指令或存储处理器运行指令所需要的输入数据或存储处理器运行指令后产生的数据。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读介质存储用于处理器执行的程序代码,该程序代码包括用于实现第一方面或第二方面中的方法的指令。
第七方面,本申请提供一种计算机程序产品,当该计算机程序产品在处理器上运行时用于实现第一方面或第二方面中的方法。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例适用的一种通信系统架构示意图;
图2为本申请一个实施例提供的用户口令的加密方法流程示意图;
图3为本申请一个实施例提供的RACF数据库存储示意图;
图4为本申请一个实施例提供的数据加密方法流程示意图;
图5为本申请一个实施例提供的用户口令的加密装置示意图;
图6为本申请一个实施例提供的数据加密装置示意图;
图7为本申请另一个实施例提供的数据加密装置示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
个人通信(personal communications,PCOM):是一个全功能仿真器,提供了TCP/IP网络上的IBM主机(一种大型服务器)的访问。
资源访问控制程序(resource access control facility,RACF):是用于服务器操作系统的安全管理产品,它可以证实一个用户,并且保护数据不会被有意地破坏、修改、泄漏和使用。
RACF有四大功能:证实用户,资源权限检查,记录和报告,以及安全管理。
RACF证实用户是根据用户的用户名和用户口令(也可以成为用户密码)来证实的。当用户试图登录服务器时,RACF检查该用户是否在RACF中有定义,用户口令是否有效,用户是否已被挂起,用户是否被授权。只有当该用户所有的安全检查通过后,才允许该用户登录服务器系统。
可以理解的是,每一个被RACF定义的用户均有一个用户配置文件(profile),用于存储用户的用户名、用户口令等内容。
资源权限检查是指:当用户试图访问服务器时,服务器会调用RACF来确定该用户是否有访问该服务器的权限。
记录和报告是指:RACF决定允许用户访问或不允许用户访问系统后,检查是否应当记录该事件,若需要记录,则将该事件记录到RACF数据库中。
安全管理是指:RACF有一定的系统管理功能、特殊访问权限和审计功能,从而实现用户的管理。
数字证书:是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以通过它来识别对方身份。它可以由权威公正的第三方机构,即证书授权中心(certificate authority,CA)中心签发的证书,也可以由企业级CA系统进行签发。这种由企业级CA系统进行签发的证书或由私人CA签署的证书也可以称为自签名证书。
以数字证书为核心的加密技术(例如加密传输、数字签名、数字信封等安全技术)可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性及交易的不可抵赖性。
密钥环:是标识网络信任关系的证书集合,服务器上的应用可通过密钥环与其他实体(如客户端)建立可信连接。在RACF中,密钥环是可信连接的先决条件。在建立可信连接时,应用首先是到指定密钥环上寻找证书。
图1为本申请实施例适用的一种通信系统架构示意图。如图1所示,该通信系统架构中可以包括M个客户端和服务器,其中客户端1为服务器管理员所使用的客户端,客户端2至客户端M为用户所使用的客户端,客户端与服务器之间可以相互通信。
服务器管理员可以通过客户端1进行网络服务管理、操作数据库、数据备份、用户录入、角色/权限分配、属性映射、匹配规则、参数设置、服务器系统的运行及维护等操作。也就是说,当用户通过客户端访问服务器时,客户端1可以显示用户访问服务器的访问记录。
客户端2至客户端M可以为用户提供本地服务的程序。用户可以先在客户端注册用户以获得访问服务器的权限,用户在客户端注册时,先在客户端输入设置的用户名和用户口令,客户端将用户输入的用户名和用户口令发送给服务器,后续服务器将根据用户的用户名和用户口令来判断该用户是否可以访问该服务器。当用户被证实有权访问该服务器时,用户可以通过客户端输入操作,客户端将用户操作翻译成数据后发送给服务器,服务器根据用户操作处理该用户操作所对应的服务。
服务器为提供计算服务的设备,用于响应客户端的用户指令。在一种示例中,该服务器可以包括IBM主机。服务器中可以部署RACF,当用户输入用户名和用户口令时,RACF用于根据用户输入的用户名和用户口令来证实该用户是否被授权登录和访问服务器。除此之外,当用户进行注册时,RACF还可以对用户的用户名和用户口令进行加密,防止出现用户信息泄漏的情况。
现阶段,RACF通常使用DES算法对用户的用户口令进行加密,然而DES算法为密码算法中最弱算法,容易被破解进而被攻击。
用户在客户端使用PCOM登录服务器时,客户端将用户输入的用户名和用户口令传输给服务器,服务器上RACF对用户口令和密码进行确认,这里的用户名和用户口令是通过明文传输,没有加密。
除此之外,客户端通过文本传输协议(file transfer protocol,FTP)向服务器传输数据或从服务器接收数据时,数据传输过程没有加密。在这种情况下,数据中的一些敏感数据(如用户口令和用户信息)在传输过程中容易存在数据泄露和被截获的风险。可以理解的是,这种支持FTP协议的服务器也可以称为FTP服务器。
针对上面通过DES算法对用户口令进行加密存储导致用户口令安全性较低的技术问题,本申请提出了新的用户口令加密方法,以提高用户口令安全性。
图2为本申请一个实施例提供的用户口令的加密方法流程示意图,如图2所示,该用户口令的加密方法包括S201、S202、S203、S204和S205。
S201,服务器接收来自客户端的用户名和第一用户口令。
本实施例中,该服务器可以为如图1所示通信系统架构中的服务器,该客户端可以为如图1所示通信系统架构中的客户端2至客户端M中的任意一个或多个客户端。
本实施例中,用户名和第一用户口令表示用户进行身份注册时在客户端输入的用户名和用户口令。
在一种可能的实现方式中,服务器接收来自客户端的用户名和第一用户口令的方法包括:当用户进行身份注册时,客户端根据用户的指示信息得到用户的用户名和第一用户口令,用户的指示信息用于指示用户在客户端输入的用户名和第一用户口令;然后客户端将用户的指示信息发送给服务器,相应的,服务器接收用户的指示信息,即服务器接收用户的用户名和第一用户口令。
S202,服务器运用DES算法对第一用户口令进行加密,得到第一用户口令的DES散列值。
DES是一种使用密钥加密的快密码,它是一种分组密码,明文、密文和密钥的分组长度均为64位,为面向二进制的密码算法。DES的解密过程和加密过程运用同样的算法,DES的整个体制是公开的,系统的安全性完全靠密钥的保密,具有分组比较短、密钥太短、密码生命周期短、运算速度较慢的特点。
本实施例中,运用DES算法对第一用户口令进行加密,得到第一用户口令的DES散列值的过程可以参考现有技术,故不再赘述。
S203,服务器在第一用户口令的DES散列值末尾添加第一随机数据,得到第一临时用户口令,并运用安全散列算法(secure hash algorithm,SHA)对第一临时用户口令进行M次的SHA散列处理,生成第一密钥,M大于1。
SHA是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段密文,也可以简单的理解为取一串输入码(该输入码可以包括用户口令等消息),并把它们转化为长度较短、位数固定的输出序列的过程,该长度较短、位数固定的输出序列可以称为信息摘要或密钥。SHA算法可以包括如下特性:一是不可以从消息摘要中复原信息;二是两个不同的消息不会产生同样的消息摘要。
SHA算法可以包括SHA1、SHA224、SHA256、SHA384和SHA512等算法。可以理解的是,这种把任意长的输入字符串变化成固定长的输出字符串的方法也可以称为哈希函数。
作为一种示例,服务器运用SHA256算法对添加随机数据A所得的用户口令进行SHA256散列处理,生成长度为256位的新密钥。
SHA256是SHA系列算法之一,其摘要长度为256bits(比特),即32个字节,故称SHA256。对于任意长度的消息,SHA256都会产生一个32个字节长度数据,即32个字节长度的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据是否发生改变,即验证其完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。
本实施例中,对第一临时用户口令进行SHA256散列处理,得到第一临时用户口令的摘要长度为256位,即得到第一临时用户口令的哈希值的长度为256位,生成的第一密钥为256位。
可以理解的是,M的值越大,生成的第一密钥越安全。作为示例,M的取值可以上千。
可以理解的是,对添加随机数据A的用户口令进行SHA256散列处理仅为其中的一种示例,除此之外,还可以运用SHA1、SHA224、SHA384和SHA512等散列算法对添加随机数据A的用户口令进行散列处理。可以理解的是,当运用的散列算法不同时,最后生成的第一密钥的位数也不相同。
S204,服务器在用户名的末尾添加第二随机数据,得到第一临时用户名,并运用第一密钥对第一临时用户名进行高级加密标准(advanced encryption standard,AES)加密,得到该用户的第一用户口令的AES散列值。
AES是一种迭代分组密码,AES加密数据块的分组长度可以为128比特,密钥长度可以为128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES汇聚了安全性能、效率、可实现性、灵活性等优点,最大的优点是可以给出算法的最佳差分特征的概率,并分析算法抵抗查分密码分析及线性密码分析的能力。
需要说明的是,S202至S204为服务器为用户的用户名和用户口令进行加密的过程,该加密过程可以通过服务器上的RACF来执行的。
S205,服务器将用户的用户名、第一用户口令的AES散列值、第一随机数据和第二随机数据存储于RACF数据库中。
当用户的第一用户口令加密完成后,服务器将该用户的用户名、第一用户口令所对应的AES散列值、第一随机数据和第二随机数据存储于RACF数据库中。
可以理解的是,上述实施例中,在第一用户口令的DES散列值末尾这个位置和用户名的末尾这个位置添加随机数仅是一种示例,本申请的实施例并不限制添加随机数据的位置。服务器可以在第一用户口令的DES散列值中任意预设位置添加随机数据A,同理,服务器可以在用户名中任意预设位置添加随机数据B。
图3为本申请一个实施例提供的RACF数据库存储示意图。如图3所示,假设该RACF数据库中存储有三个用户的信息,该三个用户的用户名分别为用户1、用户2和用户3,这三个用户中每个用户的信息中都可以包括用户名、第一用户口令AES散列值、第一随机数据和第二随机数据。可以理解的是,不同用户所对应的第一随机数据和第二随机数据都不一样。
可以理解的是,每个用户可以有唯一对应的用户名,即不同用户的用户名不一样。
本申请的技术方案中,将用户的用户名、第一用户口令的AES散列值、第一随机数据和第二随机数据存储于RACF数据库中,当攻击者攻击该服务器时,可以获取RACF数据库存储的这些信息,由于第一用户口令的AES散列值是运用DES算法和SHA算法对第一用户口令进行处理得到第一密钥,并运用该第一密钥对用户名进行AES加密后得到的第一用户口令的AES散列值,该加密过程极其复杂,攻击者必须了解完整的加密处理过程才能获取该第一用户口令,提高第一用户口令的安全性。另外,这里的第一随机数据和第二随机数据为随机化后的哈希值,可以包括随机的大小写字母、数字、字符和位数,攻击者需要耗费相当长的时间才能破解得到该第一随机数据和第二随机数据的具体数值,大大延缓了攻击者的破解时间和破解速度。
本申请的技术方案中,该用户口令加密方法还可以包括:用户通过客户端输入用户名和第二用户口令后,客户端将该用户的用户名和第二用户口令发送给服务器,相应的,服务器接收该用户的用户名和第二用户口令,该用户名和第二用户口令表示用户第一次登录服务器时在客户端输入的用户名和用户口令;服务器基于该用户的用户名,从RACF数据库中获取该用户名所对应的第一随机数据和第二随机数据;服务器运用DES算法对第二用户口令进行加密,得到该第二用户口令的DES散列值;服务器为该第二用户口令的DES散列值添加该第一随机数据,得到第二临时用户口令;服务器运用SHA算法对该第二临时用户口令进行M次SHA散列处理,得到第二密钥;服务器为该用户名添加该第二随机数据,得到第二临时用户名;服务器运用第二密钥对该第二临时用户口令进行AES加密,得到该第二用户口令的AES散列值;将该第二用户口令所对应的AES散列值与RACF数据库中存储的该用户相对应的第一用户口令AES散列值进行对比,若该第二用户口令所对应的AES散列值与RACF数据库中存储的该用户相对应的第一用户口令AES散列值一致,则说明该用户的用户口令输入正确,服务器允许该用户进行登录。
可以理解的是,S203和S303中的第一随机数据和第二随机数据是该用户进行注册时随机生成的两个随机数据,而这里的第一随机数据和第二随机数据是通过获取RACF数据库中记录的该用户进行注册时生成的第一随机数据和第二随机数据得到的。第一随机数据和第二随机数据的数据长度可以相同,也可以不相同。
本申请的技术方案中,服务器运用数据加密标准DES算法对所述第一用户口令进行加密之前,该服务器确定RACF数据库中不包含对所述用户名对应的用户口令进行加密处理得到的AES散列值。也就是说,服务器判断该用户名所对应的第一用户口令是否已加密,在该用户名所对应的第一用户口令未加密的情况下,对该用户名所对应的第一用户口令进行加密。
服务器判断该用户名所对应的第一用户口令是否已加密的方法可以包括:先备份RACF数据库,生成一个RACF数据库备份文件,该备份文件中包括RACF数据库中的所有数据文件,RACF数据库中的所有数据文件中包括RACF数据库中记录的多个已加密过的第一用户口令所对应的用户的用户信息,该用户信息中可以包括用户的用户名、第一用户口令的AES散列值、第一随机数据和第二随机数据等信息;当用户输入用户名和第一用户口令时,服务器根据该用户的用户名判断RACF数据库备份文件中是否存在该用户名对应的用户的用户信息,若RACF数据库备份文件中不存在该用户名对应的用户的用户信息,则运用该方法对该用户名所对应的第一用户口令进行加密;若RACF数据库备份文件中存在该用户名对应的用户的用户信息,则表示该用户的第一用户口令已加密成功。
针对客户端和服务器之间进行数据传输的过程中也可能会发生数据泄露的情况,本申请提出了数据加密方法,以提高传输过程中的数据的安全性。
图4为本申请一个实施例提供的数据加密方法流程示意图。如图4所示,该数据加密方法包括S401、S402、S403、S404、S405和S406。
S401,服务器通过RACF创建密钥环。
本实施例中,该服务器可以为如图1所示通信系统架构中的服务器。
本实施例中,密钥环可以根据用户的用户名进行创建,一个密钥环对应一个用户,一个用户可以对应一个密钥环。
作为一种示例,服务器可以基于服务器管理员的指示创建密钥环。例如,服务器管理员在客户端上输入指示服务器创建密钥环的第一指令,客户端将该第一指令发送给服务器,相应的,服务器接收该第一指令;服务器接收该第一指令后,服务器上的RACF根据该第一指令创建密钥环。该客户端的一种示例为如图1所示通信系统架构中的客户端1。
本实施例中,当用户访问服务器时,客户端1可以显示访问服务器的用户的信息,该信息中可以包括该用户的用户名,然后服务器管理员根据用户的用户名在客户端1输入第一指令。
S402,服务器通过RACF创建CA证书。
本实施例中,该CA证书是一种由服务器上的RACF为自身签发的证书,该CA证书可以为一种自签名证书。在这种情况下,RACF相当于一种证书授权中心。
作为一种示例,服务器可以基于服务器管理员的指示创建CA证书。例如,服务器管理员在客户端上输入指示服务器创建CA证书的第二指令,客户端将该第二指令发送给服务器,相应的,服务器接收该第二指令;服务器接收该第二指令后,服务器上的RACF根据该第二指令创建CA证书。该客户端的一种示例为如图1所示通信系统架构中的客户端1。
需要说明的是,该第二指令中可以包括证书名称、证书持有人名称(即证书申请者)、有效期和密钥等信息,相应的,服务器上的RACF根据该第二指令创建的CA证书也包含该第二指令中的这些信息。
S403,服务器通过RACF创建FTP服务证书。
本实施例中,FTP服务(server)证书是一种由服务器上的RACF为服务器签发的证书。
作为一种示例,服务器可以基于服务器管理员的指示创建FTP服务证书。例如,服务器管理员在客户端上输入指示服务器创建FTP服务证书的第三指令,客户端将该第三指令发送给服务器,相应的,服务器接收该第三指令;服务器接收该第三指令后,服务器上的RACF根据该第三指令创建FTP服务证书。该客户端的一种示例为如图1所示通信系统架构中的客户端1。
需要说明的是,该第三指令中可以包括证书名称、证书持有人名称(即证书申请者)、有效期和密钥等信息,相应的,服务器上的RACF根据第三指令创建的FTP服务证书包含该第三指令中的这些信息。
S404,服务器通过RACF来使用CA证书对FTP服务证书进行签名。
本实施例中,服务器通过RACF来使用CA证书对FTP服务证书进行签名指的是服务器通过RACF来使用CA证书的私钥对FTP服务证书进行签名,即该FTP服务证书为一种经过CA认证的证书。
运用CA证书的私钥对FTP服务证书进行签名,用于验证该FTP服务证书是否有效,即用于验证该FTP服务证书所对应的服务器的身份。
运用CA证书对FTP服务证书进行签名的过程可以参考现有技术,这里不再赘述。
S405,服务器通过RACF将CA证书和签名后的FTP服务证书连接到密钥环。
作为一种示例,服务器可以基于服务器管理员的指示将CA证书和签名后的FTP服务证书连接到密钥环。例如,服务器管理员在客户端上输入指示服务器将CA证书和签名后的FTP服务证书连接到密钥环的第四指令,客户端将该第四指令发送给服务器,相应的,服务器接收该第四指令;服务器接收该第四指令后,服务器通过RACF根据该第四指令将CA证书和签名后的FTP服务证书连接到密钥环。该客户端的一种示例为如图1所示通信系统架构中的客户端1。
本实施例中,密钥环的拥有者可以有读取该密钥环的权限。对其他用户而言,其他用户不是该密钥环的拥有者,故没有读取该密钥环的权限,可以有更改密钥环的权限,使得其他用户可以对更新后的密钥环进行读写。其中,密钥环的拥有者读取该密钥环的权限以及其他用户更改密钥环的权限都是服务器在接收到服务器管理员的授权指令后,服务器上的RACF根据用户的授权指令进行授权,该授权指令是服务器管理员在客户端输入的授权指令。该客户端的一种示例为如图1所示通信系统架构中的客户端1。
S406,服务器基于密钥环与客户端进行数据传输。
本实施例中,服务器基于密钥环与客户端进行数据传输之前,服务器需要导出CA证书,并进行参数配置。
作为一种示例,服务器可以基于服务器管理员的指示导出CA证书。例如,服务器管理员在客户端上输入指示导出CA证书的第五指令,客户端将该第五指令发送给服务器,相应的,服务器接收该第五指令;服务器接收该第五指令后,服务器通过RACF根据该第五指令导出CA证书。
本实施例中,服务器导出该CA证书后,可以将该CA证书存储于服务器指定的文件中。可以理解的是,导出的CA证书中可以包括CA公钥。
本实施例中,客户端还可以导入该CA证书,进而与服务器端建立信任关系。客户端导入CA证书的方法可以包括:客户端接收用户的操作信息,用户的操作信息用于指示用户在客户端进行的各种操作;客户端根据用户的操作信息配置该CA证书。该客户端的一种示例为图1所示系统架构中的客户端2至客户端M中的任意一个客户端。
用户在客户端的操作可以包括用户运用鼠标进行的点击操作,也可以包括用户运用键盘进行的输入操作等。
作为一个示例,客户端导入CA证书的方法可以包括:用户在客户端的命令提示窗口处输入MMC时,客户端显示文件管理单元,该文件管理单元中包括服务器存储CA证书的文件;用户从文件管理单元中选中需要导入的证书并点击添加,此时客户端从服务器导入该CA证书。客户端从服务器导入该CA证书的同时,服务器将CA的公钥发送给客户端。
作为一种示例,服务器可以基于服务器管理员的指示配置参数。例如,服务器管理员在客户端上输入指示配置参数的第六指令,客户端将该第六指令发送给服务器,相应的,服务器接收该第六指令;服务器接收该第六指令后,服务器根据该第六指令配置参数。该客户端的一种示例为如图1所示通信系统架构中的客户端1。
本实施例中,该参数可以包括FTP参数和TCP参数。其中,FTP参数用于指示FTP协议所需的参数,FTP协议定义了客户端与服务器之间的交互过程,因此FTP参数表示客户端与服务器之间进行数据传输时所需的传输参数。在一种示例中,FTP参数可以包括以下一种或多种:客户端可以访问的服务器的端口、客户端与服务器之间进行数据传输时所需的加密算法、客户端与服务器之间进行数据传输时所需的传输方式(加密或非加密)、当客户端与服务器之间运用加密方式进行数据传输时所需的安全传输层协议(Transport LayerSecurity Protocol,TLS)以及服务器和客户端之间运用TLS协议进行数据传输或数据通信的最长时间等参数。
可以理解的是,这里的FTP参数仅为一种示例,这里的TLS协议也仅为客户端与服务器建立安全连接的一种示例,并不限定本申请的范围。
TCP参数用于指示TCP协议所需的参数,TCP协议是一种传输控制协议,因此TCP参数表示客户端与服务器之间进行数据传输时所需的控制参数。在一种示例中,TCP参数可以包括客户端可以访问服务器系统的端口的个数。
本实施例中,当服务器参数配置成功后,服务器管理员可以在客户端输入重启FTP服务和重新生效TCPIP协议的指令,服务器根据该指令进行重启操作,后续客户端与服务器之间可以基于密钥环对数据进行加密传输。
在一种示例中,客户端与服务器之间基于密钥环对数据进行加密传输的方法可以包括:当用户在客户端输入用户名和用户口令来访问服务器时,服务器根据该用户的用户名,将该用户名所对应的密钥环中的CA证书的公钥和FTP服务证书发送给客户端,该FTP服务证书中可以包括FTP服务证书的公钥、签名以及申请者与颁发者的信息;客户端接收该CA证书的公钥和FTP服务证书,并根据CA公钥确保所述FTP服务证书是否有效;在客户端确保FTP服务证书有效的情况下,生成一个随机数,并运用FTP服务证书的公钥对该随机数进行加密;客户端将加密后的随机数发送给服务器,相应的,服务器接收该加密后的随机数;服务器接收该加密后的随机数后,运用FTP服务证书的私钥对该加密后的随机数进行解密,得到该随机数,后续服务器和客户端将该随机数作为密钥进行数据传输。
本方法中,服务器和客户端将该随机数作为密钥进行数据传输的方法可以包括:当服务器向客户端传输第一数据时,使用该随机数对第一数据进行加密,得到第一加密数据,然后将该第一加密数据发送给客户端;客户端接收该第一加密数据后,可以运用该随机数进行解密,得到第一数据。
本方法中,服务器和客户端将该随机数作为密钥进行数据传输的方法还可以包括:当客户端向服务器发送第二数据时,客户端使用该随机数对第二数据进行加密,得到第二加密数据,然后将该第二加密数据发送给服务器;服务器接收该第二加密数据后,可以运用该随机数进行解密,得到第二数据。
本申请的技术方案中,CA证书为服务器上的RACF为RACF自身创建并签署的证书,是一种自签名证书。FTP服务证书为服务器上的RACF为服务器创建的证书,该FTP服务证书是通过CA私钥进行签名的。服务器导出CA证书后,客户端可以从服务器处导入该CA证书,获得CA公钥,在客户端与服务器之间进行数据传输之前,客户端可以根据该CA公钥确定该FTP服务证书是否有效,在确定该FTP服务证书有效的情况下,再进行数据传输。
本申请的技术方案中,客户端在确保FTP服务证书有效的情况下,生成一个随机数,后续服务器接收到该随机数后,客户端和服务器将该随机数作为密钥进行数据传输,由于该随机数先在客户端处经过FTP服务证书公钥进行加密,然后在服务器端经过FTP服务证书私钥进行解密,而FTP服务证书是经过CA证书进行签名的证书,也就是说,先使用CA证书对FTP服务证书进行签名,再运用FTP服务证书对随机数进行加密,后续只需要运用该随机数对传输的数据进行加密即可。运用随机数对传输的数据进行加密,使数据以密文方式进行传输,且该随机数在客户端和服务器之间是加密传输的,提高了数据传输的安全性。
图5为本申请一个实施例提供的用户口令的加密装置示意图。如图5所示,该用户口令的加密装置500可以包括:接收模块501、加密模块502和存储模块503。
该用户口令的加密装置500可以用于实现图2所示实施例的用户口令的加密方法流程示意图。其中,接收模块501可以用于执行S201的步骤,加密模块502可以用于执行S202、S203和S204的步骤,存储模块503可以用于执行S205的步骤。
图6为本申请一个实施例提供的数据加密装置示意图,如图6所示,该数据加密装置600包括:创建模块601、签名模块602、连接模块603、和传输模块604。
该数据加密装置600可以用于实现图4所示实施例的数据加密方法流程示意图。其中,创建模块601可以用于执行S401、S402和S403的步骤,签名模块602可以用于执行S404的步骤,连接模块603可以用于执行S305的步骤,传输模块604可以用于执行S406的步骤。
图7为本申请另一个实施例提供的数据加密装置示意图,如图7所示,该数据加密装置700包括:处理器701和接口电路702。处理器701和接口电路702之间相互耦合。可以理解的是,接口电路702可以为收发器或输入输出接口。可选的,该数据加密装置700还可以包括存储器703,用于存储处理器701执行的指令或存储处理器701运行指令所需要的输入数据或存储处理器701运行指令后产生的数据。
作为一个示例,处理器701可以用于实现上述加密模块502和存储模块503的功能,接口电路702可以用于实现上述接收模块501的功能。
作为另一个示例,处理器701可以用于实现上述创建模块601、签名模块602和连接模块603的功能,接口电路702可以用于实现上述传输模块604的功能。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元,还可以是其它通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器、闪存、只读存储器、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuit,ASIC)中。另外,该专用集成电路可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (12)

1.一种用户口令的加密方法,其特征在于,包括:
服务器接收来自客户端的用户名和第一用户口令;
所述服务器运用数据加密标准DES算法对所述第一用户口令进行加密,得到所述第一用户口令的DES散列值;
所述服务器为所述第一用户口令的DES散列值添加第一随机数据,得到第一临时用户口令;
所述服务器运用安全散列算法SHA对所述第一临时用户口令进行M次SHA散列处理,得到第一密钥,M大于1;
所述服务器为所述用户名添加第二随机数据,得到第一临时用户名;
所述服务器运用所述第一密钥对所述第一临时用户名进行高级加密标准AES加密,得到所述第一用户口令的AES散列值;
所述服务器将所述用户名、所述AES散列值、所述第一随机数据和所述第二随机数据存储于数据库中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器接收来自客户端的所述用户名和第二用户口令;
所述服务器基于所述用户名从所述数据库中获取所述用户名对应的第一随机数据和第二随机数据;
所述服务器运用DES算法对所述第二用户口令进行加密,得到所述第二用户口令的DES散列值;
所述服务器为所述第二用户口令的DES散列值添加所述第一随机数据,得到第二临时用户口令;
所述服务器运用SHA对所述第二临时用户口令进行M次SHA散列处理,得到第二密钥;
所述服务器为所述用户名添加所述第二随机数据,得到第二临时用户名;
所述服务器运用所述第二密钥对所述第二临时用户口令进行AES加密,得到所述第二用户口令的AES散列值;
在所述第二用户口令的AES散列值与所述第一用户口令的AES散列值一致的情况下,所述服务器允许所述用户名对应的用户登录所述服务器。
3.根据权利要求1所述的方法,其特征在于,所述服务器运用数据加密标准DES算法对所述第一用户口令进行加密之前,所述方法还包括:
所述服务器确定所述数据库中不包含对所述用户名对应的用户口令进行加密处理得到的AES散列值。
4.一种数据加密方法,其特征在于,包括:
服务器创建密钥环;
所述服务器创建证书授权中心CA证书和文本传输FTP服务证书,并运用所述CA证书中的私钥对所述FTP服务证书进行签名;
所述服务器所述将所述CA证书和所述签名后的FTP服务证书连接到所述密钥环;
所述服务器基于所述密钥环与所述客户端进行数据传输。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述服务器向客户端发送所述CA证书的公钥;
所述服务器向所述客户端发送所述FTP服务证书的相关信息,所述相关信息包括FTP服务证书的公钥、签名以及申请者与颁发者的信息;
所述服务器基于所述密钥环与所述客户端进行数据传输,包括:
所述服务器接收来自客户端的数据信息,所述数据信息是所述客户端根据所述CA证书的公钥验证所述FTP服务证书有效的情况下,使用所述FTP服务证书的公钥对随机数进行加密所得的数据信息;
所述服务器使用所述FTP服务证书的私钥对所述数据信息进行解密,得到所述随机数;
所述服务器将所述随机数作为密钥,与所述客户端进行数据传输。
6.根据权利要求5所述的方法,其特征在于,所述服务器将所述随机数作为密钥,与所述客户端进行数据传输,包括:
所述服务器使用所述随机数对第一数据进行加密,得到第一加密数据;
所述服务器向所述客户端发送所述第一加密数据。
7.根据权利要求5或6所述的方法,其特征在于,所述服务器将所述随机数作为密钥,与所述客户端进行数据传输,包括:
所述服务器接收来自所述客户端的第二加密数据;
所述服务器使用所述随机数对所述第二加密数据进行解密,得到第二数据。
8.一种用户口令的加密装置,其特征在于,包括:
接收模块,用于服务器接收来自客户端的用户名和第一用户口令;
加密模块,用于所述服务器运用数据加密标准DES算法对所述第一用户口令进行加密,得到所述第一用户口令的DES散列值;
所述加密模块,还用于所述服务器为所述第一用户口令的DES散列值添加第一随机数据,得到第一临时用户口令;
所述加密模块,还用于所述服务器运用安全散列算法SHA对所述第一临时用户口令进行M次SHA散列处理,得到第一密钥,M大于1;
所述加密模块,还用于所述服务器为所述用户名添加第二随机数据,得到第一临时用户名;
所述加密模块,还用于所述服务器运用所述第一密钥对所述第一临时用户名进行高级加密标准AES加密,得到所述第一用户口令的AES散列值;
存储模块,用于所述服务器将所述用户名、所述AES散列值、所述第一随机数据和所述第二随机数据存储于数据库中。
9.一种数据加密装置,其特征在于,包括:
创建模块,用于服务器创建密钥环;
所述创建模块,还用于所述服务器创建证书授权中心CA证书和文本传输FTP服务证书;
签名模块,用于所述服务器运用所述CA证书中的私钥对所述FTP服务证书进行签名;
连接模块,用于所述服务器所述将所述CA证书和所述签名后的FTP服务证书连接到所述密钥环;
传输模块,用于所述服务器基于所述密钥环与所述客户端进行数据传输。
10.一种数据加密装置,其特征在于,包括存储器,以及与存储器耦合的处理器;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令,以实现如权利要求1至7中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于计算机执行的程序代码,该程序代码包括用于实现如权利要求1至7中任一项所述的方法的指令。
12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
CN202210181208.2A 2022-02-25 2022-02-25 数据加密方法、装置、设备及存储介质 Active CN114553566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210181208.2A CN114553566B (zh) 2022-02-25 2022-02-25 数据加密方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210181208.2A CN114553566B (zh) 2022-02-25 2022-02-25 数据加密方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114553566A true CN114553566A (zh) 2022-05-27
CN114553566B CN114553566B (zh) 2024-04-09

Family

ID=81679941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210181208.2A Active CN114553566B (zh) 2022-02-25 2022-02-25 数据加密方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114553566B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055039A (zh) * 2022-12-29 2023-05-02 北京海泰方圆科技股份有限公司 一种基于分组密码算法的随机数生成方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286848A (zh) * 2008-05-23 2008-10-15 杨筑平 登录认证方法和登录签名程序
CN107070948A (zh) * 2017-05-23 2017-08-18 广东工业大学 云存储中基于混合加密算法的签名与验证方法
CN108768613A (zh) * 2018-04-03 2018-11-06 四川新网银行股份有限公司 一种基于多种加密算法的密文口令校验方法
CN112637131A (zh) * 2020-12-01 2021-04-09 百果园技术(新加坡)有限公司 用户身份认证方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286848A (zh) * 2008-05-23 2008-10-15 杨筑平 登录认证方法和登录签名程序
CN107070948A (zh) * 2017-05-23 2017-08-18 广东工业大学 云存储中基于混合加密算法的签名与验证方法
CN108768613A (zh) * 2018-04-03 2018-11-06 四川新网银行股份有限公司 一种基于多种加密算法的密文口令校验方法
CN112637131A (zh) * 2020-12-01 2021-04-09 百果园技术(新加坡)有限公司 用户身份认证方法、装置、设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055039A (zh) * 2022-12-29 2023-05-02 北京海泰方圆科技股份有限公司 一种基于分组密码算法的随机数生成方法及装置
CN116055039B (zh) * 2022-12-29 2023-11-14 北京海泰方圆科技股份有限公司 一种基于分组密码算法的随机数生成方法及装置

Also Published As

Publication number Publication date
CN114553566B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
CN107810617B (zh) 机密认证和供应
JP5860815B2 (ja) コンピューターポリシーを施行するためのシステムおよび方法
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
US11184336B2 (en) Public key pinning for private networks
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
US11914754B2 (en) Cryptographic method for verifying data
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
WO2023083007A1 (zh) 物联网设备身份认证方法、装置、系统及存储介质
CN113626802B (zh) 一种设备密码的登录验证系统及方法
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
EP3133791B1 (en) Double authentication system for electronically signed documents
GB2598296A (en) Digital storage and data transport system
Narendrakumar et al. Token security for internet of things
US20180287796A1 (en) Security key hopping
CN114553566B (zh) 数据加密方法、装置、设备及存储介质
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
CN108985079B (zh) 数据验证方法和验证系统
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN117499160B (zh) 一种基于电子档案的网络安全防护方法及系统
JP2013179473A (ja) アカウント生成管理システム、アカウント生成管理サーバ、アカウント生成管理方法及びアカウント生成管理プログラム
US11528144B1 (en) Optimized access in a service environment
US20240012933A1 (en) Integration of identity access management infrastructure with zero-knowledge services
WO2023198036A1 (zh) 一种密钥生成方法、装置及设备
US20230038940A1 (en) Multiple Relying Parties in a Single-Sign-On Environment

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