今回は、Goldの「運用管理 - データベースサーバ構築」からの出題です。
データのバイナリハッシュを計算する
パスワードのハッシュ処理を行う
データのハッシュ化MACを計算する
パスワードハッシュ時に使用するランダムなソルト文字列を新規に作成する
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2019年7月31日
正解は「C. パスワードのハッシュ処理を行う」です。
postgresqlでは、格納されたデータを解読できないように暗号化することができます。
crypt関数を使用すると、パスワードのハッシュ処理を行うことができます。
テーブルにデータを追加する際には、下記のようにgen_salt関数と合わせて使用します。
insert into test(id,name,password) values(1,'user1',crypt('password',gen_salt('md5')));
それぞれの選択肢について説明します。
A. 対称鍵を指定して、データを暗号化する
誤っています。
上記は、pgp_sym_encrypt関数の説明です。
pgp_sym_encrypt(data text, psw text [, options text ]) returns bytea
対称PGPキーpswでdataを暗号化します。
B. データのバイナリハッシュを計算する
誤っています。
上記は、digest関数の説明です。
digest(data text, type text) returns bytea
与えられたdataのバイナリハッシュを計算します。typeは使用するアルゴリズムです。
標準では、下記のアルゴリズムを指定できます。
md5、sha1、sha224、sha256、sha384、sha512
C. パスワードのハッシュ処理を行う
正解です。
D. データのハッシュ化MACを計算する
誤っています。
hmac(data text, key text, type text) returns bytea
上記は、hmac関数の説明です。
keyをキーとしたdataのハッシュ化MACを計算します。
ハッシュはキーを知っている場合のみ再計算できます。
E. パスワードハッシュ時に使用するランダムなソルト文字列を新規に作成する
誤っています。
上記は、gen_salt関数の説明です。
パスワードハッシュの際に新しいパスワードを保存する時には、gen_salt関数を使用して新しいsaltを生成する必要があります。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
例題解説の提供:株式会社デージーネット OSS研究室 奥原 章太 氏
© EDUCO All Rights Reserved.