Until recently, I thought SPKI Certificates were only suitable for distributed user authorisation.

Quick recap: I sign an authority certificate, to be used on my system and delegate it to a friend (creating a certificate chain), allowing my friend remote access to my computer, because my computer recognises my certificate, it's sort of like me being the Certificate Authority for my own domain. I can also allow my friend to delegate certain authorisations to his friends (by signing their cert) and so on. (I cannot limit the level of delegatation, an authority certificate can either be delegated or not).

Well what if a jar file can be signed by someone whom I've delegated an authority certificate for DownloadPermission?

My computer doesn't even need to know who the other person is who's signed the jar file, all it needs is my authority certificate.

Does this let the Geenie out of the bottle? Not if I sign with a secondary certificate I use for delegation, since I can revoke that certificate locally, then all the people whom I've delegated the permission can no longer take advantage of it (except for those whose classes have been already loaded).

The authority certificates I generate are only useful in my domain.

This allows administrators and their dominions to remain separate, yet remain able to determine authorisation.

Rather simple isn't it?

The added benefit is that a ClassLoader loaded using signed jar files will be more secure as it prevents the loading of unsigned jar files into that class loader by a potential attacker.

Interestingly, if my friend grants me DownloadPermission, I can create a service with a smart proxy and my friend can use it to log into my system using authorisation certificates I've granted to access my domain.

SPKI certificates can also be given short expiry periods, issued daily or weekly by an administrator to whom I've delegated authority.

Peter.








Reply via email to