zoukankan      html  css  js  c++  java
  • Golang LicenseServer授权服务器的设计 与 RSA 密钥对的应用

    //TODO 待写文章

    目录:

    1.为什么要写授权服务器  LicenseServer 

    2.授权服务器的设计思路

    3.授权服务器所使用到的加密技术

    1.为什么要写授权服务器

    为了防止别人拿到二进制后,自己搭建服务器,制作私服而损害公司利益;授权服务器只是增加破解难度而已,逆向破解二进制那也就没办法的,这里不考虑逆向。

    2.授权服务器的设计思路

    LS=LicenseServer 

    CS=CenterServer 

    LS使用HTTP协议,LS与CS之间使用RSA加密数据通信(不用HTTPS,因为要加上自己的密码)

    流程是:

    1.启动LS,监听HTTP端口 (同时加载 RSA私钥配置 ) ,LS与CS是完全隔离的。

    2.启动CS,加载RSA公钥配置,加载程序写死密码,构造本机信息,结合写死密码首次加密,通过RSA公钥进行二次加密,发送给LS

    3.LS收到消息,通过RSA私钥进行首次解密,结合写死密码二次解密(算法与CS保持一致),获得CS的启动信息,本地进行数据库查询,验证是否存在配置,存在返回OK,否则返回失败,使用RSA公钥签名,签名数据包含CS信息。

    4.CS收到消息,通过RSA私钥,记性签名验证,成功,检查返回结果,OK,则启动,否则 授权失败,禁止启动。

    LS使用RSA私钥进行数据的签名,CS验证数据合法性;CS发送信息包括RSA公钥,以及本机信息,和内存中的固定密码,利用RSA公钥加密数据,传送给LS让LS进行验证

    ssh-keygen生成的默认密钥对格式,pem 和one-line pem格式

    pkcs#1是什么

    PKCS 全称是 Public-Key Cryptography Standards 

    参考链接:

    PKCS 15 个标准 https://www.cnblogs.com/jtlgb/p/6762050.html

    pkcs1与pkcs8格式RSA私钥互相转换  https://blog.csdn.net/duan19056/article/details/52104966

  • 相关阅读:
    [转]find高级用法
    svn服务器配置
    awk (一)
    Linux下恢复ext3文件系统误删除文件ext3grep
    cobbler无人值守安装操作系统
    Linux下virtualbox网络配置
    nginx+uwsgi来部署Django
    solaris 网络设置
    rpm 使用说明
    linux 下安装mysql
  • 原文地址:https://www.cnblogs.com/ayanmw/p/10291979.html
Copyright © 2011-2022 走看看