GoogleDriveの情報を出力する「GoogleDriveManager」
- Digital100 JPY




・このツールは、 GoogleDriveのマイドライブ内のファイルの情報を 一括してテキストファイルに出力するために作成したものです。 ・バージョン1.1からは、MD5ハッシュキーの取得にも対応し、 タイムスタンプの取得機能も追加されました。 ※「作成日時」というのは、 最初にアップロードした日時で変更できません。 ※「最終更新日時」というのは、 ファイルが内部に記録している日時ですから、 ファイル情報を操作すれば変更が可能です。 《「OAuth 2.0 クライアント ID」のJSONファイルの取得方法》 ・このツールで指定するのは、 「サービスアカウント」ではなく、 Googleアカウントへのアクセス権を要求する 「OAuth 2.0 クライアント」です。 ・正しいJSONファイル(client_secrets.json)を取得するには、 以下の手順で、画面を移動してください。 ■正しいJSONファイルの取得手順 (1)Google Cloud Consoleの左側メニューから、 「APIとサービス」 > 「認証情報」 をクリックします。 (※現在の「IAMと管理」>「サービスアカウント」ではありません) (2)画面上部の 「+ 認証情報を作成」 をクリックし、 「OAuth クライアント ID」 を選択します。 ※もし「OAuth 同意画面を設定してください」 と表示された場合は、 指示に従って「外部(External)」で 同意画面の作成だけ済ませてください。 (テスト用なのでアプリ名などは適当で大丈夫です。 また、アカウントを 「テストユーザー」として追加しておく必要があります。) (3)アプリケーションの種類で 「デスクトップ アプリ」 を選択し、 適当な名前(例: DriveManagerClient)をつけて作成します。 (4)作成が完了するとダイアログが表示されるので、 「JSON をダウンロード」 をクリックします。 (5)ダウンロードしたこの新しいJSONファイルを client_secrets.json にリネームして、 ツールのパスに指定してみてください。 (6)今度は初回実行時にブラウザが立ち上がり、 Googleアカウントでのログインと アクセス許可(同意画面)が求められ、 正しく動作するはずです。 《FreeTSA(無料タイムスタンプ局)のアカウントについて》 ・アカウント登録は一切不要です。 ・FreeTSA(freetsa.org)は、 RFC 3161という国際規格に基づいた 公開のタイムスタンプサービスを ボランティアベースで提供している機関です。 ・APIキーやユーザー登録などは必要なく、 指定のエンドポイント(https://freetsa.org/tsr)に対して 正しい形式のハッシュデータを送信すれば、 誰でも無料でタイムスタンプ(.tsrファイル)を発行してくれます。 《登録されたタイムスタンプの確認方法》 ・FreeTSAから取得した .tsr ファイルは、 「確かにその日時にそのデータ (今回はテキストファイルのハッシュ)が存在した」 という暗号学的な証明書そのものです。 ・この .tsr ファイル自体を 人間がメモ帳などで開いても 文字化けして読めませんが、 以下の方法で正当性を確認・検証できます。 オンラインの検証ツールを使う: ・例えば、FreeTSAの公式サイト内にある「Verify timestamp」や、 他のRFC 3161対応の検証サイトに、 ①出力されたテキストファイル と ②取得した .tsr ファイル をセットでアップロードすると、 「このテキストファイルは、 〇年〇月〇日に確かに存在しており、 改ざんされていません」 という結果が表示されます。 コマンドラインツール(OpenSSL)を使う: ・開発者向けですが、OpenSSLを使えば ローカル環境で検証コマンドを叩くことができます。↓ openssl ts -verify -in ファイル名.tsr -data ファイル名.txt -CAfile freetsaの証明書.crt 重要なポイント: ・この .tsr ファイルと 元のテキストファイルは、 必ずセットで(できればZIPなどにまとめて) 厳重に保管してください。 ・テキストファイルの中身が 1文字でも変更されると、 ハッシュ値が変わってしまうため、 タイムスタンプの検証は 失敗(改ざんされたとみなされる)してしまいます。 ■概要 ・このツールは、Google Drive上のファイルやフォルダが 「その日時に確実に存在し、改ざんされていないこと」を 暗号学的に証明し、クリエイターや、開発者向けの 証拠の保全と、タイムスタンプの管理を行います。 🌟 主な機能と特徴 強固な存在証明(RFC 3161準拠) ・このツールは、 GoogleDrive上にアップロードされているファイルの メタデータ(MD5ハッシュやサイズ、更新日時など)を取得して テキストファイルに出力し、 国際標準規格に基づく 無料のタイムスタンプ局である「FreeTSA」に送信することで その暗号証明書(.tsrファイル)を自動的に取得します。 ・後々「後から改ざんしたのでは?」と疑われた場合に、 これが強力な証拠となるわけです。 ファイルはダウンロード不要 ・Google Drive側で計算されたハッシュ値を利用するため、 数GBある動画ファイルや大量のソースコードでも、 ローカルにダウンロードすることなく 一瞬で証明書を発行できます。 ※ただし、アップロードしたファイルは、 バックアップを取っておかないと 何らかの事情で誤って消えてしまった場合に ハッシュコードを用いた証明ができなくなります。 高速な「遅延読み込み」ツリービュー ・数万ファイルが保存されたドライブでも、フリーズしません。 ・Windowsエクスプローラーのように、 フォルダをクリックして展開した瞬間に 中身だけをAPIから取得する遅延ロードを実装しています。 URLコピペで自動判別 ・対象にしたいGoogle DriveのURL (フォルダでもファイル単体でも可)を貼り付けるだけで、 ツールが自動的にIDと種類を判別し、 ピンポイントで証明書を発行できます。 一元化された履歴・備忘録マネージャー ・いつ、どのファイルの証明書を取ったのかは 「タイムスタンプ履歴」タブに自動的に記録されます。 ・データグリッド上で直接 コメントを書き込んで保存でき、 過去の証明記録を簡単に管理できます。 安全なローカル動作 ・サードパーティのサーバーに あなたのDriveデータを送信することはありません。 (TSA局には、不可逆なハッシュ値のみを送信します) ・認証はGoogleの公式OAuth 2.0を利用し、 「読み取り専用権限」のみを要求するため安全です。 ⚙️ セットアップ手順(初回のみ) ・本ツールを使用するには、 Google Cloud Consoleから ご自身専用の「認証情報(クライアントシークレット)」を 取得する必要があります。 (1)Google Cloud Consoleにアクセス ・Googleアカウントでログインし、 新しいプロジェクトを作成します。 (2)Google Drive APIの有効化 ・「APIとサービス」>「ライブラリ」から Google Drive API を検索し、 「有効にする」をクリックします。 (3)OAuth 同意画面の設定 ・「APIとサービス」>「OAuth 同意画面」へ進み、 User Typeを「外部」にして作成します。 ・テストユーザーとして、 ご自身のGoogleアカウントの メールアドレスを追加してください。 (4)クライアントIDの作成 ・「認証情報」タブから 「+認証情報を作成」>「OAuth クライアント ID」を選択します。 ・アプリケーションの種類を 「デスクトップ アプリ」 にして作成します。 (5)JSONファイルのダウンロード ・作成完了画面で 「JSON をダウンロード」をクリックします。 ・ダウンロードしたファイルの名前を client_secrets.json に変更し、 パソコン内の分かりやすい場所 (ドキュメントフォルダなど)に保存してください。 ※このファイルやその内容は、 APIキーみたいなものですので、 絶対に外部に公表してはいけません。 📖 取扱説明書(基本的な使い方) ステップ1:設定と接続 (1)「設定」タブを開きます。 (2)アプリケーション名: ・Google Cloud Consoleで作成した アプリケーション名を入力します。 (3)対象のURL: ・証拠保全したいGoogle Driveのフォルダか、 または、ファイルのURLを貼り付けます。 (空白、または root の場合は、マイドライブ全体になります。) (4)client_secrets.json: ・セットアップ手順でダウンロードした JSONファイルを選択します。 (5)出力先: ・証明書(.txt と .tsr)を保存するフォルダを選択します。 (6)「ツリー探索」タブの下部にある 「更新する」 ボタンを押します。 ・初回のみブラウザが開き、 Googleアカウントへのアクセス許可が求められます。 ステップ2:対象の選択 (1)接続が完了すると、 自動的に 「ツリー探索」タブ に切り替わります。 (2)左側のツリーを展開し、 証明書を発行したい特定のフォルダ、 または、ファイルをクリックして選択します。 (3)右側の画面に、 そのアイテムのMD5ハッシュや、更新日時などの 詳細情報が表示されます。 ステップ3:証明書の発行 (1)対象を選択した状態で、 画面下部の 「証明書を発行する」 ボタンをクリックします。 (2)「出力ログ」タブ に切り替わり、進行状況が表示されます。 (3)完了すると、指定した出力先フォルダに gdm_ファイル名_日時.txt(目録)と gdm_ファイル名_日時.tsr(タイムスタンプ証明書)の 2つのファイルが生成されます。 ※この2つは必ずセットで大切に保管してください。 ステップ4:履歴とコメントの管理 (1)「タイムスタンプ履歴」タブ を開くと、 これまでに取得した証明書の履歴が一覧表示されます。 (2)一番右の 「コメント」列 のセルをダブルクリックすると、 文字を入力できます。 ・「〇〇プロジェクトの納品バージョン」などの 備忘録を残しておくと便利です。 (これは入力をした瞬間に、自動的に保存されます。) ❓ よくある質問 (FAQ) Q. 「At least one client secrets (Installed or Web) should be set」 というエラーが出ます。 A. 指定しているJSONファイルが間違っています。 「サービスアカウントキー」ではなく、 「OAuth 2.0 クライアント ID(デスクトップアプリ用)」の JSONファイルを発行して指定してください。 Q. 出力された .tsr ファイルを開くと文字化けしています。 A. .tsrファイルは暗号化されたバイナリデータ(証明書)ですので、 メモ帳などでは読めません。 正当性を確認したい場合は、 FreeTSAの公式サイトや OpenSSLなどの検証ツールに、 ペアとなる .txt ファイルと一緒に読み込ませることで 「改ざんされていないこと」を検証できます。 Q. テキストファイル(_output.txt)の中身を 書き換えてもいいですか? A. 絶対に書き換えないでください。 1文字でも(スペースや改行であっても)変更すると ハッシュ値が変わってしまい、 .tsr ファイルを使ったタイムスタンプの検証が エラー(改ざん判定)になって証拠能力を失います。 Q. タイムスタンプの取得で「通信エラー」になります。 A. 無料のタイムスタンプ局(FreeTSA)のサーバーが混雑しているか、 ネットワークが不安定な可能性があります。 時間をおいてから再度「証明書を発行する」をお試しください。 Q. アプリを再起動すると毎回ブラウザでの認証が必要ですか? A. いいえ。 一度認証に成功すると、 client_secrets.json と同じフォルダに token.json というファイルが生成され、 次回からは自動的にログインされます。



