CN111310132A - 一种基于java开发的集群证书认证方法 - Google Patents
一种基于java开发的集群证书认证方法 Download PDFInfo
- Publication number
- CN111310132A CN111310132A CN202010110800.4A CN202010110800A CN111310132A CN 111310132 A CN111310132 A CN 111310132A CN 202010110800 A CN202010110800 A CN 202010110800A CN 111310132 A CN111310132 A CN 111310132A
- Authority
- CN
- China
- Prior art keywords
- cluster
- node
- authentication method
- certificate
- java development
- 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
- 238000011161 development Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012795 verification Methods 0.000 claims description 5
- 238000013475 authorization Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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
- G06F21/33—User authentication using certificates
-
- 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/45—Structures or tools for the administration of 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明特别涉及一种基于java开发的集群证书认证方法。该基于java开发的集群证书认证方法,先在各个节点上生成集群证书密文文件,并写入对应的密文,然后对密文进行解密;项目运行后,拦截用户操作请求,通过验证用户节点证书的有效日期判断是否继续使用集群。该基于java开发的集群证书认证方法,通过配置集群证书,不仅能够有效防止用户在未经授权的情况下随意扩展节点,同时还能够控制集群的使用周期。
Description
技术领域
本发明涉及WEB开发技术领域,特别涉及一种基于java开发的集群证书认证方法。
背景技术
前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。前端技术指通过浏览器到用户端计算机的统称,存贮于服务器端的统称为后端技术。前端开发主要职能就是把网站的界面更好地呈现给用户。
前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,现在最新的高级版本HTML5、CSS3,以及SVG等。
前端技术的发展是互联网自身发展变化的一个缩影。随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的动效设计,给用户带来极高的用户体验。
在Web1.0时代,由于网速和终端能力的限制,大部分网站只能呈现简单的图文信息,并不能满足用户在界面上的需求,对界面技术的要求也不高。随着硬件的完善、高性能浏览器的出现和宽带的普及,技术可以在用户体验方面实现更多种可能,前端技术领域迸发出旺盛的生命力。
随着互联网进入Web2.0时代,各种类似桌面软件的Web应用大量涌现,前端由此发生了翻天覆地的变化。网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。
近年来,手机成为人们生活中不可或缺的一部分,成为人们身体的延伸,人们迎来了体验为王的时代。移动端的前端技术开发前景宽阔。此外,前端技术还能应用于智能电视、智能手表甚至人工智能领域。移动互联网带来了大量高性能的移动终端设备以及快速的无线网络,HTML5,node.jS的广泛应用,各类框架类库层出不穷。
在数据时代,随着互联网技术的迅速发展,产生了大量的数据,人们的工作和生活基本上都可以用数字化表示。为了保证集群的可控性,防止用户在未经授权的情况下随意扩展节点,同时可以有效的控制集群的使用周期,我们需要对集群添加证书认证功能。
RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA的安全基于大数分解的难度。其公钥和私钥是一对大素数(100到200位十进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。
这种算法非常可靠,密钥越长,它就越难破解。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。
RSA加密:
在RSA中,明文、密钥和密文都是数字。RSA的加密过程可以用下面的公式来表达。
密文=明文E mod N
RSA的密文是对代表了明文的数字的E次方求mod N的结果。换句话说,就是将明文和自己做E次乘方,然后将其结果除以N求余数,这个余数就是密文。
加密公式中出现了两个数——E和N,到底都是什么数呢?RSA的加密是求明文的E次方mod N,因此只要知道E和N这两个数,任何人都可以完成加密的运算。所以说,E和N是RSA加密的密钥,也就是说,E和N的组合就是公钥。其中E是加密(Encryption)的首字母,N是数字(Number)首字母。
RSA解密,公式如下:
明文=密文D mod N
该公式表示对密文的数字的D次方求mod N就可以得到明文。换句话说,将密文自己做D次乘法,再对其结果除以N求余数,就可以得到明文。
这里使用的数字N和加密时使用的数字N是相同的。数D和数N组成起来就是RSA的解密密钥,因此D和N的组合就是私钥。只有知道D和N两个数的人才能够完成解密的运算。由于N是公钥的一部分,是公开的,因此单独将D称为私钥也是可以的。
在RSA中,加密和解密的形式是相同的。加密是求“E次方的mod N”,而解密则是求“D次方的mod N”。
基于上述情况,本发明提出了一种基于java开发的集群证书认证方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于java开发的集群证书认证方法。
本发明是通过如下技术方案实现的:
一种基于java开发的集群证书认证方法,其特征在于,包括以下步骤:
第一步,在各个节点上生成集群证书密文文件,并写入对应的密文;
第二步,对密文进行解密;
第二步,启动节点时,解密节点上的集群证书密文文件,通过验证节点权限和有效日期判断是否正常启动节点;
第三步,项目运行后,拦截用户操作请求,通过验证用户节点证书的有效日期判断是否继续使用集群。
所述第一步中,提供加密jar包enauth.jar,用于在各个节点上生成集群证书密文文件auth.propertis。
所述加密jar包enauth.jar为实施人员所有,其入参为IP和时间周期。
所述第二步中,提供解密jar包deauth.jar,开发者将所述解密jar包deauth.jar引入到各自的项目中,实现对密文的解密。
所述解密jar包deauth.jar仅对开发者提供,用于对密文的解密。
所述第二步中,启动节点时,启动监听,解密节点上的集群证书密文文件auth.propertis内容,并验证集群证书的有效日期是否大于当前日期,如果包含且在有效期内,则说明该节点有权限启动成功,否则启动失败,并在日志中打印原因。
所述第二步中,还要验证节点上的集群证书密文文件auth.propertis内容是否包含该执行节点的IP或主机名。
所述第三步中,项目运行后,用户在WEB页面上点击各种链接时,对其操作请求进行拦截并做权限验证,验证节点证书的有效日期是否大于当前日期,如果大于则说明没有超过授权期限,可以继续使用集群,否则则跳转到指定页面并告知用户服务不可用。
本发明的有益效果是:该基于java开发的集群证书认证方法,通过配置集群证书,不仅能够有效防止用户在未经授权的情况下随意扩展节点,同时还能够控制集群的使用周期。
附图说明
附图1为本发明基于java开发的集群证书加密方法示意图。
附图2为本发明基于java开发的集群节点启动验证方法示意图。
附图3为本发明基于java开发的集群证书操作验证方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该基于java开发的集群证书认证方法,包括以下步骤:
第一步,在各个节点上生成集群证书密文文件,并写入对应的密文;
第二步,对密文进行解密;
第二步,启动节点时,解密节点上的集群证书密文文件,通过验证节点权限和有效日期判断是否正常启动节点;
第三步,项目运行后,拦截用户操作请求,通过验证用户节点证书的有效日期判断是否继续使用集群。
所述第一步中,提供加密jar包enauth.jar,用于在各个节点上生成集群证书密文文件auth.propertis。
所述加密jar包enauth.jar为实施人员所有,其入参为IP和时间周期。
代码如下:
使用如下命令生成对应的密文:
java-jar enauth.jar
所述第二步中,提供解密jar包deauth.jar,开发者将所述解密jar包deauth.jar引入到各自的项目中,实现对密文的解密。
所述解密jar包deauth.jar仅对开发者提供,用于对密文的解密。
所述第二步中,启动节点时,启动监听,解密节点上的集群证书密文文件auth.propertis内容,并验证集群证书的有效日期是否大于当前日期,如果包含且在有效期内,则说明该节点有权限启动成功,否则启动失败,并在日志中打印原因。
所述第二步中,还要验证节点上的集群证书密文文件auth.propertis内容是否包含该执行节点的IP或主机名。
所述第三步中,项目运行后,用户在WEB页面上点击各种链接时,对其操作请求进行拦截并做权限验证,验证节点证书的有效日期是否大于当前日期,如果大于则说明没有超过授权期限,可以继续使用集群,否则则跳转到指定页面并告知用户服务不可用。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种基于java开发的集群证书认证方法,其特征在于,包括以下步骤:
第一步,在各个节点上生成集群证书密文文件,并写入对应的密文;
第二步,启动节点时,解密节点上的集群证书密文文件,通过验证节点权限和有效日期判断是否正常启动节点;
第三步,项目运行后,拦截用户操作请求,通过验证用户节点证书的有效日期判断是否继续使用集群。
2.根据权利要求1所述的基于java开发的集群证书认证方法,其特征在于:所述第一步中,提供加密jar包enauth.jar,用于在各个节点上生成集群证书密文文件auth.propertis。
3.根据权利要求2所述的基于java开发的集群证书认证方法,其特征在于:所述加密jar包enauth.jar为实施人员所有,其入参为IP和时间周期。
4.根据权利要求1所述的基于java开发的集群证书认证方法,其特征在于:所述第二步和第三步中,提供解密jar包deauth.jar,开发者将所述解密jar包deauth.jar引入到各自的项目中,实现对密文的解密。
5.根据权利要求4所述的基于java开发的集群证书认证方法,其特征在于:所述解密jar包deauth.jar仅对开发者提供,用于对密文的解密。
6.根据权利要求2所述的基于java开发的集群证书认证方法,其特征在于:所述第二步中,启动节点时,启动监听,解密节点上的集群证书密文文件auth.propertis内容,验证节点上的集群证书密文文件auth.propertis内容是否包含该执行节点的IP或主机名,若包含则对有效日期进行验证,若不包含则启动失败,并在日志中打印原因。
7.根据权利要求6所述的基于java开发的集群证书认证方法,其特征在于:所述第二步中,验证集群证书的有效日期是否大于当前日期,如果包含且在有效期内,则说明该节点有权限启动成功,否则启动失败,并在日志中打印原因。
8.根据权利要求6所述的基于java开发的集群证书认证方法,其特征在于:所述第三步中,项目运行后,用户在WEB页面上点击各种链接时,对其操作请求进行拦截并做权限验证,验证节点证书的有效日期是否大于当前日期,如果大于则说明没有超过授权期限,可以继续使用集群,否则则跳转到指定页面并告知用户服务不可用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110800.4A CN111310132A (zh) | 2020-02-24 | 2020-02-24 | 一种基于java开发的集群证书认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110800.4A CN111310132A (zh) | 2020-02-24 | 2020-02-24 | 一种基于java开发的集群证书认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111310132A true CN111310132A (zh) | 2020-06-19 |
Family
ID=71160170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010110800.4A Pending CN111310132A (zh) | 2020-02-24 | 2020-02-24 | 一种基于java开发的集群证书认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111310132A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135482A (zh) * | 2014-08-07 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种认证方法及装置、服务器 |
CN104735087A (zh) * | 2015-04-16 | 2015-06-24 | 国家电网公司 | 一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法 |
CN106487743A (zh) * | 2015-08-25 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 用于支持多用户集群身份验证的方法和设备 |
CN107257334A (zh) * | 2017-06-08 | 2017-10-17 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop集群的身份认证方法 |
CN109815010A (zh) * | 2018-12-29 | 2019-05-28 | 深圳供电局有限公司 | 一种云平台统一身份认证方法及系统 |
-
2020
- 2020-02-24 CN CN202010110800.4A patent/CN111310132A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135482A (zh) * | 2014-08-07 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种认证方法及装置、服务器 |
CN104735087A (zh) * | 2015-04-16 | 2015-06-24 | 国家电网公司 | 一种基于公钥算法和SSL协议的多集群Hadoop系统安全优化方法 |
CN106487743A (zh) * | 2015-08-25 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 用于支持多用户集群身份验证的方法和设备 |
CN107257334A (zh) * | 2017-06-08 | 2017-10-17 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop集群的身份认证方法 |
CN109815010A (zh) * | 2018-12-29 | 2019-05-28 | 深圳供电局有限公司 | 一种云平台统一身份认证方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8347083B1 (en) | Encrypted cross-origin communication via an intermediary | |
CN108769027B (zh) | 安全通信方法、装置、移动终端和存储介质 | |
US10055591B1 (en) | Secure protocol attack mitigation | |
CN111898152B (zh) | 一种页面展示方法、电子设备及存储介质 | |
CN103548299A (zh) | 用于基于网络的安全认证的系统和方法 | |
CN109981576B (zh) | 密钥迁移方法和装置 | |
CN109977703A (zh) | 一种安全键盘的加密方法、存储介质及终端设备 | |
CN113836498A (zh) | 网页源代码混淆方法、装置、电子装置和存储介质 | |
JP2006216002A (ja) | Urlセキュリティーシステム | |
CN114363088A (zh) | 用于请求数据的方法和装置 | |
CN113904810A (zh) | 一种高效的隐私保护安全浏览方法 | |
US20160328539A1 (en) | Obscuring Software Code With Split Variables | |
CN113312576A (zh) | 一种页面跳转方法、系统及装置 | |
CN117725598A (zh) | 安卓端数据加解密方法、装置、设备及介质 | |
CN112199730A (zh) | 一种终端上应用数据的处理方法、装置及电子设备 | |
CN115442164B (zh) | 多用户日志加解密方法、装置、设备及存储介质 | |
CN111310132A (zh) | 一种基于java开发的集群证书认证方法 | |
CN114584327B (zh) | 一种客户端生成的图形验证码的验证方法及系统 | |
JP7276737B2 (ja) | 本人認証システム及び本人認証方法 | |
KR102258638B1 (ko) | 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템 및 방법 | |
CN115277225A (zh) | 一种数据加密方法、解密方法及相关设备 | |
CN102238150A (zh) | 表单注册方法及服务器 | |
CN111209544B (zh) | Web应用安全保护方法、装置、电子设备及存储介质 | |
CN111212068B (zh) | 一种输入法对文字加解密的方法 | |
KR101378549B1 (ko) | 패턴을 이용한 동적 웹 컨텐츠 보안 서버 및 방법 |
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: 20200619 |
|
RJ01 | Rejection of invention patent application after publication |