实施DUKPT密钥管理

时间:2010-02-18 07:30:12

标签: .net security

我目前正在寻求实施DUKPT(每个交易的衍生唯一密钥),并且对如何成功实施它感到迷茫。有没有人知道那里的分步指南/现有实现,或者有关客户端 - 服务器应用程序中实际解决方案实现的更多信息?

DUKPT简介:

  

在密码学中,派生唯一密钥   每笔交易(DUKPT)是一个关键   管理计划,每个人   事务,使用唯一键   它来自固定密钥。   因此,如果派生密钥是   妥协,未来和过去   交易数据仍受保护   因为下一个或前一个键不能   容易确定。 DUKPT已指定   在ANSI X9.24第1部分中。

     

DUKPT允许处理   加密要远离   拥有共享密钥的设备。   加密是通过派生完成的   密钥,后面没有重复使用   交易。 DUKPT用于加密   电子商务交易。   虽然它可以用来保护   两家公司之间的信息或   银行,它通常用于加密   获取的PIN信息   销售点(POS)设备。 DUKPT是   本身并不是加密标准;   相反,它是一个关键的管理   技术。 DUKPT的功能   方案是:

     
      
  • 使原始方和接收方均达成一致   至于用于给定的密钥   交易,
  •   
  • 每笔交易都有一个与其他交易不同的钥匙   交易,除了巧合,
  •   
  • 如果当前密钥被泄露,过去和将来的密钥(以及之后的密钥)   交易数据加密   他们保持不妥协,
  •   
  • 每个设备生成不同的密钥序列
  •   
  • 加密消息的发起者和接收者不必   执行交互式密钥协议   协议事先。
  •   

3 个答案:

答案 0 :(得分:3)

我最近经历了同样的痛苦,导致了这个iOS DUKPT实现。

https://github.com/mburshteyn1/DUKPT

答案 1 :(得分:1)

这是一个有趣的协议,它也是异国情调。 Jpos项目有DUKPT java code。我认为最好的起点是已经有效的实施。

如果您正在实施真实世界系统,Kerberos可能更适合您的需求。

答案 2 :(得分:0)

DUKPT在ANSI X9.24规范中有解释,包括可以用任何语言实现的非常简单的伪代码。