2011-01-11 31 views
1

私は、コード署名証明書を購入するレベルまで成熟しているさまざまなプロジェクトがあります。コード署名証明書についての私の理解は、私のユーザベースと開発者(私)との間に信頼関係を確立することを意味します。そのためには、1つのコード署名証明書を購入し、すべてのプロジェクトに同じ証明書で署名することが理にかなっています。ただし、コード署名証明書の別の機能は、ユーザーベースをインストールする前に製品が改ざんされていないことを保証するために、展開の一部を暗号化することです。異なるデータ(この場合は複数のプロジェクト)で証明書(または暗号化方式)が使用される頻度が高いほど、安全性は低くなります(私は少し一般化しています)。コード署名証明書

だから、私の質問は:

私は1つのコードの展開ごとに証明書、または一つだけを取得し、それでそれらすべてに署名すべきか?

短い答えを(私はこれは少し主観的な問題であってもよいことも理解して、そのそのような場合、おそらく我々は、単に二つのオプションのための長所と短所を提供することができます。)

答えて

1

:あなたは、同じ証明書を使用することができますすべてのあなたのプロジェクトのために。

長い答え:

  • コード署名プロセスには暗号化はありません。デジタル署名は完全性(コードは改ざんされていません)と真正性(あなたは作者)ですが、機密性はありません(平文のままです)
  • 公開鍵暗号システムのセキュリティは、公開鍵から秘密鍵を見つける(計算的に言えば)。これは、多数の因子分解や離散対数のような複雑な数学的問題によって達成される。しかし、同じ鍵で作られた多数の署名は、この鍵を弱めてはいけません(例えば、証明機関やタイムスタンプ機関が毎日何千もの署名を同じ鍵で実行しています)。あなたは両側比較検討する必要があり
0

:すべてのコード/スクリプトのためのちょうど1つの証明書で

を、それは覚えておくとより簡単に対処するだけで1つのパスワードです。ただし、取り消す必要がある場合(セキュリティ上の理由から取り消しチェックを行います)、置き換えがどこにでも展開されるまで、コード/スクリプトは実行されません! (デプロイメントごとに1つずつ、サンドボックスを作成して、失効した人が他の人に働かなくするようにします)

関連する問題