コードサイニングではどうやって公開鍵を検証するのか

ひべさん  
(No.1)
PKIによるディジタル証明書では、ディジタル署名をCAの公開鍵で復合できたら、そのハッシュ値と送信者の公開鍵のハッシュ値を照合することで今度は送信者の公開鍵の正当性を検証しますよね。
コードサイニング証明書では、プログラムのハッシュ値に対する署名を検証する公開鍵の正当性はどうやって検証するのでしょうか?
2022.10.02 01:15
yskさん 
(No.2)
お疲れ様です

GMOのサイトの説明わかりやすかった。URL貼れないぽいので恐縮だけどページタイトルだけ共有。⇒「コードサイニング証明書とは?」 

ざっくりとだけど
プログラム等を配布する側で、①配布するコード、②コードサイニング証明書[暗号化]、③コードから得たハッシュ値[暗号化]、を送る。

検証側で、②コードサイニング証明書[暗号化]から送信者正規の公開鍵を取得。この公開鍵で③コードから得たハッシュ値[暗号化]を復号し、ハッシュ値を確認。★

①配布されたコードに対してハッシュ値を求め★と比較して検証。って感じみたい。

あとはコードサイニングの実例で目にすることが多いのが、WindowsOSの機能のMicrosoftSmartScreenって説明もあった。
2022.10.02 10:07
ひべさん  
(No.3)
yskさん、ご指南ありがとうございます。
GMOのページは下名も確認しました。
コードサイニング証明書から送信者の公開鍵を取り出す…というところですが、コードサイニング証明書は送信者が自分で作成(発行)するものなのでしょうか?
2022.10.02 12:17
yskさん 
(No.4)
実務経験ないので軽く調べた程度になりますが、

公開鍵の証明書を認証局が発行するのと同様に、発行の業務を行っている認証局に対して申請を行って審査を受けて、発行されるもののようです。

受取側ではコードサイニング証明書を受け取ったら、証明書は信頼できる認証局が発行したものなのか検証しますが、信頼できるルート証明機関として登録されている、もしくは登録されているルート証明機関配下の中間認証局なのであれば、「おっこいつは安全だぜ!」って判断するんじゃないですかね。ここは想像にはなりますけど。

お詳しい方いたらコメントお願いしますー。
2022.10.02 19:49
yskさん 
(No.5)
連投すいません。
コードサイニング証明書ってこの配布物は信頼できるぜって認証局がお墨付きを与えるもので、
「これ(配布側の公開鍵)で暗号化されたハッシュ値を復号して、比較検証してみな、ハッシュ値が一緒だったら送られてきたコードは安全だと俺(認証局)が保証するぜ」って感じで理解してます。

結局はデジタル署名の検証と同じ仕組みで対象物がコードなだけなのかなーと。
2022.10.02 20:01

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop