4

The figure below shows four simple hierarchical PKIs. A, R, H and N are trust anchors of their PKI.

enter image description here

  1. I am supposed to add exactly one certificate so that T trusts G, but not D. Furthermore R must not trust P. First I thought to let C certify G, but the solution proposes a certificate of C for P.

    If C certifies P, there exists a path from R to P. P becomes a child of R. Therefore R should trust P. But why is that not the case?

  2. Another certificate is searched in order that D trusts J and L, but not K. Furthermore N must not trust B.

    When introducing a certificate from D to B, D will trust J and L but not K. The same moment trust from N to J and L arises (because there is a certification path). So how can this task be solved?

null
  • 535
  • 2
  • 14

2 Answers2

1

I have a feeling this is really a graph theory puzzle. -- I kinda like those. -- But this is very different from a real live PKI implementation.

Anyway: here's what you could do in a real live PKI:

  1. I am supposed to add exactly one certificate so that T trusts G, but not D.

Add G to T's list of trusted sites.

Another certificate is searched in order that D trusts J and L, but not K

Add J and L (or just B) to T's list of trusted site.

StackzOfZtuff
  • 18,093
  • 1
  • 52
  • 86
  • 1
    +1 I guess the question is: does this homework problem have the concept of local OS trust stores? – Mike Ounsworth Aug 12 '15 at 11:47
  • Yeah, but I'm not even certain what the question is here. R is a Root-CA. R has signed C. C has signed T. I understand that part. But who does T trust? And why? What's in T's trust store at the beginning of this? Just "R"? Both "C" and "R"? I don't get it. – StackzOfZtuff Aug 12 '15 at 14:05
0

If I understand corretly, the "leaf" entities are end entity certificates, that trust only their own PKI trust anchor, but need to communicate with end entities of other PKIs without changing their trust anchor settings. Therefore, using only cross certification.

I am supposed to add exactly one certificate so that T trusts G, but not D. Furthermore R must not trust P.

In other words, T must consider G valid, but not D. R must also not consider P valid (that part is a little bit strange, but I understand that R trusts itself only).

First I thought to let C certify G, but the solution proposes a certificate of C for P.

If C certies G, it would generate a G´ (a different certificate for the same entity). If C certifies P, it would generate a P' that still would be able to validate G. G, trusting C, would trust P'.

If C certifies P, there exists a path from R to P. P becomes a child of R. Therefore R should trust P. But why is that not the case?

P is not a child of C or R, but P'. Therefore, R does not trust P (neither G or C). R also will trust G, if you are wondering.

Another certificate is searched in order that D trusts J and L, but not K. Furthermore N must not trust B.

When introducing a certificate from D to B, D will trust J and L but not K. The same moment trust from N to J and L arises (because there is a certification path). So how can this task be solved?

Since that looks like homework, I´ll let this one to you to solve, since with the expanation of the other item its seem easier to understand this one.

CristianTM
  • 2,580
  • 19
  • 21