<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>暗号 on Feature Branch Tech Blog</title><link>https://tech.feature-branch.co.jp/tags/%E6%9A%97%E5%8F%B7/</link><description>Recent content in 暗号 on Feature Branch Tech Blog</description><generator>Hugo</generator><language>ja</language><copyright>Feature Branch inc.</copyright><lastBuildDate>Mon, 06 Jul 2026 18:48:25 +0900</lastBuildDate><atom:link href="https://tech.feature-branch.co.jp/tags/%E6%9A%97%E5%8F%B7/index.xml" rel="self" type="application/rss+xml"/><item><title>変わらないものと変わるもの：暗号技術の20年</title><link>https://tech.feature-branch.co.jp/posts/2025/12/key-management-and-hybrid-encryption/</link><pubDate>Mon, 15 Dec 2025 00:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2025/12/key-management-and-hybrid-encryption/</guid><description>&lt;h1 id="変わらないものと変わるもの暗号技術の20年">変わらないものと変わるもの：暗号技術の20年&lt;/h1>
&lt;h2 id="概要">概要&lt;/h2>
&lt;p>以前の記事「公開鍵暗号による文書データ署名入門」で、「秘密鍵はどのように保管するのか」という質問がありました。この質問をきっかけに、20年ほど前にICカードを使ったシステムに関わった時のことを、現在のKMS（Key Management Service）を使うシステムに重ねて思い返してみました。&lt;/p>
&lt;p>驚くことに、技術は大きく進化していましたが、「秘密鍵を守る」「本人を証明する」という本質的な原則とその手法は全く変わっていませんでした。この記事では、「入札」という実例をテーマとし「変わらないもの」と「変わるもの」という視点で、暗号技術の20年を振り返ってみたいと思います。&lt;/p>
&lt;h2 id="1-変わらないもの守るべき原則">1. 変わらないもの：守るべき原則&lt;/h2>
&lt;h3 id="11-公開鍵暗号の原理は50年不変">1.1 公開鍵暗号の原理は50年不変&lt;/h3>
&lt;p>公開鍵暗号は1970年代に発明されました。RSA暗号は1977年の発表以来、基本的な原理は変わっていません。&lt;/p>
&lt;p>&lt;strong>公開鍵暗号の2つの使い方&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>暗号化&lt;/strong>: 公開鍵で暗号化→秘密鍵で復号（秘密を守る）&lt;/li>
&lt;li>&lt;strong>署名&lt;/strong>: 秘密鍵で署名（暗号化）→公開鍵で検証（復号できることで本人を証明する）&lt;/li>
&lt;/ul>
&lt;p>鍵ペア（公開鍵と秘密鍵）を生成し、その組み合わせでのみ機能するという仕組みは、発明当時も今も同じです。&lt;/p>
&lt;p>&lt;strong>公開鍵と証明書は「公開」するもの&lt;/strong>&lt;/p>
&lt;p>ここでちょっと誤解されがちなのが「証明書」です。証明書は秘密にするものではなく、むしろ公開するためのものです。証明書には公開鍵と所有者情報が含まれており、これを広く配布することで、誰もがその公開鍵の正しさを検証できます。逆に、証明書が失効した場合も公開されるため、相手も自分も不正利用から守られます。&lt;strong>秘密にすべきは秘密鍵だけ&lt;/strong>という原則が、この仕組みの要です。&lt;/p>
&lt;h3 id="12-封筒施錠可能な保管庫という紙の知恵は今も生きている">1.2 「封筒」「施錠可能な保管庫」という紙の知恵は今も生きている&lt;/h3>
&lt;p>デジタル技術が進化しても、「秘密を守る」という人間の営みの本質は変わりません。紙の入札を例に見てみましょう。&lt;/p>
&lt;p>&lt;img src="./images/%E5%85%A5%E9%96%8B%E6%9C%AD%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8.png" alt="入開札のイメージ">&lt;/p>
&lt;p>&lt;strong>紙の入札の流れ&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>&lt;strong>入札書の作成&lt;/strong>: 入札者は入札金額を記入した入札書を作成します&lt;/li>
&lt;li>&lt;strong>封筒に封入して提出&lt;/strong>: 入札書を封入し、提出受付期間内に提出します&lt;/li>
&lt;li>&lt;strong>提出された封書を受付&lt;/strong>: 提出された封書を受付し記録します&lt;/li>
&lt;li>&lt;strong>開札日時まで保管&lt;/strong>: 施錠可能な保管庫に格納し、開札日時まで厳重に保管します&lt;/li>
&lt;li>&lt;strong>開札&lt;/strong>: 開札当日、入札者を含む複数人の立会いのもとで、保管庫から取り出され公の場で開札されます&lt;/li>
&lt;li>&lt;strong>落札者決定&lt;/strong>: それぞれの入札の条件などにより、落札者が決定されます&lt;/li>
&lt;/ol>
&lt;p>この仕組みで守られているのは次の3つの原則です。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>秘密性&lt;/strong>: 開札までは誰も入札金額を知ることができません&lt;/li>
&lt;li>&lt;strong>完全性&lt;/strong>: 封筒が開封された事実があれば、確認可能です（改ざん防止）&lt;/li>
&lt;li>&lt;strong>公平性&lt;/strong>: 複数の立ち会い者の前で開札することで透明性を確保します&lt;/li>
&lt;/ul>
&lt;h3 id="13-秘密を守るという人間の営みは変わらない">1.3 「秘密を守る」という人間の営みは変わらない&lt;/h3>
&lt;p>20年前のICカード時代も、現在のKMS時代も、やっていることの本質は同じです。&lt;/p>
&lt;ul>
&lt;li>入札金額を&lt;strong>開札まで秘密にする&lt;/strong>&lt;/li>
&lt;li>入札書が&lt;strong>途中で改ざんされていない&lt;/strong>ことを保証する&lt;/li>
&lt;li>&lt;strong>本人が提出した&lt;/strong>ことを証明する&lt;/li>
&lt;/ul>
&lt;p>形は変わっても、「本人だけが開けられる」「途中で改ざんされていない」という要求は不変です。これは技術の問題ではなく、人間社会の信頼を支える根本的な仕組みなのです。&lt;/p>
&lt;h2 id="2-変わるもの進化する環境">2. 変わるもの：進化する環境&lt;/h2>
&lt;h3 id="21-保管場所の進化用途による使い分け">2.1 保管場所の進化：用途による使い分け&lt;/h3>
&lt;p>秘密鍵の「保管場所」は、用途によって使い分けられてきました。そして、この20年で選択肢が大きく広がりました。&lt;/p>
&lt;p>&lt;img src="./images/%E7%A7%98%E5%AF%86%E9%8D%B5%E3%81%AE%E4%BF%9D%E7%AE%A1%E5%A0%B4%E6%89%80.png" alt="秘密鍵の保管場所">&lt;/p>
&lt;h4 id="icカード方式">ICカード方式&lt;/h4>
&lt;p>ICカードの中に秘密鍵を格納し、物理的にその1枚にしか存在しない状態にします。合鍵は作れず、カードを紛失すると秘密鍵も失われます。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>特徴&lt;/strong>: カードの中で暗号化・署名処理が行われるため、秘密鍵がカード外に出ることはありません&lt;/li>
&lt;li>&lt;strong>守り方&lt;/strong>: PINコード（暗証番号）で保護します。PINを複数回間違えるとロックされます&lt;/li>
&lt;li>&lt;strong>具体例&lt;/strong>: マイナンバーカード、企業の入退室カード、電子入札用のICカード&lt;/li>
&lt;li>&lt;strong>メリット&lt;/strong>: 物理的に持ち歩くため、「手元にある」という安心感があります&lt;/li>
&lt;li>&lt;strong>デメリット&lt;/strong>: カードリーダーが必要で、紛失・破損のリスクがあります&lt;/li>
&lt;/ul>
&lt;p>20年ほど前の本番環境では、ICカードとカードリーダーを持ち歩くのが当たり前でした。秘密鍵はカードの中に閉じ込められ、外部に取り出すことはできません。この「物理的な隔離」が、当時の最も確実な保護方法だったのです。&lt;/p>
&lt;h4 id="pkcs12ファイル方式">PKCS#12ファイル方式&lt;/h4>
&lt;p>秘密鍵と証明書をパスワードで暗号化してファイルに保存する方式です。&lt;/p></description></item><item><title>公開鍵暗号による文書データ署名入門</title><link>https://tech.feature-branch.co.jp/posts/2025/12/public-key-cryptography/</link><pubDate>Tue, 09 Dec 2025 00:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2025/12/public-key-cryptography/</guid><description>&lt;h1 id="公開鍵暗号による文書データ署名入門">公開鍵暗号による文書データ署名入門&lt;/h1>
&lt;h2 id="概要">概要&lt;/h2>
&lt;p>オンラインで交わす契約書や報告書は、途中で書き換えられていないこと（完全性）と、確かに本人が作ったこと（真正性）が分かってはじめて価値を持ちます。この資料は、共通鍵暗号と公開鍵暗号の基本を日常の風景になぞらえながら、公開鍵暗号を使った署名と検証の流れを肩の力を抜いて学べるようにまとめたカジュアルなガイドです。家の合鍵や宅配ロッカー、スタンプカードといった身近なイメージを頼りに、暗号の仕組みを堅苦しく感じずにたどれる構成にしています。&lt;/p>
&lt;h2 id="1-暗号の基礎共通鍵暗号と公開鍵暗号の二刀流">1. 暗号の基礎：共通鍵暗号と公開鍵暗号の二刀流&lt;/h2>
&lt;p>この章では、暗号の世界に「みんなで同じ鍵をシェアするやり方」と「鍵をペアで使うやり方」があることを紹介します。&lt;/p>
&lt;h5 id="共通鍵暗号">共通鍵暗号&lt;/h5>
&lt;p>同じ合鍵を共有していないとキャンディーボックスに触れない
&lt;img src="./images/%E5%85%B1%E9%80%9A%E9%8D%B5%E6%9A%97%E5%8F%B7%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8.png" alt="共通鍵暗号イメージ">&lt;/p>
&lt;h5 id="公開鍵暗号">公開鍵暗号&lt;/h5>
&lt;p>店長だけが持つマスターキー（秘密鍵）と、来店者全員に配られるロッカーの一時パス（公開鍵）。誰でもパスで荷物を預けられるけれど、取り出せるのは店長だけ
&lt;img src="./images/%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8.png" alt="公開鍵暗号イメージ">&lt;/p>
&lt;h2 id="2-共通鍵暗号と公開鍵暗号の違いをざっくり比較">2. 共通鍵暗号と公開鍵暗号の違いをざっくり比較&lt;/h2>
&lt;p>ここでは二つの暗号方式を机上の言葉だけでなく、どんな場面に向くのか、鍵をどう配るのか、処理性能はどう違うのかという三つの角度から丁寧に比較します。仕事で「どちらを採用すべき？」と迷ったときに、この章の内容をそのまま判断材料として使えるようにするのが狙いです。&lt;/p>
&lt;h5 id="比較表">比較表&lt;/h5>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>観点&lt;/th>
 &lt;th>共通鍵暗号&lt;/th>
 &lt;th>公開鍵暗号&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>鍵配布の手間&lt;/td>
 &lt;td>事前に同じ鍵を安全に共有する必要があり、人数が増えるほど管理が難しい&lt;/td>
 &lt;td>公開鍵は誰にでも配れるため配布は容易、秘密鍵のみ厳重に保管&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>処理速度&lt;/td>
 &lt;td>暗号化・復号とも高速で、大量データ向き&lt;/td>
 &lt;td>計算が重く処理は遅め。主に鍵配送や署名などポイント利用&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>典型的な用途&lt;/td>
 &lt;td>VPNやディスク暗号化など大容量データの暗号化&lt;/td>
 &lt;td>TLS の鍵交換、電子署名、証明書など真正性・鍵配送が重要な場面&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>リスク&lt;/td>
 &lt;td>鍵が一度漏洩すると全員の通信が危険にさらされる。鍵の入れ替えコストも高い&lt;/td>
 &lt;td>秘密鍵が漏れなければ公開鍵が広まっても安全。ただし秘密鍵への攻撃が一点突破で効く&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="3-公開鍵暗号の仕組みをイメージで理解">3. 公開鍵暗号の仕組みをイメージで理解&lt;/h2>
&lt;p>公開鍵暗号の一連の流れを「鍵を作る→公開鍵を配る→暗号化する→秘密鍵で復号する」という4ステップに分解し、それぞれが身近な動作に置き換えられることを実感してもらいます。数学的な式を前提にせず、ロッカーと封印シールの例でイメージを固めた上で、後の章で署名の仕組みにスムーズにつなげるのが目的です。&lt;/p>
&lt;h5 id="鍵を生成して公開鍵を配る">鍵を生成して公開鍵を配る&lt;/h5>
&lt;p>&lt;img src="./images/%E9%8D%B5%E7%94%9F%E6%88%90%E3%81%A8%E9%85%8D%E5%B8%83.png" alt="鍵生成と配布">&lt;/p>
&lt;h5 id="暗号-緑色の透明ロッカーに荷物を入れると中身を取り出せるのは紫色の管理キーを持つ本人だけ">[暗号] 緑色の透明ロッカーに荷物を入れると、中身を取り出せるのは紫色の管理キーを持つ本人だけ&lt;/h5>
&lt;p>&lt;img src="./images/%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7%E3%81%A8%E5%BE%A9%E5%8F%B7%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8.png" alt="公開鍵暗号と復号のイメージ">&lt;/p>
&lt;h5 id="署名-管理キーでロッカーに貼った封印シールは誰でも配布された透明チェックカード公開鍵をかざして正規品か確認したうえで取り出せる">[署名] 管理キーでロッカーに貼った封印シールは、誰でも配布された透明チェックカード（公開鍵）をかざして正規品か確認したうえで取り出せる&lt;/h5>
&lt;p>&lt;img src="./images/%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7%E3%81%A8%E7%BD%B2%E5%90%8D%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8.png" alt="公開鍵暗号と署名のイメージ">&lt;/p>
&lt;h2 id="4-署名が必要な理由完全性と真正性を守る">4. 署名が必要な理由：完全性と真正性を守る&lt;/h2>
&lt;p>デジタル文書はコピーも改変も数クリックでできてしまうため、「届いたファイルは途中で誰にも触られていないのか」「本当にあの人が送ってきたものなのか」を確かめる術が欠かせません。
この章では、完全性と真正性という二つの観点を押さえることで、なぜ署名が信頼の支えになるのかを段階的に確認します。&lt;/p>
&lt;h5 id="完全性integrity">完全性（Integrity）&lt;/h5>
&lt;p>共有フォルダへアップした資料が途中で書き換えられていないかを確かめること。&lt;/p>
&lt;h5 id="真正性authenticity">真正性（Authenticity）&lt;/h5>
&lt;p>その資料が本当にあの人から届いたと確認できること。&lt;/p>
&lt;p>&lt;img src="./images/%E5%AE%8C%E5%85%A8%E6%80%A7%E3%81%A8%E7%9C%9F%E6%AD%A3%E6%80%A7.png" alt="完全性と真正性">&lt;/p>
&lt;h2 id="5-署名と検証の流れを体験">5. 署名と検証の流れを体験&lt;/h2>
&lt;p>署名プロセスは、文書が作られてから相手に届くまでの間に何が行われているのかを順番に追うと理解しやすくなります。この章では、現場で署名機能を組み込むときにまさに踏むことになる手順を、ハッシュ化・署名付与・検証という3ステップに分けて、どの場面でどの鍵が登場するのかを明確に描きます。動かす順番が分かれば、トラブルが起きた際にどこを疑えばいいかも見えてきます。&lt;/p>
&lt;p>&lt;img src="./images/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%BD%B2%E5%90%8D.png" alt="デジタル署名">&lt;/p>
&lt;ol>
&lt;li>文書をハッシュ関数で要約し、短い指紋のような値を作る。&lt;/li>
&lt;li>その指紋を秘密鍵で暗号化し、デジタル署名として添付。&lt;/li>
&lt;li>受信者は同じハッシュ関数で文書の指紋を再計算し、公開鍵で署名を復号して値を照合。&lt;/li>
&lt;/ol>
&lt;p>照合が一致すれば完全性と真正性が満たされた証拠として文書を採用し、不一致の場合は改ざんや送信者違いを疑わなければならない。&lt;/p>
&lt;h2 id="おまけhttpsにおける鍵交換の仕組み">おまけ：HTTPSにおける鍵交換の仕組み&lt;/h2>
&lt;p>ブラウザで「https://」にアクセスすると、裏側では公開鍵暗号と共通鍵暗号がリレーのように働きます。以下は一般的な TLS 1.2/1.3 ハンドシェイクをシンプルに追ったものです。&lt;/p>
&lt;ol>
&lt;li>&lt;strong>クライアントHello&lt;/strong>：ブラウザは「使える暗号スイート」「TLS バージョン」「乱数」などをサーバーに送る。まだ暗号化はされていない。&lt;/li>
&lt;li>&lt;strong>サーバー証明書の提示&lt;/strong>：サーバーは公開鍵を含む証明書（例：example.com の証明書）と、自身が選んだ暗号スイート、乱数を返す。証明書は認証局（CA）の署名付きなので、ブラウザは CA の公開鍵で検証して真正性を確認する。&lt;/li>
&lt;li>&lt;strong>鍵交換（例：ECDHE）&lt;/strong>：ブラウザとサーバーは一時的な鍵ペアを生成し、それぞれの公開値を交換する。相手の公開値と自分の秘密値を組み合わせ、同じ共有鍵（プレマスターシークレット）を計算する。ここまでが公開鍵暗号の役割。&lt;/li>
&lt;li>&lt;strong>対称鍵の派生&lt;/strong>：共有鍵をもとに、送受信それぞれのセッション鍵（共通鍵）を導出する。以降の通信は高速な共通鍵暗号（AES など）で行う。&lt;/li>
&lt;li>&lt;strong>Finished メッセージ&lt;/strong>：双方が新しい共通鍵でメッセージを暗号化し、「これからは暗号化済みのデータだけを送る」と宣言する。ここでハンドシェイク完了。&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="./images/handshake.png" alt="ハンドシェイク">&lt;/p></description></item></channel></rss>