认证服务系统和CA RA LRA

CA(certificattion authority)中文意思是数字证书认证中心,是发放数字证书的机构。在日常工作中,CA和UKey数字证书的概念容易混淆,经常会听到对方说“我们的系统要应用你们的CA”,准确的说法是要采用数字证书的方式实现身份认证

什么是身份认证authority?简单说“证明你是你”或者“证明你是谁”的过程。

最常用的身份认证是口令方式,证明你是注册在网站里的小明。前提条件是,你必须先注册,用户名是小明并设置口令。登录过程中,你输入用户名和口令,即完成了一次身份认证,系统确认你是小明。

常用的身份认证方式包括,数字证书、口令、指纹、手势、人脸、声纹、动态口令、手机号等。数字证书是采用密码方式实现的身份认证,是目前安全级较高的认证方式。数字证书基于公钥技术,采用数字签名技术实现身份的验证。

其他方式,口令最常见,指纹人脸等生物信息认证也越来越广,虽然使用方便,但这些信息在传递的过程中都可能泄露,被窃取。有一个网络公司大佬声称,他目前仍未开启指纹和人脸识别的电子支付,因为指纹和人脸一旦泄露,只能关闭指纹和人脸认证。而且,服务端也要存储指纹和人脸信息,用来在用户登录时候比对认证,这些信息如果被黑客窃取,或者恶意内部管理人员盗取,那么你个人的生物信息就永久泄露了,黑客就可以在你开启的认证服务上仿冒你。原本只有你能提供你的生物信息证明你是你,但黑客也可以证明他是你,并且你无法像改变口令一样,改变你的指纹和人脸信息。

数字证书是通过信任传递的方式实现身份认证的。CA机构需要通过多种方式核实用户的身份,如提交身份证、固定电话、社保卡、手机号等,通过电话方式访谈你的单位等,通过声明的身份验证过程,确认用户对象身份,签发用户公钥证书。用户的公钥证书用来实现身份认证,需要用到数字签名,服务端验证签名的过程要应用CA的证书或者证书链【详见参考文献1、2】。

狭义的CA就是接受RA请求的服务,完成证书签名和吊销,发布到LDAP和OCSP。前面讲了签发数字证书之前,要经过严格的人工审核流程,RA负责接受用户请求,审核用户身份证明。RA含义是注册服务机构或注册服务点。LRA和RA的功能一样,是向下一级的服务机构。

国家标准

  • GM/T 0034 基于SM2密码算法的证书认证系统密码机相关安全技术规范
  • 国家电子政务外网电子认证 注册服务机构建设指南

RA制证终端和RA服务在同一个局域网内,RA服务和CA之间通过加密通道。安全性要求CA不能采用web方式在广域网上提供服务,必须建立RA或LRA分支机构。

因此,根据身份核验的需求,和远程接入安全性的要求,须建设RA。

参考文献:

1. 什么是证书链?https://blog.csdn.net/u011893782/article/details/106519284

2. 数字证书的可信https://blog.csdn.net/u011893782/article/details/106453282

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
重新生成的代码如下所示: ```cpp #include <Ada_I2CDevice.h> #define DRV2605_ADDR 0x5A ///< Device I2C address #define DRV2605_REG_STATUS 0x00 ///< Status register #define DRV2605_REG_MODE 0x01 ///< Mode register #define DRV2605_MODE_INTTRIG 0x00 ///< Internal trigger mode #define DRV2605_MODE_EXTTRIGEDGE 0x01 ///< External edge trigger mode #define DRV2605_MODE_EXTTRIGLVL 0x02 ///< External level trigger mode #define DRV2605_MODE_PWMANALOG 0x03 ///< PWM/Analog input mode #define DRV2605_MODE_AUDIOVIBE 0x04 ///< Audio-to-vibe mode #define DRV2605_MODE_REALTIME 0x05 ///< Real-time playback (RTP) mode #define DRV2605_MODE_DIAGNOS 0x06 ///< Diagnostics mode #define DRV2605_MODE_AUTOCAL 0x07 ///< Auto calibration mode #define DRV2605_REG_RTPIN 0x02 ///< Real-time playback input register #define DRV2605_REG_LIBRARY 0x03 ///< Waveform library selection register #define DRV2605_REG_WAVESEQ1 0x04 ///< Waveform sequence register 1 #define DRV2605_REG_WAVESEQ2 0x05 ///< Waveform sequence register 2 #define DRV2605_REG_WAVESEQ3 0x06 ///< Waveform sequence register 3 #define DRV2605_REG_WAVESEQ4 0x07 ///< Waveform sequence register 4 #define DRV2605_REG_WAVESEQ5 0x08 ///< Waveform sequence register 5 #define DRV2605_REG_WAVESEQ6 0x09 ///< Waveform sequence register 6 #define DRV2605_REG_WAVESEQ7 0x0A ///< Waveform sequence register 7 #define DRV2605_REG_WAVESEQ8 0x0B ///< Waveform sequence register 8 #define DRV2605_REG_GO 0x0C ///< Go register #define DRV2605_REG_OVERDRIVE 0x0D ///< Overdrive time offset register #define DRV2605_REG_SUSTAINPOS 0x0E ///< Sustain time offset, positive register #define DRV2605_REG_SUSTAINNEG 0x0F ///< Sustain time offset, negative register #define DRV2605_REG_BREAK 0x10 ///< Brake time offset register #define DRV2605_REG_AUDIOCTRL 0x11 ///< Audio-to-vibe control register #define DRV2605_REG_AUDIOLVL \ 0x12 ///< Audio-to-vibe minimum input level register #define DRV2605_REG_AUDIOMAX \ 0x13 ///< Audio-to-vibe maximum input level register #define DRV2605_REG_AUDIOOUTMIN \ 0x14 ///< Audio-to-vibe minimum output drive register #define DRV2605_REG_AUDIOOUTMAX \ 0x15 ///< Audio-to-vibe maximum output drive register #define DRV2605_REG_RATEDV 0x16 ///< Rated voltage register #define DRV2605_REG_CLAMPV 0x17 ///< Overdrive clamp voltage register #define DRV2605_REG_AUTOCALCOMP \ 0x18 ///< Auto-calibration compensation result register #define DRV2605_REG_AUTOCALEMP \ 0x19 ///< Auto-calibration back-EMF result register #define DRV2605_REG_FEEDBACK 0x1A ///< Feedback control register #define DRV2605_REG_CONTROL1 0x1B ///< Control1 Register #define DRV2605_REG_CONTROL2 0x1C ///< Control2 Register #define DRV2605_REG_CONTROL3 0x1D ///< Control3 Register #define DRV2605_REG_CONTROL4 0x1E ///< Control4 Register #define DRV2605_REG_VBAT 0x21 ///< Vbat voltage-monitor register #define DRV2605_REG_LRARESON 0x22 ///< LRA resonance-period register #define LRA_MODE 0x08 ///< Mode setting for LRA linear resonant actuator Adafruit_I2CDevice i2cDevice(DRV2605_ADDR); void setup() { Wire.begin(); // 初始化I2C总线 // 检查DRV2605L设备是否可用 if (!i2cDevice.begin()) { Serial.println("Failed to find DRV2605L device!"); while (1); } // 配置DRV2605L工作模式为LRA线性马达 writeRegister(DRV2605_REG_MODE, LRA_MODE); // 设置其他参数和配置 // 启动DRV2605L writeRegister(DRV2605_REG_GO, 1); } void loop() { // 在这里编写你的代码逻辑 } void writeRegister(uint8_t reg, uint8_t value) { Wire.beginTransmission(DRV2605_ADDR); Wire.write(reg); Wire.write(value); Wire.endTransmission(); } ``` 这段代码使用了`Adafruit_I2CDevice`库来实现I2C通信,并将其命名为`i2cDevice`对象。在`setup()`函数中,我们初始化I2C总线,并检查DRV2605L设备是否可用。然后,我们将DRV2605L的工作模式配置为LRA线性马达,并设置其他参数和配置。最后,我们启动DRV2605L。 在`loop()`函数中,你可以编写你的代码逻辑来控制DRV2605L线性马达驱动器芯片的震动效果。你可以使用`writeRegister()`函数来写入寄存器的值。注意,你可能需要根据你的具体需求进行进一步的配置和操作DRV2605L芯片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王森 出发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值