APP下载

网上信息比对的隐私保护

2016-03-14游永兴

网络安全技术与应用 2016年12期
关键词:发送给公钥比特

◆游永兴

(湖北警官学院 湖北 430034)

网上信息比对的隐私保护

◆游永兴

(湖北警官学院 湖北 430034)

网上信息的隐私保护是网络社会面临的威胁,安全计算融合了密码学和分布式计算技术,可以有效的解决参与方的输入信息的不必要泄露,利用HASH函数和门电路协同计算可以解决三种情形下信息比对的隐私保护。

安全计算;隐私保护;HASH函数;OT协议

0 引言

随着技术的进步和网络的普及,人们的隐私保护变得越来越困难,人们试图得到信息时自己的隐私常被多余的泄漏了,如何保护网购时信用卡号、消费习惯等不必要泄漏的信息是一个值得研究的问题,尤其是网络攻击的成本越来越低。网络面临着外部攻击和内部攻击的双重威胁,面对外部攻击的研究较多,内部攻击往往意味着合法用户的非法得利,特别是诈骗团伙往往要在内部人的协助下才能得到非法的利益,另外合法用户的权利滥用也是值得警惕的。

在网络的使用中,网上信息比对是一个经常需要进行的活动,常见的比如身份证号码、银行卡号、QQ账号等都需要在网上利用信息比对才能完成特定的活动,特别是密码和验证码的比对风险相当高,如何在网上信息比对中完成信息的比对时比对双方和第三方都不能够知道除了结果外多余的信息,最低要保证如果比对不一致的话双方不能知道对方的原始信息是什么。

1 安全计算的由来

1976年W.Diffel和M.Hellman在文[1]中提出了公钥密码的新概念,为密码学的研究开创了一个新的时代;1982年姚期智在文[2]中利用公钥密码设计出了可以实现安全两方计算的协议,其中提到了有名的百万富翁问题:

Alice和Bob是两个百万富翁,Alice有i百万美元,Bob有j百万美元,。两个人试图决定i和j的大小,但除了i和j的大小关系以外,不能让对方得到更多的信息。Alice有个公开的公钥加密函数,相应的私钥解密函数为。协议如下:

(1)Bob选择一个任意的N比特的整数x,并且保密的计算;

(2)Bob给Alice发送数值k-j+1;

(3)Alice保密的计算;

(4)Alice生成一个N/2比特长的素数p,计算对于所有的u(如果有两个模p之差小于等于2就重新生成新的p直到满足条件);

(5)Alice将这个素数p和下面的10个数发给Bob:,这些数都是模p的结果;

(6)Bob找其中的第j个数,如果它等于x模p的话i大于等于j,不然的i小于j;

(7)Bob告诉Alice他的结论。

通过协议的过程,Alice和Bob知道了两个人谁更富有,但是不知道对方到底有多少美元,这样就在比较的同时保护了双方的隐私。

可以看出,安全双方计算就是甲乙双方有两个输入信息x和y,通过协议双方计算f(x,y)的值(百万富翁问题就是f(x,y)等于x和y之间的大小关系),并且甲乙双方都没有办法知道另外一方的输入信息x和y,这样就可以很好的保护双方输入信息的隐私。

1981年Radin提出了不经意传输[3](Oblivious Transfer,下文中简称为OT协议):Alice有个信息,Bob通过一定的概率获得这个信息,但是Alice不知道Bob是否得到这个信息。将OT协议与门电路结合在一起可以得到加门和乘门的安全协同计算:

(1)加门的安全协同计算

步骤 1:Alice 对她的输入比特信息,找和,使得,将发送给 Bob。Bob 做同样的操作,对它的输入信息比特,找和,使得,将发送给 Alice;

步骤 2:Alice 计算,Bob 计算;

步骤 3:Alice 和 Bob 将第二步中计算出的结果发送给第三方。

输出:第三方计算出,也可以将结果告诉Alice和Bob。

(2)乘门的安全协同计算

步骤 1:Alice 对她的输入比特信息,找和,使得,将发送给 Bob。Bob 做同样的操作,对它的输入信息比特,找和,使得,将发送给 Alice;

步骤 2:Alice和Bob利用OT协议,Alice作为发送者拥有信息和,Bob有一个选择,协议输入为Bob得到;

步骤 3:Alice 和 Bob利用OT协议,Alice作为发送者拥有信息和,Bob有一个选择,协议输入为Bob得到;

步骤 4:Alice计算,Bob计算,将和发送给第三方。

输出:第三方计算出,也可以将结果告诉Alice和Bob。

非门同样可以进行安全协同计算,但由于非门从输出可以看出输入的特点,没有办法保护原始信息的隐私,而且非门通常在门电路中使用很少,对于隐私保护没有明显的影响。

2 可保护隐私的网上信息比对

对于网上信息比对而言,有三种情形可以利用上面的方法解决隐私保护:

第一种是两个信息只需比对前面一位或者少数几个位置比特值的大小,利用百万富翁协议就行了,比如比对五个比特位的大小只需将前面的百万富翁协议中计算10个数字改为计算32个数字,然后执行协议就够了。

第二种是两个信息需要知道是否完全一致,比如Alice有个信息,Bob有个信息,双方想知道对方的信息是否和自己一致,可以利用Hash函数的单向性进行设计。

设Alice有公开的公钥加密函数和对应的私钥解密函数,Bob有公开的公钥加密函数和对应的私钥解密函数,双方通过公开渠道协商了Hash函数。Alice有信息,Bob有信息,协议如下:

(1)Alice计算;

(2)Alice将发送给Bob;

(3)Bob计算与自己的比较,将相等或者不相等的结论发送给Alice。

协议完成之后,如果与相等则协议完成了它的任务;如果与不相等,由于Hash的单向性,对方也无法知道自己的信息,从而在完成比较的同时没有泄露更多的信息。

第三种双方知道信息想知道是否只是相差很少几个比特,可以利用门电路的安全协同计算进行比较。如果Alice拥有信息,Bob拥有信息,Alice和Bob利用门电路的安全协同计算的值。双方将只有几个比特位为非0的Hash值列表后和的值进行比较,就可以知道双方信息是否相差几个比特甚至是哪几个比特,但是如果的值不在预先计算的表中,双方也无法知道对方的信息,从而保护了信息的隐私。

3 结束语

由于安全协同计算的特点,协议执行后可以很好保护信息比对参与方的隐私,随着社会的发展信息比对的形式和要求越来越新,比如信息比对中需要知道两个信息相似程度时的隐私保护、网上信息比对对参与方的主动参与程度等等都是未来值得进一步研究的方向。

[1]W.Diffle and M.Hellman,New Directions in Cryptograghy[J],IEEE Trans Inform Theory,1976.

[2]Yao A C,Protocols for Secure Computations[C],In Proceedings of 23th Annual IEEE Symposium on Foundations o f Computer Science,1982.

[3]M.O.Radin,How to Exchange Secrets by Oblivious Tr ansfer[R],Tech Memo TR-81,Aiken Computation Laborat-or y,1981.

湖北省教育厅科研项目《安全计算及其应用》(编号B2015071)。

猜你喜欢

发送给公钥比特
【微信小课堂】:如何向好友发送语音
一种基于混沌的公钥加密方案
神奇的公钥密码
比特币还能投资吗
比特币分裂
P2X7 receptor antagonism in amyotrophic lateral sclerosis
你说我说大家说
比特币一年涨135%重回5530元
公告
SM2椭圆曲线公钥密码算法综述