身份识别、身份认证与授权的区别

身份识别、身份认证和授权,是安全架构中最容易混淆的三个概念。

它们看起来相近,但解决的是三个完全不同的问题:

你声称是谁;
你如何证明自己是谁;
你通过证明后能做什么。

在嵌入式系统中,很多安全问题都来自于把“身份识别”误认为“身份认证”。例如,只检查 SN、设备 ID、型号或批次号,就认为设备可信,这在工程上是不安全的。

关键词

工程含义

识别 / 认证 / 授权

SN 只是声明,挑战响应才是证明,权限控制决定能做什么。

1. 三个概念的核心区别

可以先用一句话区分三者:

概念

解决的问题

工程含义

身份识别 Identification

你声称自己是谁

上报 SN、设备 ID、用户名、证书编号

身份认证 Authentication

你如何证明自己是谁

密码、证书、挑战响应、MAC、数字签名

授权 Authorization

你通过证明后能做什么

权限控制、功能开关、访问范围、使用次数

这三者是顺序关系,而不是同一个概念。

通常流程是:

先识别身份;
再认证身份;
最后根据身份和权限进行授权。


2. 身份识别 Identification

身份识别是设备、用户或模块声明自己的身份。

通俗地说,它回答的是:

我是谁?

在嵌入式产品中,身份识别可以表现为:

  • 设备上报序列号 SN;
  • 设备上报型号;
  • 设备上报硬件版本;
  • 设备上报证书编号;
  • 设备上报 Device ID;
  • 耗材上报批次号;
  • 探头上报探头类型;
  • 用户输入用户名;
  • 维修工具上报工具编号。

这些信息用于让系统知道当前对象声称的身份。

但是,身份识别只是“声明”,不能直接作为可信依据。


3. 为什么 SN 不能等同于安全认证

很多嵌入式产品早期会采用这种方式:

主机读取外设 SN;
SN 在白名单中;
允许外设工作。

这种方式看起来像认证,实际上只是身份识别。

原因很简单:

SN 可以被复制。

如果攻击者从一个合法设备中读取到 SN,然后写入另一个仿冒设备,主机看到的仍然是一个“合法 SN”。

此时主机只能知道:

对方声称自己是某个合法设备。

但主机并不能确认:

对方真的拥有合法设备内部不可复制的秘密。

因此,SN、设备 ID、型号、批次号、版本号,都只能作为身份声明或索引信息,不能单独作为安全认证依据。


4. 身份认证 Authentication

身份认证是证明身份声明为真。

通俗地说,它回答的是:

你怎么证明你就是你?

在嵌入式系统中,身份认证的关键不是把密钥发给主机,而是让设备证明:

我拥有正确的密钥或私钥,但我不需要把它暴露出来。

常见认证方式包括:

  • 密码认证;
  • 共享密钥认证;
  • 挑战响应;
  • MAC 验证;
  • 数字签名;
  • 证书链验证;
  • 安全芯片认证。

5. 挑战响应机制

挑战响应是嵌入式设备认证中非常常见的方式。

基本流程如下:

  1. 主机生成一个随机数 Challenge;
  2. 主机把 Challenge 发送给设备;
  3. 设备使用内部密钥对 Challenge 计算 MAC,或者使用私钥进行签名;
  4. 设备把 Response 返回给主机;
  5. 主机验证 Response 是否正确;
  6. 验证通过后,认为设备拥有正确密钥或私钥。

这个过程中,设备不需要把密钥发出来。

主机验证的不是“设备说了什么”,而是验证:

设备是否具备只有合法设备才拥有的秘密。


6. 为什么挑战响应比固定口令更安全

如果设备每次都发送固定口令,例如:

password = 123456
auth_code = ABCD1234

攻击者只要截获一次,就可以后续重复使用。

这就是典型的重放攻击。

挑战响应机制通过随机数解决这个问题。由于每次 Challenge 都不同,设备每次计算出的 Response 也不同。

因此,攻击者即使截获了一次 Response,也很难在下一次认证中复用。


7. 授权 Authorization

授权是在认证通过之后,决定对象可以访问哪些资源、启用哪些功能、执行哪些操作。

通俗地说,它回答的是:

你被证明是合法对象之后,可以做什么?

授权不是认证本身,而是认证之后的权限控制。

在嵌入式产品中,授权常见于以下场景:

  • 维修工具可以进入维护模式;
  • 普通用户只能查看数据,不能修改校准参数;
  • 管理员可以修改系统配置;
  • 普通耗材只能使用固定次数;
  • 特定探头才能启用特定测量功能;
  • 授权模块才能打开高级功能;
  • 产线工装可以进入生产测试模式;
  • 现场设备只能执行有限升级,研发工具才能刷写调试固件。

8. 最小权限原则

授权设计应遵循最小权限原则。

也就是说,一个对象只应该获得完成当前任务所需的最小权限,而不是认证通过后获得全部权限。

例如:

  • 普通用户不应该能修改工厂校准参数;
  • 维修人员不应该能导出密钥;
  • 耗材不应该能修改主机配置;
  • 普通 App 不应该能进入产线模式;
  • 产线工装不应该在现场维护环境中长期有效;
  • 调试权限不应该在量产设备中默认开启。

最小权限原则可以降低单点泄露后的影响范围。


9. 嵌入式案例:合法探头接入主机

假设一个医疗设备主机需要识别外接探头。

第一步:身份识别

探头接入后,先上报:

  • SN;
  • 型号;
  • 硬件版本;
  • 批次号;
  • 证书编号。

这一步只是告诉主机:

我声称自己是哪一个探头。


第二步:身份认证

主机生成随机数 Challenge,发送给探头。

探头内部的安全芯片或安全存储区域使用密钥计算 Response。

主机验证 Response 是否正确。

这一步用于确认:

这个探头确实拥有合法密钥,具备合法身份。


第三步:授权

认证通过后,主机还不能无条件允许所有功能。

主机还需要根据:

  • 探头型号;
  • 探头批次;
  • 注册状态;
  • 有效期;
  • 使用次数;
  • 支持功能;
  • 当前设备型号;
  • 当前软件版本;
  • 当前测量模式。

决定是否允许测量、允许哪些功能、是否提示更换、是否限制高级功能。

这一步才是授权。


10. 三者缺一不可

如果只有身份识别,没有身份认证:

攻击者复制 SN,就可能伪装成合法设备。

如果只有身份认证,没有授权:

合法对象可能获得过大的权限,造成越权访问。

如果只有授权规则,没有可靠认证:

权限规则建立在不可信身份之上,仍然可能被绕过。

因此,完整的嵌入式安全流程应该是:

识别身份 → 认证身份 → 授权访问。


11. 工程总结

身份识别不是安全,身份认证才开始建立信任,授权则决定信任之后的权限边界。

简单来说:

身份识别:你声称是谁;
身份认证:你如何证明自己是谁;
授权:证明之后你能做什么。

在工程实现中,SN、型号、批次号、设备 ID 只能用于识别和索引,不能单独作为可信认证依据。

真正可靠的做法,是结合挑战响应、MAC、数字签名、安全芯片、证书链和权限控制,建立从身份声明到身份证明,再到权限约束的完整闭环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值