文章目录
- 📚感知数据安全⭐️
- 🐇传感器概述
- 🐇传感器的静态特性
- 🐇调制方式
- 🐇换能攻击
- 🐇现有防护策略
- 📚AI安全⭐️
- 🐇智能语音系统——脆弱性
- 🐇攻击手段
- 🐇AI的两面性
- 📚哈希函数
- 🐇哈希函数的分类、特性、用途
- 🐇自由起始碰撞攻击分析🍎
- 🐇HD5Hash函数
- 📚数字签名⭐️
- 🐇数字签名概述
- 🐇RSA🍎
- 🐇RSA数字签名算法
📚感知数据安全⭐️
- 物理-数字空间的互联且强交互使得跨域攻击成为可能。
🐇传感器概述
- 传感器在物联网中的作用相当于人体的感觉器官。
- 定义
- 国家标准GB7665-87对传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。
- 将被测非电量信号转换为与之有确定对应关系电量输出的器件或装置叫做传感器,也叫变换器、换能器或探测器。
- 传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。被测量的信息可以是光、热、运动、湿气、压力,或许多其他环境现象中的任何一种。
- 组成
- 传感器一般由敏感器件、传感元件、转换电路和辅助电路四部分组成。
- 敏感元件:直接感受被测非电量并按一定规律转换成与被测量有确定关系的其它量的元件。
- 传感元件:又称变换器。能将敏感元件感受到的非电量直接转换成电量的器件,如电阻、电感、电容、或者电流电压等。
- 信号调节与转换电路:能把传感元件输出的电信号转换为便于显示、记录、处理、和控制的有用电信号的电路。
- 辅助电路通常包括电源等。
- 传感器一般由敏感器件、传感元件、转换电路和辅助电路四部分组成。
- 分类
- 按工作原理分类:物理传感器和化学传感器。
-
物理传感器可以按其工作原理的物理效应进行分类,诸如压电效应、磁致伸缩现象、离化、极化、热电、光电、磁电等效应。被测信号量的微小变化都将转换成电信号。
-
化学传感器包括那些以化学吸附、电化学反应等现象为因果关系的传感器,被测信号量的微小变化也将转换成电信号。大多数传感器是以物理原理为基础运作的。化学传感器技术问题较多,例如可靠性问题,规模生产的可能性,价格问题等,解决了这类难题,化学传感器的应用将会有巨大增长。
-
有些传感器既不能划分到物理类,也不能划分为化学类。
-
- 按构成原理分类:结构型传感器和物性传感器。
- 结构型传感器是基于物理学中场的定律构成的,包括动力场的运动定律、电磁场的电磁定律等。物理学中的定律一般是以方程式给出的。对于传感器来说,这些方程式也就是许多传感器在工作时的数学模型。这类传感器的特点是传感器的工作原理是以传感器中元件相对位置变化引起场的变化为基础。
- 物性型传感器是基于物质定律构成的,如虎克定律、欧姆定律等。物质定律是表示物质某种客观性质的法则。因此,物性型传感器的性能随材料的不同而不同。如光电管就是物性型传感器,它利用了物质法则中的外光电效应。
- 按能量转换情况分类:能量控制型传感器和能量转换型传感器。
- 能量控制型传感器,在信息变化过程中,其能量需要外电源供给,如电阻、电感、电容等。电路参量传感器都属于这一类传感器。基于应变电阻效应、磁阻效应、热阻效应、光电效应、霍尔效应等的传感器也属于此类传感器。
- 能量转换型传感器,主要由能量变换元件构成,不需要外电源。如基于压电效应、热电效应、光电动势效应等的传感器都属于此类传感器。
- 按输出信号分类:模拟传感器、数字传感器、开关传感器等。
- 模拟传感器:将被测量的非电学量转换成模拟电信号。
- 数字传感器输出信号为数字量(或数字编码)的传感器。是指将传统的模拟式传感器经过加装或改造A/D转换模块,使之输出信号为数字量(或数字编码)的传感器,主要包括:放大器、A/D转换器、微处理器(CPU)、存储器、通讯接口电路等。
- 开关传感器:当一个被测量的信号达到某个特定的阈值时,传感器相应地输出一个设定的低电平或高电平信号。
- 按工作原理分类:物理传感器和化学传感器。
🐇传感器的静态特性
- 定义:传感器的静态特性是指对静态的输入信号,传感器的输出量与输入量之间所具有相互关系。因为这时输入量和输出量都和时间无关,所以它们之间的关系,即传感器的静态特性可用一个不含时间变量的代数方程,或以输入量作横坐标、把与其对应的输出量作纵坐标而画出的特性曲线来描述。
- 主要参数:表征传感器静态特性的主要参数有:线性度、灵敏度、迟滞、重复性、漂移等。
- 线性度:传感器的线性度是指其输出量与输入量之间的关系曲线偏离理想直线的程度,又称为非线性误差。在不考虑迟滞、蠕变等因素的情况下,其静态特性可用下列多项式代数方程来表示,由于存在二次、高次项,所以传感器的输出是非线性的,这将导致传感器会存在一定的安全风险。
- 灵敏度:灵敏度是传感器静态特性的一个重要指标。其定义为传感器在稳态信号作用下输出量变化对输入量变化的比值。用S表示灵敏度。
- 迟滞:传感器在输入量由小到大(正行程)及输入量由大到小(反行程)变化期间其输入输出特性曲线不重合的现象成为迟滞。对于同一大小的输入信号,传感器正反行程的输出信号大小不相等,这个差值称为迟滞差值∆H_max,迟滞误差一般以满量程输出的百分数表示。原因:机械及结构材料的弱点,如摩擦、松动等。
- 重复性:重复误差表征的是传感器在输入按同一方向作全量程连续多次变动时所得特性曲线不一致的程度。其反映的是测量结果偶然误差的大小,而并不表示与真实值的差别。
- 漂移:传感器的漂移是指在输入量不变的情况下,传感器输出量随着时间变化,此现象称为漂移。产生漂移的原因有两个方面:一是传感器自身结构参数;二是周围环境(如温度、湿度等)。
- 分辨率:分辨率是指传感器能够感知或检测到的最小输入信号增量。分辨率可以用绝对值或与满量程的百分比来表示。分辨率高是精度高的必要条件而非充分条件。
🐇调制方式
- 调幅(AM):载波的幅度(信号强度)是与所发送的波形成比例变化,调制信号是载波信号的包络线。图:上为基带信号、中为载波信号,下为调制后的信号。
- 调频(FM):是一种以载波的瞬时频率变化来表示信息的调制方式。(与此相对应的调幅方式是透过载波幅度的变化来表示信息,而其频率却保持不变)。
- 调相:又称相位调制,是一种以载波的瞬时相位变化来表示信息的调制方式,载波的初始相位是随着调制信号而变化的。
🐇换能攻击
-
海豚音攻击:利用人耳听不到的超声波频段进行攻击!超声波信号被低频滤波器滤掉,怎么办?采用信号调制的方法。经过调制的基带信号,会经过麦克风器件的非线性作用还原出来!
-
非线性作用
- 定义:非线性是指器件的输入输出不是线性相关,路中的元器件在本质上是非线性的,由非线性的电路构成或者实现的系统也是非线性的。
- 存在范围:麦克风、放大器及滤波器等器件都是输入/输出信号传输特性中具有平方及多次项非线性的组件。
- 非线性特征会带来不希望有的失真,产生新的频率,通过精心设计的输入信号,这些新的频率可以恢复出基带信号。
- 激光攻击:通过激光调制声音,实现对智能语音设备的无声控制。
- 原理:光信号能够使麦克风的薄膜产生同频率的振动;利用此现象调制特定波形的激光信号,注入语音系统实现无声的控制。
🐇现有防护策略
- 基于非线性特征的攻击检测方法:特征和设备有关,无法构造统一的检测模型。
- 基于“保护信号”的攻击检测方法
📚AI安全⭐️
🐇智能语音系统——脆弱性
- 安全脆弱点:语音获取、语音识别算法
- 语音获取:语音获取模块存在麦克风和放大器,具有感知脆弱性。
- 麦克风:将声波信号转换为电信号
- 放大:放大转换后的电信号
- 滤波:滤除信号中的高频分量
- AD转换:将模拟信号转换为数字信号
- 语音识别:语音识别算法不能完美的模拟人耳识别声音,具有算法脆弱性。
- 语音特征提取
- 将特征输入到训练好的语音识别模型中,输出识别的文本数据
- 语音获取:语音获取模块存在麦克风和放大器,具有感知脆弱性。
- 脆弱性分析——语音获取
- 非线性作用:麦克风和放大器是非线性元件,输入高频信号,输出信号中包含低频信号。
- 光声效应
- EMI耦合:电磁信号可耦合在线路中,产生虚假“声音”。
- 脆弱性分析——语音识别
- 对语音识别AI模型进行攻击,篡改识别结果
- 结果:耳听不为实
🐇攻击手段
- Artificial Intelligence ,人工智能,是指能够感知环境并采取行动以最大程度地成功实现目标的任何设备。
- 一个更精细的定义:“一个系统能够正确解释外部数据,从这些数据中学习并通过灵活的适应来实现特定目标和任务的能力。”
- 特点:从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类。更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果。
- 需要注意的是,机器学习的目标是使学到的函数很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。学到的函数适用于新样本的能力,称为泛化能力;而不能泛化则会出现过拟合问题。
- 主要攻击手段
-
数据中毒:攻击者通过将中毒的样本引入训练/验证/测试集造成的因果攻击。
- 中毒来源:可以是来自该领域的,有针对性的或无差别的的方式错误标记的样本,或是被修改值的样本,或者非该领域的典型样本(如将鸟的图片放入手写数字识别训练集)。
- 原理:错误的或是中毒的样本,会使分类器学到错误的特征,从而改变了分类器模型。
-
对抗样本: 指攻击者通过输入经过不为人所察觉的、精心扰动后的样本,使得分类模型决策发生本不应该发生的变化。又被称为测试阶段逃逸攻击(evasion attack),是深度学习攻击中研究最广泛的一类攻击。
- 例如为人脸添加一定的噪声,在人难以分辨的情况下,使得分类模型误分类。
- 与数据中毒攻击类似,这样的攻击可以是有导向性的,也可以是无导向性的。近来研究表示,甚至能够在现实环境中构建对抗样本以干扰分类器。
- 对抗攻击分类:白盒攻击、黑盒攻击、API攻击、物理攻击、定向攻击、非定向攻击
-
逆向工程:通过查询一个分类器,以了解它的决策规则或它的训练集(即对数据隐私的攻击)。
- 不同目标:
- 模型推断攻击(model inference attack):针对模型参数、结构等,试图构建与目标模型决策类似的模仿模型;
- 数据重构攻击(model inverse attack):从模型预测结果中提取和训练数据有关的信息,获取训练集隐私的攻击,具体指重构训练集中的样本;
- 成员推理攻击(如membership inference attack):获取训练集隐私的攻击,具体指判断某个样本是否属于训练集,如艾滋病患者数据集。
- 不同目标:
-
- 基于攻击目标分类
- 因果攻击:更改学习的分类模型。
- 有针对性的攻击:确保分类器将特定的数据样本分配给选定的(目标)类别。(例如让某张8被分类器识别为5)
- 无差别的攻击:在不确保分配特定目标类的情况下,仅试图寻求对特定数据样本更改做出的决定。(例如让某张8被识别错误
- 可用性攻击:通过将分类器的准确性降低到无法接受的低水平来使其无法使用。(例如让分类器识别尽可能多出错)
- 探索性攻击:不更改学习的模型,而是探索学习有关模型或训练数据集参数的信息。
- 因果攻击:更改学习的分类模型。
- 基于攻击入口分类
🐇AI的两面性
- AI助力防御
- 检测:如网络入侵检测、恶意软件检测、用户实体行为分析、垃圾邮件检测等
- 认证:用户认证,如刷脸、语音解锁等
- 设计加密算法
- 物理智能安防
- 军用机器人
- AI助力攻击
- 自动化网络攻击
- 助力有害信息传播
- 助力虚假信息内容制作
- 智能恶意代码
- 神经网络后门
- 对抗机器学习
- 助力自主武器研发
📚哈希函数
🐇哈希函数的分类、特性、用途
- 定义:哈希函数(英語:Hash function)又称散列算法、单向散列函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。
- 分类:不带密钥的Hash函数(MDC)、带密钥的Hash函数(MAC)。
- 用途:数据完整性检验、用于数字签名、密钥推导、伪随机数生成。
- 特性
- 单向性 :给出一个Hash值 z,求出一个m,使 H(m) = z 成立,在计算量上讲是不可行的。
- 弱无碰撞性 :任意给定一个报文m1,找出另一个不同的报文m2,使得H(m2) = H(m1),在计算上不可行。意义:将一份报文的指纹伪造成另一份报文的指纹在计算上是不可行的。
- 强无碰撞性:找出具有相同Hash值H(m1) = H(m2)的两份不同的报文m1和m2,在计算上是不可行的。
- 若一个Hash函数具有强无碰撞性,则一定具有弱无碰撞性!
- 若一个Hash函数不具有弱无碰撞性,则一定不具有强无碰撞性!
🐇自由起始碰撞攻击分析🍎
- 目的:找到两个不同的报文m1和m2,使得H(m1)=H(m2)。
- 概率计算:设取了N个报文,hash值有n个比特
- 碰撞攻击成功率 = Pr[N个报文中至少存在一对消息,使得Hash值相同] = 1 - Pr[N个报文的Hash值都不同]
- 证明⭐️
- 安全界限
🐇HD5Hash函数
- MD5的特点:对任意长度的输入,产生128位的输出;且其安全性不依赖于任何假设,适合高速实现。
- MD5算法的一个主循环一次可处理512比特数据分组。执行主循环t(t等于填充后消息长度除以512)次最后输出为128比特。
- 初始化处理
📚数字签名⭐️
🐇数字签名概述
- 数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,类似于手写签名,可保证每个用户都可验证信息来源,是对信息的发送者身份真实性的一个有效证明。
- 目的和作用
- 表示签名者对消息的认可;
- 他人可识别和验证出是谁的签名;
- 他人无法伪造和更改签名,即
- 无法凭空造出一个签名;
- 对一个文件的签名不能复制或篡改成对另一个文件的签名;
- 可仲裁性: 出现争议时第三方可仲裁。仲裁的内容:
- 签名者是否在抵赖,否认签名;
- 验证者是否在欺诈,伪造签名。
- 签名的实现方式:就是在原文件上追加一定的笔迹信息,并使二者形成一个整体。
- 数字签名应满足的条件
- 签名应与文件是一个不可分割的整体 ;实现:对消息进行某种变换完成签名;使签名是待签名的文件的函数。
- 签名者事后不能否认自己的签名; 实现:签名是通过发方所独有的秘密信息来完成,并且该秘密信息对应惟一公开的验证信息,使签名者不能抵赖自己的签名。
- 任何人能验证签名,但是没有私钥的人都不能伪造签名;实现:签名必须与特定的公开信息相对应,使收方能够验证;签名应与签名者独有的秘密信息密切相关,使其他人不能伪造。
- 当双方关于签名的真伪发生争执时,一个法官或第三方能解决双方之间发生的争执。 实现:签名对应的验证密钥应由可信的第三方确认并公布。当发生争执时,靠法律解决争端。
- 应用广泛的原因
- 来源:如果消息包含签名,说明该消息源于这个人。
- 完整性:如果有人篡改了消息,签名就会失效。
- 与消息认证码(MAC)有什么异同
- 相同点:都可以实现消息的完整性校验。
- 不同点:数字签名可以使用不对称的方式验证消息。
- 数据签名的实际用法:公钥基础设施:把公钥与对应私钥所有者对应起来,确保一个特定的公钥属于一个特定的拥有者(公钥身份识别)。
- 核心功能:数字证书。
- 数字证书是带数字签名的数据结构,它与公钥一起来验证证书所有者身份以及相关信息,例如有效期。
- 数据签名分类
-
利用特殊的公钥加密算法实现。
- 并非所有的公钥加密算法都能实现数字签名,只有满足 D k d ( E k ε ( x ) ) = E k ε ( D k d ( x ) ) = x D_{k_d}(E_{k_ε}(x)) = E_{k_ε}(D_{k_d}(x))=x Dkd(Ekε(x))=Ekε(Dkd(x))=x的公钥密码算法,才能实现数字签名。其中D是解密算法,E是加密算法。
-
利用专门设计的数字签名算法实现。
-
🐇RSA🍎
🐇RSA数字签名算法
- 记用户A的参数为 ( N A , e A , d A ) (N_A , e_A, d_A) (NA,eA,dA) ,用户B的参数为 ( N B , e B , d B ) (N_B , e_B, d_B) (NB,eB,dB),E为加密算法,D为脱密算法。
- 当 N A < N B N_A<N_B NA<NB时,先签名,后加密
- 用户A先用自己的保密密钥 d A d_A dA对消息m进行签名,得到: y = m d A m o d N A y=m^{d_A}modN_A y=mdAmodNA;
- A再用用户B的公开密钥 e B e_B eB对签名y进行加密,得到: c = y e B m o d N B c=y^{e_B}modN_B c=yeBmodNB,然后将既签名,又加密了的 c 发送给用户B ;
- B收到c后,先进行变换: y = c d B m o d N B y=c^{d_B}modN_B y=cdBmodNB,再用A的公开密钥作变换: m ′ = y e A m o d N A m^{'}=y^{e_A}modN_A m′=yeAmodNA,从而验证签名来自A。
- 当 N A > N B N_A>N_B NA>NB时,先加密,后签名
- 用户A先用B的公开密钥 e B e_B eB对消息m进行加密,得到: y = m e B m o d N B y=m^{e_B}modN_B y=meBmodNB;
- A再用自己的保密密钥 d A d_A dA对y进行签名,得到: c = y d A m o d N A c=y^{d_A}modN_A c=ydAmodNA,然后将既签名,又加密了的 c 发送给用户B;
- B收到c后,先进行变换: y = c e A m o d N A y=c^{e_A}modN_A y=ceAmodNA,再用自己的保密密钥作变换: m = y d B m o d N B m=y^{d_B}modN_B m=ydBmodNB,从而验证签名来自A。
- 通用的解决方案:系统中的每个用户采用两个模数,一个用于加密,一个用于签名。并且保证所有用户的签名模数均小于其他用户的加密模数。
- RSA数字签名的缺点
- 利用用户A的签名验证密钥 k e k_e ke,任意给定y,任何人都可计算出: x = y k e m o d n x=y^{ke} mod n x=ykemodn,因而可以伪造对消息x的签名y。
- 如果用户A对文件 x 1 x_1 x1和文件 x 2 x_2 x2的签名分别为 y 1 y_1 y1和 y 2 y_2 y2,由于 ( x 1 x 2 ) d m o d n = [ ( x 1 d m o d n ) ( x 2 d m o d n ) ] m o d n (x_1x_2)^{d}modn= [(x_1^{d}modn)(x_2^{d}modn)]modn (x1x2)dmodn=[(x1dmodn)(x2dmodn)]modn,故任何第三方知道 x 1 x_1 x1 , x 2 x_2 x2, y 1 y_1 y1, y 2 y_2 y2,并不知道d,都可伪造出用户A对文件 x 1 x 2 m o d n x_1x_2modn x1x2modn的签名 y 1 y 2 m o d n y_1y_2modn y1y2modn。 但是 x 1 x 2 m o d n x_1x_2modn x1x2modn 的具体值伪造者无法控制。
- 对长文件的签名:签名变长,签名速度慢;解决方案:先将文件压缩成一个摘要,再对摘要签名。