none
コード署名だけでも運用可能ですか? RRS feed

  • 質問

  • Windows8にて、デバイスのドライバを作成しています。
    自己署名にて開発テストは可能ですが、実際に製品としてリリースする際に、
    CA発行の証明書で署名すること以外になにが必要かよくわかっていません。
    WHQLは通さずに、デジタル署名済みのドライバを配布する方針を検討しています。

    下記参照しまして、CA発行の証明書で署名すれば良いと分かりましたが、
    それ以外に何か手続きなどは必要でしょうか?
    WHQLに関わらないようであれば、Microsoft社への届け出なども不要でしょうか?


    ドライバーのデジタル署名の基礎

    http://blogs.msdn.com/b/jpwdkblog/archive/2011/08/29/10201505.aspx

    Authenticode 署名(自己署名)

    root 証明を行っている証明機関が発行した証明書を使用して、ドライバーの作成者ごとに署名

    ・第三者証明機関に証明書の発行依頼が必要

    ・ドライバーの作成者ごとに、カタログ ファイルを生成して署名

    Windows Server   2003 以降の Windows OS で対応。(Windows XP では Authenticode 署名は有効な署名として機能しません)

    Acquire a Code Signing   Certificate

    http://technet.microsoft.com/ja-jp/library/cc732597.aspx

    Purchase a code signing certificate from a   commercial certificate vendor

    You can purchase   a certificate from any of the vendors listed at "Root Certificate   Program Member List" at http://go.microsoft.com/fwlink/?LinkId=59547.

    You should   purchase a certificate from a commercial certification authority (CA) when   you want signatures created with the certificate to be usable outside of your   organization. Certificates from the CAs listed are automatically recognized   as valid (but not necessarily trusted) by any Windows-based computer because   a copy of those CAs are in the Trusted Root Certification Authorities store   on each computer.

    If you only need   to use the certificate within the bounds of your organizational network, and   do not need to have the certificate recognized by those outside of your   organization, you might consider using Certificate Services or the MakeCert   program instead, because they do not require a purchase from a CA.

          
       

       

    商用証明書ベンダーからコード署名証明書を購入

       

       

    位置は「ルート証明書プログラムメンバーリスト」に掲載されているベンダーのいずれかから証明書を購入することができますhttp://go.microsoft.com/fwlink/?LinkId=59547

       

       

    あなたの組織の外でも使える証明書を使用して作成された署名が必要なときは、商用の証明機関(CA)から証明書を購入する必要があります。これらのCAのコピーが各コンピュータ上で信頼されたルート証明機関ストアにあるため、記載されているCAから証明書が自動的に任意のWindowsベースのコンピュータで有効な(必ずしも信頼されていない)として認識されている。

       

       

    あなただけの組織のネットワークの境界内に証明書を使用する必要があり、証明書は、組織のそれらの外で認識されている必要はありません場合は、彼らが必要としないため、代わりに、証明書サービスやMakeCertをプログラムを使用して検討するかもしれないCAから購入している。

       

       

    2014年1月9日 6:36

回答

  • (その昔WHQLと呼んでた)Windowsハードウェア認定を取得しないのであれば、証明書の購入者の責任において、署名付ドライバを自由に製品として配布することが可能です。マイクロソフト社への届け出は不要です。

    まったくの余談ですが、一昔前までやWindows XP以前のOS用では、署名無しドライバが製品として自由に配布されていたことがありました。

    • 回答の候補に設定 星 睦美 2014年1月14日 2:26
    • 回答としてマーク nini on DP 2014年1月15日 1:08
    2014年1月10日 17:39
    モデレータ

すべての返信

  • (その昔WHQLと呼んでた)Windowsハードウェア認定を取得しないのであれば、証明書の購入者の責任において、署名付ドライバを自由に製品として配布することが可能です。マイクロソフト社への届け出は不要です。

    まったくの余談ですが、一昔前までやWindows XP以前のOS用では、署名無しドライバが製品として自由に配布されていたことがありました。

    • 回答の候補に設定 星 睦美 2014年1月14日 2:26
    • 回答としてマーク nini on DP 2014年1月15日 1:08
    2014年1月10日 17:39
    モデレータ
  • さて、某社のコード証明書を購入するべく手続きを行っているのですが、
    早速、何を選択すれば良いのか分からず困っています。
    それぞれの用途や違いなどが解説されているサイトがあれば教えて頂きたいです。


    Advanced Private Key Options
    CSP
    1)Microsoft Base Cryptographic Provider v1.0
    2)Microsoft Base Smart Card Crypto Provider
    3)Microsoft Enhanced Cryptographic Provider v1.0
    4)Microsoft Strong Cryptographic Provider

    Key Size
    A)1024
    B)2048
    C)4096

    無知ですみません。。
    誰に聞けば良いのかも不明なので、そのような状態ということを加味して、教えて頂きたいです。。
    2014年2月5日 8:34
  • たぶんこのままだと誰も回答しないと思われますので、多少なりとも参考になればと思い私の経験や意見を書いてみます。

    1.昔のコード証明書にはそんなに種類が無く、各社とも一種類だけでした。

    2.目的が★正しい★コード署名をすることだけだったので、入手できる証明書の中で一番安くて確実かつ簡単に入手できるものを選んでいました。署名自体の機能には提供メーカや証明書の入手価格が異なっても何も変わらないからです。ただし最近の状況は知りません。

    3.証明書は1年間で期限が切れるので、翌年には(何らかのより良い条件が出てきた場合)別の会社に乗り換えることもしていました。

    4.一時期、署名で使う某社のタイムスタンプサーバーの利用に関して回数制限があるという噂がありましたが、幸いにその時にその会社の証明書を使用していなかったので詳細は知りませんし、経験していません。しかしあえて付け加えれば、採用予定の某社の証明書を用いて署名する際に、その様な回数等の制限が無いことを確認された方が良いかと思います。

    5.結局のところは、ご質問のKey SizeやKey Optionの違いによる効能はそれを提供している某社しかわからないのではないかと思います。証明書とは「どこでも同じ」というものに近いモノを、敢えて各社(CA)が独自色を付けて差別化販売している側面がある様に感じています。

    最後に一応ですが、採用予定の某社は

    カーネル モードのコード署名用クロス証明書

    http://msdn.microsoft.com/ja-jp/library/windows/hardware/gg487315.aspx

    のページに載っていて、Microsoft Authenticode用の証明書を確かに発行してくれることを確認された方が良い様に思います。今見たところ、私が知っているS社やG社では今でも1種類のコード証明書しか販売してない様子でしたので、何か違うものを買ってしまわないだろうかと、ふと思いました。

    2014年2月12日 14:05
    モデレータ
  • ご回答いただきありがとうございます。
    Microsoftからの反応無く、困っていました。
    助かります。

    やはり某社へ質問攻めにするしかないようですので、
    引き続き調査していきます。。

    2014年2月14日 11:06
  • Microsoftからの反応無く、困っていました。

    ご存知かもしれませんが、念のため。
    MSDN フォーラムなどの公開フォーラムでは、Microsoft から公式に回答をもらえることはありません。
    Microsoft からの回答を期待する場合は、パートナー向けの窓口を使うか、有償のサポートを頼る必要があるのが実情です。
    2014年2月14日 14:08
    モデレータ