皆さん、ハッシュ化と暗号化についてしっかりと区別は出来ているでしょうか。
以前までは私もデータを安全にするためのものというような認識で、しっかりと区別して理解していませんでした。
今回はそんな暗号化とハッシュ化についてお話してきます。
ハッシュ化とは
ハッシュ化(hashing)はデータを固定長のハッシュ値に変換するプロセスです。
この変換は一方向であり、元のデータに戻すことは出来ません。(不可逆性)
ハッシュ関数と呼ばれる特定のアルゴリズムを用いることで、ハッシュ化は行われます。
ハッシュ化の特徴
一意性
異なるデータが同じハッシュ値を持つことは非常に稀です。(ハッシュの衝突)
固定長
入力データの長さに関わらず、出力されるハッシュ値は常に同じ長さです。
高速性
計算が迅速に行われます。
ハッシュ関数の代表例
MD5(Message Digest Alogrithm5)
古いアルゴリズムでセキュリティ上の問題が指摘されています。
SHA-256(Secure Hash Algorithm 256-bit)
現在広く使われている安全なアルゴリズムです。
ハッシュ化の使用例
データの整合性チェック
ファイルのダウンロードが正しく行われたかを確認するために使用されます。
パスワードの保存
ユーザーのパスワードをハッシュ化して保存することで、データベースが侵害されても元のパスワードが漏洩しないようにします。
暗号化とは
暗号化(encryption)はデータを第3者から守るためのプロセスです。
平文と呼ばれる元のデータを暗号文という読み取れない形式に変換(暗号化)します。
暗号化されたデータを元に戻す(復号化)ためには、特定の鍵が必要になります。
暗号化の種類
共通鍵暗号
・1つの鍵でデータを暗号化と復号化を行う
・代表例:AES(Advanced Encryption Standard)
・長所:処理が高速
・鍵の管理が難しい
公開鍵暗号
・公開鍵(public Key)と秘密鍵(Private Key)の2つの鍵を使用
・公開鍵で暗号化されたデータは、公開鍵に対応する秘密鍵でのみ復号できる
・代表例:RSA(Rivest Shamir Adleman)
・長所:鍵の共有が容易
・短所:処理が共通鍵暗号に比べて遅い
暗号化の使用例
通信の保護
インターネットバンキングや電子メールのやり取りで使われています。
HTTPSはその代表的な例です。
ファイルの保護
重要なファイルを暗号化して保存することで、不正アクセスから守ります。
ハッシュ化と暗号化の違い
目的
暗号化はデータの機密性を保つために行われ、復号が可能です。
一方でハッシュ化は、データの一意性や整合性を確認するために行われ、元のデータに戻すことは出来ません。
鍵の使用
暗号化には鍵が必要ですが、ハッシュ化には鍵が不要です。
まとめ
ハッシュ化と暗号化は、どちらもデータセキュリティを強化するための重要な技術です。
不用意に暗号化を用いて鍵の管理をしなくてはならないのもよくありませんし。
元のデータに戻す必要がある場面でハッシュ化を用いることもよくありません。
両社を適切に使用し、データをより安全に扱ってください。
↓暗号化についておすすめの書籍はこちら。↓
価格:3300円 |