2013-06-15 3 views
2

MK에서 파생 될 수있는 마스터 키 (MK)와 파생 키 (DK)가있는 "계층 적"암호화 체계가 필요합니다. 예.계층 적 암호화 체계

  • MK => DK1
  • MK => DK2
  • MK => DK3.

낯선 DK1, DK2 DK3 또는 일부 메시지를 암호화 할 수 있으며, 이러한 메시지는 DK1, DK2 또는 (및?) DK3를 사용하여 복호화 될 수있다. 또한 MK를 사용하여 메시지를 해독하려고합니다. 가능합니까? 믿을만한가요? 나는 구름에 머리가 있니?

감사 M.

답변

1

부분적인 해결책. 마스터 키인 MK를 소유하고 비밀로 유지하십시오. 키 유도 함수 (KDF)로 입력의 일환으로 해당 마스터 키를 사용 : 당신이 필요한만큼 파생 키를 생성 할 수

KDF(MK, "DK1") => DK1 
KDF(MK, "DK2") => DK2 
etc. 

, 다른 입력 각.

DK를 MK에게 말하지 않고 다른 사람들에게 전할 수 있습니다. 그들은 자신의 DK를 사용하여 암호화하고 해독 할 수 있습니다. MK가 있고 사용했던 다른 정보가 무엇인지 알기 때문에 원할 때마다 DK를 다시 만들 수 있습니다.

MK를 사용하여 메시지를 직접 해독 할 수는 없지만 많은 것을 저장하지 않고 저장할 수있는 비밀 키는 하나뿐입니다. 언제든지 다시 만들 수 있기 때문에 안전하게 사용하면 DK를 안전하게 삭제할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나, 얼마나 많은 DK가 있는지 전혀 알지 못하기 때문에, 이것은 트릭을하지 않습니다. 메시지를 해독 할 수 있는지 확인하기 위해 가능한 모든 DKn을 생성해야합니다. 이는 무한합니다. –

+0

그런 다음 사용자 이름을 사용하여 'KDF (MK, username1) => DK1' 키를 얻습니다. 사용자 이름은 들어오는 메시지 "From : [email protected]"의 일부이거나 메시지의 일부로 포함되도록 요구할 수 있습니다. – rossum

+0

감사합니다. –