XENLOOK C2PA検証
コースの目次
全10章のうち第2章

第2章ファイルの指紋(ハッシュ)と練習用の証明書

すべてのファイルには、指紋のような値があります。この章では、その値(ハッシュ)を実際に作り、練習用(SAMPLE)の証明書を初めて受け取ってみます。

  • 正式な回の名前 · 実習環境の構築とデモ
  • 実習 6ステップ
  • ログインなしで進められます
この章で学ぶこと
  • ハッシュが何で、何に使うのかがわかります。
  • どんな変化がハッシュを変え、どんな変化は変えないのかがわかります。
  • 体験ページで、SAMPLE 証明書を作れます。

やさしく理解する

人の指紋と同じです
人によって指紋が違うので、指紋を見ればだれなのかがわかります。ファイルも、内容が同じなら指紋(ハッシュ)は同じです。内容がほんの少し違うだけで、まったく別の指紋になります。ただし、指紋だけから、その人の顔を描くことはできません。それと同じように、ハッシュだけからファイルを元に戻すことはできません。

ハッシュ(hash)は、ファイルの中身を計算して得られる、短い値です。このサイトは、SHA-256 という方式を使います。結果は、0〜9 と a〜f でできた64文字です。

同じファイルなら、いつ、どこで計算しても、同じハッシュになります。そのため、「このファイルは、あのファイルとまったく同じか」を、すばやく確かめられます。

ファイルの中の1文字(1バイト)が変わるだけでも、ハッシュはまったく別の値になります。似た値になるのではなく、まったく違う値になります。

ファイル名を変えても、中身は変わりません。そのため、ハッシュはそのままです。けれども、画面キャプチャや保存し直しは、中身を新しく書き直すので、ハッシュが変わります。

ハッシュから、元のファイルを元に戻すことはできません。そのため、ハッシュを公開しても、ファイルの中身は明らかになりません。

体験ページが作る SAMPLE 証明書のシリアル番号は、XPC-DEMO-日付-8文字、という形です。最後の8文字は、ハッシュの最初の8文字を、大文字で書いたものです。

図で見る

  1. 写真を入れる体験ページ
  2. ハッシュを計算するSHA-256・64文字
  3. 5段階で処理する練習用のデモ
  4. SAMPLE 証明書を受け取るシリアル番号の発行
体験ページは、写真のハッシュを計算し、5段階を経て、練習用の証明書を表示します。

実際にやってみる

上から順に、1ステップずつ進めます。ステップごとに、「こう見えれば成功」と同じかどうかを確かめます。
  1. 個人情報の写っていない写真を、1枚選びます。顔、住所、車のナンバープレートが写っていない、風景や物の写真が適しています。
    こう見えれば成功 実習に使う写真ファイルが、パソコンかスマートフォンに用意できています。
    ログイン不要
  2. 体験ページで「파일 선택」(ファイルを選ぶ)を押して、写真を入れます。写真がなければ、「세리아 샘플로 시연」(セリアのサンプルでデモ)を押しても構いません。
    こう見えれば成功 ステップが1つずつ「완료」(完了)に変わり、「데모 샘플 인증서」(デモ用サンプル証明書)のカードが現れます。
    体験ページを開くログイン不要一部韓国語の画面
  3. カードに出ている Serial(シリアル番号)と SHA-256(ハッシュ)を、記録シートに書き写します。ハッシュは、最初の20文字と最後の8文字だけが表示されます。
    こう見えれば成功 シリアル番号の最後の8文字が、ハッシュの最初の8文字(大文字)と同じです。
    ログイン不要
  4. 同じ写真のファイル名だけを変えて、もう一度入れます。たとえば、「風景.jpg」を「風景-コピー.jpg」に変えます。
    こう見えれば成功 ハッシュが、最初とまったく同じです。名前は、ファイルの中身ではないからです。
    ログイン不要
  5. 写真を画面キャプチャするか、写真アプリで保存し直してから、入れます。
    こう見えれば成功 ハッシュがまったく変わり、シリアル番号の最後の8文字も変わります。
    ログイン不要
  6. (任意)自分のパソコンで、ハッシュを直接求めてみます。Windows では、コマンドプロンプトに certutil -hashfile 写真.jpg SHA256 と入力します。Mac では、ターミナルに shasum -a 256 写真.jpg と入力します。
    こう見えれば成功 64文字の値が出て、体験ページに出ていた最初の20文字と同じです。
    ログイン不要
メンターと一緒に行う部分 · SAMPLE 証明書は練習用なので、正式な発行記録(発行レジストリ)には載りません。そのため、第8章でこのシリアル番号を照会すると、「ない」と出ます。これが正常であることを、メンターが一緒に確かめます。

できたかどうか確かめる

下のすべてに「はい」と答えられたら、この章は修了です。
  • ハッシュを「ファイルの指紋」として説明できますか。
  • 名前を変えてもハッシュは変わらず、保存し直すと変わることを、自分で確かめましたか。
  • SAMPLE 証明書のシリアル番号とハッシュを、記録シートに書きましたか。

まちがえやすいこと

  • よくある誤解ファイル名を変えると、別のファイルになります。
    実際には名前はファイルの中身ではありません。中身が同じなら、ハッシュも同じです。
  • よくある誤解見た目が同じなら、ハッシュも同じです。
    実際には保存し直したりキャプチャしたりすると、見た目は同じでも中身が新しく書かれるので、ハッシュは変わります。
  • よくある誤解ハッシュがわかれば、元の写真を復元できます。
    実際にはハッシュは、一方向にだけ計算されます。ハッシュから写真を復元することはできません。

確認クイズ

  1. 問題 1SHA-256 のハッシュは、何文字ですか。答えを見る答えを閉じる
    64文字です。0〜9 と a〜f だけでできています。
  2. 問題 2写真の名前を変えたときと、画面キャプチャしたときで、ハッシュはそれぞれどうなりますか。答えを見る答えを閉じる
    名前を変えたときは、そのままです。画面キャプチャは中身を新しく作るので、まったく変わります。
  3. 問題 3SAMPLE 証明書のシリアル番号の最後の8文字は、何と同じですか。答えを見る答えを閉じる
    そのファイルのハッシュの最初の8文字を、大文字で書いたものと同じです。

用語のまとめ

ハッシュhash
ファイルの中身から計算した、短い値です。ファイルの指紋です。
SHA-256
ハッシュを作る方法のひとつです。結果は64文字です。
バイトbyte
ファイルをつくる、いちばん小さな単位のひとつです。1文字くらいと考えると、わかりやすいです。
SAMPLE 証明書
体験ページが見せる、練習用の証明書です。実際の発行記録には載りません。
シリアル番号serial
証明書ごとに付く、固有の番号です。この番号で証明書を探します。

実習記録シート

印刷して手で書くか、同じ項目を文書に書き写します。メンターの確認をもらえば完了です。
第2章 実習記録シートファイルの指紋(ハッシュ)と練習用の証明書
実習日
記入者
メンター確認
  1. 実習に使った写真(ファイル名、何を撮ったか)
  2. SAMPLE 証明書のシリアル番号
  3. 最初のハッシュ(最初の20文字)
  4. 名前を変えたあとのハッシュ(同じ/違う)
  5. 保存し直したあと、またはキャプチャしたあとのハッシュ(同じ/違う)
  6. 自分の言葉でまとめる:ハッシュが変わる場合と、変わらない場合