CN113706361B - 一种基于机密计算的数字图像权属保护云系统 - Google Patents
一种基于机密计算的数字图像权属保护云系统 Download PDFInfo
- Publication number
- CN113706361B CN113706361B CN202110952493.9A CN202110952493A CN113706361B CN 113706361 B CN113706361 B CN 113706361B CN 202110952493 A CN202110952493 A CN 202110952493A CN 113706361 B CN113706361 B CN 113706361B
- Authority
- CN
- China
- Prior art keywords
- watermark
- image
- server
- hpw
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于机密计算的数字图像权属保护云系统,基于secGear框架,采用自主设计的认证协议,包括:前端和后端;前端实现用户登录、用户注册、图像水印添加、图像水印提取;后端使用python语言,通过Flask框架进行编写,为前端的用户登录、用户注册、图像水印添加、图像水印服务提供验证接口。其中,仅有用户登录、注册信息的加解密,计算水印图像密钥参数在secGear框架内执行,其余操作均在前端及后端开放性执行环境中实现。本发明有益效果是:具有较高的安全性和较好的实用性,可抵抗绝大部分算法攻击和协议攻击。与已有的数字版权服务平台的存证环节相比较,本发明对源文件直接进行版权信息隐写,为侵权判定和取证提供依据,减少了侵权判定争议问题。
Description
技术领域
本发明涉及机密计算领域,尤其涉及一种基于机密计算的数字图像权属保护云系统。
背景技术
科技发展使得信息的传播变得非常容易,数字图像的传播在互联网上随处可见,再加上复制图像几乎毫无成本可言,因此数字图像很容易被盗版和侵权。盗用数字图片的现象屡禁不止,给图像创作者带来的损失难以估量。而由于鉴别图像是否被盗用难度高、走法律途径诉讼时间长、成本高等困难重重,被侵权者面对这些困难大概率选择沉默,因此盗用数字图片现象的滋生问题越来越严重。所以,图像的数字版权保护技术研究成为急需解决的关键问题之一。
数字图像权属保护的主流方法是数字水印技术,其中水印隐式添加方法即把重要信息隐藏在载体中,这样既可以保证原始载体的使用价值,也可以使重要信息不容易被获得和篡改,但是可以被版权所有者辨别和鉴定。随着数字水印技术在数字版权保护方面的应用,对数字水印的攻击也日益严重,早期的水印攻击主要是针对水印算法鲁棒性的攻击,近几年来出现了针对数字版权保护过程中协议的攻击。然而,目前对数字水印加密技术的研究多局限于抗几何攻击的算法研究,对图片数据传输及加密过程中的恶意攻击缺少系统性的保护策略。此外,目前依靠第三方机构的数字版权管理控制机制流程繁琐、成本高、效率低下,维权证据不足,无法满足数字图像权属保护的需求。
发明内容
为了解决上述问题,本发明提供一种基于机密计算的数字图像权属保护云系统,基于secGear框架,采用自主设计的认证协议,包括:前端和后端;
前端使用Element Plus对UI界面进行开发,并通过OpenCV的JavaScript版本对图像进行处理,实现用户登录、用户注册、图像水印添加、图像水印提取;
后端的web应用层将使用python语言,通过Flask框架进行编写,为前端的用户登录、用户注册、图像水印添加、图像水印服务提供验证接口。
进一步地,所述自主设计的认证协议包括:初始化服务器认证阶段、初始化客户端认证阶段、用户注册认证阶段、用户登录认证阶段、图像水印添加认证阶段和图像水印提取认证阶段。
进一步地,所述初始化服务器认证阶段具体如下:
S11:随机生成两个512位质数P、Q;
S12:根据质数P、Q进行如下计算:
N=P×Q
PHI=(P-1)×(Q-1)
D=ExgCD(E,PHI)
PU=Pack(E,N)
其中,N为1024位质数、PU为公钥;D为私钥;E取65537;ExgCD() 为扩展欧几里得算法;Pack(E,N)为将(E,N)包装进PU的函数;
S13:随机生成两个512位数KU、KW,服务器端将D,N传入secGear框架中并进行如下计算:
CKU=SealData(KU)
CKW=SealData(KW)
S14:服务器进入等待状态,如果客户端发送GET请求,则服务器返回PU。
进一步地,所述初始化客户端认证阶段,具体流程如下:
S21:客户端向服务器端发送GET请求。获得PU;
S22:客户端在内存中存储PU,并进入等待状态,如果客户端的操作O被用户U确认,则执行操作O;其中操作O包括:用户登录、用户注册、图像水印添加、图像水印提取。
进一步地,所述用户注册认证阶段,具体流程如下:
S31:初始化客户端,并进行注册;
S32:从前端获取用户输入的UNi、PWi;其中UNi、PWi分别表示用户i的用户名和密码;
S33:获取当前时间戳TS1、从内存中获取PU,计算如下:
E,N=UNPack(PU)
HUNi=h(UNi)
HPWi=h(PWi||UNi)
CPWi=HPWi E(mod N)
其中,UNPack(.)表示将PU解包为(E,N);HUNi为使用SM3哈希算法后的用户名;HPWi为使用SM3哈希算法后的密码;CPWi为经过RSA加密后的密码;
S34:将HUNi、CPWi、TS1、发送至服务器端;
S35:服务器端检查TS1的合法性,并从内存中获取CD、PU、CKU,计算E,N=UNPack(PU);
S36:服务器端将CD、N、CPWi、CKU传入secGear框架进行如下计算:
KU=UNSealData(CKU)
HPWi=CPWi D(mod N)
其中,NPWi表示经过secGear加密过后的密码;
S37:将(HUNi,NPWi)存入数据库,获取当前时间戳TS2;
S38:服务器将TS2传入secGear并进行计算:Flagi=h(HPWi||TS2),同时传出 Flagi和TS2至客户端;其中Flagi为服务器返回的验证参数;
S39:客户端检查的合法性,并计算Flagi *=h(HPWi||TS2);如果Flagi *与Flagi相等,则等待其它操作,否则客户端进行警告;
S310:服务器端删除CPWi、E、N、HUNi、NPWi。
进一步地,所述用户登录认证阶段,具体流程如下:
S41:初始化客户端,并进行登录;
S42:输入UNi、PWi;其中UNi、PWi分别表示用户i登录时输入的用户名和密码;
S43:获取当前时间戳TS1、从内存中获取PU,计算如下:
E,N=UNPack(PU)
HUNi=h(UNi)
HPWi *=h(PWi *||UNi)
CPWi *=HPWi *E(mod N)
其中,UNPack(.)表示将PU解包为(E,N);其中上标带*的表示未验证的参数;
S44:将CPWi *、TS1发送至服务器端;
S45:服务器端检查TS1的合法性,并从内存中获取CD、PU,计算 E,N=UNPack(PU);
S46:服务器端将CD、N、CPWi *、CKU传入secGear框架进行如下计算:
KU=UNSealData(CKU)
HPWi *=CPWi *D(mod N)
S47:服务器端传出NPWi、HPWi *,并通过HUNi从数据库中获取NPWi,验证HPWi *与NPWi是否相等,且获取当前时间戳TS2;
S48:服务器将TS2传入secGear并进行计算:Flagi=h(HPWi *||TS2),同时传出Flagi和TS2至客户端;其中Flagi为服务器返回的验证参数;
S49:客户端检查的合法性,并计算Flagi *=h(HPWi*||TS2);如果Flagi *与Flagi相等,则等待其它操作,否则客户端进行警告,并删除HPWi *、EN、HUNi;S310:服务器端删除CPWi *、E、N、HUNi、NPWi、HPWi *。
10、进一步地,所述图像水印添加认证阶段的具体流程如下:
S51:客户端获取用户输入的第j张水印图像Wj和第k张原始图像Ok;
S52:随机生成一个256位数字WIDj,k作为水印的ID并获取当前时间戳TS3;
S53:从内存中获取PU、HUNi,计算:
E,N=UNPack(PU)
HWIDj,k=h(WIDj,k)
CWIDj,k=HWIDj,k E(mod N)
其中,HWIDj,k为经过SM3哈希算法加密后的水印ID;CWIDj,k为经过RSA 加密后的水印ID;客户端将HUNi、CWIDj,k、TS3发送至服务器;
S54:服务器检查TS3的合法性,并通过HUNi从数据库中获取NPWi,同时从内存中获取CD、PU,计算E,N=UNPack(PU);
S55:服务器将CD、N、CWIDj,k、NPWi、CKU、CKW,传入secGear框架中进行如下计算:
随机生成一组数:{IPj,k,1,...,IPj,k,n},其中{IPj,k,1,...,IPj,k,n}为随机生成的初始化水印加密参数;
计算:
KU=UNSealData(CKU)
KW=UNSealData(CKW)
HWIDj,k=CWIDj,k D(mod N)
FORtmp→n DO
Pj,k,tmp=h(KW||IPj,k,tmp)
Kj,k=h(HPWi||HWIDj,k)
并传出NWIDj,k,{CPj,k,1,...,CPj,k,n},并获取当前时间戳TS4;其中NWI Dj,k为经过secGear加密过后的水印ID;tmp表示1至n中间的一个临时参数;Pj,k,tmp为 {Pj,k,1,...,Pj,k,n}中的一个中间量;{Pj,k,1,...,Pj,k,n}为一组实际水印加密参数;CPj,k,tmp为{CPj,k,1,...,CPj,k,n}中的一个中间量;{CPj,k,1,...,CPj,k,n}为加密后的水印加密参数;
S56:服务器将TS4传入secGear框架进行计算:Flagj,k=h(HPWi||TS4||HWIDj,k),并传出NWIDj,k、{CPj,k,1,...,CPj,k,n}、TS4、Flagj,k至客户端;
S57:服务器删除HPWi、NWIDj,k、N、HUNi。
进一步地,所述图像水印提取认证阶段的具体流程为:
S61:客户端获取将第j张水印图像添加至第k张原始图像得到的图像Rj,k;
S62:从Rj,k中提取HWIDj,k *,若提取成功,则获取当前时间戳TS5,进入S63;否则,进行警告,结束;
S63:从内存中获取PU、HUNi,计算:
E,N=UNPack(PU)
CWIDj,k *=HWIDj,k *E(mod N)
将HUNi、CPWi、TS5发送至服务器;
S64:服务器检查TS5的合法性,并通过HUNi从数据库中获取NPWi,同时从内存中获取CD、PU,计算E,N=UNPack(PU);
S65:服务器将CD、N、CWIDj,k *、NPWi、CKU、CKW,传入secGear框架中进行如下计算:
HWIDj,k *=CWIDj,k *D(mod N)
验证NWIDj,k *是否在数据库中,若是,则通过HUNi、NWIDj,k *从数据库中提取{CPj,k,1,...,CPj,k,n},并获取当前时间戳TS6;
S66:服务器将TS6传入secGear框架进行计算:Flagj,k=h(HPWi||TS6||HWIDj,k *),并传出Flagj,k、{CPj,k,1,...,CPj,k,n}、TS6至客户端;
S67:服务器删除HPWi、NWIDj,k、N、HUNi。
进一步地,前端的图像水印添加服务,具体为:随机生成水印ID后,前端将水印ID传输至后端,经过图像水印添加认证阶段,对后端返回的参数进行解密,得到参数明文,再通过PWLCM生成超混沌序列,对原图和水印图像进行置乱操作;置乱操作后,前端通过LSB算法将置乱后的原图和水印图像进行合并,并通过之前生成的超混沌序列进行恢复,得到最终添加数字水印的图像。
前端的图像水印提取服务,具体为:从添加数字水印的图像提取水印ID,将水印ID传输至后端,并经过图像水印提取认证阶段,对后端返回的参数进行解密,得到参数明文,再通过PWLCM生成超混沌序列,对添加数字水印的图像进行置乱;置乱操作后,前端通过逆LSB算法从之乱后的图像中提取水印图像,并通过之前生成的超混沌序列进行恢复,得到水印图像。
本发明提供的有益效果是:该平台具有较高的安全性和较好的实用性,可抵抗绝大部分算法攻击和协议攻击。与已有的数字版权服务平台的存证环节相比较,本发明对源文件直接进行版权信息隐写,为侵权判定和取证提供依据,减少了侵权判定争议问题。
附图说明
图1为本发明平台架构图;
图2是水印添加流程图;
图3是水印提取流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
请参考图1,本发明提供一种基于机密计算的数字图像权属保护云系统,基于secGear框架,采用自主设计的认证协议,包括:前端和后端;
前端使用Element Plus对UI界面进行开发,并通过OpenCV的JavaScript版本对图像进行处理,实现用户登录、用户注册、图像水印添加、图像水印提取;
所述自主设计的认证协议包括:初始化服务器认证阶段、初始化客户端认证阶段、用户注册认证阶段、用户登录认证阶段、图像水印添加认证阶段和图像水印提取认证阶段。
其中,用户登录、用户注册功能计划采用常规的表单形式对用户数据进行采集,采集完后分别进行处理。处理完的用户数据通过POST请求发送至后端,并接收后端的验证结果。同时,在各个表单的输入位置,发明计划设置相应的输入验证机制,避免非法数据传输造成安全隐患和浪费。
请参考图2,图2是水印添加流程图;前端通过OpenCV对原图和水印图像进行处理,在前端直接实现水印添加的主要过程;图像水印添加服务,具体为:随机生成水印ID后,前端将水印ID传输至后端,经过图像水印添加认证阶段,对后端返回的参数进行解密,得到参数明文,再通过PWLCM生成超混沌序列,对原图和水印图像进行置乱操作;置乱操作后,前端通过LSB算法将置乱后的原图和水印图像进行合并,并通过之前生成的超混沌序列进行恢复,得到最终添加数字水印的图像。
请参考图3,图3是水印提取流程图;前端的图像水印提取服务,具体为:从添加数字水印的图像提取水印ID,将水印ID传输至后端,并经过图像水印提取认证阶段,对后端返回的参数进行解密,得到参数明文,再通过PWLCM生成超混沌序列,对添加数字水印的图像进行置乱;置乱操作后,前端通过逆LSB 算法从之乱后的图像中提取水印图像,并通过之前生成的超混沌序列进行恢复,得到水印图像。
后端的web应用层将使用python语言,通过Flask框架进行编写,为前端的用户登录、用户注册、图像水印添加、图像水印服务提供验证接口。
根据自主设计的协议,本发明将采用前后端分离的形式进行开发,并且将前后端分别装载在前端服务器和后端服务器上。
为了节省成本以及提高网站的健壮性和稳定性,本发明将使用搭载IntelCascade Lake处理器的华为云服务器作为前端服务器,并且使用CentOS作为操作系统。同时,发明将使用Nginx作为web服务器提供前端服务。
为了全面展现secGear的特性,对于后端服务器,本发明将使用搭载鲲鹏处理器的华为云服务器作为后端服务器,并且使用openEuler作为操作系统。后端的web应用层将使用python语言,通过Flask框架进行编写,为前端的请求提供服务接口。同时,将搭建uWSGI和Nginx对web应用层进行部署,实现高并发、负载均衡和反向代理等功能,保证平台服务能顺利进行。
本发明将在secGear机密计算框架内完成3个主要,用来实现协功能议中的几个核心操作,以保证整个平台的安全性。机密计算框架内的开发将通过C++ 进行编写,发明将对3个主要功能细分操作进行实现,并封装接口,供后端web 应用层进行调用。3个主要功能分别为::初始化服务器,生成必要参数;解密前端通过RSA加密地密码,并返回重新加密过的密码;生成加密后的水印参数。
所述初始化服务器认证阶段具体如下:
S11:随机生成两个512位质数P、Q;
S12:根据质数P、Q进行如下计算:
N=P×Q
PHI=(P-1)×(Q-1)
D=ExgCD(E,PHI)
PU=Pack(E,N)
其中,N为1024位质数、PU为公钥;D为私钥;E取65537;ExgCD() 为扩展欧几里得算法;Pack(E,N)为将(E,N)包装进PU的函数;
S13:随机生成两个512位数KU、KW,服务器端将D,N传入secGear框架中并进行如下计算:
CKU=SealData(KU)
CKW=SealData(KW)
S14:服务器进入等待状态,如果客户端发送GET请求,则服务器返回PU。
所述初始化客户端认证阶段,具体流程如下:
S21:客户端向服务器端发送GET请求。获得PU;
S22:客户端在内存中存储PU,并进入等待状态,如果客户端的操作O被用户U确认,则执行操作O;其中操作O包括:用户登录、用户注册、图像水印添加、图像水印提取。
所述用户注册认证阶段,具体流程如下:
S31:初始化客户端,并进行注册;
S32:从前端获取用户输入的UNi、PWi;其中UNi、PWi分别表示用户i的用户名和密码;
S33:获取当前时间戳TS1、从内存中获取PU,计算如下:
E,N=UNPack(PU)
HUNi=h(UNi)
HPWi=h(PWi||UNi)
CPWi=HPWi E(mod N)
其中,UNPack(.)表示将PU解包为(E,N);HUNi为使用SM3哈希算法后的用户名;HPWi为使用SM3哈希算法后的密码;CPWi为经过RSA加密后的密码;
S34:将HUNi、CPWi、TS1、发送至服务器端;
S35:服务器端检查TS1的合法性,并从内存中获取CD、PU、CKU,计算 E,N=UNPack(PU);
S36:服务器端将CD、N、CPWi、CKU传入secGear框架进行如下计算:
KU=UNSealData(CKU)
HPWi=CPWi D(mod N)
其中,NPWi表示经过secGear加密过后的密码;
S37:将(HUNi,NPWi)存入数据库,获取当前时间戳TS2;
S38:服务器将TS2传入secGear并进行计算:Flagi=h(HPWi||TS2),同时传出 Flagi和TS2至客户端;其中Flagi为服务器返回的验证参数;
S39:客户端检查的合法性,并计算Flagi *=h(HPWi||TS2);如果Flagi *与Flagi相等,则等待其它操作,否则客户端进行警告;
S310:服务器端删除CPWi、E、N、HUNi、NPWi。
所述用户登录认证阶段,具体流程如下:
S41:初始化客户端,并进行登录;
S42:输入UNi、PWi;其中UNi、PWi分别表示用户i登录时输入的用户名和密码;
S43:获取当前时间戳TS1、从内存中获取PU,计算如下:
E,N=UNPack(PU)
HUNi=h(UNi)
HPWi *=h(PWi *||UNi)
CPWi *=HPWi *E(mod N)
其中,UNPack(.)表示将PU解包为(E,N);其中上标带*的表示未验证的参数;
S44:将CPWi *、TS1发送至服务器端;
S45:服务器端检查TS1的合法性,并从内存中获取CD、PU,计算 E,N=UNPack(PU);
S46:服务器端将CD、N、CPWi *、CKU传入secGear框架进行如下计算:
KU=UNSealData(CKU)
HPWi *=CPWi *D(mod N)
S47:服务器端传出NPWi、HPWi *,并通过HUNi从数据库中获取NPWi,验证HPWi *与NPWi是否相等,且获取当前时间戳TS2;
S48:服务器将TS2传入secGear并进行计算:Flagi=h(HPWi *||TS2),同时传出Flagi和TS2至客户端;其中Flagi为服务器返回的验证参数;
S49:客户端检查的合法性,并计算Flagi *=h(HPWi *||TS2);如果Flagi *与Flagi相等,则等待其它操作,否则客户端进行警告,并删除HPWi *、EN、HUNi;S310:服务器端删除CPWi *、E、N、HUNi、NPWi、HPWi *。
所述图像水印添加认证阶段的具体流程如下:
S51:客户端获取用户输入的第j张水印图像Wj和第k张原始图像Ok;
S52:随机生成一个256位数字WIDj,k作为水印的ID并获取当前时间戳TS3;
S53:从内存中获取PU、HUNi,计算:
E,N=UNPack(PU)
HWIDj,k=h(WIDj,k)
CWIDj,k=HWIDj,k E(mod N)
其中,HWIDj,k为经过SM3哈希算法加密后的水印ID;CWIDj,k为经过RSA 加密后的水印ID;客户端将HUNi、CWIDj,k、TS3发送至服务器;
S54:服务器检查TS3的合法性,并通过HUNi从数据库中获取NPWi,同时从内存中获取CD、PU,计算E,N=UNPack(PU);
S55:服务器将CD、N、CWIDj,k、NPWi、CKU、CKW,传入secGear框架中进行如下计算:
随机生成一组数:{IPj,k,1,...,IPj,k,n},其中{IPj,k,1,...,IPj,k,n}为随机生成的初始化水印加密参数;
计算:
KU=UNSealData(CKU)
KW=UNSealData(CKW)
HWIDj,k=CWIDj,k D(mod N)
FORtmp→n DO
Pj,k,tmp=h(KW||IPj,k,tmp)
Kj,k=h(HPWi||HWIDj,k)
并传出NWIDj,k,{CPj,k,1,...,CPj,k,n},并获取当前时间戳TS4;其中NWI Dj,k为经过secGear加密过后的水印ID;tmp表示1至n中间的一个临时参数;Pj,k,tmp为 {Pj,k,1,...,Pj,k,n}中的一个中间量;{Pj,k,1,...,Pj,k,n}为一组实际水印加密参数;CPj,k,tmp为{CPj,k,1,...,CPj,k,n}中的一个中间量;{CPj,k,1,...,CPj,k,n}为加密后的水印加密参数;
S56:服务器将TS4传入secGear框架进行计算:Flagj,k=h(HPWi||TS4||HWIDj,k),并传出NWIDj,k、{CPj,k,1,...,CPj,k,n}、TS4、Flagj,k至客户端;
S57:服务器删除HPWi、NWIDj,k、N、HUNi。
所述图像水印提取认证阶段的具体流程为:
S61:客户端获取将第j张水印图像添加至第k张原始图像得到的图像Rj,k;
S62:从Rj,k中提取HWIDj,k *,若提取成功,则获取当前时间戳TS5,进入S63;否则,进行警告,结束;
S63:从内存中获取PU、HUNi,计算:
E,N=UNPack(PU)
CWIDj,k *=HWIDj,k *E(mod N)
将HUNi、CPWi、TS5发送至服务器;
S64:服务器检查TS5的合法性,并通过HUNi从数据库中获取NPWi,同时从内存中获取CD、PU,计算E,N=UNPack(PU);
S65:服务器将CD、N、CWIDj,k *、NPWi、CKU、CKW,传入secGear框架中进行如下计算:
HWIDj,k *=CWIDj,k *D(mod N)
验证NWIDj,k *是否在数据库中,若是,则通过HUNi、NWIDj,k *从数据库中提取{CPj,k,1,...,CPj,k,n},并获取当前时间戳TS6;
S66:服务器将TS6传入secGear框架进行计算:Flagj,k=h(HPWi||TS6 ||HWIDj,k *),并传出Flagj,k、{CPj,k,1,...,CPj,k,n}、TS6至客户端;
S67:服务器删除HPWi、NWIDj,k、N、HUNi。
本发明提供实施例如下:
前端部分:
1、用户注册、登录功能实现:
登录:使用Element Plus组件库对“用户登录”的相关组件进行开发。“用户登录”组件的主体为web表单,用以采集用户名及密码。同时,发明为表单的每一项输入都设置了验证规则(表1),并且设置了手机验证和拖动滑块的人机验证,以保证用户身份和用户输入的合法性,防止恶意攻击的发生。发明也设置输入次数限制,防止非法恶意攻击,导致服务器瘫痪。用户数据采集完后,打包成JSON类型,通过一个基于promise的HTTP库Axios向后端发送Post请求。
表1登录验证规则说明
注册:在用户注册界面,与用户登录界面相似,发明参考其他常见网站的注册界面,使用Element Plus组件库进行开发。“用户注册”组件的主体也为web 表单,用以采集用户名、手机号及密码。同时,发明为表单的每一项输入都设置了验证规则(表2),并且设置了手机验证和拖动滑块的人机验证,以保证用户身份和用户输入的合法性,防止恶意攻击的发生。对输入次数进行了限制,以此防止多次重复注册的情况发生,避免服务器陷入瘫痪。用户数据采集完后,打包成JSON类型,通过一个基于promise的HTTP库Axios向后端发送Post请求。
表2注册验证规则说明
2、水印添加、提取功能实现:
在水印添加及提取界面,发明采用OpenCV的JavaScript版本进行开发,对输入图像进行像素级别地处理,以此实现数字水印的添加及提取等操作(表3)。为了使整体过程更加安全并且提高水印的鲁棒性和健壮性,发明采用基于 PWLCM的水印算法实现水印的添加,通过超混沌序列的高随机性,以此保证数字水印的效果。
表3图像处理函数说明
后台部分:
后台部分采用两台华为云服务器分别作为前端服务器和后端服务器向用户提供页面反馈服务和后端响应等服务(表4、表5)。
表4前端服务器配置
表5后端服务器配置
在后端服务器中,发明使用python通过Flask框架开发web应用层服务,并且通过uWSGI和Nginx进行部署,为前端提供相应的服务接口(表6)。
表6后端部分接口说明
本发明最终对平台的信息安全进行了不同测试。
1、AVISPA仿真:采用广泛使用的安全性验证工具AVISPA验证协议的安全性。AVISPA工具支持OFMC、CL-AtSe、SATMC和TA4SP四种安全验证模型,本文选择常用的OFMC模型和CL-Atse模型,在配置为Oracle VM VirtualBox (6.0.24)、SPAN-Ubuntu 10.10(32bits)的实验环境下进行仿真实验。OFMC 和CL-Atse两种安全模型的仿真结果表明本发明可以有效抵抗各类攻击,证明了协议的正确性和安全性。
2、NS3仿真:
实验传输的参数包括公钥加密后输出、哈希函数输出和时间戳,此处我们假设公钥加密后输出长度为1024bit、哈希函数输出为160bit、时间戳为32bit;
模拟实验由登录阶段开始,使用不同数量的用户和客户端进行5次模拟实验。所有设备通过2.4GHz IEEE 802.11a WiFi标准进行通信。其他参数设置如(表7) 所示。
表7 NS3仿真环境及场景
仿真结果表明,本发明端到端的延迟仿真、吞吐量仿真能够满足要求。
3、其他安全性测试,请参见表8。
表8其它安全测试
本发明综合考虑数字作品权属保护的实际需求和安全隐患,基于自主研发的国产机密计算框架-secGear,结合基于PWLCM的超混沌序列数字水印技术和自主设计的认证协议,优化了数字水印添加流程,并基于此搭建了一种新型数字图像权属保护平台,该平台具有较高的安全性和较好的实用性,可抵抗绝大部分算法攻击和协议攻击。与已有的数字版权服务平台的存证环节相比较,本发明对源文件直接进行版权信息隐写,为侵权判定和取证提供依据,减少了侵权判定争议问题。具体来说,创新点有如下几点:
1.国产计算框架secGear
本发明采用有华为公司独立自主研发的国产机密计算框架-secGear,提供了可信执行环境,保障信息计算过程的安全性。secGear框架通过一组新的指令集扩展与访问控制机制,实现不同程序间的隔离运行,保障平台服务器的关键加解密代码和数据的机密性与完整性不受恶意软件的破坏。通过硬件上的隔离使得应用程序可以定义一个安全代码和数据区域,这一区域可以维护其机密性,即使攻击者能够物理上控制本发明平台以及产生对内存的直接攻击,也能够有效加以抵御。同时,相比于其他机密运算框架,极大缩短了开发移植适配时间,降低维护成本。
值得一提的是,发明并没有调用secGear框架提供的接口,而是通过C++自主编写了一系列诸如SM3,RSA等加密算法以及异或,按位连接、快速模幂等基本运算操作,并对其进行封装,保证了代码的灵活性,使开发过程更加可控并且性能更加优异。
2.国产哈希算法SM3
本发明根据数字图像权属保护平台的需求,在用户身份认证环节采用自创的安全认证协议,其中的基础哈希函数采用国产SM3算法,保证高效性和安全性。同时,发明在secGear机密计算框架内自主实现了国产SM3算法,使SM3算法能够在机密计算中使用,大幅度提高了安全性。
3.基于分段线性混沌映射的水印算法
本发明通过分段线性混沌映射(PWLCM)生成超混沌序列,在原图添加水印前,对水印和原图进行置乱操作,使数字水印的鲁棒性和运行效率大幅度提高。
4、自主设计的创新性工作流程
本发明在身份认证和数字水印处理的过程中采用自主设计的创新性协议方案,实现安全、可靠的数字图像权属保护。在该创新性协议方案中,用户注册、登录及水印添加与提取流程均基于secGear机密计算框架。前后端各生成随机数加入水印参数并检验时间戳一致性,以此抵御中间人攻击、重放攻击、修改攻击等潜在安全攻击,确保工业物联网的数据传输和指令传输安全高效。
同时,为了解决secGear框架中安全区开销过大,I/O能力受限导致性能较差等问题,该协议优化了secGear框架的使用流程,仅有用户信息的加解密,计算水印图像密钥参数等核心操作在secGear框架内执行,其余操作均在前端及后端等开放性执行环境中实现,以此大幅度减少了安全区的吞吐量和载荷,提高了安全区的工作效率。相较于同领域研究成果,该协议既通过secGear框架保证了平台的安全性,又提高大大平台的工作性能。发明组也通过详细的安全性测试与性能开销的对比分析,证明了该自主创新的协议能够以相对较小的性能开销实现较高的安全性能,兼备可用性与先进性。
此外,发明通过基于OpenCV的JavaScript脚本直接在前端对用户上传的数字图像进行操作,实现数字水印的添加和提取的过程。用户的图像数据不经过信道传输,防止数据传输过程中恶意拦截攻击造成的数据泄露,保障了数据的传输安全。后端服务器不接收和存储源文件,仅需要生成分段线性混沌映射的初始化参数,以供前端生成超混沌序列对图像进行置乱。该协议以此大幅度减轻服务器负载、降低内存利用率,保障了服务器的有效运行。
本发明提供的有益效果是:该平台具有较高的安全性和较好的实用性,可抵抗绝大部分算法攻击和协议攻击。与已有的数字版权服务平台的存证环节相比较,本发明对源文件直接进行版权信息隐写,为侵权判定和取证提供依据,减少了侵权判定争议问题。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于机密计算的数字图像权属保护云系统,其特征在于:平台基于secGear框架,采用自主设计的认证协议,包括:前端和后端;
前端使用Element Plus对UI界面进行开发,并通过OpenCV的JavaScript版本对图像进行处理,实现用户登录、用户注册、图像水印添加、图像水印提取;
后端的web应用层将使用python语言,通过Flask框架进行编写,为前端的用户登录、用户注册、图像水印添加、图像水印服务提供验证接口;
其中,仅有用户登录、注册信息的加解密,计算水印图像密钥参数在secGear框架内执行,其余操作均在前端及后端开放性执行环境中实现;
所述自主设计的认证协议包括:初始化服务器认证阶段、初始化客户端认证阶段、用户注册认证阶段、用户登录认证阶段、图像水印添加认证阶段和图像水印提取认证阶段;
所述初始化服务器认证阶段具体如下:
S11:随机生成两个512位质数P、Q;
S12:根据质数P、Q进行如下计算:
N=P×Q
PHI=(P-1)×(Q-1)
D=ExgCD(E,PHI)
PU=Pack(E,N)
其中,N为1024位质数、PU为公钥;D为私钥;E取65537;ExgCD()为扩展欧几里得算法;Pack(E,N)为将(E,N)包装进PU的函数;
S13:随机生成两个512位数KU、KW,服务器端将D,N传入secGear框架中并进行如下计算:
CKU=S ealData(KU)
CKW=S ealData(Kw)
S14:服务器进入等待状态,如果客户端发送GET请求,则服务器返回PU;
所述初始化客户端认证阶段,具体流程如下:
S21:客户端向服务器端发送GET请求,获得PU;
S22:客户端在内存中存储PU,并进入等待状态,如果客户端的操作O被用户U确认,则执行操作O;其中操作O包括:用户登录、用户注册、图像水印添加、图像水印提取;
所述用户注册认证阶段,具体流程如下:
S31:初始化客户端,并进行注册;
S32:从前端获取用户输入的UNi、PWi;其中UNi、PWi分别表示用户i的用户名和密码;
S33:获取当前时间戳TS1、从内存中获取PU,计算如下:
E,N=UNPack(PU)
HUNi=h(UNi)
HPWi=h(PWi||UNi)
CPWi=HPWi E(mod N)
其中,UNPack(.)表示将PU解包为(E,N);HUNi为使用SM3哈希算法后的用户名;HPWi为使用SM3哈希算法后的密码;CPWi为经过RSA加密后的密码;
S34:将HUNi、CPWi、TS1发送至服务器端;
S35:服务器端检查TS1的合法性,并从内存中获取CD、PU、CKU,计算E,N=UNPack(PU);
S36:服务器端将CD、N、CPWi、CKU传入secGear框架进行如下计算:
KU=UNSealData(CKU)
HPWi=CPWi D(mod N)
其中,NPWi表示经过secGear加密过后的密码;
S37:将(HUNi,NPWi)存入数据库,获取当前时间戳TS2;
S38:服务器将TS2传入secGear并进行计算:Flagi=h(HPWi||TS2),同时传出Flagi和TS2至客户端;其中Flagi为服务器返回的验证参数;
S39:客户端检查的合法性,并计算Flagi *=h(HP Wi||TS2);如果Flagi *与Flagi相等,则等待其它操作,否则客户端进行警告;
S310:服务器端删除CPWi、E、N、HUNi、NPWi;
所述用户登录认证阶段,具体流程如下:
S41:初始化客户端,并进行登录;
S42:输入UNi、PWi;其中UNi、PWi分别表示用户i登录时输入的用户名和密码;
S43:获取当前时间戳TS1、从内存中获取PU,计算如下:
E,N=UNPack(PU)
HUNi=h(UNi)
HPWi *=h(PWi *||UNi)
CPWi *=HPWi *E(mod N)
其中,UNPack(.)表示将PU解包为(E,N);其中上标带*的表示未验证的参数;
S44:将CPWi *、TS1发送至服务器端;
S45:服务器端检查TS1的合法性,并从内存中获取CD、PU,计算E,N=UNPack(PU);
S46:服务器端将CD、N、CPWi *、CKU传入secGear框架进行如下计算:
KU=UNSealData(CKU)
HPWi *=CPWi *D(mod N)
S47:服务器端传出NPWi、HPWi *,并通过HUNi从数据库中获取NPWi,验证HPWi *与NPWi是否相等,且获取当前时间戳TS2;
S48:服务器将TS2传入secGear并进行计算:Flagi=h(HPWi *||TS2),同时传出Flagi和TS2至客户端;其中Flagi为服务器返回的验证参数;
S49:客户端检查的合法性,并计算Flagi *=h(HPWi *||TS2);如果Flagi *与Flagi相等,则等待其它操作,否则客户端进行警告,并删除HPWi *、E、N、HUNi;
S310:服务器端删除CPWi *、E、N、HUNi、NPWi、HPWi *.;
所述图像水印添加认证阶段的具体流程如下:
S51:客户端获取用户输入的第j张水印图像Wj和第k张原始图像Ok;
S52:随机生成一个256位数字WIDj,k作为水印的ID并获取当前时间戳TS3;
S53:从内存中获取PU、HUNi,计算:
E,N=UNPack(PU)
HWIDj,k=h(WIDj,k)
CWIDj,k=HWIDj,k E(mod N)
其中,HWIDj,k为经过SM3哈希算法加密后的水印ID;CWIDj,k为经过RSA加密后的水印ID;客户端将HUNi、CWIDj,k、TS3发送至服务器;
S54:服务器检查TS3的合法性,并通过HUNi从数据库中获取NPWi,同时从内存中获取CD、PU,计算E,N=UNPack(PU);
S55:服务器将CD、N、CWIDj,k、NPWi、CKU、CKW,传入secGear框架中进行如下计算:
随机生成一组数:{IPj,k,1,...,IPj,k,n},其中{IPj,k,1,...,IPj,k,n}为随机生成的初始化水印加密参数;
计算:
KU=UNSealData(CKU)
KW=UNSealData(CKW)
HWIDj,k=CWIDj,k D(mod N)
FORtmp→n DO
Pj,k,tmp=h(KW||IPj,k,tmp)
Kj,k=h(HPWi||HWIDj,k)
并传出NWIDj,k,{CPj,k,1,...,CPj,k,n},并获取当前时间戳TS4;其中NWIDj,k为经过secGear加密过后的水印ID;tmp表示1至n中间的一个临时参数;Pj,k,tmp为{Pj,k,1,...,Pj,k,n}中的一个中间量;{Pj,k,1,...,Pj,k,n}为一组实际水印加密参数;CPj,k,tmp为{CPj,k,1,...,CPj,k,n}中的一个中间量;{CPj,k,1,...,CPj,k,n}为加密后的水印加密参数;
S56:服务器将TS4传入secGear框架进行计算:Flagj,k=h(HPWi||TS4||HWIDj,k),并传出NWIDj,k、{CPj,k,1,...,CPj,k,n}、TS4、Flagj,k至客户端;
S57:服务器删除HPWi、NWIDj,k、N、HUNi;
所述图像水印提取认证阶段的具体流程为:
S61:客户端获取将第j张水印图像添加至第k张原始图像得到的图像Rj,k;
S62:从Rj,k中提取HWIDj,k *,若提取成功,则获取当前时间戳TS5,进入S63;否则,进行警告,结束;
S63:从内存中获取PU、HUNi,计算:
E,N=UNPack(PU)
CWIDj,k *=HWIDj,k *E(mod N)
将HUNi、CPWi、TS5发送至服务器;
S64:服务器检查TS5的合法性,并通过HUNi从数据库中获取NPWi,同时从内存中获取CD、PU,计算E,N=UNPack(PU);
S65:服务器将CD、N、CWIDj,k *、NPWi、CKU、CKW,传入secGear框架中进行如下计算:
HWI Dj,k *=CWI Dj,k *D(mod N)
验证NWIDj,k *是否在数据库中,若是,则通过HUNi、NWIDj,k *从数据库中提取{CPj,k,1,...,CPj,k,n},并获取当前时间戳TS6;
S66:服务器将TS6传入secGear框架进行计算:Flagj,k=h(HPWi||TS6||HWIDj,k *),并传出Flagj,k、{CPj,k,1,...,CPj,k,n}、TS6至客户端;
S67:服务器删除HPWi、NWIDj,k、N、HUNi;
前端的图像水印添加服务,具体为:随机生成水印ID后,前端将水印ID传输至后端,经过图像水印添加认证阶段,对后端返回的参数进行解密,得到参数明文,再通过PWLCM生成超混沌序列,对原图和水印图像进行置乱操作;置乱操作后,前端通过LSB算法将置乱后的原图和水印图像进行合并,并通过之前生成的超混沌序列进行恢复,得到最终添加数字水印的图像;
前端的图像水印提取服务,具体为:从添加数字水印的图像提取水印ID,将水印ID传输至后端,并经过图像水印提取认证阶段,对后端返回的参数进行解密,得到参数明文,再通过PWLCM生成超混沌序列,对添加数字水印的图像进行置乱;置乱操作后,前端通过逆LSB算法从之乱后的图像中提取水印图像,并通过之前生成的超混沌序列进行恢复,得到水印图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110952493.9A CN113706361B (zh) | 2021-08-19 | 2021-08-19 | 一种基于机密计算的数字图像权属保护云系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110952493.9A CN113706361B (zh) | 2021-08-19 | 2021-08-19 | 一种基于机密计算的数字图像权属保护云系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113706361A CN113706361A (zh) | 2021-11-26 |
CN113706361B true CN113706361B (zh) | 2022-04-26 |
Family
ID=78653389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110952493.9A Active CN113706361B (zh) | 2021-08-19 | 2021-08-19 | 一种基于机密计算的数字图像权属保护云系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113706361B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115758396B (zh) * | 2022-08-31 | 2023-05-30 | 兰州大学 | 基于可信执行环境的数据库安全访问控制技术 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035186A (zh) * | 2006-01-20 | 2007-09-12 | 株式会社东芝 | 探测数字水印的装置和方法 |
WO2008030184A1 (en) * | 2006-07-04 | 2008-03-13 | Khee Seng Chua | Improved authentication system |
WO2015054638A1 (en) * | 2013-10-10 | 2015-04-16 | Elwha Llc | Methods, systems, and devices for handling image data from captured images |
CN109952753A (zh) * | 2016-10-25 | 2019-06-28 | 苹果公司 | 用于管理对在操作中使用的凭证的访问的用户界面 |
CN110032839A (zh) * | 2019-04-04 | 2019-07-19 | 深圳大通实业股份有限公司 | 高安全性数字水印的数字媒体内容侵权检测系统 |
CN111010491A (zh) * | 2019-12-26 | 2020-04-14 | 合肥道正企智大数据有限公司 | 一种基于隐藏技术的图像数据传输方法、装置和系统 |
WO2021041679A2 (en) * | 2019-08-27 | 2021-03-04 | Synamedia Limited | Systems and methods for providing watermarked content |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002232685A (ja) * | 2001-01-31 | 2002-08-16 | Canon Inc | 電子透かし処理装置、情報処理装置、ディジタルコンテンツ配布システム、電子透かし挿入方法、及び記憶媒体 |
US9292893B2 (en) * | 2009-12-10 | 2016-03-22 | Empire Technology Development Llc | Chaotic watermarking for a digital image |
DK3066591T3 (da) * | 2014-02-10 | 2019-10-21 | Geenee Gmbh | Systemer og fremgangsmåder til billedkarakteristikbaseret genkendelse |
US11250493B2 (en) * | 2014-03-31 | 2022-02-15 | Monticello Enterprises LLC | System and method for performing social media cryptocurrency transactions |
CN109949907B (zh) * | 2019-03-29 | 2021-07-13 | 西安交通大学 | 基于云端的大型病理学图像协作注释方法及系统 |
-
2021
- 2021-08-19 CN CN202110952493.9A patent/CN113706361B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035186A (zh) * | 2006-01-20 | 2007-09-12 | 株式会社东芝 | 探测数字水印的装置和方法 |
WO2008030184A1 (en) * | 2006-07-04 | 2008-03-13 | Khee Seng Chua | Improved authentication system |
WO2015054638A1 (en) * | 2013-10-10 | 2015-04-16 | Elwha Llc | Methods, systems, and devices for handling image data from captured images |
CN109952753A (zh) * | 2016-10-25 | 2019-06-28 | 苹果公司 | 用于管理对在操作中使用的凭证的访问的用户界面 |
CN110032839A (zh) * | 2019-04-04 | 2019-07-19 | 深圳大通实业股份有限公司 | 高安全性数字水印的数字媒体内容侵权检测系统 |
WO2021041679A2 (en) * | 2019-08-27 | 2021-03-04 | Synamedia Limited | Systems and methods for providing watermarked content |
CN111010491A (zh) * | 2019-12-26 | 2020-04-14 | 合肥道正企智大数据有限公司 | 一种基于隐藏技术的图像数据传输方法、装置和系统 |
Non-Patent Citations (4)
Title |
---|
An improved and robust biometrics-based three factor authentication scheme for multiserver environments;Chaudhry S A等;《 The Journal of Supercomputing》;20181231;3504-3520 * |
一种基于 SGX 的工业物联网身份认证协议;刘忻 等;《等级保护》;20210308;1-10 * |
基于无线传感器网络的身份认证协议的研究;刘忻;《中国博士学位论文全文数据库 (信息科技辑)》;20191231;I136-32 * |
抵抗内部攻击的无线传感器网络身份认证协议;余通等;《福建电脑》;20200425(第04期);51-54 * |
Also Published As
Publication number | Publication date |
---|---|
CN113706361A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10341102B2 (en) | Decrypting encrypted data on an electronic device | |
EP3035641A1 (en) | Method for file upload to cloud storage system, download method and device | |
CN104935568A (zh) | 一种面向云平台接口鉴权签名方法 | |
US20090022319A1 (en) | Method and apparatus for securing data and communication | |
JP2016512374A5 (zh) | ||
US10348502B2 (en) | Encrypting and decrypting data on an electronic device | |
Cao et al. | A Privacy‐Preserving Outsourcing Data Storage Scheme with Fragile Digital Watermarking‐Based Data Auditing | |
Aloraini et al. | A survey on data confidentiality and privacy in cloud computing | |
Huang et al. | A secure communication over wireless environments by using a data connection core | |
KR102050882B1 (ko) | 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버 및 컴퓨터 판독 가능한 기록 매체 | |
CN113706361B (zh) | 一种基于机密计算的数字图像权属保护云系统 | |
KR102050890B1 (ko) | 스트리밍 기반의 영상 보안 서버, 서버-클라이언트 간 보안 영상을 제공하는 방법 및 컴퓨터 판독 가능한 기록 매체 | |
Mohammed et al. | Secure third party auditor (tpa) for ensuring data integrity in fog computing | |
Berrios et al. | Factorizing 2fa: Forensic analysis of two-factor authentication applications | |
Xiong et al. | Secure multimedia distribution in cloud computing using re-encryption and fingerprinting | |
Rupa | A novel approach in security using gyration slab with watermarking technique | |
Palathingal et al. | Enhanced cloud data security using combined encryption and steganography | |
Gupta et al. | Application developed on data hiding using cryptography and steganography | |
Magdum et al. | A secure data transfer algorithm for USB mass storage devices to protect documents | |
Vegh et al. | Securing communication in cyber-physical systems using steganography and cryptography | |
Singh et al. | Securing RJSON data between Middleware and Smart phones through Java Script based Cryptographic Algorithms | |
Tang et al. | Fuzzy Deduplication Scheme Supporting Pre-verification of Label Consistency | |
Krishna | Improved Elliptic Curve Image Cryptography Using Genetic Algorithm based Key Selection for Securely Data Transmission | |
Vegh et al. | A framework for verifying the integrity of the components of a secure cyber-physical system | |
Chen | Two-Dimensional Code Information Security Design Based on Hash Function and Encryption Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |