goo blog サービス終了のお知らせ 

コンピュータ・プログラミング日誌

記録をつけていきます。

クリプトジャッキングとはなんじゃらほい

2019-08-12 15:05:26 | 情報処理安全確保支援士
仮想通貨での専門用語。
Cryptojacking

仮想通貨には勝手に作られたり保証できなくなったりなどの、使用安全性に対する脆弱性があるが、
これをブロックチェーン技術を活用し、世界中の計算機で取引の情報や在庫の情報を計算・記録し、全体として安全性を確保する形で、その安全性を保証している。

その計算や記録に自分のマシンを提供して、そのマシンでの計算量・記録量に応じて仮想通貨で報酬が支払われるのが、マイニングという仮想通貨の獲得手法である。

自分のマシンを使用しているならまだ問題ないが、他人のコンピュータでその計算を行う場合には問題がある。
マルウェア感染だったり、特定のJavascriptが埋め込まれているページを参照した時に、そのコードが実行されるなどの手段がある。
この他人のマシンを利用しての、個人の仮想通貨報酬を不当に得る手段をクリプトジャッキングと言う。


問題に対する回答としては、

「他人のPC又はサーバに侵入して計算資源を不正に利用し、台帳への追記の計算を行う」

が正解として書かれる。

ハッシュ値の衝突発見困難性

2019-08-12 14:50:31 | 情報処理安全確保支援士
衝突発見困難性 - ハッシュ値が一致する、すなわち、H(M1)=H(M2)となるようなメッセージM1とM2を探索することが困難なこと。

だそうです。

衝突発見困難性が高いハッシュ関数ほどセキュリティレベルが高い。

ハッシュ値がnビットの場合、
衝突発見困難性を示すハッシュ値の元のメッセージの発見に要する最大の計算量は

n^(n/2)

であるとのこと。意味分からん。

SHA-256はハッシュ値が256ビットなので、衝突発見困難性の最大の計算量は2^128である。




標準化団体OASISがやっていることはなんじゃらほい? 

2019-08-12 14:35:02 | 情報処理安全確保支援士
と言うことで、これもまた分からん。一つずつ解いていこう。

問い:
標準化団体OASISが、Webサイトなどを運営するオンラインビジネスパートナー間で認証、属性及び認可の情報を安全に交換するために策定したものはどれか。

ア SAML
イ SOAP
ウ XKMS
エ XML Signature

・・・


うおおおおん! 
全部分からん! 
SOAPはXML通信のなんたらというのはほんの僅かに分かるけれども・・・・

ということで一つずつ見ていこう。

まず標準化団体のOASISとはなんぞや? 

OASIS (組織)
Organization for the Advancement of Structured Information Standards
の略。
日本語にすると、「構造的情報における標準技術促進するための協会」かな。
ダイクストラさんとか支援するんか・・・とか思ったらちょっと違う。
XMLとかjsonとかの仕様を決めるんじゃね? 
と。


この謎の組織OASISは何を定めているのかはさておき。

回答選択肢としてあった用語の解説を記載。


----
SAML
Security Assertion Markup Language
https://www.cybernet.co.jp/onelogin/function/saml.html

SAMLとは、Security Assertion Markup Languageの略称であり、OASISによって策定された異なるインターネットドメイン間でユーザー認証を行うための XML をベースにした標準規格です。

SAMLを利用することで企業の持つアイデンティティ情報、例えば、Active Directoryなどを利用して、複数のクラウドサービスへのシングルサインオンを実現します。つまり、ユーザーは認証サーバーに1回ログインするだけで、SAML対応しているクラウドサービスやWebアプリケーションを利用することができるようになるのです。

----
xmlはxmlでもSSOでのユーザー認証で使用されるみたいね。

あれ? 
これクラウドゲートと仕組みが一緒じゃ・・・



----
SOAP
Simple Object Access Protocol
SOAP (プロトコル)
https://ja.wikipedia.org/wiki/SOAP_(%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB)

SOAP(ソープ)は、コンピュータネットワーク内のWebサービスの実装において、構造化された情報を交換するための通信プロトコルの仕様である。拡張性、中立性、独立性を導入することを目的とする。XML-RPCから発展した、XML Webサービスのための、XMLベースのRPCプロトコルである。

SOAPはセキュリティのプロトコルではないが、Webサービスのセキュリティのプロトコルを、エンベロープ(付加情報)に包み伝達することができる汎用的なXMLプロトコルである。
----

xmlの通信規格(プロトコル)の模様。



----
XKMS
XML Key Management Specification

XMLをベースとして公開鍵基盤(PKI)の管理を行うプロトコルのこと.
暗号化技術の一種。
XML鍵管理サービス。

XKMSは、XML署名やXML暗号を処理するために必要である複雑な鍵管理の処理を外部に委託することで、Webサービスのセキュリティ・アプリケーションを容易に開発することを可能にする。
---



----
XML署名
XML Signature

デジタル署名のためのXML構文を規定するW3C勧告。
----


と言うことで正解は「ア」である。

OCSPとは何か

2019-08-11 17:52:34 | 情報処理安全確保支援士
二問目でもつまづくの巻。

そもそもOCSPというのが何なのか分からない。

----
OCSP
https://ja.wikipedia.org/wiki/Online_Certificate_Status_Protocol
----

Online Certificate Status Protocolの略。
日本語に訳せばオンライン証明書の状態取得プロトコルかな? 

X.509公開鍵証明書の失効状態を取得するための通信プロトコルのこと。

前出のCRL(証明書の失効リスト)を最新に取得しておく手段として、
OCSPレスポンダというサーバを用意して、そこを最新にしておく。
そしたらOCSPレスポンダに問い合わせれば最新のCRLが見られる。

試験問題では
問いが「PKIを構成するOCSPを利用する目的はなにか」となっており、
答えが「デジタル証明書の失効状態を問い合わせる」
が正解になっています。

CRL(Certivicate Revocation List)とは何か

2019-08-10 17:38:03 | 情報処理安全確保支援士
勉強しようと思ったら、まず1問目からつまずいているぞおい! 

ということで「パーフェクトラーニング過去問題集」の42ページの1問目でCRLと言う意味不明な単語が出てきた。これは何か。

----
CRL(Certificate Revocation List)とは
https://www.infraexpert.com/study/sslserver13.html

 CRLとは有効期限よりも前に失効させたデジタル証明書の一覧です。有効期限よりも前に失効させる
 というのは、例えば証明書の誤発行や証明書の秘密鍵紛失で悪用されるのを回避するための処置です。
 認証局では、そのような証明書をCRLに登録して管理します。CRLは日本語では証明書失効リストと
 言いますが、正確にはPKIにおける公開鍵証明書のリスト( 証明書のシリアル番号のリスト )のこと。
−−−−


あーそもそもこの説明じゃ分からないパターンだわ。パティーンだわ。パトゥーンだわ。パシュトゥーン人だわ(ちなパシュトゥーン人はアフガニスタンのイラン系民族でアフガン内の最大民族)。
ハドリアヌス帝だわ(もういい)。

順を追って書かないと、私のような人間には分からない。
ので、ここに書く。
順番は
1.PKIとは(公開鍵暗号基盤のこと)
2.公開鍵が社会で利用できるようにするためには(所有者を証明する公開鍵の証明書(:公開鍵証明書)が必要)。
3.


まずPKIとはなんぞやと言うことなのだが、Public Key Infrastructure、つまり公開鍵暗号基盤と言うことである。
で、その公開鍵暗号基盤(PKI)を利用する時、公開鍵の証明書が必要なのだとさ。

元々公開鍵の技術は、単純にバイナリデータだけで成立するものであるのだが、社会基盤として利用する時には、「この鍵は、この所有者のものです」と宣言することも必要になってくる。
その所有者の同定情報(その他に有効期間、発行者、署名アルゴリズムなどの情報も含む)を付帯させる付随情報(ファイルのプロパティみたいなもん:これが所有者本人のものであることを証明する)が必要で、その証明書が「公開鍵証明書」となる。

公開鍵証明書には次のデータが含まれる。

https://www.ibm.com/support/knowledgecenter/ja/SSFKSJ_7.5.0/com.ibm.mq.sec.doc/q009830_.htm
所有者の公開鍵
所有者の識別名
証明書を発行した CA の識別名
証明書の発効日
証明書の有効期限日
X.509 で定義された証明書データ形式のバージョン番号。X.509 標準の現行バージョンはバージョン 3 であり、ほとんどの証明書はそのバージョンに準拠しています。
シリアル番号。これは、証明書を発行した CA によって割り当てられる固有 ID です。シリアル番号は、証明書を発行した CA 内で固有のものです。つまり、同じ CA 証明書によって署名された 2 つの証明書が同じシリアル番号を持つことはありません。


とのこと。この最後のシリアル番号(つまりどの証明書がどの鍵のもんだよと見分けるための一意のランダム番号)が重要。後で出てくる。


その証明書を発行するのが認証局(CA:Certificate Authority)。

この発行された証明書の内容や、あるいは秘密鍵そのものの信頼性が失くなった時、正当性を疑うことになる(他人が見えないネットの空間では常にこの対象が正当・本物であるかを疑っているのだ)。
で、証明書の内容が書き換わった時、あるいは秘密鍵そのものの信頼性が失くなった時に、証明書を恣意的に失効させることができる。あるいは無効になる場合もある。




この失効・無効になったディジタル証明書のシリアル番号がリスト化されて、展開・配布されているのがCRL(証明書失効リスト)なんですね〜。

ちな、種別もそのリストに付随しているらしく、
・Revoked(失効):秘密鍵漏洩などでもう使えない。
・Hold(停止):秘密鍵漏洩の可能性から停止させて、その後安全が確認取れればもとに戻せる。

と言う感じです。


なので、停止後に有効化する場合には、該当のシリアル番号はcrlから削除されるとのこと。
基本「秘密鍵漏洩・紛失でヤバい場合に、CRLに累積的に乗せて無効化する」と言うのがcrlの役割の模様。


ちなみに細かいですが、
×友好期限切れになったデジタル証明書
○有効期限内に失効したデジタル証明書
と言うのもポイントです。

証明書の有効期限日がデジタル証明書内にありますが、これが自発的に自然に切れたということではなく「失効させた」と言う外部からの能動的な動きがあって、このCRLに登録されるんですね(知ったか)。