CN111031037A - 用于对象存储服务的鉴权方法、装置及电子设备 - Google Patents

用于对象存储服务的鉴权方法、装置及电子设备 Download PDF

Info

Publication number
CN111031037A
CN111031037A CN201911275728.4A CN201911275728A CN111031037A CN 111031037 A CN111031037 A CN 111031037A CN 201911275728 A CN201911275728 A CN 201911275728A CN 111031037 A CN111031037 A CN 111031037A
Authority
CN
China
Prior art keywords
request
authentication
signature block
service request
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.)
Pending
Application number
CN201911275728.4A
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.)
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Jinxun Ruibo Network Technology Co Ltd
Beijing Kingsoft Cloud Network 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 Beijing Jinxun Ruibo Network Technology Co Ltd, Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Jinxun Ruibo Network Technology Co Ltd
Priority to CN201911275728.4A priority Critical patent/CN111031037A/zh
Publication of CN111031037A publication Critical patent/CN111031037A/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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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

Landscapes

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

Abstract

本发明公开了一种用于对象存储服务的鉴权方法、装置、电子设备及计算机可读存储介质。所述方法通过存储服务器对用户的身份及签名块进行双重校验,只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功,鉴权成功后存储服务器对用户的请求给予响应,提高了存储服务器数据存储的可靠性。此外,利用服务器发送的私钥对用户的请求加密生成签名块,能够实现对HTTP的全量加密,从而在校验时,可以对用户的服务请求的所有参数、内容进行校验,实现全量HTTP的校验,提高数据存储的安全性、可靠性,以及,由于在服务请求生成时,对服务请求的内容包括请求头、请求内容等都进行加密,可以防止服务请求在转发过程中被篡改。

Description

用于对象存储服务的鉴权方法、装置及电子设备
技术领域
本发明涉及云存储技术领域,尤其涉及一种用于对象存储服务的鉴权方法、装置及电子设备。
背景技术
对象存储服务是为用户提供基于网络的数据存取服务,使用该服务,可以通过网络方便地存储和获取图片、音频、视频、文本等各类数据文件,对象存储服务会将用户上传的数据文件以对象的形式组织到存储空间里,然后提供地址给用户分享或下载数据文件,用户可以通过提供的管理控制台、客户端工具或者API来进行各类操作,如创建、删除存储空间,上传、分享、下载、删除数据文件,以及设置对象,存储空间权限等。
为了保障用户在使用对象存储服务时的安全,一种比较常用的方法就是在终端上设置密码保护。例如在终端上设置登录密码,在每次登陆对象存储服务时都需要输入正确的用户名和密码,待系统对用户名和密码校验成功,用户方能进入系统进行自己权限范围的操作。
但是目前用户在使用对象存储服务时只对用户的身份进行校验,造成了用户在使用过程中的安全隐患。
发明内容
本发明的目的在于提供一种用于对象存储服务的鉴权方法方法、装置、电子设备及计算机可读存储介质,以实现对除身份验证外的访问鉴权。
根据本发明的第一方面,提供了一种用于对象存储服务的鉴权方法,应用于客户端,包括:
向服务器端发送包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块,以使服务器端基于所述用户的身份标识和签名块确定鉴权结果;
当鉴权结果为鉴权成功时,接收服务器端发送的与所述服务请求对应的请求内容;
当鉴权结果为鉴权失败时,接收服务器端发送的请求失败或者禁止请求的信息。
可选的,在向服务器端发送包含鉴权信息的服务请求之前,所述方法还包括:
生成用于鉴权的所述签名块。
可选的,通过以下步骤生成签名块:
从服务器端获取私钥;
获取服务请求中的请求头和请求内容;
利用私钥对请求头及请求内容进行加密得到签名块。
可选的,利用私钥对请求头及请求内容进行加密包括:
将请求头、请求内容以及私钥按照字母顺序排序组合成一个字符串;以及
对字符串使用数字签名获取一个签名串作为签名块。
可选的,在接收服务器端发送的请求失败或者禁止请求的信息之后,所述方法还包括:
对服务请求进行更新操作,更新操作包括:修改用户的身份标识或者签名块;
向服务器端发送更新后的服务请求。
根据本发明的第二方面,提供了一种用于对象存储服务的鉴权方法,应用于服务器端,包括:
接收客户端发送的包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块;
根据身份标识和签名块对客户端进行鉴权,以得到鉴权结果;
当鉴权结果为鉴权成功时,向客户端发送与服务请求对应的请求内容;
当鉴权结果为鉴权失败时,向客户端发送的请求失败或者禁止请求的信息。
可选的,在接收客户端发送的包含鉴权信息的服务请求之后,所述方法还包括:
调用与服务请求相匹配的私钥;
根据服务请求和私钥生成签名块。
可选的,根据身份标识和签名块对客户端进行鉴权,以得到鉴权结果,包括:
将生成的签名块和服务请求中的签名块进行比对;
以及,通过身份标识判断客户端是否具有权限获取服务请求对应的请求内容;
如果生成的签名块和服务请求中的签名块不一致,则鉴权失败;
如果生成的签名块和服务请求中的签名块一致,以及确定客户端没有权限获取所述服务请求对应的请求内容,则鉴权失败;
如果生成的签名块和服务请求中的签名块一致,以及确定客户端有权限获取服务请求对应的请求内容,则鉴权成功。
可选的,根据服务请求和私钥生成签名块包括:
获取服务请求中的请求头和请求内容;
利用私钥对请求头及请求内容进行加密得到签名块。
可选的,利用私钥对请求头及请求内容进行加密得到签名块包括:
将请求头、请求内容以及私钥按照字母顺序排序组合成一个字符串;以及
对字符串使用数字签名获取一个签名串作为签名块。
可选的,通过身份标识判断客户端是否具有权限获取服务请求对应的请求内容,包括:
根据服务请求解析出客户端的身份标识;
判断预设数据库中是否存在与身份标识相同的数据信息,预设数据库中包括多个客户端的身份标识信息;
当预设数据库中存在与身份标识相同的数据信息时,确定客户端具有权限获取服务请求对应的请求内容;
当预设数据库中不存在与身份标识相同的数据信息时,确定客户端没有权限获取服务请求对应的请求内容。
可选的,在向客户端发送请求失败或者禁止请求的信息之后,所述方法还包括:
接收客户端发送的更新后的服务请求并对服务请求进行鉴权。
根据本发明的第三方面,提供了一种用于对象存储服务的鉴权装置,应用于客户端,鉴权装置包括:
发送模块,用于向服务器端发送包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块,以使所述服务器端基于所述用户的身份标识和签名块确定鉴权结果;
第一接收模块,用于当鉴权结果为鉴权成功时,接收服务器端发送的与服务请求对应的请求内容;
第二接收模块,用于当鉴权结果为鉴权失败时,接收服务器端发送的请求失败或者禁止请求的信息。
可选的,鉴权装置还包括:
第一获取模块,用于从服务器端获取私钥;
第二获取模块,用于获取用户服务请求中的请求头和请求内容;
加密模块,用于利用私钥对所述请求头及请求内容进行加密得到签名块。
可选的,鉴权装置还包括:生成模块,用于生成用于鉴权的签名块。
根据本发明的第四方面,提供了一种用于对象存储服务的鉴权装置,应用于服务器端,鉴权装置包括:
接收模块,用于接收客户端发送的包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块;
鉴权模块,用于根据所述身份标识和签名块对客户端进行鉴权,以得到鉴权结果;
第一发送模块,用于当鉴权结果为鉴权成功时,向客户端发送与服务请求对应的请求内容;
第二发送模块,用于当鉴权结果为鉴权失败时,向客户端发送的请求失败或者禁止请求的信息。
可选的,鉴权装置包括:
调用模块,用于调用与服务请求相匹配的私钥;
生成模块,用于根据服务请求和私钥生成签名块。
可选的,鉴权模块包括:
比对单元,用于将生成的签名块和服务请求中的签名块进行比对;
判断单元,用于通过身份标识判断客户端是否具有权限获取所述服务请求对应的请求内容。
可选的,生成模块包括:
获取单元,用于获取用户服务请求中的请求头和请求内容;
加密单元,用于利用私钥对所述请求头及请求内容进行加密得到签名块。
根据本发明的第五方面,提供了一种电子设备,包括:
根据本发明第三方面或第四方面提供的鉴权装置;或者,
处理器和存储器,存储器用于存储可执行的指令,指令用于控制处理器执行根据本发明第一方面或第二方面提供的用于对象存储服务的鉴权方法。
根据本发明的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明第一方面或第二方面提供的用于对象存储服务的鉴权方法。
根据本发明实施例,存储服务器对用户的身份及签名块进行双重校验,只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功,鉴权成功后,存储服务器对用户的请求给予响应,提高了存储服务器数据存储的可靠性。此外,利用服务器发送的私钥对用户的请求加密(服务请求包括请求头、请求内容等)生成签名块,能够实现对HTTP的全量加密,从而在校验时,可以对用户服务请求的所有参数、内容进行校验,实现全量HTTP的校验,提高数据存储的安全性、可靠性,以及,由于在服务请求生成时,对服务请求的内容包括请求头、请求内容等都进行加密,可以防止服务请求在转发过程中被篡改。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为可用于实现本发明实施例的电子设备的硬件配置结构方框图。
图2为本发明第一实施例的用于对象存储服务的鉴权方法步骤流程图。
图3为本发明第二实施例的用于对象存储服务的鉴权方法步骤流程图。
图4为本发明第一实施例的用于对象存储服务的鉴权装置的结构方框图。
图5为本发明第二实施例的用于对象存储服务的鉴权装置的结构方框图。
图6为本发明实施例的电子设备的结构方框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,分布式系统的存储服务器、云数据库服务器、云计算服务器、云管理服务器、网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交互服务器、存储服务器、数据库服务器或代理服务器等。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
电子设备1000还可以是便携式电脑、台式计算机、手机、平板电脑等终端设备。
如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项用于对象存储服务的鉴权方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如电子设备1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
在本发明一个实施例中,提供了一种用于对象存储服务的鉴权方法,应用于客户端。
请参考图2,该图为本发明第一实施例的用于对象存储服务的鉴权方法步骤流程图,用于对象存储服务的鉴权方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。
如图2所示,本发明实施例的用于对象存储服务的鉴权方法,应用于客户端,具体包括以下步骤:
步骤102,向服务器端发送包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块,以使服务器端基于用户的身份标识和签名块确定鉴权结果。
步骤104,当所述鉴权结果为鉴权成功时,接收所述服务器端发送的与所述服务请求对应的请求内容。
步骤106,当所述鉴权结果为鉴权失败时,接收所述服务器端发送的请求失败或者禁止请求的信息。
在步骤102中,客户端发送给服务器服务请求,在用户进行对象存储操作时要求用户在与服务器创建会话之前先进行身份标识以及签名块的验证,有助于保护远程计算机避免黑客或恶意软件的攻击,保障存储对象的安全。所以服务请求中包含有用户的身份标识和签名块。需要说明的是,客户端的身份标识是指:客户端的账户名称,即客户端的用户名和密码,签名块通过服务器端发送的私钥、服务请求中的请求头、请求内容生成,能够实现对HTTP的全量加密,服务器端基于客户端发送的身份标识和签名块进行鉴权,实现了双重校验,且只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功。
示例性的,当用户在客户端请求对象存储服务时,可以先登录系统再进行资源请求,或者直接进行资源请求,打开系统后,用户可以在系统的登录界面输入用户名和密码,服务器端在接收到客户端传输的用于对用户的身份进行鉴权的信息后,解析出客户端的身份标识,再通过与预设数据库中的身份标识进行比对,只有用户输入的用户名和密码与预设数据库中的某一身份标识相同时,用户才可以登录到系统,然后进一步的与对象存储服务系统进行数据的交互。或者用户可以直接以游客的身份直接进入系统进行请求内容的相关操作,但是需要说明的是相关操作必须在游客的权限范围内进行。
在步骤104中,鉴权的过程在服务器端进行,客户端将服务请求发送给服务器端,等待服务器端进行用户身份的验证以及签名块的验证,然后接收服务器发送的响应信息,响应信息包括鉴权成功或者鉴权失败的信息,当鉴权结果为鉴权成功时,表示用户输入的身份标识是正确的,且请求的内容在该身份权限范围内,所以当鉴权结果为鉴权成功时,客户端就可以接收到服务器端发送的与服务请求相对应的请求内容,用户在接收到请求内容后,就可以对请求内容进行下一步的操作,所述下一步的操作可以为对系统内资源的浏览、下载、转发、保存等操作。
在步骤106中,鉴权的过程在服务器端进行,客户端将服务请求发送给服务器端,等待服务器端进行用户身份的验证以及签名块的验证,然后接收服务器发送的响应信息,响应信息包括鉴权成功或者鉴权失败的信息,当鉴权结果为鉴权失败时,表示用户输入的身份标识是错误的,或者请求内容为该身份权限范围外的内容,所以当鉴权结果为鉴权失败时,客户端不能接收到与服务请求相对应的请求内容,而是接收到服务器端发送的请求失败或者禁止请求的信息,便于提示用户,请求身份标识有误或者请求内容不符合操作权限,用户可以根据提示对身份标识或者请求内容进行修改,再一次发送给服务器端,服务器端可以对更新后的请求内容进行再一次的鉴权,直到客户端接收到鉴权成功的消息并接收到与请求内容相对应的请求内容。
可选的,在向服务器端发送包含鉴权信息的服务请求之前,所述方法还包括:生成用于鉴权的签名块。签名块通过服务器端发送的私钥、服务请求中的请求头、请求内容生成,能够实现对HTTP的全量加密,服务器端基于客户端发送的身份标识和签名块进行鉴权,实现了双重校验,且只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功。
可选的,通过以下步骤生成签名块:
步骤1021,从服务器端获取私钥。
客户端的私钥是由服务器为客户端分配的。在本实施例中,服务器与客户端预设有一种加密算法,客户端是按照预设的加密算法,采用服务器为客户端分配的私钥对请求信息进行加密,生成签名块。生成的签名块用于与服务器端的签名块进行比对,实现对除身份验证外的访问鉴权,来保证了客户在访问的整个过程中都处于安全的状态。
步骤1022,获取用户服务请求中的请求头和请求内容。
请求头用来标识服务类型,即用户需要进行什么操作,示例性的,用户登录到对象存储系统要对系统内的资源进行浏览、下载、转发、保存等操作。
请求内容用来标识服务内容,即用户需要对某个或者某些资源进行例如浏览、下载、转发、保存等操作。在用户发送服务请求内容给服务器的时候,请求内容中就携带请求内容的名称、类型、保存路径、大小、创建时间或者所属者等详细信息中的一个或者多个,便于服务器更快的解析用户发送到的请求内容。
步骤1023,利用私钥对请求头及请求内容进行加密得到签名块。
在本实施例中,服务器与客户端预设有一种加密算法,客户端是按照预设的加密算法,采用服务器为客户端分配的私钥对请求信息进行加密,生成签名块。服务请求的签名块用于与服务器端的签名块进行比对,实现对除身份验证外的访问鉴权,来保证了客户在访问的整个过程中都处于安全的状态。
可选的,利用私钥对请求头及请求内容进行加密包括:
步骤1024,将请求头、请求内容以及私钥按照字母顺序排序组合成一个字符串。
步骤1025,对字符串使用数字签名获取一个签名串作为签名块。
签名块生成方式依据预设的先后顺序排序,相同关键字的信息只能出现一次。关键字包括可选关键字和必填关键字,如果必填关键字为空,用空字符串代替,各关键字段以换行分割。特殊字符根据unicode码转换。
示例性的,以下是客户端签名块的生成过程:
首先,用户通过服务端获取一个公钥和私钥,
公钥为:P3UPCMORAFON76Q6RTNQ
私钥为:Ik90eHJ6eElzZnBGakE3U3dQeklMd3
其次,用户确定请求类型和请求内容
请求类型:PUT
请求内容:
Content-Md5:1B2M2Y8AsgTpgAmY7PhCfg==
Content-Type:text/html
Date:Wed,17Feb 2012 15:31:56GMT
上传文件名:/foo/bar
生成签名方法:
对HTTP请求头和方法按key的字母顺序排序得:"PUT\n1B2M2Y8AsgTpgAmY7PhCfg==\ntext/html\nWed,17Feb201215:31:56GMT\n/foo/bar"
用私钥Ik90eHJ6eElzZnBGakE3U3dQeklMd3,生成SHA1或MD5签名vU9XqPLcXd3nWdlfLWIhruZrLA。
可选的,在接收服务器端发送的请求失败或者禁止请求的信息之后,所述方法还包括:
步骤1061,对服务请求进行更新操作,更新操作包括:修改用户的身份标识或者签名块;
步骤1062,向所述服务器端发送更新后的服务请求。
在步骤1061中,若服务器端对客户端发送的包含有用户的身份标识和签名块进行鉴权时,其中一项身份标识或者签名块的鉴权不成功,则服务器端向客户端返回鉴权失败的信息,若用户还需要对对象存储的系统进行操作,则需要更新用户的身份标识或者签名块,发给服务器端进行重新鉴权。当身份标识输入不正确时,即用户名和密码输入不正确,则用户在客户端系统的登录界面重新输入正确的用户名和密码再进行鉴权;若对签名块鉴权不成功,则表示用户没有输入与所属身份权限相对应的请求内容,则用户需要重新修改请求内容,示例性的,若该用户对系统中的某个资源只有浏览的权限,而用户的服务请求为下载该资源,则服务器端就会对客户端返回鉴权失败的信息,只需要用户将服务请求改成浏览该资源,则就可以成功的完成对此次服务请求的鉴权。
在步骤1062中,在步骤1061中,客户端修改了身份标识或者签名块后,将新的服务请求发送给服务器端,服务器端再对更新后的身份标识或者签名块进行鉴权即可。鉴权结果也可以是上述提到的鉴权成功或者鉴权失败的结果。
根据本发明第一实施例提供的用于对象存储服务的鉴权方法,应用于客户端,所述方法通过存储服务器对由客户端发送的身份标识及签名块进行双重校验,只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功,鉴权成功后,存储服务器对用户的请求给予响应,提高了存储服务器数据存储的可靠性。此外,利用服务器发送的私钥对用户的请求加密(服务请求包括请求头、请求内容等)生成签名块,能够实现对HTTP的全量加密,从而在校验时,可以对用户的服务请求的所有参数、内容进行校验,实现全量HTTP的校验,提高数据存储的安全性、可靠性,以及,由于在服务请求生成时,对服务请求的内容包括请求头、请求内容等都进行加密,可以防止服务请求在转发过程中被篡改。
如图3所示,在本发明另一个实施例中,提供了一种用于对象存储服务的鉴权方法,应用于服务器端。图3为本发明第二实施例的用于对象存储服务的鉴权方法步骤流程图,如图所示,本发明实施例的用于对象存储服务的鉴权方法包括:
步骤202,接收客户端发送的包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块;
步骤204,根据身份标识和签名块对客户端进行鉴权,以得到鉴权结果;
步骤206,当鉴权结果为鉴权成功时,向客户端发送与服务请求对应的请求内容;
步骤208,当鉴权结果为鉴权失败时,向客户端发送的请求失败或者禁止请求的信息。
在步骤202中,服务器端执行比对的过程,在比对之前,需要接收客户端发送的包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块,完成不仅对用户的身份进行校验还要对签名块进行校验,只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功,存储服务器才会对用户的服务请求给予响应,提高了存储服务器数据存储的可靠性。
步骤202与客户端执行的步骤102相对应,客户端获取了服务请求,然后发送给服务器端。
其中,服务请求中携带有用户的身份标识,用户的身份标识即客户端的用户名和密码,服务器端存储有正确的用户名和密码,所以当用户在客户端输入用户名的时候,服务器端就会调取存储的身份标识信息,对用户的身份进行校验。示例性的,用户在使用对象存储系统时,在系统的登录界面输入用户名和密码。此时服务器端接收到客户端发送的用户名和密码,就会立即在预设的数据库中调取服务器端存储的用户名和密码。若预设的数据库中存在与客户端发送的身份标识相同的数据信息,则用户就可以进行系统,若不一致,系统将返回403给客户,便于提醒用户输入正确的用户名和密码进行使用。
在步骤204中,根据步骤202接收的鉴权信息进行鉴权,鉴权信息包含用户的身份标识和签名块。鉴权的过程是同时对身份标识和签名块进行鉴权,服务器在接收到客户端发送来的用户名和密码后,就会在服务器端预设的数据库中搜索是否有与该用户名和密码相同的数据信息,预设的数据库中包括多个客户端的身份标识,因为一个服务器端不可能只允许一个用户登录使用,所以只要服务器端在预设的数据库中搜索到与该用户名和密码相同的信息,就完成了对身份标识的鉴权,反之身份标识鉴权失败。签名块是根据服务请求中的请求头、请求内容加上服务器端发送的私钥进行加密得到,签名块的校验可以是对用户的服务请求的所有参数、内容进行校验,实现全量HTTP的校验,提高数据存储的安全性、可靠性,以及,由于在服务请求生成时,对服务请求的内容包括请求头、请求内容等都进行加密,可以防止服务请求在转发过程中被篡改。所以对签名块的校验相当于对服务请求的内容进行权限的校验,只有用户申请服务请求时,服务请求的内容与其用户名所属的操作权限相对应,才能完成签名块的校验成功,当只有身份标识和签名块都验证成功时,客户端才能接收到服务器端发送的服务请求。
在步骤206中,当鉴权结果为鉴权成功时,向客户端发送与服务请求对应的请求内容。鉴权成功,表示既对客户端发送的身份标识校验成功,又对服务请求内容生成的签名块校验成功,只有二者都校验成功,客户端才会接收到服务器端发送的服务请求,实现了存储服务器对用户的身份及签名块进行双重校验,提高了存储服务器的数据存储可靠性。
在步骤208中,当鉴权结果为鉴权失败时,向客户端发送的请求失败或者禁止请求的信息。请求失败的情况可以为对身份标识校验失败或者对签名块校验失败,只要二者有一个校验失败则客户端接收请求失败的信息,其中,有一种服务请求匿名的情况,即客户端直接发送签名块,让服务器端只对签名块进行校验,可以理解为用户以类似于游客的身份进行系统进行资源的请求,若请求内容符合游客的操作权限,则表示鉴权成功;若不符合,此时,系统将直接返回403给用户,提醒用户系统不允许匿名使用。
可选的,在接收客户端发送的包含鉴权信息的服务请求之后,所述方法还包括:
步骤2021,调用与服务请求相匹配的私钥。
步骤2022,根据服务请求和私钥生成签名块。
在步骤2021中,在接收到客户端发送的用户服务请求后,服务器端会根据服务请求中的请求内容调用预存的私钥,根据私钥与服务请求中的请求头、请求内容以及私钥按照字母顺序排序组合成一个字符串,然后对字符串使用数字签名获取一个签名串作为服务器端生成的签名块。
在步骤2022中,生成签名块的过程实质上是对服务请求中的请求头以及请求内容进行加密的一个过程。在本实施例中,服务器预设有一种加密算法,使用存储的私钥对请求信息进行加密,生成签名块。
可选的,根据身份标识和签名块对客户端进行鉴权,以得到鉴权结果,包括:
将生成的签名块和服务请求中的签名块进行比对,以及,通过身份标识判断客户端是否具有权限获取服务请求对应的请求内容。服务器端生成了签名块,再根据接收到的客户端发送的服务请求中的签名块,二者进行比对,比对结果包括:
如果生成的签名块和服务请求中的签名块不一致,则鉴权失败。
如果生成的签名块和服务请求中的签名块一致,及确定客户端没有权限获取服务请求对应的请求内容,则鉴权失败。
如果生成的签名块和服务请求中的签名块一致,及确定所述客户端有权限获取所述服务请求对应的请求内容,则鉴权成功。
身份标识与签名块的鉴权是同时进行的,在签名块的校验过程中,存在签名块不一致的情况,不一致则向客户端返回403,服务器端和客户端生成签名块的方法相同,若比对不一致,出现这种现象的原因是因为客户端在向服务器端获取私钥时,服务器端给客户端分配的私钥不是真私钥,服务器端分配私钥的依据是客户服务请求中携带的身份标识,若客户输入正确的身份标识,则服务器端给客户端分配的就是真的私钥,反之,服务器端就会给客户端分配假的私钥,所以同样的签名块生成方式,会生成不同的签名块表达式。本申请在除对身份进行验证外,通过生成签名块进行比对的方式,实现对除身份验证外的访问鉴权,来保证了客户在访问的整个过程中都处于安全的状态。
当签名块比对一致后,还需要通过身份标识判断客户端是否具有权限获取服务请求对应的请求内容,若有权限获取服务请求对应的请求内容,则服务器端向客户端发送对应的请求内容,若没有权限,则向客户端返回鉴权失败的信息。
可选的,根据服务请求和私钥生成签名块包括:
步骤2023,获取服务请求中的请求头和请求内容。
在步骤2023中,服务器端接收客户端发送的服务请求,从服务请求中获取请求头和请求内容,用来生成服务器端的签名块,服务头是用来标识服务,请求内容用来请求资源的操作权限,私钥对请求头和请求内容进行加密,就会生成服务器端的签名块,用于对用户进行除身份验证外的操作权限进行验证。能够实现对HTTP的全量加密,从而在校验时,可以是对用户的服务请求的所有参数、内容进行校验,实现全量HTTP的校验,提高数据存储的安全性、可靠性,以及,由于在服务请求生成时,对服务请求的内容包括请求头、请求内容等都进行加密,可以防止服务请求在转发过程中被篡改。
步骤2024,利用私钥对请求头及请求内容进行加密得到签名块。
在步骤2024中,生成签名块的过程实质上是对服务请求中的请求头以及请求内容进行加密的一个过程。在本实施例中,服务器预设有一种加密算法,使用存储的私钥对请求信息进行加密,生成签名块。
可选的,利用私钥对请求头及请求内容进行加密得到签名块包括:
步骤20241,将请求头、请求内容以及私钥按照字母顺序排序组合成一个字符串。
步骤20242,对字符串使用数字签名获取一个签名串作为签名块。
签名块生成方式依据预设的先后顺序排序,相同关键字的信息只能出现一次。关键字包括可选关键字和必填关键字,如果必填关键字为空,用空字符串代替,各关键字段以换行分割。特殊字符根据unicode码转换。
可选的,通过身份标识判断所述客户端是否具有权限获取服务请求对应的请求内容,包括:
根据服务请求解析出客户端的身份标识。服务器端在接收到客户端发送的服务请求之后,首先会对客户的身份进行验证,因为服务请求中包括有身份标识,身份标识即客户端获取的用户名和密码,服务器端本身存储有正确的用户名和密码,当服务器端接收到客户端发送的用户名和密码时,就会与存储的用户名和密码进行比对,完成用户身份的校验,身份校验成功后,用户才能进行下一步对签名块的校验,否则,返回用户失败的信息。
判断预设数据库中是否存在与身份标识相同的数据信息,预设数据库中包括多个客户端的身份标识信息。服务器端预设的数据库中存储有正确的身份标识,在这里需要说明的是一个服务器端不会只允许一个用户登陆使用,所以预设的数据库中预存有多个身份标识,只要客户端发送携带用户的身份标识的服务请求后,服务器端就会在预设的数据库中搜索,以便确认预设的数据库中是否有与该身份标识相同的数据信息。
当预设数据库中存在与身份标识相同的数据信息时,确定客户端具有权限获取服务请求对应的请求内容。
当预设数据库中不存在与身份标识相同的数据信息时,确定客户端没有权限获取服务请求对应的请求内容。
可选的,在向客户端发送请求失败或者禁止请求的信息之后,所述方法还包括:
接收客户端发送的更新后的服务请求并对服务请求进行鉴权。客户端修改了身份标识或者签名块后,将新的服务请求发送给服务器端,服务器端再对更新后的身份标识或者签名块进行鉴权。鉴权结果也可以是上述提到的鉴权成功或者鉴权失败的结果。
根据本发明第二实施例提供的用于对象存储服务的鉴权方法,应用于服务器端,所述方法通过存储服务器对用户的身份及签名块进行双重校验,只有在用户的身份和签名块都通过校验的情况下,才能确定为鉴权成功,鉴权成功后,存储服务器对用户的请求给予响应,提高了存储服务器数据存储的可靠性。此外,利用服务器发送的私钥对用户的请求加密(服务请求包括请求头、请求内容等)生成签名块,能够实现对HTTP的全量加密,从而在校验时,可以是对用户的服务请求的所有参数、内容进行校验,实现全量HTTP的校验,提高数据存储的安全性、可靠性,以及,由于在服务请求生成时,对服务请求的内容包括请求头、请求内容等都进行加密,可以防止服务请求在转发过程中被篡改。
如图4所示,在本发明再一个实施例中,提供了一种用于对象存储服务的鉴权装置300,应用于客户端,如图4所示,该图为本发明第一实施例的用于对象存储服务的鉴权装置的结构方框图。
如图所示,鉴权装置300包括发送模块301、第一接收模块302以及第二接收模块303。
该发送模块301,用于向服务器端发送包含鉴权信息的服务请求,鉴权信息中携带有用户的身份标识和签名块,以使服务器端基于用户的身份标识和签名块确定鉴权结果。
该第一接收模块302,用于当鉴权结果为鉴权成功时,接收服务器端发送的与所述服务请求对应的请求内容;
该第二接收模块303,用于当鉴权结果为鉴权失败时,接收服务器端发送的请求失败或者禁止请求的信息。
可选的,鉴权装置还包括第一获取模块、第二获取模块以及加密模块。
该第一获取模块304,用于从服务器端获取私钥。
该第二获取模块305,用于获取用户服务请求中的请求头和请求内容;
该加密模块306,用于利用私钥对请求头及请求内容进行加密得到签名块。
可选的,鉴权装置还包括:生成模块307,该生成模块307用于生成用于鉴权的所述签名块。
如图5所示,在本发明又一个实施例中,提供了一种用于对象存储服务的鉴权装置400,应用于服务器端,图5为本发明第二实施例的用于对象存储服务的鉴权装置的结构方框图,鉴权装置400包括:接收模块401、鉴权模块402、第一发送模块403以及第二发送模块404。
该接收模块401,用于接收客户端发送的包含鉴权信息的服务请求,所述鉴权信息中携带有用户的身份标识和签名块。
该鉴权模块402,用于根据所述身份标识和所述签名块对所述客户端进行鉴权,以得到鉴权结果。
该第一发送模块403,用于当所述鉴权结果为鉴权成功时,向所述客户端发送与所述服务请求对应的请求内容。
该第二发送模块404,用于当所述鉴权结果为鉴权失败时,向所述客户端发送的请求失败或者禁止请求的信息。
可选的,鉴权装置还包括:调用模块405和生成模块406。
该调用模块405,用于调用与服务请求相匹配的私钥。
该生成模块406,用于根据服务请求和私钥生成签名块。
可选的,鉴权模块包括:比对单元4021和判断单元4022。
该比对单元4021,用于将生成的签名块和服务请求中的签名块进行比对。
该判断单元4022,用于通过身份标识判断客户端是否具有权限获取服务请求对应的请求内容。
如果生成的签名块和服务请求中的签名块不一致,则鉴权失败;
如果生成的签名块和服务请求中的签名块一致,以及确定客户端没有权限获取服务请求对应的请求内容,则鉴权失败;
如果生成的签名块和服务请求中的签名块一致,以及确定客户端有权限获取所述服务请求对应的请求内容,则鉴权成功。
可选的,生成模块包括:获取单元4061和加密单元4062.
该获取单元4061,用于获取所述用户服务请求中的请求头和请求内容;
该加密单元4062,用于利用私钥对请求头及请求内容进行加密得到签名块。
可选的,所述判断单元4022还包括:解析子单元,判断子单元
该解析子单元,用于根据所述服务请求解析出所述客户端的身份标识;
该判断子单元,用于判断预设数据库中是否存在与所述身份标识相同的数据信息,所述预设数据库中包括多个客户端的身份标识信息;
第一确定子单元,用于当所述预设数据库中存在与所述身份标识相同的数据信息时,确定所述客户端具有权限获取所述服务请求对应的请求内容;
第二确定子单元,用于当所述预设数据库中不存在与所述身份标识相同的数据信息时,确定所述客户端没有权限获取所述服务请求对应的请求内容。
可选的,第二发送模块404包括接收子单元,该接收子单元用于接收客户端发送的更新后的服务请求并对服务请求进行鉴权。
根据本发明第五个实施例,还提供了一种电子设备,该电子设备500可以是图1所示的电子设备1000。图6为本发明实施例的电子设备的结构方框图。
一方面,该电子设备500可以包括前述的用于对象存储服务的鉴权装置300或者鉴权装置400,用于实施本发明任意实施例的用于对象存储服务的鉴权方法。
另一方面,如图6所示,电子设备500可以包括存储器502和处理器504,存储器502用于存储可执行的指令;该指令用于控制处理器504执行前述的用于对象存储服务的鉴权方法。
在本实施例中,电子设备500可以是服务器,也可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等任意具有存储器502以及处理器504的终端电子产品。
最后,根据本发明的又一个实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例的用于对象存储服务的鉴权方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (21)

1.一种用于对象存储服务的鉴权方法,应用于客户端,其特征在于,包括:
向服务器端发送包含鉴权信息的服务请求,所述鉴权信息中携带有用户的身份标识和签名块,以使所述服务器端基于所述用户的身份标识和签名块确定鉴权结果;
当所述鉴权结果为鉴权成功时,接收所述服务器端发送的与所述服务请求对应的请求内容;
当所述鉴权结果为鉴权失败时,接收所述服务器端发送的请求失败或者禁止请求的信息。
2.根据权利要求1所述的方法,其特征在于,所述在向服务器端发送包含鉴权信息的服务请求之前,所述方法还包括:
生成用于鉴权的所述签名块。
3.根据权利要求2所述的方法,其特征在于,通过以下步骤生成所述签名块:
从所述服务器端获取私钥;
获取所述服务请求中的请求头和请求内容;
利用所述私钥对所述请求头及所述请求内容进行加密得到所述签名块。
4.根据权利要求3所述的方法,其特征在于,利用所述私钥对所述请求头及所述请求内容进行加密得到所述签名块包括:
将所述请求头、所述请求内容以及所述私钥按照字母顺序排序组合成一个字符串;以及
对所述字符串使用数字签名获取一个签名串作为所述签名块。
5.根据权利要求1所述的方法,其特征在于,在所述接收所述服务器端发送的请求失败或者禁止请求的信息之后,所述方法还包括:
对所述服务请求进行更新操作,所述更新操作包括:修改用户的身份标识或者签名块;
向所述服务器端发送更新后的服务请求。
6.一种用于对象存储服务的鉴权方法,应用于服务器端,其特征在于,包括:
接收客户端发送的包含鉴权信息的服务请求,所述鉴权信息中携带有用户的身份标识和签名块;
根据所述身份标识和所述签名块对所述客户端进行鉴权,以得到鉴权结果;
当所述鉴权结果为鉴权成功时,向所述客户端发送与所述服务请求对应的请求内容;
当所述鉴权结果为鉴权失败时,向所述客户端发送的请求失败或者禁止请求的信息。
7.根据权利要求6所述的方法,其特征在于,在所述接收客户端发送的包含鉴权信息的服务请求之后,所述方法还包括:
调用与所述服务请求相匹配的私钥;
根据所述服务请求和所述私钥生成签名块。
8.根据权利要求7所述的方法,其特征在于,所述根据所述身份标识和所述签名块对所述客户端进行鉴权,以得到鉴权结果,包括:
将生成的所述签名块和所述服务请求中的签名块进行比对;
以及,通过所述身份标识判断所述客户端是否具有权限获取所述服务请求对应的请求内容;
如果生成的所述签名块和所述服务请求中的签名块不一致,则鉴权失败;
如果生成的所述签名块和所述服务请求中的签名块一致,以及确定所述客户端没有权限获取所述服务请求对应的请求内容,则鉴权失败;
如果生成的所述签名块和所述服务请求中的签名块一致,以及确定所述客户端有权限获取所述服务请求对应的请求内容,则鉴权成功。
9.根据权利要求7所述的方法,其特征在于,根据所述服务请求和所述私钥生成签名块包括:
获取所述服务请求中的请求头和请求内容;
利用所述私钥对所述请求头及所述请求内容进行加密得到所述签名块。
10.根据权利要求9所述的方法,其特征在于,利用所述私钥对所述请求头及所述请求内容进行加密得到所述签名块包括:
将所述请求头、所述请求内容以及所述私钥按照字母顺序排序组合成一个字符串;以及
对所述字符串使用数字签名获取一个签名串作为所述签名块。
11.根据权利要求7所述的方法,其特征在于,所述通过所述身份标识判断所述客户端是否具有权限获取所述服务请求对应的请求内容,包括:
根据所述服务请求解析出所述客户端的身份标识;
判断预设数据库中是否存在与所述身份标识相同的数据信息,所述预设数据库中包括多个客户端的身份标识信息;
当所述预设数据库中存在与所述身份标识相同的数据信息时,确定所述客户端具有权限获取所述服务请求对应的请求内容;
当所述预设数据库中不存在与所述身份标识相同的数据信息时,确定所述客户端没有权限获取所述服务请求对应的请求内容。
12.根据权利要求7所述的方法,其特征在于,在所述向所述客户端发送请求失败或者禁止请求的信息之后,所述方法还包括:
接收所述客户端发送的更新后的服务请求并对所述服务请求进行鉴权。
13.一种用于对象存储服务的鉴权装置,应用于客户端,其特征在于,所述鉴权装置包括:
发送模块,用于向服务器端发送包含鉴权信息的服务请求,所述鉴权信息中携带有用户的身份标识和签名块,以使所述服务器端基于所述用户的身份标识和签名块确定鉴权结果;
第一接收模块,用于当所述鉴权结果为鉴权成功时,接收所述服务器端发送的与所述服务请求对应的请求内容;
第二接收模块,用于当所述鉴权结果为鉴权失败时,接收所述服务器端发送的请求失败或者禁止请求的信息。
14.根据权利要求13所述的鉴权装置,其特征在于,所述鉴权装置还包括:
第一获取模块,用于从服务器端获取私钥;
第二获取模块,用于获取所述用户服务请求中的请求头和请求内容;
加密模块,用于利用所述私钥对所述请求头及所述请求内容进行加密得到所述签名块。
15.根据权利要求13所述的鉴权装置,其特征在于,所述鉴权装置还包括:
生成模块,用于生成用于鉴权的所述签名块。
16.一种用于对象存储服务的鉴权装置,应用于服务器端,其特征在于,所述鉴权装置包括:
接收模块,用于接收客户端发送的包含鉴权信息的服务请求,所述鉴权信息中携带有用户的身份标识和签名块;
鉴权模块,用于根据所述身份标识和所述签名块对所述客户端进行鉴权,以得到鉴权结果;
第一发送模块,用于当所述鉴权结果为鉴权成功时,向所述客户端发送与所述服务请求对应的请求内容;
第二发送模块,用于当所述鉴权结果为鉴权失败时,向所述客户端发送的请求失败或者禁止请求的信息。
17.根据权利要求16所述的鉴权装置,其特征在于,所述鉴权装置包括:
调用模块,用于调用与所述服务请求相匹配的私钥;
生成模块,用于根据所述服务请求和所述私钥生成签名块。
18.根据权利要求16所述的鉴权装置,其特征在于,所述鉴权模块包括:
比对单元,用于将生成的所述签名块和所述服务请求中的签名块进行比对;
判断单元,用于通过所述身份标识判断所述客户端是否具有权限获取所述服务请求对应的请求内容。
19.根据权利要求17所述的鉴权装置,其特征在于,所述生成模块包括:
获取单元,用于获取所述用户服务请求中的请求头和请求内容;
加密单元,用于利用所述私钥对所述请求头及所述请求内容进行加密得到所述签名块。
20.一种电子设备,其特征在于,包括:
根据权利要求13至19中任一权利要求所述的鉴权装置;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1至12中任一权利要求所述的用于对象存储服务的鉴权方法。
21.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至12中任一权利要求所述的用于对象存储服务的鉴权方法。
CN201911275728.4A 2019-12-12 2019-12-12 用于对象存储服务的鉴权方法、装置及电子设备 Pending CN111031037A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911275728.4A CN111031037A (zh) 2019-12-12 2019-12-12 用于对象存储服务的鉴权方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911275728.4A CN111031037A (zh) 2019-12-12 2019-12-12 用于对象存储服务的鉴权方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN111031037A true CN111031037A (zh) 2020-04-17

Family

ID=70206330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911275728.4A Pending CN111031037A (zh) 2019-12-12 2019-12-12 用于对象存储服务的鉴权方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111031037A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632022A (zh) * 2020-12-29 2021-04-09 医渡云(北京)技术有限公司 对象存储方法及装置、计算机可读存储介质以及电子设备
CN112671751A (zh) * 2020-12-18 2021-04-16 福建新大陆软件工程有限公司 一种基于微服务架构的鉴权方法、装置、设备和介质
CN113438242A (zh) * 2021-06-25 2021-09-24 未鲲(上海)科技服务有限公司 服务鉴权方法、装置与存储介质
CN114205237A (zh) * 2020-08-26 2022-03-18 中国移动通信集团终端有限公司 应用程序的鉴权方法、装置、电子设备及计算机存储介质
WO2022170810A1 (zh) * 2021-02-09 2022-08-18 苏宁易购集团股份有限公司 一种云存储数据的处理方法、装置及计算机系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124431A (zh) * 2017-06-22 2017-09-01 浙江数链科技有限公司 鉴权方法、装置、计算机可读存储介质和鉴权系统
CN108199852A (zh) * 2018-04-02 2018-06-22 上海企越信息技术有限公司 一种鉴权方法、鉴权系统和计算机可读存储介质
CN110545173A (zh) * 2019-07-29 2019-12-06 大众问问(北京)信息科技有限公司 一种安全验证及发送请求的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124431A (zh) * 2017-06-22 2017-09-01 浙江数链科技有限公司 鉴权方法、装置、计算机可读存储介质和鉴权系统
CN108199852A (zh) * 2018-04-02 2018-06-22 上海企越信息技术有限公司 一种鉴权方法、鉴权系统和计算机可读存储介质
CN110545173A (zh) * 2019-07-29 2019-12-06 大众问问(北京)信息科技有限公司 一种安全验证及发送请求的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114205237A (zh) * 2020-08-26 2022-03-18 中国移动通信集团终端有限公司 应用程序的鉴权方法、装置、电子设备及计算机存储介质
CN112671751A (zh) * 2020-12-18 2021-04-16 福建新大陆软件工程有限公司 一种基于微服务架构的鉴权方法、装置、设备和介质
CN112671751B (zh) * 2020-12-18 2023-05-02 福建新大陆软件工程有限公司 一种基于微服务架构的鉴权方法、系统、设备和介质
CN112632022A (zh) * 2020-12-29 2021-04-09 医渡云(北京)技术有限公司 对象存储方法及装置、计算机可读存储介质以及电子设备
CN112632022B (zh) * 2020-12-29 2023-11-24 医渡云(北京)技术有限公司 对象存储方法及装置、计算机可读存储介质以及电子设备
WO2022170810A1 (zh) * 2021-02-09 2022-08-18 苏宁易购集团股份有限公司 一种云存储数据的处理方法、装置及计算机系统
CN113438242A (zh) * 2021-06-25 2021-09-24 未鲲(上海)科技服务有限公司 服务鉴权方法、装置与存储介质
CN113438242B (zh) * 2021-06-25 2023-08-29 广西三方大供应链技术服务有限公司 服务鉴权方法、装置与存储介质

Similar Documents

Publication Publication Date Title
US11895096B2 (en) Systems and methods for transparent SaaS data encryption and tokenization
US11704427B2 (en) Systems and methods for providing data loss prevention via an embedded browser
US11381610B2 (en) Systems and methods for establishing a channel between multiple devices
CN108322461B (zh) 应用程序自动登录的方法、系统、装置、设备和介质
KR101816863B1 (ko) 기업 시스템들에서 사용자 및 디바이스 인증
CN111031037A (zh) 用于对象存储服务的鉴权方法、装置及电子设备
US20220060546A1 (en) Systems and methods for sharing saas content across workspace
CN109873805B (zh) 基于云安全的云桌面登陆方法、装置、设备和存储介质
EP2657871A2 (en) Secure configuration of mobile application
CN111355726B (zh) 一种身份授权登录方法、装置及电子设备和存储介质
US20200151243A1 (en) Systems and methods for rich input into text fields using an embedded browser
US11323528B2 (en) Systems and methods for push notification service for SAAS applications
US11290574B2 (en) Systems and methods for aggregating skills provided by a plurality of digital assistants
US20200153878A1 (en) Systems and methods for collaborating on forms in saas application
CN110071937B (zh) 基于区块链的登录方法、系统及存储介质
CN103227786A (zh) 一种网站登录信息填入方法及装置
US11736489B2 (en) Systems and methods for securely managing browser plugins via embedded browser
CN112560003A (zh) 用户权限管理方法和装置
EP3651051A1 (en) Systems and methods for a saas lens to view obfuscated content
CN115567271A (zh) 鉴权方法和装置、页面跳转方法和装置、电子设备及介质
CN114117404A (zh) 一种用户认证方法、装置、设备、系统及存储介质
US11228583B2 (en) Systems and methods for slogan based sharing of living SaaS objects
CN113141251A (zh) 一种登录网站的方法和装置
CN115580418A (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: 20200417

RJ01 Rejection of invention patent application after publication