CN106228076B - 一种基于sgx的图片验证码保护方法及系统 - Google Patents
一种基于sgx的图片验证码保护方法及系统 Download PDFInfo
- Publication number
- CN106228076B CN106228076B CN201610592130.8A CN201610592130A CN106228076B CN 106228076 B CN106228076 B CN 106228076B CN 201610592130 A CN201610592130 A CN 201610592130A CN 106228076 B CN106228076 B CN 106228076B
- Authority
- CN
- China
- Prior art keywords
- image data
- enclave
- steganography
- picture
- module
- 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
Classifications
-
- 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)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于SGX的图片验证码保护方法及系统,本发明从两个方面实现基于SGX的图片验证码保护,一方面为SGX终端模块的存储保护,包括图片数据导入模块,图片数据随机乱排模块,隐写模块,混沌序列加密模块,混沌序列解密模块,图片数据导出模块,安全计算模块;另一方面对基于SGX的加解密及隐写操作进行保护。本方法对客户终端的信息具有保护性,攻击者无法从终端获取关键信息,能够抵御内存泄漏攻击。
Description
技术领域
本发明属于云计算和可信计算技术领域,尤其涉及一种基于SGX技术提高图片验证码在终端使用的安全性的保护方法及系统。
背景技术
SGX技术内置于Skylake架构,它允许应用程序自行创建一个名为enclave的受保护的执行空间,这个空间保证了终端操作系统环境上信息内容的机密性和完整性,试图从软件角度访问enclave的内存内容是不被允许的,即使是高特权级软件,如操作系统,虚拟机或者BIOS,都不允许访问。enclave的安全边界只包含CPU和它自身。SGX创建的enclave也可以理解为一个可信执行环境TEE。SGX技术中一个CPU可以运行多个安全enclaves,可以并发执行。
在enclave被创建之前,enclave将要包含的数据和指令都是可以被随意查看和分析的,代码也是可认证的,但是一旦这部分内容被装载进入了enclave,那么这一部分代码不能再从外部取得访问。
SGX还提供了软件开发工具包,程序员只需提供正确的参数并调用应用程序接口,SGX将会自动完成封装与认证等安全过程。
F5算法是以新的运算方式开发的一种隐写算法,可以抵挡可视攻击和系统攻击,并且给隐写信息较大的容量空间。算法会将信息隐藏在整个图像中。采用R.Crandall提出的矩阵编码方法来进行信息嵌入可以有效地降低嵌入信息时改变LSB的个数,在改变很小的情况下可嵌入大量的信息以便有效地抵制RS统计分析,隐写比例可达到甚至超过JPEG文件大小的13%。F5隐写算法较其它的隐写算法有更好的鲁棒性,隐写容量更大,嵌入效率更高。
混沌序列作为一种伪随机序列由于具有遍历性高、对初值敏感等特性被广泛应用于数字信息的加密中,此算法通过对两种混沌序列的不同变换达到图像像素点位置变换和灰度值变换两方面的目的从而实现对数字图像的加密操作。
受保护的音频视频路径(PAVP)在视频播放时(如蓝光光盘)保护计算机内的数据路径。它由新的芯片组(如英特尔G45)和操作系统(从Windows Vista开始)支持。
PAVP可以在BIOS中配置,支持不同的模式:
1.禁用;
2.pavp Lite:储备缓冲存储器用于压缩视频数据加密;
3.偏执PAVP:启动时保留内存,且此过程操作系统不可见,这将在Windows Vista中禁用Windows Aero;
在大多数的BIOS中一般默认设置PAVP Lite。运用这种技术,可以在终端防止第三方软件或插件截屏获取图片验证码。
发明内容
本发明的目的是提供一种基于SGX技术的图片验证码安全保护方法及系统,为终端中的图片验证码等关键信息内容提供可靠的保护,从根本上解决图片验证造成的种种问题。
本发明的方法所采用的技术方案是:一种基于SGX的图片验证码保护方法,其特征在于:包括基于SGX的存储安全保护和基于SGX的操作安全保护;
所述基于SGX的存储安全保护,其具体实现包括以步骤:
步骤A1:导入图片数据;
将原始图片数据库中的图片等分成若干组,每组内部图片顺序编号,完成预处理;
步骤A2:随机选定一组图片,随机乱排该组图片数据;
步骤A3:对图片数据进行隐写操作;
步骤A4:对隐写操作后的图片数据进行反隐写操作;
步骤A5:利用混沌序列对图片数据进行加密;
步骤A6:利用混沌序列对加密后的图片数据进行解密;
步骤A7:将隐写并加密后的图片导出;
步骤A8:在安全环境中对图片数据进行加解密以及读写操作;
所述基于SGX的操作安全保护,由包括加密操作安全保护、解密操作安全保护和隐写操作保护;
所述加密操作安全保护:首先将需要加密的图片数据导入;其次导入外部密钥,并执行解密操作得到明文密钥;然后利用外部密钥的明文进行混序列加密明文图片数据得到密文;最后判断操作是否顺利完成,否是则擦除所有相关的中间数据信息,若否则擦除所有的中间数据以及操作痕迹;
所述解密操作安全保护:首先将需要解密的图片数据导入;其次导入外部密钥,并执行解密操作得到明文密钥;然后利用外部密钥的明文进行混序列解密加密图片数据得到明文;最后判断操作是否顺利完成,否是则擦除所有相关的中间数据信息,若否则擦除所有的中间数据以及操作痕迹;
所述隐写操作保护:首先用图片数据、编号信息与隐写密钥执行隐写算法,将编号信息写入图片数据之中;然后判断操作是否顺利完成,否是则擦除所有相关的中间数据信息,若否则擦除所有的中间数据以及操作痕迹。
作为优选,步骤A1中所述导入图片数据,是将原始图片数据库中的图片用分组函数等分成若干组,每组内部图片以1为初始值,以1为增量顺序编号,完成预处理;创建enclave并将预处理后的图片数据用enclave提供的接口函数读入enclave之中。
作为优选,步骤A2中所述随机选定一组图片,随机乱排该组图片数据,是在enclave环境下调用随机数生成函数生成真随机数,以此选定一组图片,再对该组图片调用随机乱排函数打乱该组图片的排列顺序。
作为优选,步骤A3中所述对图片数据进行隐写操作,是在enclave环境下调用隐写密钥生成算法生成隐写所用的密钥并经过enclave提供的认证与签名机制进行认证与签名,然后调用F5隐写函数,把随机乱排得到的新序列号作为信息写入对应的图片中。
作为优选,步骤A4中所述对隐写操作后的图片数据进行反隐写操作,是在enclave环境下把隐写密钥与隐写后的图片数据传给F5反隐写函数,得到隐写前的图片数据。
作为优选,步骤A5中所述利用混沌序列对图片数据进行加密,首先,采用Logistic数列变换实现针对图像具体像素点的灰度值变换,其次用Hybrid序列的变化实现像素位置的混乱处理,再次调用生成算法得到加密图片所用的置换矩阵,最后由图片数据与置换矩阵异或操作完成图片加密。
作为优选,步骤A6中所述利用混沌序列对加密后的图片数据进行解密,是将加密后的图片数据与用于置换矩阵传入基于混沌序列变换的解密函数,由解密函数执行异或操作,恢复像素点的位置;然后依次用Hybrid序列与Logistic序列的逆变换得到加密前的图片数据。
作为优选,步骤A8中所述在安全环境中对图片数据进行加解密以及读写操作,是利用SGX,为图片验证码系统的安全读写提供一个安全计算环境,将对图片数据的加解密以及读写操作放入该环境中进行,以此来保护图片验证码相关内容的机密性、完整性和一致性,并使得内存泄露攻击无效化。
作为优选,所述加密操作安全保护,其具体实现包括以下子步骤:
步骤B1:将需要加密的图片数据通过enclave提供的应用程序接口函数导入创建的enclave单元;
步骤B2:调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥;
步骤B3:在enclave环境下用外部密钥的明文进行混序列加密明文图片数据得到密文;
步骤B4:判断操作是否顺利完成,若是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
作为优选,所述解密操作安全保护,其具体实现包括以下子步骤:
步骤C1:将需要解密的图片数据通过enclave提供的应用程序接口函数导入创建的enclave单元;
步骤C2:调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥;
步骤C3:在enclave环境下用外部密钥的明文进行混序列解密密文图片数据得到明文;
步骤C4:判断操作是否顺利完成,若是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
作为优选,所述隐写操作保护,其具体实现包括以下子步骤:
步骤D1:将需要写入编号信息的图片数据以及需要写入的编号信息通过enclave提供的应用程序接口函数导入创建的enclave单元;
步骤D2:在 enclave环境下调用隐写密钥生成算法得到F5隐写算法所需要的隐写密钥,并通过enclave的认证与签名机制进行认证与签名;
步骤D3:用图片数据、编号信息与隐写密钥执行F5隐写算法,将编号信息写入图片数据之中;
步骤D4:判断操作是否顺利完成,若是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
本发明的系统所采用的技术方案是:一种基于SGX的图片验证码保护系统,其特征在于:包括图片数据导入模块、图片数据随机乱排模块、隐写模块、混沌序列加密模块、混沌序列解密模块、图片数据导出模块、安全计算模块、隐写模块、反隐写模块、混沌序列加密模块、混沌序列解密模块、密钥导入模块、加密操作模块、解密操作模块、密钥生成模块、隐写操作模块、操作结果判断模;
所述图片数据导入模块用于将原始图片数据进行分组,每组图片从1开始,以1为增量顺序编号,然后创建enclave并将数据保存在enclave之中;
所述图片数据随机乱排模块用于在enclave环境中随机选择一组图片,并将该组图片的顺序随机打乱,使每幅图片具有新的序号;
所述隐写模块用于将随机乱排产生的新序号用F5隐写算法写入的图片;
所述混沌序列加密模块用于执行混序列加密算法,用置换矩阵对隐写后的图片进行加密;
所述混沌序列解密模块用于执行混序列解密算法,用置换逆矩阵对隐写后的图片进行加解密;
所述图片数据导出模块用于利用enclave提供的接口将隐写并加密后的图片从enclave之中读出;
所述安全计算模块用于利用SGX,为图片验证码系统的安全读写提供一个安全计算环境,将对图片数据的加解密以及读写操作放入该环境中进行,以此来保护图片验证码相关内容的机密性、完整性和一致性,并使得内存泄露攻击无效化;
所述隐写模块用于在enclave环境下调用隐写密钥生成算法生成隐写所用的密钥并经过enclave提供的认证与签名机制进行认证与签名,然后调用F5隐写函数,把随机乱排得到的新序列号作为信息写入对应的图片中;
所述反隐写模块用于在enclave环境下把隐写密钥与隐写后的图片数据传给F5反隐写函数,得到隐写前的图片数据。
所述混沌序列加密模块用于采用Logistic数列变换实现针对图像具体像素点的灰度值变换,其次用Hybrid序列的变化实现像素位置的混乱处理;调用生成算法得到加密图片所用的置换矩阵,由图片数据与置换矩阵异或操作完成图片加密;
所述混沌序列解密模块用于将加密后的图片数据与用于置换矩阵传入基于混沌序列变换的解密函数,由解密函数执行异或操作,恢复像素点的位置;然后依次用Hybrid序列与Logistic序列的逆变换得到加密前的图片数据;
所述密钥导入模块用于调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥;
所述加密操作模块用于在enclave环境下用解的出外部密钥的明文进行混序列加密明文图片数据得到密文;
所述解密操作模块用于在enclave环境下用解的出外部密钥的明文进行混序列解密密文图片数据得到明文;
所述密钥生成模块用于在 enclave环境下调用隐写密钥生成算法得到F5隐写算法所需要的隐写密钥,并通过enclave的认证与签名机制进行认证与签名;
所述隐写操作模块用于用图片数据,编号信息与隐写密钥执行F5隐写算法,将编号信息写入图片数据之中;
所述操作结果判断模块用于判断操作是否顺利完成,否是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
本发明具有以下优势:
1)对图片数据的隐写操作能有效抵御攻击者,即便获取到图片也获取不到图片的正确编号;
2)进行加解密的密钥不会以明文形式出现在不可信内存中,能够抵御内存泄露攻击;
3)将隐写、加解密、等相关操作放到enclave中执行;
4)编程使用Intel @ SGX提供的SDK,使得实现较为容易。
附图说明
图1为本发明实施例的方法中服务器工作流程图;
图2为本发明实施例的方法中客户端工作流程图;
图3为本发明实施例的方法中加解密操作安全保护流程;
图4为本发明实施例的方法中隐写操作安全保护流程;
图5为本发明实施例的装置结构图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
请见图1、图2、图3、图4和图5,本实施例从两个角度实现对图片验证码的保护:
Ⅰ.SGX存储保护,可分为以下几个模块:
图片数据导入模块:将原始图片数据进行分组,每组图片从1开始,以1为增量顺序编号,然后创建enclave并将数据保存在enclave之中。
图片数据随机乱排模块:在enclave环境中随机选择一组图片,并将该组图片的顺序随机打乱,使每幅图片具有新的序号。
隐写模块:将随机乱排产生的新序号用F5隐写算法写入的图片。
混沌序列加密模块:执行混序列加密算法,用置换矩阵对隐写后的图片进行加密。
混沌序列解密模块:执行混序列解密算法,用置换逆矩阵对隐写后的图片进行加解密。
图片数据导出模块:用enclave提供的接口将隐写并加密后的图片从enclave之中读出。
安全计算模块:利用SGX技术,为图片验证码系统的安全读写提供一个安全计算事务,将对图片数据的加解密以及读写操作放入该事务中进行,以此来保护图片验证码相关内容的机密性、完整性和一致性,并使得内存泄露攻击无效化。
Ⅱ.SGX操作保护,主要包括:
①加解密操作SGX保护;
②隐写操作SGX保护;
基于SGX技术的存储安全保护,主要包括:
①导入图片数据:启动服务器系统时,服务器将原始图片数据库中的图片用分组函数等分成若干组,每组内部图片以1为初始值,以1为增量顺序编号,完成预处理。创建enclave并将预处理后的图片数据用enclave提供的接口函数读入enclave之中。
②图片数据随机乱排:在enclave环境下调用特殊的随机数生成函数生成真随机数,以此选定一组图片,再对该组图片调用随机乱排函数打乱该组图片的排列顺序。
③隐写模块:在enclave环境下调用隐写密钥生成算法生成隐写所用的密钥并经过enclave提供的认证与签名机制进行认证与签名,然后调用F5隐写函数,把随机乱排得到的新序列号作为信息写入对应的图片中。使攻击者无法获得图片的正确编号。
④反隐写模块:在enclave环境下把隐写密钥与隐写后的图片数据传给F5反隐写函数,得到隐写前的图片数据。
⑤混沌序列加密模块:首先,采用Logistic数列变换实现针对图像具体像素点的灰度值变换,其次用Hybrid序列的变化实现像素位置的混乱处理。调用生成算法得到加密图片所用的置换矩阵,由图片数据与置换矩阵异或操作完成图片加密
⑥混沌序列解密模块:将加密后的图片数据与用于置换矩阵传入基于混沌序列变换的解密函数,由解密函数执行异或操作,恢复像素点的位置。然后依次用Hybrid序列与Logistic序列的逆变换得到加密前的图片数据。
基于SGX技术的操作安全保护的,主要包括:
①.加解密操作安全保护:
加密:
1.图片数据导入模块:将需要加密的图片数据通过enclave提供的应用程序接口函数导入创建的enclave单元。
2.密钥导入模块:调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥。
3.加密操作模块:在enclave环境下用解的出外部密钥的明文进行混序列加密明文图片数据得到密文。
4.操作结果判断模块:操作若顺利完成,则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
解密:
1. 图片数据导入模块:将需要解密的图片数据通过enclave提供的应用程序接口函数导入创建的enclave单元。
2. 密钥导入模块:调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥。
3.解密操作模块:在enclave环境下用解的出外部密钥的明文进行混序列解密密文图片数据得到明文。
4. 操作结果判断模块:操作若顺利完成,则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
②.隐写操作保护:
1.数据导入模块:将需要写入编号信息的图片数据以及需要写入的编号信息通过enclave提供的应用程序接口函数导入创建的enclave单元。
2.密钥生成模块:在 enclave环境下调用隐写密钥生成算法得到F5隐写算法所需要的隐写密钥,并通过enclave的认证与签名机制进行认证与签名。
3.隐写操作模块:用图片数据,编号信息与隐写密钥执行F5隐写算法,将编号信息写入图片数据之中。
4.操作结果判断模块:操作若顺利完成,则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
本实施例的保护图片验证码方法的具体防护措施如下:
1.验证码图片序号保护;
终端创建enclave,并用enclave提供的ECALL与OCALL接口将执行代码加载到安全内存区域。
用enclave提供的签名与认证接口对隐写与反隐写的密钥进行认证。
在enclave安全运行环境中用隐写与反隐写模块对图片处理,以获取或隐写图片的序号,并由enclave提供的ECALL接口安全传出。
2.验证码图片本身保护;
终端用PAVP技术防止第三方软件或插件进行截屏等操作以获取到验证码图片。攻击者无法获取验证码图片进行人工识别。
3.传输防护;
终端或服务器创建enclave并将执行代码加载到安全内存区域。
通过enclave的ECALL与OCALL接口将图片加密所用的外部密钥导入安全内存区域。
在enclave安全运行环境中用加密与解密模块对图片数据进行混沌序列加密解密操作,并用enclave提供的ECALL接口安全传出。
本发明利用SGX技术自身的特点,创建enclave并将保护图片的数据信息,由enclave的认证与签名机制认证对F5隐写算法生成的密钥进行认证与签名,在enclave中运行F5隐写算法将保护信息写入图片之中。由于enclave的安全边界只包含CPU与其自身,故算法执行过程中的数据信息无法以任何方式读取。所有的中间数据信息均会清除,可以抵御基于内存泄漏的攻击,操作也不会被其他进程或者恶意攻击者打断。
F5隐写算法与F5反隐写算法均为引用现有的算法,本发明实现了将其用SGX机制封装与认证,用于enclave中的操作。基于混沌序列变换的加密算法与基于混沌序列变换的解密算法均为引用现有的算法,本发明实现了将其用SGX机制封装与认证,用于enclave中的操作。
本发明采用的两种混沌序列分别是Logistic混沌序列和Hybrid混沌序列。
由于数字图像可以看作是由每一个像素点所组成的一个二维矩阵,能够实现对二维矩阵的变换即可达到对图像的加密目的。首先,采用Logistic数列变换实现针对图像具体像素点的灰度值变换,其次用Hybrid序列的变化实现像素位置的混乱处理。
由于使用两种混沌序列都需要构造置换矩阵,根据置换矩阵的可逆性,按照相反的顺序即可完成解密。
本发明利用SGX技术自身的特点,创建enclave并将图片数据传入enclave中,在enclave中执行加密解密算法并清除中间数据信息,同样可以抵御基于内存泄漏的攻击,操作也不会被其他进程或者恶意攻击者打断。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (12)
1.一种基于SGX的图片验证码保护方法,其特征在于:包括基于SGX的存储安全保护和基于SGX的操作安全保护;
所述基于SGX的存储安全保护,其具体实现包括以步骤:
步骤A1:导入图片数据;
将原始图片数据库中的图片等分成若干组,每组内部图片顺序编号,完成预处理;
步骤A2:随机选定一组图片,随机乱排该组图片数据;
步骤A3:对图片数据进行隐写操作;
步骤A4:对隐写操作后的图片数据进行反隐写操作;
步骤A5:利用混沌序列对图片数据进行加密;
步骤A6:利用混沌序列对加密后的图片数据进行解密;
步骤A7:将隐写并加密后的图片导出;
步骤A8:在安全环境中对图片数据进行加解密以及读写操作;
所述基于SGX的操作安全保护,由包括加密操作安全保护、解密操作安全保护和隐写操作保护;
所述加密操作安全保护:首先将需要加密的图片数据导入;其次导入外部密钥,并执行解密操作得到明文密钥;然后利用外部密钥的明文进行混序列加密明文图片数据得到密文;最后判断操作是否顺利完成,否是则擦除所有相关的中间数据信息,若否则擦除所有的中间数据以及操作痕迹;
所述解密操作安全保护:首先将需要解密的图片数据导入;其次导入外部密钥,并执行解密操作得到明文密钥;然后利用外部密钥的明文进行混序列解密加密图片数据得到明文;最后判断操作是否顺利完成,否是则擦除所有相关的中间数据信息,若否则擦除所有的中间数据以及操作痕迹;
所述隐写操作保护:首先用图片数据、编号信息与隐写密钥执行隐写算法,将编号信息写入图片数据之中;然后判断操作是否顺利完成,否是则擦除所有相关的中间数据信息,若否则擦除所有的中间数据以及操作痕迹。
2.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A1中所述导入图片数据,是将原始图片数据库中的图片用分组函数等分成若干组,每组内部图片以1为初始值,以1为增量顺序编号,完成预处理;创建enclave并将预处理后的图片数据用enclave提供的接口函数读入enclave之中。
3.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A2中所述随机选定一组图片,随机乱排该组图片数据,是在enclave环境下调用随机数生成函数生成真随机数,以此选定一组图片,再对该组图片调用随机乱排函数打乱该组图片的排列顺序。
4.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A3中所述对图片数据进行隐写操作,是在enclave环境下调用隐写密钥生成算法生成隐写所用的密钥并经过enclave提供的认证与签名机制进行认证与签名,然后调用F5隐写函数,把随机乱排得到的新序列号作为信息写入对应的图片中。
5.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A4中所述对隐写操作后的图片数据进行反隐写操作,是在enclave环境下把隐写密钥与隐写后的图片数据传给F5反隐写函数,得到隐写前的图片数据。
6.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A5中所述利用混沌序列对图片数据进行加密,首先,采用Logistic数列变换实现针对图像具体像素点的灰度值变换,其次用Hybrid序列的变化实现像素位置的混乱处理,再次调用生成算法得到加密图片所用的置换矩阵,最后由图片数据与置换矩阵异或操作完成图片加密。
7.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A6中所述利用混沌序列对加密后的图片数据进行解密,是将加密后的图片数据与用于置换矩阵传入基于混沌序列变换的解密函数,由解密函数执行异或操作,恢复像素点的位置;然后依次用Hybrid序列与Logistic序列的逆变换得到加密前的图片数据。
8.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:步骤A8中所述在安全环境中对图片数据进行加解密以及读写操作,是利用SGX,为图片验证码系统的安全读写提供一个安全计算环境,将对图片数据的加解密以及读写操作放入该环境中进行,以此来保护图片验证码相关内容的机密性、完整性和一致性,并使得内存泄露攻击无效化。
9.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:所述加密操作安全保护,其具体实现包括以下子步骤:
步骤B1:将需要加密的图片数据通过enclave提供的应用程序接口函数导入创建的enclave单元;
步骤B2:调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥;
步骤B3:在enclave环境下用外部密钥的明文进行混序列加密明文图片数据得到密文;
步骤B4:判断操作是否顺利完成,若是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
10.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:所述解密操作安全保护,其具体实现包括以下子步骤:
步骤C1:将需要解密的图片数据通过enclave提供的应用程序接口函数导入创建的enclave单元;
步骤C2:调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥;
步骤C3:在enclave环境下用外部密钥的明文进行混序列解密密文图片数据得到明文;
步骤C4:判断操作是否顺利完成,若是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
11.根据权利要求1所述的基于SGX的图片验证码保护方法,其特征在于:所述隐写操作保护,其具体实现包括以下子步骤:
步骤D1:将需要写入编号信息的图片数据以及需要写入的编号信息通过enclave提供的应用程序接口函数导入创建的enclave单元;
步骤D2:在 enclave环境下调用隐写密钥生成算法得到F5隐写算法所需要的隐写密钥,并通过enclave的认证与签名机制进行认证与签名;
步骤D3:用图片数据、编号信息与隐写密钥执行F5隐写算法,将编号信息写入图片数据之中;
步骤D4:判断操作是否顺利完成,若是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
12.一种基于SGX的图片验证码保护系统,其特征在于:包括图片数据导入模块、图片数据随机乱排模块、隐写模块、混沌序列加密模块、混沌序列解密模块、图片数据导出模块、安全计算模块、隐写模块、反隐写模块、混沌序列加密模块、混沌序列解密模块、密钥导入模块、加密操作模块、解密操作模块、密钥生成模块、隐写操作模块、操作结果判断模块;
所述图片数据导入模块用于将原始图片数据进行分组,每组图片从1开始,以1为增量顺序编号,然后创建enclave并将数据保存在enclave之中;
所述图片数据随机乱排模块用于在enclave环境中随机选择一组图片,并将该组图片的顺序随机打乱,使每幅图片具有新的序号;
所述隐写模块用于将随机乱排产生的新序号用F5隐写算法写入的图片;
所述混沌序列加密模块用于执行混序列加密算法,用置换矩阵对隐写后的图片进行加密;
所述混沌序列解密模块用于执行混序列解密算法,用置换逆矩阵对隐写后的图片进行解密;
所述图片数据导出模块用于利用enclave提供的接口将隐写并加密后的图片从enclave之中读出;
所述安全计算模块用于利用SGX,为图片验证码系统的安全读写提供一个安全计算环境,将对图片数据的加解密以及读写操作放入该环境中进行,以此来保护图片验证码相关内容的机密性、完整性和一致性,并使得内存泄露攻击无效化;
所述隐写模块用于在enclave环境下调用隐写密钥生成算法生成隐写所用的密钥并经过enclave提供的认证与签名机制进行认证与签名,然后调用F5隐写函数,把随机乱排得到的新序列号作为信息写入对应的图片中;
所述反隐写模块用于在enclave环境下把隐写密钥与隐写后的图片数据传给F5反隐写函数,得到隐写前的图片数据;
所述混沌序列加密模块用于采用Logistic数列变换实现针对图像具体像素点的灰度值变换,其次用Hybrid序列的变化实现像素位置的混乱处理;调用生成算法得到加密图片所用的置换矩阵,由图片数据与置换矩阵异或操作完成图片加密;
所述混沌序列解密模块用于将加密后的图片数据与用于置换矩阵传入基于混沌序列变换的解密函数,由解密函数执行异或操作,恢复像素点的位置;然后依次用Hybrid序列与Logistic序列的逆变换得到加密前的图片数据;
所述密钥导入模块用于调用enclave提供的应用程序接口函数将存于enclave外部的密文密钥导入enclave,并执行解密操作得到明文密钥;
所述加密操作模块用于在enclave环境下用解的出外部密钥的明文进行混序列加密明文图片数据得到密文;
所述解密操作模块用于在enclave环境下用解的出外部密钥的明文进行混序列解密密文图片数据得到明文;
所述密钥生成模块用于在 enclave环境下调用隐写密钥生成算法得到F5隐写算法所需要的隐写密钥,并通过enclave的认证与签名机制进行认证与签名;
所述隐写操作模块用于用图片数据,编号信息与隐写密钥执行F5隐写算法,将编号信息写入图片数据之中;
所述操作结果判断模块用于判断操作是否顺利完成,否是则擦除所有相关的中间数据信息;若中途遇到意外中断或外部攻击,则擦除所有的中间数据以及操作痕迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592130.8A CN106228076B (zh) | 2016-07-25 | 2016-07-25 | 一种基于sgx的图片验证码保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610592130.8A CN106228076B (zh) | 2016-07-25 | 2016-07-25 | 一种基于sgx的图片验证码保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106228076A CN106228076A (zh) | 2016-12-14 |
CN106228076B true CN106228076B (zh) | 2018-10-26 |
Family
ID=57534222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610592130.8A Active CN106228076B (zh) | 2016-07-25 | 2016-07-25 | 一种基于sgx的图片验证码保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106228076B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108320262A (zh) * | 2017-01-16 | 2018-07-24 | 北海和思科技有限公司 | 一种图像加密方法 |
CN107679391A (zh) * | 2017-10-11 | 2018-02-09 | 世纪龙信息网络有限责任公司 | 用于验证码的数据处理方法和系统 |
CN110798433B (zh) * | 2018-08-03 | 2021-12-07 | 广州小鹏汽车科技有限公司 | 一种验证码校验方法及装置 |
CN109446759B (zh) * | 2018-10-29 | 2021-02-09 | 大唐高鸿信安(浙江)信息科技有限公司 | 一种软件接口保护方法及装置 |
CN109726588B (zh) * | 2018-12-21 | 2021-04-06 | 上海邑游网络科技有限公司 | 基于信息隐藏的隐私保护方法和系统 |
CN111159737A (zh) * | 2019-12-26 | 2020-05-15 | 广东电网有限责任公司 | 一种基于sgx的图像数据保护方法、装置、设备和存储介质 |
CN112100638B (zh) * | 2020-11-03 | 2021-03-09 | 北京微智信业科技有限公司 | 基于硬件安全隔离区域的图像数据处理方法、装置和设备 |
CN113486406B (zh) * | 2021-06-17 | 2024-02-20 | 重庆亲笔签数字科技有限公司 | 一种电子签名保护还原方法、系统、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103427979A (zh) * | 2013-06-09 | 2013-12-04 | 浙江工业大学 | 一种基于混沌加密的互联网图片透明安全传输方法 |
CN105743906A (zh) * | 2016-03-21 | 2016-07-06 | 武汉优信众网科技有限公司 | 一种基于内容关联密钥的图片文件加解密方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006806A1 (en) * | 2012-06-23 | 2014-01-02 | Pomian & Corella, Llc | Effective data protection for mobile devices |
WO2014138626A1 (en) * | 2013-03-08 | 2014-09-12 | Robert Bosch Gmbh | Systems and methods for maintaining integrity and secrecy in untrusted computing platforms |
-
2016
- 2016-07-25 CN CN201610592130.8A patent/CN106228076B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103427979A (zh) * | 2013-06-09 | 2013-12-04 | 浙江工业大学 | 一种基于混沌加密的互联网图片透明安全传输方法 |
CN105743906A (zh) * | 2016-03-21 | 2016-07-06 | 武汉优信众网科技有限公司 | 一种基于内容关联密钥的图片文件加解密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106228076A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106228076B (zh) | 一种基于sgx的图片验证码保护方法及系统 | |
CN108595989B (zh) | 一种iOS下移动APP安全防护系统及方法 | |
CN105450620B (zh) | 一种信息处理方法及装置 | |
US8171306B2 (en) | Universal secure token for obfuscation and tamper resistance | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
CN110008745B (zh) | 一种加密方法、计算机设备和计算机存储介质 | |
CN104322003B (zh) | 借助实时加密进行的密码认证和识别方法 | |
CN110637301B (zh) | 减少虚拟机中敏感数据的泄密 | |
US20180240100A1 (en) | Method for securing a transaction from a non-secure terminal | |
CN103378971B (zh) | 一种数据加密系统及方法 | |
CN109462477B (zh) | 基于物联网嵌入式设备的白盒加密方法 | |
CN107784207A (zh) | 金融app界面的显示方法、装置、设备及存储介质 | |
CN106295257A (zh) | 一种被加固软件的认证方法及装置 | |
JP2006520047A (ja) | 遠隔メッセージ作成を可能にする方法及びシステム | |
CN111131657B (zh) | 基于自验证矩阵的混沌医学图像防篡改加密方法 | |
CN101266639A (zh) | 基于硬件环境的计算机辅助设计数据加密保护方法 | |
CN106789051A (zh) | 一种保护文件的方法、装置和计算设备 | |
CN102708069A (zh) | 安卓系统中内存数据的保护方法 | |
CN109462620A (zh) | 一种基于多种安全验证方式实现密码找回方法及系统 | |
CN108537038A (zh) | 自定义规则密码管理方法、装置、终端设备及存储介质 | |
CN108376212A (zh) | 执行代码安全保护方法、装置及电子装置 | |
CN110474967B (zh) | 块链实验系统及方法 | |
CN100546242C (zh) | 一种超级密码的生成和认证方法 | |
CN104392153A (zh) | 一种软件保护方法及系统 | |
CN105427478B (zh) | 一种atm机鉴伪仪主板程序安全处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |