从零自研 · 八层防护架构

软件授权验证
不止于卡密校验

完整的验证生命周期管理——从注册接入到运行时心跳,从首次验证到设备管理,从状态码响应到到期处理。9 层中间件链 + 8 维度加密算法,每一层都有对应的安全机制。

8
防护架构
8
验证阶段
38ms
平均响应
1 传输层加密 TLS 1.3 + HSTS

全链路 HTTPS 加密 + HSTS Preload,防中间人攻击与降级

2 应用认证 AppAuth + Handshake

app_key + API Key 双重校验 + X25519 密钥协商建立加密通道

3 请求签名 RSA-4096 + HMAC-SHA384

RSA-4096-OAEP 非对称签名 + HMAC-SHA384 消息认证,防篡改

4 业务加密 AES-256-GCM

AEAD 认证加密 + 完整性校验,密钥动态派生(HKDF-SHA256)

5 防重放 TS + Nonce

时间戳 + 随机串双校验,5 分钟窗口外请求拒绝

6 设备绑定 5 种方案

none/machine_code/ip_ua/hardware_fingerprint/multi_factor 按应用配置

7 行级隔离 RLS

多租户数据行级隔离,应用间互不可见,fail-closed 默认

8 审计追溯 HashChain

SHA-384 哈希链审计日志 + 高频操作检测,操作可追溯

核心能力

完整的授权验证体系

从卡密管理到设备绑定,从在线验证到状态码响应,覆盖授权验证全场景。

应用层
卡密管理 设备绑定策略 云更新与配置
服务层
代理分销体系 工单与账户服务
基础层
8层防护 数据加密 API网关

卡密管理

批量生成/导入/导出、自定义字符集、有效期管控、作废与退款全流程

设备绑定策略

按应用配置设备数量、解绑规则、黑名单和临时封禁,授权状态可追溯。

云更新与配置

版本检测、强制更新、公告配置和云端参数下发,方便客户端持续迭代。

代理分销体系

开发者可配置代理、套餐和余额体系,支持主代理与子代理协同售卡。

工单与账户服务

用户支持、充值、订单、签到和市场资源形成完整的开发者服务区。

完整流程

验证生命周期

从注册接入到运行时心跳,从首次验证到设备管理,覆盖 statecode 0-5 六种状态的完整链路。

01
注册开发者账号
账号开通
02
创建应用 + 获取密钥
应用接入
03
客户端初始化
app/init
04
首次验证
card/verify
05
心跳保活
card/heartbeat
06
异常触发处理
statecode 响应
07
设备管理
bind/unbind
08
到期与状态迁移
statecode 1/2
01 注册开发者账号 账号开通

开发者通过开发者注册页注册账号,邮箱验证后即可登录开发者控制台。

入口 developer/auth/register
认证 邮箱验证 + 验证码
时长 即时开通
02 创建应用 + 获取密钥 应用接入

在开发者控制台创建应用,系统自动生成 app_key(ak_)、app_secret(sk_) 与 API Key(dk_),配置加密参数后即可对接。

凭证 app_key + app_secret + API Key
配置 8 维度 42 种算法可选
绑定 5 种设备绑定方案
03 客户端初始化 app/init

客户端启动后调用 /api/app/init 获取应用配置、公告、加密套件(x25519/aes-256-gcm/hkdf-sha256/ed25519)与心跳参数。

接口 POST /api/app/init
返回 cipher_suite + heartbeat 参数
心跳 默认 60s 间隔,180s 超时
04 首次验证 card/verify

用户输入卡密,客户端采集设备指纹并签名,调用 /api/auth/card/verify 完成卡密激活与设备绑定。CardEngine 内部 8 步:应用获取→维护检查→卡密猜测检测→状态机→设备签名→设备绑定(事务)→成功处理→Webhook 通知。

接口 POST /api/auth/card/verify
签名 HMAC-SHA384(device_id, app_secret)
返回 statecode(0-5) + expire_at + session_id
05 心跳保活 card/heartbeat

客户端按心跳间隔调用 /api/auth/card/heartbeat,服务端续期授权检查并更新在线设备状态。返回 statecode=0 表示正常。

接口 POST /api/auth/card/heartbeat
间隔 默认 60s(应用可配)
校验 三重签名 + 续期授权 + 异常检测
06 异常触发处理 statecode 响应

心跳或验证返回非 0 statecode 时,客户端按状态码处理:3=被踢下线(其他设备登录)、4=需更新(调用云更新)、5=服务器维护(稍后重试)。

触发 statecode ∈ {3, 4, 5}
检测 HeartbeatEngine::detectAnomaly
处理 客户端按 statecode 分支响应
07 设备管理 bind/unbind

用户可在客户端调用 /api/auth/device/unbind 解绑当前设备,或由开发者后台管理卡密的设备绑定记录。重新绑定受 rebind_cooldown(默认 24h)限制。

接口 POST /api/auth/device/unbind
冷却 24 小时(DEVICE_REBIND_COOLDOWN 可配)
失败锁定 3600s(DEVICE_FAIL_LOCK_DURATION 可配)
08 到期与状态迁移 statecode 1/2

卡密到期或被冻结时,验证/心跳返回 statecode=1(到期) 或 statecode=2(冻结)。客户端提示用户续费或联系开发者。状态机:待激活→已激活→已过期/已冻结/已作废。

到期 statecode=1,提示续费
冻结 statecode=2,联系开发者
状态机 PENDING→ACTIVE→EXPIRED/FROZEN
安全防护

针对真实攻击场景

不是抽象的安全概念,而是针对每种具体攻击方式的防御机制。

请求重放攻击 高危

截获合法请求后重复发送,试图绕过验证或重复扣减次数。

第 5 层防御

Timestamp + Nonce 双重校验,5 分钟窗口外拒绝,Nonce 一次性使用。

中间人攻击 高危

拦截通信,窃取卡密、设备指纹等敏感信息。

第 1 + 3 层防御

TLS 1.3 全链路加密 + RSA-4096-OAEP 签名验证,攻击者无法伪造或解密。

设备伪造 中危

修改设备指纹信息,试图在多台设备上使用同一卡密。

第 6 层防御

5 种设备绑定方案 + HMAC-SHA384 设备签名校验,事务内行锁防并发竞态。

卡密盗用 中危

卡密泄露后,他人在异地设备上使用。

第 6 + 8 层防御

设备绑定限制 + 卡密维度暴力破解防护,5 次失败锁 30 分钟,渐进式延迟 1s→2s→4s→8s。

暴力破解 高危

使用自动化工具尝试大量卡密组合。

IP + 卡密双维度

IP 维度:10 分钟内 5 次失败锁 30 分钟;卡密维度:5 次失败锁定,渐进式延迟。

SQL 注入 高危

在输入参数中注入 SQL 语句,试图绕过验证或获取数据。

第 7 层防御

PDO 参数预编译 + RLS 行级隔离,即使注入成功也无法跨应用访问数据。

数据泄露 高危

通过漏洞获取数据库访问权限,窃取敏感数据。

第 4 + 7 层防御

AES-256-GCM 字段级加密存储 + RLS 隔离,数据库被攻破也无法解密。

越权访问 中危

合法用户尝试访问其他应用或用户的数据。

第 7 + 8 层防御

RLS 行级隔离 + ABAC 属性访问控制 + JWT 客户端指纹绑定,跨设备/跨应用重放被拒绝。

安全等级评分 优秀
传输层加密
98
应用认证
96
请求签名
97
业务加密
95
防重放机制
93
设备绑定
94
行级隔离
96
审计追溯
92
安全机制状态 全部启用
TLS 1.3 全链路
● 已启用
RSA-4096-OAEP
● 已启用
AES-256-GCM
● 已启用
HMAC-SHA384
● 已启用
HKDF-SHA256
● 已启用
PBKDF2 (600000 迭代)
● 已启用
X25519 密钥交换
● 已启用
字段级加密存储
● 已启用
当前安全配置 实时状态
TLS 1.3 + HSTS ● 已启用
AppAuth + Handshake ● 已启用
RSA-4096 + HMAC-SHA384 ● 已启用
AES-256-GCM ● 已启用
TS + Nonce 防重放 ● 已启用
设备绑定(5 方案) ● 已启用
RLS 行级隔离 ● 已启用
审计哈希链 ● 已启用
快速接入

几行代码,轻松接入

支持多种编程语言,提供完整的 SDK 和示例代码。

PHP Python Node.js Java C++
PHP
<?php
// 1. 初始化客户端(app_key=ak_ 前缀,api_key=dk_ 前缀)
$api = new AegisAuthnb([
    'app_key' => 'ak_xxxxxxxxxxxxxxxx',
    'api_key' => 'dk_xxxxxxxxxxxxxxxx'
]);

// 2. 应用初始化(POST /api/app/init)
$init = $api->init($device_id);

// 3. 卡密验证(POST /api/auth/card/verify)
$result = $api->verify([
    'card_key'  => 'AGS-XXXX-XXXX-XXXX-XXXX',
    'device_id' => $device_id
]);

if ($result['statecode'] == 0) {
    echo "验证成功";
} else {
    echo "状态码:" . $result['statecode'];
}

从注册到接入,路径更短

注册开发者账号 → 创建应用获取 app_key(ak_) 与 app_secret(sk_) → 创建 API Key(dk_) → 配置加密参数 → 调用 /api/app/init 初始化 → 调用 /api/auth/card/verify 验证。

  • 5 分钟完成对接
  • 完整的 SDK 支持
  • 详细的开发文档
  • 8 维度 42 种加密算法
  • 5 种设备绑定方案
价格方案

灵活的定价方案,满足从个人到企业的不同需求

从免费入门到企业定制,按业务规模选择适合的方案,无隐藏费用

价格方案配置中,请稍后访问
联系我们

联系我们

如有任何问题或合作意向,请通过以下方式与我们联系

工作日 2 小时内响应,紧急问题优先处理

暂无联系方式配置

现在注册开发者账号

先把应用建好,再逐步配置卡密、设备策略、代理和云更新。注册后立即可用。