对于间歇性孤立的ad-hocnetworking的证书吊销的考虑

我正在尝试为我正在devise的解决scheme(即将根据客户请求使用Dogtag PKI)来决定证书撤销策略。 显而易见的select似乎是使用CRL或使用OCSP。 我试图理解两者的实际意义,并select一个可以支持这个特定的解决scheme。

我认为这里主要的问题是,虽然客户偶尔可以通过networking访问PKI基础设施,但他们也需要在隔离的LAN容量下运行。 在这个用例中,两个客户端需要能够直接相互authentication(包括由中央机构进行的证书撤销检查),而不需要访问例如OCSP响应者。

  • 这些解决scheme之一(CRL / OCSP)是否适合caching/脱机操作?
  • 将CRL定性为黑名单并将OCSP定义为白名单是正确的(可以在本地caching,也许是已知对端的碎片)?
  • 我问错了吗? (另一个合适的解决scheme,也许,或另一个angular度来解决这个问题?)

对于同一个端点,OCSP实际上只是一个不同的方法:检查某个证书是否被吊销。 两者都可以被视为黑名单; 使用CRL,客户端将抓取整个列表并检查单个证书本身,而OCSP则发送请求以获取单个证书上的状态,而无需下载完整列表。

顾名思义,OSCP就是一个在线协议; 它不适合caching。 使用CRL将是离线操作的途径; 因为它们可以变得很大,并且需要频繁地进行检查,所以大多数操作系统将会保留最近使用的CRL的caching(当然取决于正在使用的应用程序),这对于你所使用的应用程序来说是非常合适的。重新寻找。 除此之外,请使用任何必要的方法将CRL文件发送到客户端,并将根证书列表提供给可在本地访问的CDP。

但是,有一定的缺点。 很显然,caching带来的风险是允许使用过时的CRL撤消证书,或者在另一端,在CRL过期时触发错误的时间,并且在重新连接到networking之前将caching的CRL丢弃。 此外,请确保根证书没有列出增量CRL; 这将通过每次检查需要当前的短期增量副本来显着缩短高速caching的有效生存期。

CRL的寿命将是最大的devise考虑因素; 您需要平衡客户在任何时候都有工作副本的需求,以及保证被吊销的证书不再被信任的延迟是可以容忍的。