Naming Structure: A B / \ /|\ C D M E F / \ |\ / \ G H I J K L Cert List (if you are using a model that doesn't allow you to have these certs, contact me ASAP so we can work something out ahead of time for your demo) Issuer Subject Policy Expiration/Duration = Long for all certs in this Level scenario A C 1 A C 2 C A 2 C G 2 C H 1 G C 2 H C 1 A D 2 D A 1 D I 3 D I 2 I D 1 >, A<>, C<> Q: Can G verify D's public key at a policy level of 2? A: typo again, these two were switched: Yes, G<>,C<>,A<> Q: Can K verify J's public key at (policy) level 2? A: No, no path found. (so there may be a path, but I can't find it). Q: Suppose M and D enter form a trust relationship. Through offline methods, they agree to trust each other at (policy) level 3. Generate these cross-certificates and add them to your model. (Two certs would be added to the above list: Issuer Subject Policy Level M D 3 D M 3 You do not need to show me this list, but the ability to show it would probably be a good de-bugging tool). Q: Now, can K verify J's public key at (policy) level 2? A: Yes, the path is: K<>, M<>,D<> Q: Can E verify J's public key at (policy) level 2? A: I can't find a path. Q: The path is: E<>, B<>, M<>, D<>. Is it verifiable. A: Yes, that is a valid path. Q: Why didn't you find the path? A: I used the algorithm discussed in class, and my search terminated before I got to node M (since it is not a direct ancestor of either E or J. Q: Revoke the (policy) level 2 cert A<>. Now see if you can find a level 2 path that D can use to verify G's public key. A: No path found. Q: Earlier you said that: D<>, A<>, C<> was a level 2 path. Can you verify this path. A: No, the cert A<> has been revoked. Q: Please allow me to/show me how to make a new copy of the cert A<>. Change the subject name (of the copy) to C. Now see if you can verify the above path (D<>, A<>, C<>, where A<> is now a forgery). A: Nope, signature doesn't match for A<>. Q: Let's try again, make a copy of A<>, and edit it so that the policy level is "2". Try to pass it off in the above chain. A: Nope, sig doesn't match Q: Now delete (revoke) the cross certs between D and M, add a new root node R, and issue the following certs: Issuer Subject Policy Level A R 2 R A 2 B R 3 R B 3 (This makes your name space look like this, maybe: R / \ / \ / \ / \ / \ A B / \ /|\ C D M E F / \ |\ / \ G H I J K L or maybe like this: A----R------B / \ /|\ C D M E F / \ |\ / \ G H I J K L I don't really care, but you either need to make your naming scheme flexible enough to add the root as in the top example (maybe some extra fields, or starting the trees I give you down a couple of levels), or make your search algorithm flexible enough (indirection, some kind of look up table at top nodes, etc) to find these links. In other words, I want R treated like an ancestor of A and B if your search algorithm is like the one we discussed in class. I'll ask some questions like the above to see if those links are found properly. Q: etc, etc, etc