ハッシュ化とは
ハッシュ化とは、ハッシュ関数と呼ばれる特殊な計算方法によって、一見ランダムに見える別の値(ハッシュ値)にデータを変換する方法です。ハッシュ値は復号できないため、パスワードを保管する際などに活用されています。
同じデータから得られるハッシュ値は常に同じです。この特徴から、ハッシュ値を比較すれば元のデータが同一か否かを判断できます。
例えば、正しいログインパスワードのハッシュ値と、入力されたパスワードのハッシュ値が同一であれば、入力パスワードが正しいものと判断可能。その結果、パスワードそのものを保存せずに認証できるため、パスワード漏えい時のリスクを抑えられます。
ハッシュ化の安全性を高めるソルトとは
ソルトとは、ハッシュ化する前のデータに付加するランダムな文字列のことです。パスワードなどをハッシュ化する際にソルトを組みあわせることで、ハッシュ値から元のデータを推測されるリスクを低減できます。
ハッシュ値から元のデータを直接復号することはできません。しかし、よく使われるパスワードなどは、あらかじめさまざまな文字列をハッシュ化したデータと照合する「辞書攻撃」や「レインボーテーブル」などによって推測される可能性があります。
そこで、ユーザーごとに異なるソルトを付加してからハッシュ化します。同じパスワードを使用していても、ソルトが異なれば生成されるハッシュ値も異なるため、事前に用意されたハッシュ値との単純な照合が難しくなります。このように、ソルトを適切に利用することで、パスワードなどをハッシュ化して保存する際の安全性を高められます。
ハッシュ化と暗号化の違い
ハッシュ化と暗号化は、どちらもデータを別の値に変換する技術ですが、大きな違いは元のデータへの復元を前提としているかどうかです。主な違いを以下の表にまとめました。
| 比較項目 | ハッシュ化 | 暗号化 |
|---|---|---|
| 元データへの復元 | できない(不可逆) | 正しい鍵があれば可能 |
| 主な目的 | データの照合・改ざん検知 | データ内容の秘匿 |
| 鍵の使用 | 基本的に不要 | 必要 |
| 主な利用シーン | パスワード保存、改ざん検知、電子署名など | ファイル保存、データ通信、機密情報の保護など |
暗号化は、第三者にデータの内容を読まれないようにするための技術です。暗号化したデータは、正しい鍵を使うことで元の状態に復号できます。そのため、機密情報の保存やデータの送受信など、あとから元のデータを利用する必要がある場面で用いられます。
一方、ハッシュ化は元のデータへの復元を前提としていません。ハッシュ値から元のデータを直接復号することはできず、不可逆性を持つ点が大きな特徴です。同じデータから生成したハッシュ値を比較することで、データが同一かどうかの確認や改ざん検知などに利用されます。
ここまでの違いを踏まえて、自社ではどのような対策が必要か整理したい方は、無料診断ページもご活用ください。
ハッシュ化が使われるシーン
続いて、ハッシュ化が使われる場面を2つ紹介します。
HMACによるメッセージ認証
HMACは「Keyed-Hashing for Message Authentication Code」の略で、メッセージ認証コード(MAC)の一種です。1997年2月にIBM社によって発表されました。
参考:RFC 2104 - HMAC|Keyed-Hashing for Message Authentication
そもそもMACとは、データの認証や改ざん検知に使われるアルゴリズムです。MACにはさまざまなアルゴリズムがあり、HMACはそのうちハッシュ化技術を利用したものです。
元のデータと事後データから得たハッシュ値を比較し、両者が同じ値であることを確認できれば、データが改ざんされていないことが分かります。
具体的には、共通鍵とデータをまとめてハッシュ化し、そのハッシュ値と元のデータを送信します。受信者は受け取ったデータと自身が持つ共通鍵をまとめてハッシュ化し、得られた値が受信したハッシュ値と同一か確認します。このようにして、受信データの改ざんの有無がわかるのです。
文書の電子署名
電子署名とは、データ送信者が自身が正規の送信者であることを証明する技術です。ハッシュ化技術は公開鍵暗号と組みあわせて電子署名にも利用されています。具体的な手順は以下のとおりです。
- 1.データ送信者は以下の3つを送信する。
- ■元のデータ
- ■ハッシュ値を自身の秘密鍵で暗号化したもの
- ■秘密鍵とペアになる公開鍵
- 2.受信者は受信した公開鍵で暗号文を復号する。
- 3.受信者は受信した元のデータをハッシュ化し、手順2で得たハッシュ値と比較する。
手順2で復号が成功すれば、データ送信者が正規であると証明されます。なぜなら、受信者が持つ公開鍵で復号できるのは、それが正規の送信者だけが持つ秘密鍵によって暗号化されたことの証拠だからです。
そして、手順3で比較した2つのハッシュ値が同一であれば、データが改ざんされていないことが分かります。
ハッシュ化だけでは不十分?暗号化ソフトが必要なケース
ハッシュ化はデータの照合や改ざん検知に適した技術ですが、データそのものを安全に送受信・保管する用途には向いていません。そのため、実務においてはハッシュ化だけでなく、暗号化ソフトの導入が必要となるケースも多くあります。ここでは代表的なケースを紹介します。
機密データを安全に送受信する場合
顧客情報や契約書などの機密データをメールやファイル転送でやり取りする場合、第三者による盗聴や不正取得のリスクがあります。ハッシュ化ではデータの復元ができないため、このような用途には適していません。
暗号化ソフトを利用すれば、データを暗号化した状態で送信し、受信者のみが復号できるため、安全に情報をやり取りできます。
社内外でファイルを共有・保管する場合
クラウドストレージや社内サーバーにファイルを保存・共有する際も、情報漏えい対策が求められます。ハッシュ化は内容の一致確認には役立ちますが、データそのものを保護することはできません。
暗号化ソフトを活用すれば、保存データを暗号化し、不正アクセスが発生した場合でも情報の閲覧を防止できます。
PCやUSBなどの端末紛失・盗難に備える場合
ノートPCやUSBメモリの紛失・盗難は、情報漏えいの大きな原因の一つです。ハッシュ化だけでは、保存されているデータの中身を守ることはできません。
ディスク暗号化やファイル暗号化機能を持つ暗号化ソフトを導入することで、万が一端末が第三者の手に渡った場合でも、データの読み取りを防げます。
法令・ガイドラインへの対応が求められる場合
個人情報保護法や各種セキュリティガイドラインでは、重要データの適切な保護が求められています。特に個人情報や機密情報を扱う企業では、暗号化による保護が推奨・義務化されているケースもあります。
暗号化ソフトを導入することで、これらの要件に対応し、コンプライアンス強化にもつながります。
自社の用途に合った暗号化ソフトを効率よく比較したい方は、以下から資料をまとめて確認できます。
データそのものを保護できるおすすめの暗号化製品
ハッシュ化はパスワードの照合やデータの改ざん検知などに適していますが、保存されているデータそのものを第三者から読めない状態にするものではありません。顧客情報や個人情報、機密情報などを安全に保管したい場合は、暗号化による保護が必要です。
特にデータベースに重要な情報を保存している企業では、既存システムへの影響や対応するデータベースの種類も確認しながら暗号化製品を選びましょう。ここでは、データベースの暗号化に対応する製品を紹介します。
D.AMO DP
- 既存データベースに後付けでクエリー変更せずに導入可能
- 選択的暗号化を実現しデータベースの機密性と可用性を両立
- 暗号化+アクセス制御+監査ログのAll-In-Oneパッケージで提供
ペンタセキュリティ株式会社が提供する「D.AMO DP」は、OracleやMicrosoft SQL Serverに対応したデータベース暗号化ソリューションです。既存のデータベースに後付けでき、アプリケーションのクエリーを変更せずに導入できます。必要なデータのみを選択して暗号化できるほか、アクセス制御や監査ログ機能も備えており、機密性を確保しながら既存システムへの影響を抑えたい企業に適しています。
D.AMO DE
- 暗号化の導入時アプリケーションのコードやクエリーの改修不要
- カラム単位で機密データを選択的に暗号化
- 暗号化+アクセス制御+監査ログのAll-In-Oneパッケージで提供
ペンタセキュリティ株式会社が提供する「D.AMO DE」は、OSSデータベースに特化した透過型暗号化ソリューションです。暗号化の導入にあたってアプリケーションのコードやクエリーを改修する必要がなく、カラム単位で機密データを選択して暗号化できます。暗号化に加えてアクセス制御や監査ログもまとめて利用できるため、既存のOSSデータベースを活用しながらセキュリティを強化したい企業に向いています。
暗号化製品は、対応するデータや暗号化方式、導入形態、アクセス制御・ログ管理などの機能が製品によって異なります。自社の環境やセキュリティ要件に合う製品を効率よく比較したい方は、以下から各製品の資料をまとめて請求できます。
ハッシュ化と暗号化の違いを理解し、セキュリティを向上!
ハッシュ化とは、データの照合や改ざん検知などを目的として、データをハッシュ関数によって一定の値に変換することです。ソルトを加えて元のデータを推測されにくくするのが一般的です。
ハッシュ化は復号を前提としない点で暗号化と異なり、データの一致確認や改ざん検知が必要な電子署名やメッセージ認証などで利用されています。
以上を踏まえてハッシュ化を適切に利用し、自社のセキュリティ対策に活かしましょう。


