某数字内容安全的期末复习

  1. 数字内容的三大要素
    (1) 数字内容来源
    (2) 数字内容归宿
    (3) 数字内容的传播信道
  2. 数字内容的特性
      数字化、交互性、多样性、集成性、分发性
  3. 数字内容面临的威胁
    (1) 非法复制和传播
    (2) 非法授权和篡改
    (3) 伪造
    (4) 可用性的破坏
  4. 数字内容面临的威胁的分类
    (1) 主动攻击:攻击者对数字内容进行修改和伪造。包括非授权篡改、伪造、内容重放、拒绝服务、伪装,较容易被发现。
    (2) 被动攻击:攻击者手机通讯内容,分析获得数字内容中的信息,不改变数字内容。包括嗅探、信息收集等。对被动攻击的检测难于主动攻击。
  5. 数字内容安全的研究内容
    (1) 数字内容加密/解密
    (2) 数字内容信息的隐藏
    (3) 数字内容取证
  6. 信息隐藏的定义
    将秘密信息隐藏在另一非保密的载体之中,载体可以是图像、音频、视频、文本、信道甚至操作系统。
  7. 信息隐藏存在原因
    (1) 多媒体信息存在很大的冗余性,未压缩的多媒体信息的编码效率很低,所以把机密信息嵌入多媒体信息中可行,不会影响多媒体信息本身的传送和使用。
    (2) 人类的听觉和视觉系统都有一定的掩蔽效应,可以充分利用这种言必行将信息隐藏不被察觉。
  8. 信息隐藏和传统密码学的区别
    密码学:将机密信息进行特殊编码形成不可识别的密码形式进行传递
    信息隐藏:将某一机密信息秘密隐藏在另一公开的信息中,通过公开信息的传输来传递机密信息。
    对加密信道,攻击者可以通过截取密文对其破译,或者破坏后发送,影响机密信息的安全;信息隐藏,破坏者难以从公开信息中判断机密信息是否存在,难以截获机密信息。
  9. 数字水印
    通过在原始信息中嵌入秘密信息——水印来证实该数据的所有权。通常为文字、标识、序列号,且不可见不可察,与原始数据结合并隐藏其中,并有一定的鲁棒性。
  10. 信息隐藏技术模型
    《某数字内容安全的期末复习》
  11. 空域信息隐藏技术
    在图像,视频,音频等载体上,通过改变载体的某些像素值来嵌入数据。
    无需对原始媒体进行变换,计算简单,效率高,选择的载体范围小,鲁棒性差。
  12. 变换域信息隐藏优缺点
    优点:
    (1) 可以均匀的分布到空域的所有像素上。
    (2) HVS/HAS的特性可以更方便的结合到嵌入过程中,鲤鱼不可感知性和稳健性。
    (3) 与国际数据压缩标准兼容,便于实现压缩域内的信息隐藏
    缺点:
    (1) 隐藏的信息量比空域低,计算量却大
    (2) 正反变换过程中,由于格式转换,会造成信息的丢失。
  13. 数字水印框架
    《某数字内容安全的期末复习》
    《某数字内容安全的期末复习》
  14. 数字水印的攻击方法
    (1) 按照攻击方法分类
    a) 鲁棒性攻击
    b) 表达攻击
    c) 解释攻击
    d) 合法攻击
    (2) 按照攻击原理分类
    a) 简单攻击
    b) 同步攻击
    c) 削去攻击
    d) 混淆攻击
    (3) 其他攻击
    a) IBM攻击
    b) StirMark攻击
    c) 马赛克攻击
    d) 跳跃攻击
  15. 鲁棒性
    经历多种有意或无意的信号处理造作后,仍能保持部分完整性并能被准确鉴别。
  16. 主动取证与被动取证
    主动取证技术以数字水印、数字指纹和数字签名为代表,能实现防伪、防篡改、签名认证和版权维护等功能。图像的提供者需事先向图像添加数字水印或数字签名等信息,若未能正确地提取出所添加的信息,则说明该图像被篡改或版权非法。
    被动取证技术则不需要任何预处理,它仅是根据篡改操作在图像中引入的图像特性变化鉴别图像真伪、或根据成像设备引起的图像特征变化识别图像来源。
  17. 数字取证概念
    为了揭示与数字产品相关的犯罪或者过失行为;由其他原因导致使系统发生故障的现象。利用科学合法的方法工具,对二进制数据进行识别、保存、收集、检查、分析和呈堂等活动过程。包括计算机取证和网络取证。
  18. 数字取证特点
    (1) 数字化
    (2) 电子介质
    (3) 较强的隐蔽性
    (4) 客观实在易变性
    (5) 取证的广域性
  19. 网络取证
    首要考虑:网络流相关性:应过滤掉不相关的数据
    数据完整性:取证工具一直监控网络流
    包捕获的速率
    相关技术:人工智能、机器学习、数据挖掘、IDS、蜜陷技术、SVM和专家系统等。
  20. 数字图像篡改手段
    (1) 图像合成
    (2) 图像增强
    (3) 图像润饰
    (4) 图像修复
    (5) 图像变形
    (6) 计算机生成
    (7) JPEG重压缩
    (8) 二次获取
  21. 数字音频篡改取证方法
    (1) 基于音频波形统计特征
      天然音频信号有很弱的高阶相关性,大多数篡改会引入一定的非线性,从而导致信号高阶相关性增强,使原来的很弱的统计相关性变强。
    (2) 基于音频附带背景噪声
      利用重采样信号的周期性检查音频中的篡改,引入音频幅度直方图,排除短时静音和曾经样本数,即可有效的检测。
    (3) 基于音频格式附加信息
    不同格式的音频都有一些必要的附加信息,对音频材料的篡改可能会改变这些附加信息,从而留下痕迹
  22. 数字视频篡改取证方法
    (1) 针对消除隔行扫描的视频
      利用EM算法来检测插值的周期性,当周期性被破坏,就遭到篡改。
    (2) 针对隔行扫描的视频
    通过检测一帧内两个场的运动或相邻帧中场的运动情况,可判断是否发生篡改。

  23. 隐密分析取证研究概念及系统模型
    《某数字内容安全的期末复习》
    (1) 证明可疑图像里是否有秘密信息
    (2) 确定使用的隐藏方法
    (3) 确定秘密信息的嵌入量和位置
    (4) 如果使用密钥,寻找使用的密钥
    (5) 提取秘密信息的比特流
    (6) 对比特流进行破译密码

  24. 文本数据的概念、分类及特点
    (1) 概念
    a) 以字符编码为主来表现信息的数据,以电子文档的形式储存和传播。
    b) 文本图像是文字,表格,图形等信息为主的静止图片(灰度图像),书写形式和内容同样重要。
    c) 纯文本格式,没有任何文本修饰的,没有任何特殊字符打印格式的文本,只保存文本,不保存格式。
    (2) 分类
    按内容:格式化和非格式化
    按编码方式:TXT、PDF、DOC等等
    按功能:消息主体,文档标记和附件
    (3) 特点
    文本数据不存在编码冗余
  25. 自然语言处理关键技术
    (1) 词法分析
    (2) 词性标注
    (3) 句法分析
    (4) 语义分析
  26. 序列加密算法
    将明文的位串与伪随机数产生器产生的位串经过适当的运算得到密文的方法,安全性在于密钥位串是否够乱,以及周期是否够长。
    《某数字内容安全的期末复习》
  27. 基于格式的文本隐写技术
    (1) 行间距编码:隔行
    (2) 字间距编码:隔单词
    (3) 特征编码:修改字体信息
    (4) 行尾附加空格编码
  28. 文本过滤技术
    文本过滤技术帮助人们获取有用信息,过滤无用和有害信息。
    (1) 概述
    分类:分为基于内容的过滤和基于合作过滤。
    任务定义:给定一个主题,简历一个能从文本流中自动选择最相关文本的模板,自动接收或者拒绝文本,得到反馈信息,并自适应进行修改模板。
    (2) 子任务
    a) 分流子任务:从需求构造查询语句查询测试文本集
    b) 批过滤:构造系统,对文本集每一个做出接收或拒绝的决策
    c) 自适应过滤:仅从主题描述出发,不提供或很少训练文本,逐一判断文本流的文本是否相关

音频二值水印嵌入:

clc;
clear;
fid=fopen('1.wav','rb'); %读入音频文件
oa=fread(fid,inf,'uchar');
n=length(oa)-44;%wav文件从文件头到数据前面共有44字节的文件格式说明,
                %读取的时候跳过这44个字节的文件格式说明
fclose(fid);
io=imread('bupt.bmp'); %读取二值图像水印文件
[row col]=size(io);
wi=io(:);

 if row*col>n
    error('载体太小,请更换载体');
end

 watermarkedaudio=oa;
 watermarklength=row*col;
 for k=1:row*col
     watermarkedaudio(44+k)=bitset(watermarkedaudio(44+k),1,wi(k));
 end
 figure;
subplot(2,1,1);plot(oa);
subplot(2,1,2);plot(watermarkedaudio);
fid = fopen('watermarked.wav', 'wb');
fwrite(fid,watermarkedaudio,'uchar');
fclose(fid);

音频二值水印提取:

clc;
clear;
watermarklength=10000;
fid=fopen('watermarked.wav','r'); %读入音频文件
oa=fread(fid,inf,'uint8');
status=fseek(fid,44,'bof'); %wav文件从文件头到数据前面共有44字节的文件格式说明,读取的时候跳过这44个字节的文件格式说明
a=fread(fid,watermarklength,'uint8');    %读入40000个字节
w1=zeros(1,watermarklength); % 初始化水印存储,提升速度
for i=1:watermarklength
    w1(i)=bitget(a(i),1);
end
w1=w1';
%m = Vector2Matrix(w1, 100); % w1由一维转换成二维
m=reshape(w1,100,100); % w1由一维转换成二维
imwrite(m,'watermarkedbupt.bmp','bmp');


%=============================================
ImageA=imread('bupt.bmp'); % 二值图像
ImageB=imread('watermarkedbupt.bmp');
dNC=nc(ImageA,ImageB); % 计算原始信号与抽取信号的相似性
disp(['水印相似度:' num2str(dNC)]);
figure; 
subplot(1,2,1)
imshow(ImageA);title('原始的水印');
subplot(1,2,2)
imshow(ImageB);title(['抽取的水印 nc=', num2str(dNC)]);
%============================================

音频随机水印嵌入:



clc; clear; fid=fopen('1.wav','r'); %读入音频文件 oa=fread(fid,inf,'uint8'); fclose(fid); n=10;%n为a的长度,为10 rand('state',150); % 初始化水机种子 d = randsrc(1, n, [0 1]); %产生随机序列即水印 M=oa; for i=45:45+n-1 %wav文件从文件头到数据前面共有44字节的文件格式说明 M(i)=bitset(M(i),1,d(i-44)); %进行LSB嵌入水印 end figure; subplot(2,1,1);plot(oa);title('original audio'); subplot(2,1,2),plot(M);title('watermarked audio'); fid = fopen('watermarked.wav', 'wb'); fwrite(fid,M,'uint8'); fclose(fid);

音频水印水印提取程序

clc;
clear;
fid=fopen('watermarked.wav','r'); %读入音频文件
oa=fread(fid,inf,'uint8');
m=oa;
n=10;
for i=1:n
    w(i)=bitget(m(44+i),1);
end 
fclose(fid);
%---------输出------------------
n=10;                %n为a的长度,为10
rand('state',150); % 初始化水机种子
d = randsrc(1, n, [0 1]);       %产生随机序列即水印 
disp('原始信息:')
d
disp('抽取的信息:')
w
%-----------------------------

回声信息隐藏:

clc; clear;
%[s,fs,bits]=wavread('1.wav'); % for Ver2010
[s,fs]=audioread('1.wav'); % for Ver2015
[row, col] = size(s);
s=s(1:440000);
s=s'; % 变成行向量
%------------------------------------
% 读取信息文件,并转化成0-1数字数组
msgfid=fopen('hidden.txt','r');
[msg_byte,count]=fread(msgfid);
fclose(msgfid);
msg=FileInf2Num01Array(msg_byte); %产生0-1序列,数字 
%------------------------------------
%%%%%核心代码
n=length(msg); %消息长度
len_wav = length(s); %音频长度
fragment=1000;  %音频每段帧长度
startFrame=5;   % 嵌入信息的开始帧
atten=0.9;     % 回声强度
d1=250;      %回声延时,信号 1
d0=280;      %回声延时 ,信号 0
WavFrameNum=fix(length(s)/fragment);% 分段数
if WavFrameNum-startFrame<n
    disp(['嵌入消息太长,容量为', num2str(WavFrameNum-startFrame), 'bits!']);
    return;
end
%--------信息嵌入------------------------------------
Out_wav=s;  %输出音频信号初始值
for k=startFrame:length(msg)+startFrame-1  % 从第x帧开始嵌入信息
    wav_temp=Out_wav((k-1)*fragment+1:k*fragment);% 被截取的一帧音频
    if (msg(k-startFrame+1)==1)
       wav_temp_echo=[zeros(1,d1),wav_temp(1:fragment-d1)]; %延时信号 1
    else
       wav_temp_echo=[zeros(1,d0),wav_temp(1:fragment-d0)]; %延时信号 0
    end
    hid_wav_temp=wav_temp+atten.*wav_temp_echo; %含回声的信号段
    Out_wav((k-1)*fragment+1:k*fragment)=hid_wav_temp;
end
%------------输出----------------------------
x=0:length(s)-1;
figure;
plot(x,Out_wav,x,s);
%wavwrite(Out_wav,fs,'watermarked.wav');%fs为采样频率,watermarked.wav为隐藏信息后的音频文件
audiowrite('watermarked.wav',Out_wav,fs);  % for Ver2015

回声信息隐藏的提取:



clc;clear; %[in,fs,bits]=wavread('watermarked.wav'); % for Ver2010 [in,fs]=audioread('watermarked.wav'); % for Ver2015 [row, col] = size(in); in=in(1:440000); in=in'; % 变成行向量 fragment=1000; %音频每段帧长度 startFrame=5; % 提取信息的开始帧 WavFrameNum=fix(length(in)/fragment);% 分段数 d1=250; %回声延时,信号 1 d0=280; %回声延时 ,信号 0 %------------------------------------ % 读取信息文件,并转化成0-1数字数组 msgfid=fopen('hidden.txt','r'); [msg_byte,count]=fread(msgfid); fclose(msgfid); msg=FileInf2Num01Array(msg_byte); %产生0-1序列,数字 ,原始信息 %-----------信息提取--------------------------- n=length(msg); new_msg=zeros(1,n); %初始化提取信息0-1数组 for k=startFrame: n+startFrame-1; wav_temp=in((k-1)*fragment+1:k*fragment);% 被截取的一帧音频  XHAT=abs(ifft(log10((abs(fft(wav_temp))).^2))); %YHAT=max(XHAT(d1+1),XHAT(d0+1)); if (XHAT(d1+1)>XHAT(d0+1)) new_msg(k-startFrame+1)=1; end end %---------------------------------------- BCR=1-sum(abs(new_msg-msg))/length(msg); disp(['比特正确率BCR=' num2str(BCR)]); %--------------------------------------------- % 把消息0-1数字数组转换成 0-1 字符数组,0-1串;接着转换成文件字节数组 msg_byte=Num01Array2FileInf(new_msg); fid=fopen('message.txt', 'wt'); fwrite(fid, uint8(msg_byte)); fclose(fid); %---------------------------------------------
    原文作者:邪恶牛犊
    原文地址: https://blog.csdn.net/qq_35033987/article/details/80738542
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞