对于企业内部信息安全或行业安全合规性需求,3A认证、授权、审计是必要的基础安全审查项。认证安全机制要求双因素认证,从技术要可使用基于数字证书和OTP来实现满足。
OTP分为两种技术算法HOTP(基于次数 RFC 4226)和TOTP(基于时间 RFC 6238)标准。而目前开源的Google Authenticator工具很好的实现了OTP移动端APP的使用与密钥管理。
为了在企业运维安全加固需求可以开发自己的后端的OTP认证服务器和统一用户认证管理中心,结合Google Authenticator工具快速整合用户的移动端动态密钥的生成。
可适用的双因素场景:网络设备的认证(Radius协议)、企业内部开发的应用系统认证集成。
AuthOTP
golang实现google authencatior服务器RestAPI(密钥生成、OTP生成、OTP认证 )
API 接口说明
/register
- 用途: 生成私有密钥(base64编码)
- 方法: GET
- 参数:无
- 返回:seed密钥(string)
/otp
- 用途: 通过私有密钥,生成OTP一次性密码
- 方法: POST
- 参数: 请求体JSON格式 ,
skey
私有密钥 - 返回: otp密码 (string)
Post Body:
{
"skey":"GI3TSYRWGMZWEZRTMNSGMYRXGFTDSODFGI4DEMRXHE3GKZDBGY2TKM3FMQYWMNDG"
}
/auth
- 用途: 验证OTP一次性密码
- 方法: POST
- 参数: 请求体JSON格式 ,
skey
私有密钥otp
需认证的密码 - 返回: true/false
Post Body:
{
"skey":"GI3TSYRWGMZWEZRTMNSGMYRXGFTDSODFGI4DEMRXHE3GKZDBGY2TKM3FMQYWMNDG",
"otp":"712257"
}
有疑问加站长微信联系(非本文作者)