设为首页收藏本站

爱吱声

 找回密码
 注册
搜索
查看: 284|回复: 0
打印 上一主题 下一主题

[科普知识] 消失的私钥:一场被数学逻辑困死的选举

[复制链接]
  • TA的每日心情
    开心
    2020-4-8 10:45
  • 签到天数: 227 天

    [LV.7]分神

    跳转到指定楼层
    楼主
     楼主| 发表于 2025-12-2 13:37:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 xiejin77 于 2025-12-2 13:39 编辑
    1 N9 b9 T& g, x0 M
    . _; G3 F% K! c) G消失的私钥:一场被数学逻辑困死的选举' Q! K- B1 \  H# }' L/ y2 x
    * m+ G; C6 ]5 K! ~% J8 C6 H; k
    偶然之间看到了一条新闻,却忍不住刨根问底的溯源了一下;也许是因为我之前研究了好久基于隐私计算的电子投票系统的缘故,所以对这个领域有点敏感。
    % l: Y& |% p; p2 @0 X$ Z
    . S$ W% P3 L5 T* y% u6 h% i
    ! e4 `! N( m1 \2025年11月,全球密码学界的顶流圈子——国际密码学研究协会(IACR),突然炸锅了。. W) F, A" D) f! b2 V) ]
    7 ^/ T- \- J; g0 Y6 }# |

    1 w, W2 j7 P5 T7 X这可不是普通的学术机构,这里汇聚了设计全球银行安全、互联网加密协议的大脑,堪称密码学界的“梵蒂冈”。但在年度理事会选举的关键时刻,负责守护选举机密的三位受托人之一,顶级密码学家 Moti Yung,遇上了一个极为尴尬的麻烦:他弄丢了私钥分片。+ D" a* E( W/ ~" p6 A4 W  g0 r$ F

    2 ^  R) ]5 l: c% t1 A& d; M1 Z+ T2 V! i, C. z! L; T! f/ n
    不仅仅是丢了钥匙那么简单。在严丝合缝的密码学逻辑里,肯定不是找个锁匠就能解决的问题。这意味着所有的选票都被锁死在了一个数学黑洞里。并没有黑客入侵,也没有内鬼篡改,仅仅因为缺少了那几百个比特的数据,这场选举的最终计票结果,在数学上被永久锁定,变成了一堆乱码。6 K/ R+ Y% _: P; p0 @% t( S

    3 O2 X3 H. C: u  O! k/ s; h) @0 H/ z" Z
    IACR 随即宣布选举无效,并启动了更为稳健的重选程序。这一看似荒诞的结局,虽然没让数据泄露,却以一种极端的方式通过了“安全性测试”——即在密钥缺失的情况下,连上帝都无法恢复数据。但这无疑是一次彻底的失败。它暴露了电子投票系统设计中,那个深藏已久的矛盾,一个在极致隐私与系统鲁棒性之间无法调和的:可用性与隐私的博弈。
    # f" b, G- A2 Y0 h) K
    6 a$ d" ?2 G' v. X3 R) S* t4 A' o6 z0 [2 J0 g- k5 A7 B. q' P' A
    这次闯祸的系统,名叫 Helios。
    - u( ], @) u* r1 V+ S5 b, Y7 ]0 t9 D' v; T
    2008年,Ben Adida 发布了这个基于 Web 的开放审计投票系统。他的初衷,是为了解决电子投票那个看似无解的死结:既要选票机密,又要全程可查。: p# ]0 A% H+ H% C, z
    Helios 的逻辑很硬核,它把复杂的密码学原语封装在了浏览器里。它采用了一种叫做“指数 ElGamal”的同态加密技术。简单说,就是你的选票在飞出电脑前就已经被加密成了一串乱码,但在服务器端,这些乱码可以直接进行加减运算,算出总票数,而无需解开每一张具体的选票。为了证明系统里的 JavaScript 没耍花招,Helios 甚至引入了 Benaloh 挑战。 8 H0 Q, }; t! y5 M: z- h
    2 k; t  A( m( P7 }  v; J
    这就像是一场魔术表演。选民在点击“投票”前,系统会问你:“你是想真投这张票,还是想查查它?”如果你选择“查”,系统就必须公布加密使用的随机数,让你去验证;如果你选择“投”,这张票才会被送进票箱。这种机制迫使被恶意篡改的浏览器面临极高的暴露风险,因为恶意代码无法预知选民是否会突然发起审计。, E  T7 `; V( J2 n7 h" C3 k

    2 ^8 ^. z0 a5 Q$ C0 Z3 O$ F; B2 ]# d但 IACR 这一回,不是栽在代码上,而是栽在了密钥管理的模式上。为了防止内部腐败,他们采用了一种“全有或全无”的策略。三名受托人,每人手里握着一把钥匙碎片。按照算法设定,必须三把钥匙同时插入,才能解开最终的选票箱。这就是密码学里著名的:3-out-of-3 方案。8 O3 E1 q" L, }8 P1 ]+ s% ^9 P( l0 o

    6 q! P; w8 g( \5 C" d- l1 k这种设计,防住了受托人之间的合谋。只要有一人是正义的,或者只要有一人不同意,明文就不会泄露。这本来是为了追求极致的隐私保护。但 Moti Yung 的失误,直接触发了该架构的死穴:单点故障容忍度为零。当私钥分片 SK_Moti 消失在数字虚空中,解密方程式缺了关键的一项。整个系统瞬间从“绝对安全”变成了“绝对瘫痪”。3 n6 t9 G. d$ h4 T/ R
    " p) P  g( Y* M
    面对死锁,IACR 做出了唯一符合极客精神的决定:作废重来。为了确保定于11月21日的第二轮选举不再翻车,他们不得不调整策略,引入了冗余机制。原本脆弱的 3-out-of-3,被改成了容错率更高的:2-out-of-3。# @# r) T: L3 \1 y

    % D7 H" W  U4 {% D. y! m6 @1 ?: |( X这意味着,三个人里只要有两个人凑齐,就能解密结果。这种“容许一人掉队”的机制,看起来只是改了个数字,但在工程实现上却是天壤之别。为了实现这个看似简单的改动,他们必须引入一种更为复杂的分布式密钥生成技术:Pedersen DKG。
    $ {/ Y4 S" f* `8 R! p3 V
    . |9 F; T# t  F0 h. o9 Z6 y以前,大家各自生成密钥乘起来就行;现在,必须让受托人在不知晓彼此秘密的情况下,共同构建一个共享的秘密。从“必须全员到齐”的简单粗暴,到“门限容错”的复杂精妙,IACR 用一次惨痛的教训,彰显了系统的鲁棒性有多重要。) n* X" X- {. y: o
    , ?9 N. P/ d8 Q1 i& n& U; K1 V
    如果说 IACR 的事故是“刚性折断”,那么瑞士邮政遇到的麻烦,则是更阴暗的“柔性操纵”。
    " F! Z/ Z1 v7 U  t( z) f6 N
    & @7 z) `* K. i. d9 Z1 a" \0 `6 B7 @% V为了更全面地理解电子投票的江湖,我们得看看 IACR 的反面教材。2025年的这场事故,好歹是“死”得明明白白;而2019年瑞士邮政(Swiss Post)的系统,差点“死”得不明不白。这个系统由 Scytl 公司开发,采用了一种叫做 Bayer-Groth 的混淆证明技术。理论上,这套技术通过零知识证明,向公众展示选票洗牌过程是诚实的,既没有丢票,也没有改票。但在代码深处,LPT 研究团队发现了一个惊天漏洞。
    + k6 z+ O) H! v! P
    8 v7 m) c2 z4 q, L; B2 r) H' M3 s在密码学的承诺方案里,公共参数 g 和 h 之间的关系本该是未知的,就像两个毫无关联的平行宇宙。但 Scytl 的代码,允许服务器自己生成这两个参数。这意味着,服务器悄悄掌握了 g 和 h 之间的那把暗门钥匙,也就是传说中的:陷门(Trapdoor)
    . y- m( w/ R% i9 Q. t- ~% i# Y. T# u' ]4 @, g2 v
    一旦掌握了陷门,原本用来“绑定”承诺的数学公式就失效了。这就像是赌场里的荷官,手里拿的不是普通扑克,而是自己印的魔术牌。恶意服务器可以随意篡改选票——把“是”改成“否”,然后伪造出一个完美的零知识证明。更鸡贼的是,这一切在验证脚本看来,都是合法的。所有的数学等式都能配平,所有的绿灯都会亮起。# |. M$ w7 S4 w/ ?- W. Z5 C* G

    6 m% w! S" T" k# X除了这个陷门,研究人员还发现了 Fiat-Shamir 变换中的漏洞。Fiat-Shamir 本来是把交互式证明变成非交互式的工具,但如果哈希函数的输入参数没给全,攻击者就能通过操控挑战值,凭空捏造出证明。IACR 的 Helios 系统崩了,大家都看得到,那是“明伤”,是可用性故障;瑞士邮政的系统如果有问题,那是不可检测的“内伤”,是完整性崩塌。一个是由于过于死板而被锁死,一个是由于过于灵活而被篡改。相比之下,IACR 那种“宁可玉碎,不为瓦全”的死锁,反而显得更有底线。
    4 e: F. t! o: L3 A/ e
    1 U4 t- [+ c; X' n5 W/ jHelios 虽然经典,但也并非无懈可击。它最大的软肋,是难以防止服务器往公告板里注水,伪造选票。毕竟,只要选票符合加密格式,服务器就能把它塞进票箱。如果服务器手里有选民名单,它完全可以替那些没投票的人投上一票。法国 Inria 的团队看不下去了,他们搞出了一个强化版,名叫:Belenios。
    ; @1 W" Y" f# T
    1 K* [/ @# u/ s( _% W+ k$ UBelenios 引入了一个独立的凭证机构(CA)。这就像是给每张选票加了一个防伪水印。选民投票前,必须先从 CA 那里拿到一个私密的凭证(Credential)。选票必须经过凭证签名,服务器才能接收。只要 CA 和服务器不穿一条裤子,选票填充攻击就没戏。这种分权制衡的设计,才是电子投票的精髓。
    & z+ \7 Y# q; l4 b4 @! z8 D
    ( `# P) |" R. y) M( N更重要的是,针对 IACR 这次踩的坑,Belenios 在设计之初就集成了标准化的门限解密功能。它提供了一套完整的密钥仪式工具,手把手教受托人怎么搞分布式密钥生成。如果 IACR 用的是这套系统,Moti Yung 的失误可能也就是弹个警告窗的事儿,根本不用惊动整个理事会。6 u1 c1 X# E3 o) k/ P' t/ [& Q
    0 N) c1 w2 z0 s/ l: d' j$ i
    但即使是 Belenios,也还在解决更深层的问题。比如“抗胁迫性”。 " J1 ?6 Z0 ?! j  X* J+ w: X0 Q

    / t0 _1 o* B5 t7 w  Y" U1 d4 m如果老板站在你身后,盯着你在浏览器上投票,你敢不敢发起审计?
    ; N, F/ t! m7 N$ k* ]
    / v' n# v& C$ |- [Helios 和 Belenios 在这种场景下都很无力。还有更远的威胁——量子计算。目前的系统多基于 ElGamal 加密,依赖离散对数难题。一旦量子计算机成熟,或者受托人的私钥在未来某天泄露,今天的每一张加密选票,都会变成明文。这就是所谓的:永久性隐私(Everlasting Privacy)。) p6 i5 Z$ z8 W; B# ]' s
    . X# c' ^7 i, d0 q! [
    为了对抗未来,学术界已经开始研究基于格密码的后量子投票系统。但这目前还停留在论文里。其实,电子投票这一行,最怕的不是数学题太难,而是人性太不可控。Ronald Rivest 早就提出过“软件独立性”原则。一个理想的投票系统,不能把宝全压在软件不出错上。Helios 通过端到端可验证性,解决了一部分信任问题。
    " @0 q$ k6 {+ R, N& d
    4 b" N6 l/ d# n4 g6 V; L1 I但 2025 年的这场闹剧提醒我们:没有密钥,就没有数据。
    : c$ c# t3 d4 \
    ! a0 o2 m$ @) z3 L8 }9 Q6 ]# m4 e未来的电子投票,除了要在抗量子计算和永久性隐私上继续卷,更要在工程实践上学会妥协。数学公式是冰冷的,它不懂什么叫“手滑”,也不懂什么叫“操作失误”。IACR 的这次翻车,给全球的电子投票设计者上了一课:让中国稀土占领市场的,是商人们的勤奋;而让电子投票系统真正落地的,只能是对人性弱点的包容与妥协。9 C4 \" ~. G1 [, V: R% T

    - a# g9 x6 k3 L5 `4 R. ^6 T# q7 Y7 U3 s- L9 v0 U; t

    评分

    参与人数 2爱元 +14 收起 理由
    mezhan + 10
    唐家山 + 4

    查看全部评分

    手机版|小黑屋|Archiver|网站错误报告|爱吱声   

    GMT+8, 2026-1-19 05:44 , Processed in 0.033238 second(s), 20 queries , Gzip On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表