CN114117374A - 基于分布式系统的认证方法、装置、设备及介质 - Google Patents
基于分布式系统的认证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114117374A CN114117374A CN202111437871.6A CN202111437871A CN114117374A CN 114117374 A CN114117374 A CN 114117374A CN 202111437871 A CN202111437871 A CN 202111437871A CN 114117374 A CN114117374 A CN 114117374A
- Authority
- CN
- China
- Prior art keywords
- authentication
- server
- distributed system
- file
- password
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 238000013475 authorization Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000012795 verification Methods 0.000 claims abstract description 15
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及人工智能技术领域,提供了一种基于分布式系统的认证方法、装置、设备及介质。所述方法包括:根据验证规则生成与认证文件对应的授权文件;根据授权文件和认证文件创建认证列表;读取第一帐号和第一密码,基于加密算法将第一帐号和第一密码执行加密计算,得到第一认证信息并添加至认证节点的权限列表中;当监测到客户端的用户发起访问认证节点的请求时,读取第二帐号和第二密码执行加密计算得到第二认证信息,判断第一认证信息与第二认证信息是否相同,若是,根据权限列表及认证列表建立认证节点与服务端之间的通信。本发明还涉及区块链技术领域,上述第一认证信息、第二认证信息还可以存储于一区块链的节点中。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于分布式系统的认证方法、装置、设备及介质。
背景技术
KAFKA的运行依赖分布式系统(ZooKeeper),分布式系统为KAFKA中的Broker服务端提供配置维护、分布式同步、传递消息等功能。目前,分布式系统对用户的访问权限和操作权限存在有一些漏洞,用户只需要输入分布式系统的IP和端口信息,都可以与分布式系统连接,并对分布式系统的节点进行增加、删除,容易导致节点的数据被攻击和篡改,还可以从KAFKA的服务端获取生产者和消费者的消息,容易造成消息泄露的安全隐患。
发明内容
鉴于以上内容,本发明提供一种基于分布式系统的认证方法、装置、设备及介质,其目的在于解决现有技术中认证节点的数据被篡改和服务端的消息泄露的技术问题。
为实现上述目的,本发明提供一种基于分布式系统的认证方法,所述方法包括:
接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
优选的,在所述接收服务端发送的认证文件之前,所述方法包括:
在所述服务端中的认证目录中创建所述认证文件,读取所述服务端的动态链接共享目录中的多个认证包,所述认证包包括所述服务端的IP标识及端口信息;
将所述多个认证包拷贝至所述认证文件并发送至所述分布式系统。
优选的,所述根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件,包括:
从所述认证文件中读取所述服务端的IP标识及端口信息,根据所述分布式系统的验证规则将所述服务端的IP标识及端口信息生成对应的授权文件。
优选的,在所述读取所述服务端的白名单文件的第一帐号和第一密码之前,所述方法还包括:
从所述服务端的登录界面中获取用户登录服务端的第一帐号和第一密码,将所述第一帐号和所述第一密码添加至所述白名单文件中。
优选的,所述基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中,包括:
将所述第一帐号和所述第一密码的序列数字输入加密算法执行加密计算得到两组第一加密结果,将所述两组第一加密结果拼接得到所述第一认证信息,当将所述第一认证信息添加至所述权限列表时,根据所述分布式系统的权限规则对所述第一认证信息设置的对应权限。
优选的,所述加密算法包括:
QL=V1<<4+K0×V1+A×(V1>>5)+K1;
QR=V0<<4+K2×V0+A×(V0>>5)+K3;
其中,QL为所述第一密码的左组的加密结果,QR为所述第一密码的右组的加密结果,V0为所述第一密码的第一组明文,V1为所述第一密码第二组明文,A为常数,K0-K3分别为所述第一密码的第一至第四组秘钥。
优选的,所述判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信,包括:
读取所述第一认证信息与所述第二认证信息中的每位字节数组的长度和数量;
当判断所述每位字节数组的长度和数量相同时,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间通信。
为实现上述目的,本发明还提供一种分布式系统的认证装置,所述装置包括:
接收模块:用于接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
认证模块:用于根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
计算模块:用于读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
判断模块:用于当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述基于分布式系统的认证方法。
为实现上述目的,本发明还提供一种计算机可读介质,所述计算机可读介质存储有分布式系统的认证程序,所述分布式系统的认证程序被处理器执行时,实现如权利要求1至7中任一项所述基于分布式系统的认证方法的步骤。
本发明根据分布式系统的验证规则生成与认证文件对应的授权文件;根据授权文件和认证文件在分布式系统中的认证节点创建服务端的认证列表;基于预设加密算法将第一帐号和第一密码执行加密计算,得到第一认证信息并添加至认证节点的权限列表中;当监测到客户端的用户发起访问认证节点的请求时,读取用户的第二帐号和第二密码执行该加密计算得到第二认证信息,判断第一认证信息与第二认证信息是否相同,若是,根据权限列表及认证列表建立认证节点与服务端之间通信。本发明根据认证列表及权限列表设置用户的访问权限、操作权限,具有访问权限、操作权限的用户可以对服务端、分布式系统进行访问,及对认证节点进行增加、删除等操作,防止认证节点的数据被篡改,避免服务端的消息泄露的安全隐患。
附图说明
图1为本发明基于分布式系统的认证方法较佳实施例的流程图示意图;
图2为本发明分布式系统的认证装置较佳实施例的模块示意图;
图3为本发明电子设备较佳实施例的示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明提供一种基于分布式系统的认证方法。该方法应用于一电子设备。在一个实施例中,该电子设备为一台采用了分布式系统的执行服务器。一个或多个客户端及服务端可与该执行服务器建立连接。参照图1所示,为本发明基于分布式系统的认证方法的实施例的方法流程示意图。基于分布式系统的认证方法包括:
步骤S10:接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
本实施例,每当服务端启动时,根据服务端的ID在分布式系统中创建属于自己的认证节点,同时服务端还向分布式系统的执行服务器发送认证文件,该认证节点的版本号和创建时间等数据存储于分布式系统的数据库中,便于该认证节点的迭代更新后的数据维护,该认证节点用于连接分布式系统与服务端之间通信。
服务端包括但不限于KAFKA中的服务端(Broker端),这里的服务端是指一个服务端或者多个服务端组成的集群,KAFKA为每个服务端指代一个全局唯一的数字作为服务端的ID,KAFKA中的生产者端和消费者端都是Broker服务端的客户端。分布式系统可以是ZooKeeper分布式系统,还可以是Google Spanner,OceanBase等分布式系统。分布式系统的验证规则可以是分布式系统的Addauth验证规则,Addauth验证规则对用户访问分布式系统进行验证的一种方式。授权文件是用于将客户端(生产者端和消费者端)中的用户信息注册至认证节点生成认证用户,只有认证用户可以通过该认证节点访问分布式系统与服务端之间的连接通道。
在一个实施例中,在所述接收服务端发送的认证文件之前,所述方法包括:
在所述服务端中的认证目录中创建所述认证文件,读取所述服务端的动态链接共享目录中的多个认证包,所述认证包包括所述服务端的IP标识及端口信息;
将所述多个认证包拷贝至所述认证文件并发送至所述分布式系统。
在服务端中的认证目录中创建一个认证文件(例如,认证目录为kafka/server/config,认证文件格式为jaas文件),认证包是指每个端口信息、服务端的IP标识及客户端的IP标识和授权用户等多个文件包(例如,认证包采用JAR文件格式),客户端的IP标识是指KAFKA中的生产者端和消费者端的IP标识。授权用户是指具有访问分布式系统与服务端之间的连接通道权限的待认证用户,包含有待认证用户的待认证帐号和待认证密码,在本实例中要预先设置好哪些用户可以有权限访问分布式系统与服务端之间的连接通道,还可以访问哪些系统或端口的信息。
在一个实施例中,所述根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件,包括:
从所述认证文件中读取所述服务端的IP标识及端口信息,根据所述分布式系统的验证规则将所述服务端的IP标识及端口信息生成对应的授权文件。
当分布式系统接收到服务端认证文件时,从该文件中读取服务端的IP标识及端口信息(例如,IP标识为192.168.2.15,端口信息为9088),分布式系统的验证规则将服务端的IP标识注册并认证至分布式系统中的认证目录中,及将服务端的端口信息与分布式系统的端口信息创建套接字(Socket)连接,修改分布系统的环境变量和启动脚本等参数,生成服务端对应的授权文件。
步骤S20:根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
本实施例,读取认证文件中的授权用户(认证包)的待认证帐号和待认证密码,根据验证规则的端口将授权文件、待认证帐号和待认证密码注册至认证节点的认证目录(例如,认证目录为set/module/list),得到服务端的认证列表,该认证列表用于将认证文件中的待认证用户注册成为认证用户,里面登记有认证用户可以访问哪些系统或端口的信息。认证用户通过该认证节点可以访问分布式系统与服务端之间的连接通道,并不可以从服务端中读取或写入消息,对认证节点也没有任何的操作权限,本发明中是将认证用户的访问权限和操作权限分开设置的,操作权限包括对该认证节点创建子节点、设置该认证节点的数据、增加或删除该认证节点。
例如,认证用户A只有访问分布式系统与服务端之间的连接通道的访问权限,当认证用户A访问分布式系统的认证节点时,根据认证列表中的认证用户A相应的访问权限,认证用户A只可以访问分布式系统与服务端之间的连接通道,不可以访问分布式系统的其它连接通道,也不能从服务端中读取或写入消息,更不能对认证节点有任何操作权限。解决现有技术中用户输入分布式系统的IP和端口信息可以与分布式系统连接,造成服务端的消息泄露的问题。
步骤S30:读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
本实施例,从服务端中读取白名单文件中的用户的第一帐号和第一密码的序列数字,将序列数字输入加密算法执行加密计算得到第一认证信息,加密算法包括但不限于DES算法。本实施例,白名单文件中的第一帐号、第一密码与认证文件中的待认证帐号、待认证密码是相同的,但在其它实施例中,白名单文件中的第一帐号、第一密码与认证文件中的待认证帐号、待认证密码可以不相同的。根据分布式系统的权限规则,将第一认证信息添加至权限列表,权限规则可以是分布式系统的ACL权限规则,通过ACL权限规则中的SetAal命令设置用户的操作权限,将操作权限分为多个等级(例如,由低到高分成为1-5等级,等级1为读取、等级2为写入、等级3为创建子节点、等级4为设置节点数据、等级5为设置增加或删除认证节点),根据用户的操作权限等级统一管理用户对节点有哪些操作权限,解决现有技术中用户随意对分布式系统的认证节点进行增加、删除,容易导致认证节点的数据被攻击和篡改的问题。
在一个实施例中,在所述读取所述服务端的白名单文件的第一帐号和第一密码之前,所述方法还包括:
从所述服务端的登录界面中获取用户登录服务端的第一帐号和第一密码,将所述第一帐号和所述第一密码添加至所述白名单文件中。
用户可以是指生产者端或者消费者端的注册用户,根据用户提供的注册信息服务端对该用户生成一个随机的第一帐号和第一密码,注册信息包括用户姓名、性别、年龄、学历、工作单位、职位、和第一邀请码,第一邀请码是根据白名单文件中的初始账号和初始密码加密生成的,都已经设置好对认证节点相应的操作权限,由分布式系统或服务端的管理员通过线下或线上的方式所提供。当用户在注册时提供的第一邀请码是正确时,从服务端的登录界面中获取用户登录服务端的第一帐号和第一密码,将第一帐号和第一密码替换成白名单文件中的初始账号和初始密码并存储于白名单文件中。
在一个实施例中,所述基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中,包括:
将所述第一帐号和所述第一密码的序列数字输入加密算法执行加密计算得到两组第一加密结果,将所述两组第一加密结果拼接得到所述第一认证信息,当将所述第一认证信息添加至所述权限列表时,根据所述分布式系统的权限规则对所述第一认证信息设置的对应权限。
将第一帐号和第一密码的序列数字输入32位二进制明文中,根据加密算法的置换表将序列数字的顺序打乱,得到置换后的左右两组明文(例如,左V0为第一密码的第一组明文,右V1为第一密码的第二组明文),将64位密钥分别为四组秘钥形成一个加密框架,分别对两组明文进行预设次数的循环加密(例如,预设次数为10次),得到左右两组输出的第一加密结果,将左右两组输出的第一加密结果进行拼接得到第一认证信息,第一认证信息包括多个字节数组。将多个字节数组添加到权限列表,根据分布式系统的ACL权限规则对该第一认证信息设置的对应权限,例如,设置第一认证信息A的操作权限,可以从服务端A、B中读取消息,设置第一认证信息B的操作权限,可以从服务端A中写入消息,还可以对分布式系统的认证节点创建子节点。
在一个实施例中,所述加密算法包括:
QL=V1<<4+K0×V1+A×(V1>>5)+K1;
QR=V0<<4+K2×V0+A×(V0>>5)+K3;
其中,QL为所述第一密码的左组的加密结果,QR为所述第一密码的右组的加密结果,V0为所述第一密码的第一组明文,V1为所述第一密码第二组明文,A为常数,K0-K3分别为所述第一密码的第一至第四组秘钥。
将第一账号执行上述加密算法得到第一账号的左组、右组的输出结果。
步骤S40:当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
本实施例,根据预设加密算法,将用户的第二帐号和第二密码的序列数字输入加密算法执行加密计算得到两组第二加密结果,将两组第二加密结果拼接得到第二认证信息,当该第二认证信息与权限列表上的第一认证信息是相同时,根据该用户在权限列表中拥有的操作权限、认证列表中拥有的访问权限,建立认证节点与服务端之间的连接通道,也就是说打通客户端与服务端的连接通道,客户端的用户通过该连接通道从服务端中读取消息、写入信息或者对该认证节点进行相应的权限操作,解决现有技术中用户输入分布式系统的IP和端口信息都可以与分布式系统连接,随意对分布式系统的认证节点进行增加、删除的问题。
在一个实施例中,所述判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信,包括:
读取所述第一认证信息与所述第二认证信息中的每位字节数组的长度和数量;
当判断所述每位字节数组的长度和数量相同时,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间通信。
用户的第二帐号和第二密码是根据第二邀请码由服务端随机生成,第二邀请码是根据白名单文件中的第一帐号和第一密码加密生成的,每个第二邀请码发放出前已经设置好相应的操作权限,当第一认证信息与第二认证信息的每位字节数组的长度和数量不相同时,说明用户提供的第二邀请码是不正确的,不是白名单文件中的用户,没有任何的操作权限,向用户反馈预设的提示信息(您好,您输入的账号和密码有误,请重新输入或联系管理员),用户根据该提示信息检查自己的第二帐号和第二密码是否正确或者联系管理员,从而解决现有技术中任何用户或者客户端不需要认证连接分布式,从服务端中进行读取消息、写入消息或者对节点进行增加或删除的问题。
参照图2所示,为本发明分布式系统的认证装置100的功能模块示意图。
本发明所述分布式系统的认证装置100可以安装于电子设备中。根据实现的功能,所述分布式系统的认证装置100可以包括接收模块110、认证模块120、计算模块130及判断模块140。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
本实施例,关于各模块/单元的功能如下:
接收模块110,用于用于接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件。
认证模块120,用于根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表。
计算模块130:用于读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中。
判断模块140,用于当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
在一个实施例中,在所述接收服务端发送的认证文件之前,所述方法包括:
在所述服务端中的认证目录中创建所述认证文件,读取所述服务端的动态链接共享目录中的多个认证包,所述认证包包括所述服务端的IP标识及端口信息;
将所述多个认证包拷贝至所述认证文件并发送至所述分布式系统。
在一个实施例中,所述根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件,包括:
从所述认证文件中读取所述服务端的IP标识及端口信息,根据所述分布式系统的验证规则将所述服务端的IP标识及端口信息生成对应的授权文件。
在一个实施例中,在所述读取所述服务端的白名单文件的第一帐号和第一密码之前,所述方法还包括:
从所述服务端的登录界面中获取用户登录服务端的第一帐号和第一密码,将所述第一帐号和所述第一密码添加至所述白名单文件中。
在一个实施例中,所述基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中,包括:
将所述第一帐号和所述第一密码的序列数字输入加密算法执行加密计算得到两组第一加密结果,将所述两组第一加密结果拼接得到所述第一认证信息,当将所述第一认证信息添加至所述权限列表时,根据所述分布式系统的权限规则对所述第一认证信息设置的对应权限。
在一个实施例中,所述加密算法包括:
QL=V1<<4+K0×V1+A×(V1>>5)+K1;
QR=V0<<4+K2×V0+A×(V0>>5)+K3;
其中,QL为所述第一密码的左组的加密结果,QR为所述第一密码的右组的加密结果,V0为所述第一密码的第一组明文,V1为所述第一密码第二组明文,A为常数,K0-K3分别为所述第一密码的第一至第四组秘钥。
在一个实施例中,所述判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信,包括:
读取所述第一认证信息与所述第二认证信息中的每位字节数组的长度和数量;
当判断所述每位字节数组的长度和数量相同时,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间通信。
参照图3所示,为本发明电子设备1较佳实施例的示意图。
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读介质,所述可读介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如分布式系统的认证程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行分布式系统的认证程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图3仅示出了具有组件11-14以及分布式系统的认证程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
该电子设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的分布式系统的认证程序10时可以实现如下步骤:
接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照上述图2关于分布式系统的认证装置100实施例的功能模块图以及图1关于基于分布式系统的认证方法实施例的流程图的说明。
此外,本发明实施例还提出一种计算机可读介质,所述计算机可读介质可以是非易失性的,也可以是易失性的。该计算机可读介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有分布式系统的认证程序10,所述分布式系统的认证程序10被处理器执行时实现如下操作:
接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
本发明之计算机可读介质的具体实施方式与上述基于分布式系统的认证方法的具体实施方式大致相同,在此不再赘述。
在另一个实施例中,本发明所提供的基于分布式系统的认证方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如第一认证信息、第二认证信息,这些数据均可存储在区块链节点中。
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于分布式系统的认证方法,应用于一执行服务器,该执行服务器包括一分布式系统,其特征在于,所述方法包括:
接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
2.如权利要求1所述的基于分布式系统的认证方法,其特征在于,在所述接收服务端发送的认证文件之前,所述方法包括:
在所述服务端中的认证目录中创建所述认证文件,读取所述服务端的动态链接共享目录中的多个认证包,所述认证包包括所述服务端的IP标识及端口信息;
将所述多个认证包拷贝至所述认证文件并发送至所述分布式系统。
3.如权利要求1或2所述的基于分布式系统的认证方法,其特征在于,所述根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件,包括:
从所述认证文件中读取所述服务端的IP标识及端口信息,根据所述分布式系统的验证规则将所述服务端的IP标识及端口信息生成对应的授权文件。
4.如权利要求1所述的基于分布式系统的认证方法,其特征在于,在所述读取所述服务端的白名单文件的第一帐号和第一密码之前,所述方法还包括:
从所述服务端的登录界面中获取用户登录服务端的第一帐号和第一密码,将所述第一帐号和所述第一密码添加至所述白名单文件中。
5.如权利要求1所述的基于分布式系统的认证方法,其特征在于,所述基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中,包括:
将所述第一帐号和所述第一密码的序列数字输入加密算法执行加密计算得到两组第一加密结果,将所述两组第一加密结果拼接得到所述第一认证信息,当将所述第一认证信息添加至所述权限列表时,根据所述分布式系统的权限规则对所述第一认证信息设置的对应权限。
6.如权利要求1所述的基于分布式系统的认证方法,其特征在于,所述加密算法包括:
QL=V1<<4+K0×V1+A×(V1>>5)+K1;
QR=V0<<4+K2×V0+A×(V0>>5)+K3;
其中,QL为所述第一密码的左组的加密结果,QR为所述第一密码的右组的加密结果,V0为所述第一密码的第一组明文,V1为所述第一密码第二组明文,A为常数,K0-K3分别为所述第一密码的第一至第四组秘钥。
7.如权利要求1所述的基于分布式系统的认证方法,其特征在于,所述判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信,包括:
读取所述第一认证信息与所述第二认证信息中的每位字节数组的长度和数量;
当判断所述每位字节数组的长度和数量相同时,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间通信。
8.一种分布式系统的认证装置,其特征在于,所述装置包括:
接收模块:用于接收服务端发送的认证文件,根据所述分布式系统的验证规则生成与所述认证文件对应的授权文件;
认证模块:用于根据所述授权文件和所述认证文件在所述分布式系统中的认证节点创建所述服务端的认证列表;
计算模块:用于读取所述服务端的白名单文件的第一帐号和第一密码,基于预设加密算法对所述第一帐号和所述第一密码执行加密计算,得到第一认证信息并添加至所述认证节点的权限列表中;
判断模块:用于当监测到客户端的用户发起访问所述认证节点的请求时,读取所述用户的第二帐号和第二密码并执行加密计算得到第二认证信息,判断所述第一认证信息与所述第二认证信息是否相同,若是,根据所述权限列表及所述认证列表建立所述认证节点与所述服务端之间的通信。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述基于分布式系统的认证方法。
10.一种计算机可读介质,其特征在于,所述计算机可读介质存储有分布式系统的认证程序,所述分布式系统的认证程序被处理器执行时,实现如权利要求1至7中任一项所述基于分布式系统的认证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111437871.6A CN114117374A (zh) | 2021-11-30 | 2021-11-30 | 基于分布式系统的认证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111437871.6A CN114117374A (zh) | 2021-11-30 | 2021-11-30 | 基于分布式系统的认证方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114117374A true CN114117374A (zh) | 2022-03-01 |
Family
ID=80367859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111437871.6A Pending CN114117374A (zh) | 2021-11-30 | 2021-11-30 | 基于分布式系统的认证方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117374A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115220665A (zh) * | 2022-09-14 | 2022-10-21 | 深圳市木浪云科技有限公司 | 分布式存储系统的访问方法及系统 |
-
2021
- 2021-11-30 CN CN202111437871.6A patent/CN114117374A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115220665A (zh) * | 2022-09-14 | 2022-10-21 | 深圳市木浪云科技有限公司 | 分布式存储系统的访问方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11895096B2 (en) | Systems and methods for transparent SaaS data encryption and tokenization | |
WO2021017128A1 (zh) | 登录令牌的生成及验证方法、装置和服务器 | |
US11539690B2 (en) | Authentication system, authentication method, and application providing method | |
EP3512155A1 (en) | Method and system for providing secure access to artifacts in a cloud computing environment | |
CN104519066B (zh) | 一种激活移动终端令牌的方法 | |
CN102461060B (zh) | 安全网络包围区中的密钥管理 | |
EP2550768B1 (en) | System and method for remote maintenance of client systems in an electronic network using software testing by a virtual machine | |
US10333903B1 (en) | Provisioning network keys to devices to allow them to provide their identity | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
CN106790183A (zh) | 登录凭证校验方法、装置 | |
EP2864923B1 (en) | Secure user presence detection and authentication | |
CN111538977B (zh) | 云api密钥的管理、云平台的访问方法、装置及服务器 | |
KR102013983B1 (ko) | 애플리케이션 무결성 인증 방법 및 인증 서버 | |
CN113055380B (zh) | 报文处理方法、装置、电子设备及介质 | |
CN105262592A (zh) | 一种数据交互的方法及api接口 | |
CN111031037A (zh) | 用于对象存储服务的鉴权方法、装置及电子设备 | |
CN110740038A (zh) | 区块链及其通信方法、网关、通信系统和存储介质 | |
CN114266033A (zh) | 验证码生成方法、装置、验证码登录系统及电子设备 | |
CN111130798A (zh) | 一种请求鉴权方法及相关设备 | |
CN113678131A (zh) | 使用区块链保护在线应用程序和网页 | |
CN114117374A (zh) | 基于分布式系统的认证方法、装置、设备及介质 | |
CN108235067B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN116136911A (zh) | 一种数据访问方法及装置 | |
CN106954216B (zh) | 基于802.1x协议的认证方法及系统 | |
CN116881936A (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 |