实施DUKPT密钥管理

Kyl*_*ndo 5 .net security

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

DUKPT简介:

在密码术中,每个事务的派生唯一密钥(DUKPT)是密钥管理方案,其中对于每个事务,使用从固定密钥导出的唯一密钥.因此,如果导出的密钥被泄露,则未来和过去的交易数据仍然受到保护,因为不能容易地确定下一个或先前的密钥.DUKPT在ANSI X9.24第1部分中指定.

DUKPT允许将加密处理从具有共享密钥的设备移开.加密是使用派生密钥完成的,在事务之后不会重复使用.DUKPT用于加密电子商务交易.虽然它可用于保护两家公司或银行之间的信息,但它通常用于加密销售点(POS)设备获取的PIN信息.DUKPT本身不是加密标准; 相反,它是一种关键的管理技术.DUKPT方案的特点是:

  • 使发起方和接收方能够就用于给定事务的密钥达成一致,
  • 每笔交易都有一个与所有其他交易不同的关键,​​除非巧合,
  • 如果当前密钥被泄露,过去和将来的密钥(以及因此加密的事务数据)仍然不妥协,
  • 每个设备生成不同的密钥序列,
  • 加密消息的发起者和接收者不必事先执行交互式密钥协商协议.

roo*_*ook 1

这是一个有趣的协议,也很奇特。Jpos 项目有 DUKPT 的工作java 代码。我认为最好的起点是已经有效的实施。

如果您正在实施一个现实世界的系统,也许Kerberos会更适合您的需求。