发明内容
为了解决上述技术问题,本发明提供一种用于POS机的防攻击方法,所述方法包括:
获取得到用户身份信息,对各用户身份信息进行编码转换得到二进制编码序列,对二进制编码序列进行进制转换得到各用户身份信息的特征序列,将特征序列中各元素称为特征值;
根据特征序列的局部相似性对特征序列进行自适应分割得到多个特征段,确定每个特征段的差值段,将差值段中各元素称为差值;
根据各差值段得到各可行分割阈值的可行差值集合,根据各可行分割阈值的可行差值集合中各数据的位数得到各可行分割阈值的编码位数,根据各可行分割阈值的编码位数和可行差值集合得到各可行分割阈值的嵌入位数,根据可行分割阈值的嵌入位数和差值段得到差值段中可嵌入秘密信息的差值集合;将可嵌入秘密信息的差值集合中各元素称为可嵌入秘密信息的差值;
生成秘密信息,对不可嵌入秘密信息的差值插入标志数据得到各差值的秘密差值,对可嵌入秘密信息的差值进行嵌入秘密信息处理得到各差值的秘密差值,将秘密差值按对应差值在各差值段的位置排列得到秘密差值段;
对秘密差值段进行拼接处理得到秘密差值序列,对秘密差值序列进行置乱处理得到验证密文,将验证密文传输给验证端,在验证端对验证密文进行解密处理得到用户身份信息,将用户身份信息与验证端信息进行验证处理得到验证结论。
优选的,所述根据特征序列的局部相似性对特征序列进行自适应分割得到多个特征段,包括的具体步骤为:
设置标志位置W和标志长度L;
根据标志值位置、标志长度和特征序列得到特征序列的特征段,包括:
在特征序列中获取从第W个位置处的特征值到第(W+L)个位置处的特征值构成的数据段作为目标数据段,计算目标数据段的相似程度;
将目标数据段的相似程度与预设阈值进行比较,当目标数据段的相似程度小于预设相似度阈值时,将目标数据段作为一个特征段;当目标数据段相似度大于预设相似度阈值时,将标志值长度加1,在特征序列中获取从第W个位置处特征值到第W+L个位置处的特征值构成的数据段作为新的目标数据段,计算新的目标数据段的相似度程度,依次类推,直至目标数据段的相似程度小于预设相似度阈值时,得到特征段;
将标志值位置W加(L+1),重新设置标志长度L,重复执行,根据标志值位置、标志长度和特征序列得到特征序列的特征段的操作,直至标志位置W大于特征序列的长度,得到特征序列的多个特征段。
优选的,所述计算目标数据段的相似程度,包括的具体步骤为:
其中,
表示目标数据段中第i个特征值,/>
表示目标数据段内所有特征值的均值,I表示目标数据段的长度,/>
表示超参数,/>
()表示以自然常数为底的指数函数,/>
表示目标数据段的相似程度。
优选的,所述确定每个特征段的差值段,包括的具体步骤为:
构建最优阈值目标函数:
其中,
表示每个特征段的最优阈值的可行解,/>
表示每个特征段的第i个特征值,n表示每个特征段的长度,/>
表示每个特征段的最优阈值目标函数;
对最优阈值目标函数求解得到每个特征段的最优阈值;
将每个特征段的最优阈值与各特征值作差得到每个特征值的差值,将每个特征段的所有特征值的差值构成的数据段记为差值段。
优选的,所述根据各差值段得到各可行分割阈值的可行差值集合,包括的具体步骤为:
获取差值段中各差值的绝对值,将差值段中所有差值的绝对值构成的数据段记为差值绝对值段,获取差值绝对值段中最大值的位数和最小值的位数,根据每个差值段的最小值的位数和最大值的位数构成第一区间,将处于第一区间中各整数值作为可行分割阈值,得到多个可行分割阈值;
在差值段中获取绝对值的位数小于等于可行分割阈值的数据得到各可行分割阈值的可行差值集合。
优选的,所述根据各可行分割阈值的可行差值集合中各数据的位数得到各可行分割阈值的编码位数,包括的具体步骤为:
获取可行差值集合中数据对应的所有带符号数据,将每个带符号数据对应一个符号编码,所有的带符号数据得到多个符号编码,将多个符号编码进行全部描述所需的编码位数作为可行分割阈值的编码位数。
优选的,所述根据各可行分割阈值的编码位数和可行差值集合得到各可行分割阈值的嵌入位数,包括的具体步骤为:
第i个可行分割阈值的嵌入位数计算公式为:
其中,
表示第i个可行分割阈值的编码位数,/>
表示第i个可行分割阈值的可行差值集合中数据的个数,/>
表示第i个可行分割阈值的嵌入位数。
优选的,所述根据可行分割阈值的嵌入位数和差值段得到差值段中可嵌入秘密信息的差值集合,包括的具体步骤为:
在所有可行分割阈值中获取嵌入位数最大的可行分割阈值作为每个差值段的最佳分割阈值,利用最佳分割阈值对差值段中差值进行划分处理得到最佳分割阈值的可行差值集合,将最佳分割阈值的可行差值集合作为各差值段的可嵌入秘密信息的差值集合。
优选的,所述对可嵌入秘密信息的差值进行嵌入秘密信息处理得到各差值的秘密差值,包括的具体步骤为:
获取最佳分割阈值的可行差值集合对应的所有带符号数据,确定各带符号数据的符号编码,将差值段中可嵌入秘密信息的差值利用符号编码替换;
获取最佳分割阈值的编码位数
,将各可嵌入秘密信息的差值的8位二进制数中的8-B位中嵌入秘密信息得到可嵌入秘密信息的差值的秘密差值,即各差值的秘密差值。
一种用于POS机的防攻击系统,所述系统包括:
数据采集模块、数据处理模块、传输模块,数据验证模块,其中数据采集模块用于采集用户身份信息数据,数据处理模块通过调用计算机程序实现一种用于POS机的防攻击方法得到验证密文,传输模块将验证密文传输给认证终端,认证终端将验证结论传输给POS机终端,将数据验证模块将验证密文进行解密处理得到用户信息,将用户信息进行验证匹配得到验证结论。
本发明实施例至少具有如下有益效果:对采集的身份信息进行处理得到特征序列,通过分析特征序列的局部相似性对特征序列进行自适应划分得到多个特征段,通过该方式得到的每个特征段中数据差异较小,对每个特征段进行分析得到与特征段中每个数据最近的最优阈值,利用特征段中各特征值与最优阈值做差得到差值段,基于上述处理得到的差值段能够使得差值段中的各数据尽可能小,从而保障差值段中各数据能够腾出更多可用的位数,为后续在差值段中插入更多的秘密信息提供基础。
由于在差值段中每个差值上均插入秘密信息容易被识破,因而需在差值段中选择部分差值来插入秘密信息,而在差值段中插入更多的秘密信息才能更强的破坏原有的数据规律,因而基于此来确定最佳分割阈值,利用最佳分割阈值得到可潜入秘密信息的差值,然后对可嵌入秘密信息的差值进行插入秘密信息处理得到秘密差值段,通过该方式能够使得差值段中插入更多位的秘密信息,增加了数据的安全性。
实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种用于POS机的防攻击方法及系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种用于POS机的防攻击方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种用于POS机的防攻击方法的步骤流程图,该方法包括以下步骤:
步骤S001,获取用户身份信息,根据用户身份信息得到特征序列。
POS机生产出厂流通到用户手中后,用户需要在认证端进行身份注册,其中身份信息包括用户的详细身份信息和银行卡详细信息等等。用户在开机使用POS时,需要在认证端进行登录认证,POS机用户终端将用户身份信息发送至认证端,认证端通过对用户身份信息进行解析并提取验证序列,根据验证序列和认证端信息进行安全验证。
根据用户身份信息得到特征序列:POS机用户终端向认证端发送身份认证请求,通常身份认证请求为用户身份信息,由于身份信息类型不统一,在发送用户身份信息时,若以明文的形式发送会导致身份信息泄露,因此在进行身份信息发送时,对用户身份信息进行编码转换,通过ASCII编码将各用户身份信息进行编码转换得到二进制编码序列,将二进制编码序列均匀划分成长度为8的多个二进制编码段,将各二进制编码段进行十进制转化得到各二进制编码段的十进制编码,将所有二进制编码段的十进制编码构成的序列作为特征序列,将构建形成的特征序列作为验证序列。
步骤S002,对特征序列自适应分段得到多个特征段,根据各特征段得到差值段。
传统验证方式均缺乏安全的交互认证,难以抵御FLASH拷贝安全攻击,因此在进行验证时,在验证信息中嵌入秘密信息,秘密信息嵌入的越多,安全性能越高,因此,通过对特征序列进行分析,自适应获取可嵌入秘密信息的位置,通过嵌入尽可能多的秘密信息,保证验证过程中安全性。
为了能够在数据中嵌入更多的秘密信息,应该使数据尽可能小,而要使数据尽可能小,应将具有相似性特征的数据划分在一个数据段中,这样才能使得同一数据段中数据差异尽可能小,使得利用各特征段得到的差值段中的各数据尽可能小。
首先根据特征序列的局部相似性对特征序列进行自适应划分得到多个特征段。
1、对特征序列自适应分段得到多个特征段:
生成的特征序列为取值范围为[0,255]的十进制数序列,根据特征序列的数据分布特征对特征序列进行自适应分段;由于生成的特征序列存在局部相似性,通过对特征序列的局部相似性进行分析,将特征序列中具有局部相似性的数据分为一个数据段得到多个特征段,具体如下:
为了便于描述,将特征序列中各元素称为特征值。
设置标志位置W为1,设置标志长度L为9;
根据标志值位置、标志长度和特征序列得到特征序列的特征段,包括:
在特征序列中获取第W个位置的特征值到第W+L个位置的特征值构成的数据段作为目标数据段,计算目标数据段的相似程度
其中,
表示目标数据段中第i个特征值,/>
表示目标数据段内所有特征值的均值,I表示目标数据段的长度,/>
表示目标数据段的方差,该值越大说明目标数据段内数据差异较大,即目标数据段的相似程度较小,/>
表示超参数,本实施例中/>
取0.2,其他实施例中实施者可根据实际设置,/>
()表示以自然常数为底的指数函数,/>
表示目标数据段的相似程度。
将目标数据段的相似程度与预设阈值进行比较,当目标数据段的相似程度小于预设相似度阈值X时,将目标数据段作为一个特征段;当目标数据段相似度大于预设相似度阈值X时,将标志值长度L加1,在特征序列中获取第W个位置的特征值到第W+L个位置的特征值构成的数据段作为新的目标数据段,利用上述计算目标数据段相似程度的方法得到新的目标数据段的相似度程度,依次类推,直至目标数据段的相似程度小于预设相似度阈值X时,得到特征段,本实施例中预设相似度阈值X取0.8,其他实施例中实施者可根据实际设置。
将标志位置W加(L+1),将标志长度L设置为9,重复执行,根据标志值位置、标志长度和特征序列得到特征序列的特征段的操作,直至标志位置W大于特征序列的长度,例如特征序列的长度为20,标志位置W等于21,此时标志位置20大于特征序列的长度,循环结束,得到特征序列的多个特征段。
2、根据特征序列的多个特征段得到差值序列:
要想嵌入更多的秘密信息需使要得到的差值段中数据尽可能小,这样才能腾出更多的位数来插入秘密信息,而要是差值段中各数据尽可能小,需利用一个与特征段中各数据差值均较小的阈值对数据作差处理。因而首先获取每个特征段的最优阈值,该最优阈值与特征段中各数据的差值尽可能小。
(1)确定每个特征段的最优阈值:
构建最优阈值目标函数如下:
其中,
表示每个特征段的最优阈值的可行解,/>
取值范围为/>
,
,/>
分别表示每个特征段的最小值和最大值,/>
表示每个特征段的第i个特征值,n表示每个特征段的长度,/>
表示每个特征段的最优阈值目标函数。/>
使每个特征段的最优阈值目标函数尽可能小,通过对每个特征段的最优阈值目标函数求解得到每个特征段的最优阈值,将每个特征段的最优阈值记为
。
(2)根据每个特征段的最优阈值和特征段得到差值段:
将每个特征段的最优阈值
与各特征值作差得到每个特征值的差值,将每个数据段的所有特征值的差值构成的数据段记为差值段,为了便于描述,将差值段中各元素称为差值。
至此,得到差值段,在确定差值段时,首先通过对特征序列的局部相似性进行分析,将局部相似性高的数据划分为一个特征段得到多个特征段,然后对每个特征段进行分析确定最优阈值,根据每个特征段的最优阈值与每个特征段各得到每个特征段的差值段。
步骤S003,确定差值段中的可嵌入秘密信息的差值,对可嵌入秘密信息的差值进行嵌入秘密信息处理得到秘密差值段,根据秘密差值段得到验证密文。
由于上述获取的差值段中含有原有特征序列的统计规律,因而需通过对差值段中的数据嵌入秘密信息的方式来破坏差值段的规律。
而由于对差值段中的每个数据均嵌入秘密信息很容易被发现,因而需在差值段中选择部分差值来嵌入秘密信息,而要想将差值段中的统计规律更强的破坏,需将差值段中更多的差值插入秘密信息,因而下面基于此来确定差值段中可嵌入秘密信息差值。
1、确定差值段中的可嵌入秘密信息的差值:
(1)获取所有可行分割阈值:
获取差值段中各差值的绝对值,将差值段中所有差值的绝对值构成的数据段记为差值绝对值段,获取差值绝对值段中最大值的位数
和最小值的位数/>
,例如在差值绝对值段中的最大值为18,18的二进制数为10010,10010的位数为5,最小值为0,0的二进制数位0,0的位数为0,根据每个差值段的最小值的位数和最大值的位数构成第一区间为
,将处于第一区间/>
中各整数值作为可行分割阈值,得到多个可行分割阈值,将第i个可行分割阈值记为/>
。
(2)确定各可行分割阈值的编码位数:
在差值段中获取绝对值的位数小于等于可行分割阈值的数据构成的集合记为可行分割阈值的可行差值集合,获取可行差值集合中数据对应的所有带符号数据,将每个带符号数据对应一个符号编码,所有的带符号数据得到多个符号编码,将多个符号编码进行全部描述所需的数据位数作为可行分割阈值的编码位数。例如差值段为:8,-1,4,-2,0,1,-1,2,4,3,可行分割阈值为3,其中差值段中获取的绝对值的位数小于等于可行分割阈值3的数据有7个,分别为-1,-2,0,1,-1,2,3,数据-1,-2,0,1,-1,2,3构成的集合为可行差值集合,由于差值段中各数据没有考虑数据的符号,因而每个取值对应两种带符号数据,例如可行差值集合中3对应的两种带符号数据为-3,3,因而可行差值集合中数据对应的所有带符号数据分别为:-3,-2,-1,0,1,2,3七种情况,需要3位编码才能表示这7中带符号数据,将-3,-2,-1,0,1,2,3分别用符号编码000,001,010,011,100,101,111进行表示,因而利用可行分割阈值3得到的可行差值集合需要的编码位数为3,即可行分割阈值3的编码位数为3。同理通过该方式得到各可行分割阈值的编码位数。
(3)计算各可行分割阈值的嵌入位数:
其中,
表示第i个可行分割阈值的编码位数,/>
表示第i个可行分割阈值的可行差值集合中数据的个数,/>
表示在8位二进制数据去除编码位数后剩余的位数,为了防止破坏原有的数据,只能将秘密信息插入在剩余的位数上,/>
表示第i个可行分割阈值的嵌入位数,该值表示各差值段中能够嵌入的秘密信息的位数,该值越大,说明在差值段中嵌入的秘密信息个数越多,因而对差值段数据的规律破坏性越大。通过该方式得到各可行分割阈值的嵌入位数。
(4)获取差值段中可嵌入秘密信息的差值:
在所有可行分割阈值中获取嵌入位数最大的可行分割阈值作为每个差值段的最佳分割阈值,利用最佳分割阈值才能对各差值段嵌入更多的秘密信息,这样对差值段的保护越好,因而利用最佳分割阈值来确定差值段中的可嵌入秘密信息的差值,具体为:
利用最佳分割阈值对差值段进行处理得到最佳分割阈值的可行差值集合,将最佳分割阈值的可行差值集合作为各差值段的可嵌入秘密信息的差值集合,将可嵌入秘密信息的差值集合中各元素称为可嵌入秘密信息的差值。
2、对差值段进行秘密信息嵌入:
(1)生成秘密信息:其中秘密信息是用户和认证服务端共同约定的,其中秘密信息可以是当天认证信息的哈希散列,也可为其他约定的秘密信息序列。秘密信息序列用于认证服务端对用户终端发送的用户身份认证请求信息进行安全验证,因此,不需要在用户终端和认证服务端之间进行传输。
(2)在差值段中的没有嵌入秘密信息的差值插入标志数据:
由于差值段中只有一部分差值数据是需要嵌入秘密信息的,因而为了区分嵌入秘密信息的差值数据和没有嵌入秘密信息的差值数据,需在没有嵌入秘密信息的差值数据的首位插入标志数据得到没有嵌入秘密信息的差值的秘密差值。本实施例中设置标志数据为111,将标志数据插入在差值段中没有嵌入秘密信息的差值的前三位中,用于标识该差值数据没有嵌入秘密信息,例如差值段中差值29没有嵌入秘密信息,29对应的8位二进制编码为00011101,在数据29的二进制编码的前三位中插入标志数据111后的编码数据为11111101。
(3)在差值段中可嵌入秘密信息的差值中嵌入秘密信息:
根据上述步骤得到最佳分割阈值的可行差值集合对应的所有带符号数据,确定各带符号数据的符号编码,将差值段中可嵌入秘密信息的差值利用符号编码替换,例如最佳分割阈值的可行差值集合对应的所有带符号数据分别为:-3,-2,-1,0,1,2,3,该带符号数据对应的符号编码分别为000,001,010,011,100,101,111,将差值段中可嵌入秘密信息的差值利用对应的符号编码替换,例如差值段中的可嵌入秘密信息的差值-3利用符号编码000替换。
获取最佳分割阈值的编码位数
,将各可嵌入秘密信息的差值的8位二进制数中的8-B位中嵌入秘密信息得到可嵌入秘密信息的差值的秘密差值。
将秘密差值按对应差值在各差值段的位置排列得到秘密差值段。
3、进行置乱处理得到验证密文:
为了进一步保护验证身份信息需对数据进行进一步置乱处理,具体如下。
每个差值段对应一个特征段,每个秘密差值段对应一个差值段,将所有秘密差值段按各特征段在特征序列中的位置进行拼接得到秘密差值序列。
将秘密差值序列进行十进制转换得到秘密差值序列的十进制序列,将十进制序列采用混沌序列进行处理置乱处理得到验证密文。
将验证密文传输给认证端。
至此,得到验证密文,在确定验证密文时,通过对差值段中差值进行嵌入秘密信息来打破差值段的规律,在对差值段中差值嵌入秘密信息时,为了防止差值段中各差值均嵌入秘密信息容易被识破,在差值段中选取部分差值来进行秘密信息嵌入,同时为了使得尽可能大的破坏差值段的规律需在差值段中尽可能多的嵌入秘密信息,因而基于此来确定差值段中的可嵌入秘密信息的差值,得到差值段中可嵌入秘密信息的差值后,将差值段中的可嵌入秘密信息的差值进行嵌入秘密信息处理得到秘密差值段,根据秘密差值段进行拼接处理得到秘密差值序列,将秘密差值序列进行置乱处理得到验证密文。
步骤S004,根据验证密文进行身份验证。
用户在使用POS机时,根据上述方法生成对应的验证密文,将验证密文、每个特征段的最优阈值和每个差值段的最佳分割阈值发送到认证终端进行身份认证。
认证端利用与加密相反的操作方法对验证密文进行解密处理得到用户身份信息,计算用户身份信息与认证终端信息的余弦相似度作为匹配率,将匹配率与预设匹配率阈值P进行比较,当匹配率大于预设匹配率阈值时,将认为认证成功,可以进行相应的支付操作,当匹配率小于预设匹配率阈值时,将认为认证失败,说明POS机存在风险,将锁定设备,禁止实用,防止造成经济损失,本实施例中预设匹配率阈值P取0.9,其他实施例中实施者可根据实际设置。
一种用于POS机的防攻击系统包括数据采集模块、数据处理模块、传输模块,数据验证模块,其中数据采集模块用于采集用户身份信息数据,数据处理模块通过调用计算机程序实现一种用于POS机的防攻击方法得到验证密文,传输模块将验证密文传输给认证终端,认证终端将验证结论传输给POS机终端,将数据验证模块将验证密文进行解密处理得到用户信息,将用户信息进行验证匹配得到验证结论。
综上所述,本发明实施例提供了一种用于POS机的防攻击方法及系统,对采集的身份信息进行处理得到特征序列,通过分析特征序列的局部相似性对特征序列进行自适应划分得到多个特征段,通过该方式得到的每个特征段中数据差异较小,对每个特征段进行分析得到与特征段中每个数据最近的最优阈值,利用特征段中各特征值与最优阈值做差得到差值段,基于上述处理得到的差值段能够使得差值段中的各数据尽可能小,从而保障差值段中各数据能够腾出更多可用的位数,为后续在差值段中插入更多的秘密信息提供基础。
由于在差值段中每个差值上均插入秘密信息容易被识破,因而需在差值段中选择部分差值来插入秘密信息,而在差值段中插入更多的秘密信息才能更强的破坏原有的数据规律,因而基于此来确定最佳分割阈值,利用最佳分割阈值得到可潜入秘密信息的差值,然后对可嵌入秘密信息的差值进行插入秘密信息处理得到秘密差值段,通过该方式能够使得差值段中插入更多位的秘密信息,增加了数据的安全性。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。