MENU

電子署名付き Office マクロの作成方法

安全が確認された Office マクロには電子署名を施し、それ以外の Office マクロの実行を停止することが推奨されています。電子メールに添付されたり、Web リンクからダウンロードされる “未署名(未確認)の Office マクロ” を実行停止することで、サイバー攻撃リスクを 低減しようというものです。
本稿では、安全が確認されている Office マクロの電子署名の方法を解説します。

電子署名の方法

Office マクロへの電子署名のためには、コードサイン証明書を入手する必要があります。コードサイン証明書は、さまざまな生成・入手方法があり、それに応じてコスト/難易度/利便性が異なります。

観点① Office自己署名(SelfCert)② 商用CA(Public CA Code Signing)③ ADCS(社内CA Code Signing)
初期コストほぼ0円(Officeがあれば)高い(年額・本人確認等)(サーバー/冗長/運用人件費)
継続コスト0円高い(更新費・運用)(CA保守、監査、更新運用)
インターネット接続不要必須不要
発行の難易度(数分)中(申請~発行、審査、USB トークン管理が必要)中〜高(テンプレート/GPO/失効/監査設計)
配布先での信頼付与各PCで手作業が基本原則、OS側で既に信頼GPO/Intuneで一括配布が容易
監査・統制弱(属人化しやすい)(第三者発行・監査に説明しやすい)(証跡・発行制御・役割分離を作れる)
主な用途PoC/少人数/短期ソフト配布、対外提供、取引先要件社内業務マクロ、閉域網、端末統制

    ここでは、Office 自己署名を使った署名の方法を取り上げます。

    自己署名証明書を作成する

    Office (Office 2016/2019/2021/M365)がインストールされている PC で、以下を実行します。

    1. 自己署名証明書作成ツールを起動する
      [ スタート ] ボタンを右クリックし、[ ファイル名を指定して実行 ] に、以下を入力し、[ Enter ] を押下する。
      C:\Program Files\Microsoft Office\root\Office16\SELFCERT.EXE


    2. 「デジタル証明書の作成」が起動する。

    3. [ 証明書の名前 ] に任意の証明書名を入力し、[ OK ] をクリックする。


    4. [ SelfCert 成功 ] が表示されたら [ OK ] をクリックし、終了する。
    5. ユーザー証明書マネージャーを起動する。
      [ スタート ] ボタンを右クリックし、[ ファイル名を指定して実行 ] に、以下を入力し、[ Enter ] を押下する。
      certmgr.msc

    6. 論理ストアを開き、証明書を確認する。
      左ペインの [ 個人 ]>[ 証明書 ] をクリックする。先ほど入力した証明書の名前と同じ証明書を確認する。


      ※有効期限は 6年のため、6年後には再発行する必要がある。

    Office マクロの設定変更

    1. マクロを使用するコンピューターで Excel / Word / PowerPoint / Access を開く。
    2. [ ファイル ]>[ オプション ]>[ トラストセンター ]>[ トラストセンターの設定 ]>[ マクロの設定 ] で [ 電子署名されたマクロを除き、VBA マクロを無効にする ] にチェックを入れる。
    3. [ OK ] をクリックする。

      以上により、署名済みマクロの実行が許可される。

    Office マクロに署名する

    1. マクロを使用するコンピューターで Excel / Word / PowerPoint / Access を開く。
    2. [ Alt + F11] を押下し、VBA エディター を起動する。
    3. [ツール] → [デジタル署名] をクリックする。



    4. 既定の証明書を選択する
      [ 選択 ] をクリックする。


    5. 作成した証明書を選択する



      他の証明書が表示された場合は、[ その他 ] をクリックして、作成した証明書を選択する。


    6. [ OK ] をクリックして終了する。

    以上で、プロジェクトに電子署名がされました。

    署名された Office マクロを他のコンピューターで実行する場合

    署名されたマクロを、他のコンピューターでも利用するには、そのコンピューターで初回実行時にユーザーが信頼する必要があります。

    1. 配布先PCで、署名付きマクロ(例:Excel .xlsm)を開く。
    2. Office が署名を検証して「署名は付いているが、この発行者はまだ信頼されていない」と判断し、画面上部の黄色バー(セキュリティ警告)を表示する。
    3. [コンテンツの有効化] をクリックし、[発行元を信頼する](または類似の選択) を選択する。
    4. Office/Windows は、その証明書(=発行者)を ユーザー(Current User)スコープ
      「信頼された発行元(Trusted Publishers)」 に登録する。
    5. 以後、同じ証明書で署名されたマクロは「信頼された発行元の署名」として扱われ、警告が減る/なくなる。
    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!

    この記事を書いた人

    目次