Home / 記事 / 情報セキュリティ / アプリケーションセキュリティ / 第 8 章 : 暗号化(書籍のプレビュー) / RNGCryptoServiceProvider

e知識「e-chishiki.com」では、インドでの著名なIT著者、IT教育者、eセキュリティーの大家により作成された様々な種類のプログラミング言語に関する技術的なコンテンツを知識情報データーベースとして提供します。

オンライン書籍; Microsoft .NET Web アプリケーションセキュリティ

第 8 章 : 暗号化(書籍のプレビュー)

Microsoft .NET Web アプリケーションセキュリティ
Microsoft .NET Web アプリケーションセキュリティ


インドの情報セキュリティの大家が書き下ろした最新のセキュリティ書籍の一部をオンライン書籍としてご紹介します。書籍の情報は、こちらをご覧ください

RNGCryptoServiceProvider

c.cs
using System.Security.Cryptography;
using System;
using System.Text;
class zzz
{
public static void Main()
{
byte[] s = new byte[8];
RNGCryptoServiceProvider r;
r = new RNGCryptoServiceProvider();
r.GetBytes(s);
String ss = Convert.ToBase64String(s);
Console.WriteLine(ss);
}
}

コマンド プロンプト ウィンドウ
C:\encrypt>c
4cT8V7/3u40=

C:\encrypt>c
dzMzOGxWQ8w=
C:\encrypt>c
K7PUYa/VxzQ=

どのようなオペレーティング システム、データベース、プログラムも、パスワードをリテラル テキストで格納することはありません。パスワードをハッシュ値に変換し、この値をデータベースに格納します。パスワードをクリア テキストで格納しない理由は、簡単に悪用できるためです。一方、パスワードをハッシュ値として格納すると、パスワードを破ることは困難になりますが、不可能ではありません。

今日のインターネットでは、既知および不明のあらゆる言葉とその MD5 ハッシュを収めた DVD が出回っています。MD5 のハッシュ値をデータベースから取得してしまえば、プログラムで行う必要があるのは、パスワードのハッシュと DVD のハッシュを比較することだけです。一致するものが見つかると、パスワードは破られます。パスワードが破られるのは分単位のこともあれば日単位のこともあり、すべてはハッシュ値の作成に使用されたアルゴリズムしだいです。

この場合のより安全な方法は、何らかのランダムな値を生成し、固有のハッシュ値を計算する前にその値でパスワードを暗号化することです。このランダムな値は技術的にはソルト (salt) と呼ばれ、後でデータを復号化するときのために安全に保管しておく必要があります。

ランダムな値つまりソルトを生成するには、ランダム値ジェネレータ サービス プロバイダ クラス、RNGCryptoServiceProvider を使用します。このクラスは、8 バイトの空の配列を受け取り、そこにランダムな値を設定します。GetBytes 関数は、ランダムなバイトを配列に追加します。表示の際は、それを Base64 文字列にエンコードしてから表示しています。プログラムでは、実行するたびに異なるランダム値が表示されます。

ランダム値ジェネレータはインテリジェントに機能します。割り当てられた配列のサイズを検査し、それに従って長さに合ったランダム値を生成します。

コメント

コメントするにはログイン、もしくはユーザ登録を行ってください。

発売中

LET US C(上)
インド人ITエンジニアのCプログラミングのバイブル。通算100万冊以上売れています。
― 2,520円 ―

Y. Kanetkar

発売中

Introduction to Object Oriented Programming & C++
C++を例に、多彩なサンプルコードと簡潔な説明でOOPプログラミングの実際が理解できる。
2,940

Y. Kanetkar

発売中

Microsoft .NET Web Application Security
APプログラムの作り方で不正侵入の防御率を向上させる手法を解説。今までにないセキュリティーの手法を紹介します。
3,990円

Vijay Mukhi

2008年の11月発売予定

Quest C++ ビジュアルラーニングコース
これがあれば、見て聞くだけで楽しみながらプログラミングテクニックが身につきます。
― 9,975円 ―

Y. Kanetkar Asang Dani

2008年の11月発売予定

Programmer's Guide to Web Application Security
Web System への侵入方法と原理を解説する事により、防止方法を理解することが出来る。
3,990

Vijay Mukhi

フォーラムの最新ポスト