「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>SC:対策技術]]

*目次 [#f5bda59d]
#contents

*概要 [#o6a65d31]
-認証・アクセス制御 ≒ 認証・認可。

-これらの要素は認可(≒ アクセス制御)~
を行う一連のプロセスに含まれる。

--[[(識別と)認証>#udae9e07]]
--[[認可(≒ アクセス制御)>#r52d5291]]

※ [[基礎>SC:基礎#ta2bca33]]が参考になる。

*認証 [#udae9e07]

**基礎 [#vc2de08e]

***用語 [#i4ebfdf5]
-真正性(Authenticity)~
[[ある主体(subject)又は資源が、主張(claim)どおりであることを確実にする特性。>SC:基礎#ta2bca33]]

-認証(Authentication)

--真正性(Authenticity)を明らかにする行為が認証(Authentication)

--認証(Authentication)のプロセスは、識別(Identification)と検証(Verification)で構成される。

--識別(Identification)と検証(Verification)をざっくり説明すると、以下の様な感じ。
---識別(Identification) ≒ ユーザID
---検証(Verification) ≒ パスワード

-認可(Authorization)と許可(Permission)

--認可(Authorization)~
認証(Authentication)の結果を用いて、アクセス制御を行う。~
コレには、下記のリソースに付与された許可(Permission)の情報も使用している。

--許可(Permission)~
原則禁止のトコロ、許可する事を言うらしいが、~
コンピューター界隈では、リソースに付与されている属性を指す。

-言語上の混乱

--日本では、二つの「認証」で混乱

---Authentication~
前述の認証で、2者間認証とも言う。

---Certification~
監査やデジタル署名で、3者間認証とも言う。

--英語では、以下が紛らわしい(らしい。

---Authentication~
前述の認証(Authentication)

---Identification~
前述の識別(Identification)

-参考
--Identification・Authenticity・Authentication・真正性 – IT Research Art~
http://www.itresearchart.biz/?p=1431

--「認証」の意味を考える - Manaboo 電子政府・電子申請コラム
---(1):日本語としての「認証」~
https://blog.goo.ne.jp/egovblog/e/cc73dc169f970e7498c2630668360c36
---(2):コンピュータ用語としての「認証」~
https://blog.goo.ne.jp/egovblog/e/b9c836164e5a45dd1513b29cd11419c1
---(3):英語としての「認証」~
https://blog.goo.ne.jp/egovblog/e/62b8e4194a4ee23c94d827e0a9a3400b
---(4):認証のステップを整理する~
https://blog.goo.ne.jp/egovblog/e/112f204652a98e9325a47adc976ac18d

***分類 [#s5b879f2]
-対象
--人の認証:各種本人認証手段による
--モノの認証:MACアドレスなど
--情報の認証:デジタル署名など

-各種本人認証手段~
詳しくは[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%AA%8D%E8%A8%BC%E5%9F%BA%E7%9B%A4#o540099e]]
--ユーザが知っていること(知識情報)
--ユーザが持っているもの(所持情報)
--ユーザ自身の特徴(生体情報)

**固定式パスワード [#a0ad6a7a]

***特徴 [#f3415d4b]
-方式
--基本的な
--簡単な
--容易な
--最古の

-ちなみに、以下の条件で~
作成可能なパスワードの総数 = M^n らしい。

--使用可能な文字種 = M
--使用可能な文字数 = n

***脆弱性 [#t3b0e38f]

-運用面~
[[ソーシャルエンジニアリングなどに対する非技術的な脆弱性>SC:脅威#f79a6470]]

-実装面~
[[パスワード・クラックなどに対する技術的な脆弱性>SC:脅威#dc765db9]]

**ワンタイム・パスワード(OTP) [#c0bfbc73]

***特徴 [#x0350c61]
-ランダムな文字列を生成
-覚える必要が無い

***方式 [#m0d74a6a]
-[[チャレンジ&レスポンス>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%AA%8D%E8%A8%BC%E5%9F%BA%E7%9B%A4#zb3340de]]

-S/Key
--≒チャレンジ&レスポンス
--シーケンス
---ユーザIDを送信
---Seed+「初期値(最大値) or 保存しているSequence番号-1」を返信
---S=Seed+PasswordをSequence回ハッシュ関数にかけOTPとして送信
---ハッシュ値の比較(妥当性検証)~
初回は自力で計算して比較~
初回以降は前回OTPをハッシュにかけて比較(サーバ負荷軽減)

-[[トークン・カード(HOTP、TOTP)>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%AF%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%83%BB%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89]]

***脆弱性 [#c1dabc4f]
-チャレンジ&レスポンス
--パスワードは平文

-S/Key
--サーバー自体の認証
--パスフレーズの漏洩

**バイオメトリクス認証 [#y9c8b6b5]

**ICカードによる認証 [#c35e58fb]

**その他さまざまな技術 [#tc7f4cd8]

**シングルサインオン(SSO) [#d2820f80]

*認可(アクセス制御) [#r52d5291]

**基礎 [#w006a94e]
以下から構成される。

-利用者、若しくは利用者属性

-リソースに与えられた、~
利用者、若しくは利用者属性に対応する認可情報(パーミッション)
--読み、書き、実行などの権限がある。
--これは、アクセス制御リスト(ACL)と呼ばれる。

**実施 [#ye0da577]
以下、アクセス制御が実施される場所

***物理環境 [#e1862d80]
コンピューター・システム的なものではなく、~
[[環境的・物理的>SC:マネジメント#fc669131]]な、セキュリティ。

***ネットワーク環境 [#h2a99f98]
ネットワーク機器やF/Wなどで制御できる範囲でのアクセス制御

***ホストやアプリケーション [#ed4fc095]
ホストやアプリケーションに対するログインとアクセス制御

***システム・リソース [#g7cca6a0]
主に、OSの機能で実現されている。

**種類 [#ac19d03d]
-アクセス制御 - Wikipedia~
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1

***任意(DAC) [#z0617296]
-DAC : Discretionary Access Controls
-Windowsなどの一般的なアクセス制御
-[[所有者の裁量でアクセス権が決定されるため任意>#w006a94e]]

***強制(MAC) [#x99edac4]
-MAC : Mandatory Access Control
-[[セキュアOS>SC:対策技術 - 防御・侵入検知#e33b98ed]]などに実装がある。
-所有者ではなくシステムが決定するアクセス方針~
(サブジェクトやオブジェクトを複数のレベルにクラス分けする)

***ロールベース(RBAC) [#q11d1789]
-RBAC : Role-Based Access Control
-Windowsなどの一般的なアクセス制御
-[[任意(DAC)にロール(利用者属性の一つ)を追加した方式>#z0617296]]

***情報フロー制御 [#e588245d]
-情報の流れを分析して情報が、~
上位から下位に移動しないように制御する方式

-MLSやBLPモデルで制御される。
--MLS : Multi Level Security
--前述の[[強制(MAC)>#x99edac4]]で利用される。
--MLSを数学的に定式化した状態遷移モデルがBLP(Bell–LaPadula Model)

-MLSによるアクセス制御ルール例
|ユーザの機密レベル|情報の機密レベル|関係|>|>|>|アクセス制御ルール|h
|~|~|~|読取|追記|修正|実行|h
|極秘|極秘|ユーザ=情報|〇|〇|〇|〇|
|~|秘|ユーザ>情報|〇|×|×|〇|
|~|一般|~|~|~|~|~|
|秘|極秘|ユーザ<情報|×|〇|×|×|
|~|秘|ユーザ=情報|〇|〇|〇|〇|
|~|一般|ユーザ>情報|〇|×|×|〇|
|一般|極秘|ユーザ<情報|×|〇|×|×|
|~|秘|~|~|~|~|~|
|~|一般|ユーザ>情報|〇|〇|〇|〇|

-説明~
ユーザと情報の関係ですべて決まる。
--ユーザ>情報:読取・実行のみ許可(参照)
--ユーザ=情報:更新含め全て許可(当事者)
--ユーザ<情報:追記のみ許可(報告)

**実施 [#z8ccb42a]
ある意味、PDCA的ではある。

***(P) : 方針の明確化 [#f0a5b752]
方針=アクセス制御のルール

-例えば、前述の[[アクセス制御の種類>#ac19d03d]]のような。
-具体的には、[[情報フロー制御>#e588245d]]のような。

***(D1) : 実装の明確化 [#x4f97442]
上記の方針をどのような技術で実装するか?

***(D2) : 実装 [#tc3297d1]
[[実装の明確化>#x4f97442]]≒仕様で、これを実装。

***(C) : 適切性評価 [#dbf69ed2]
方針や実装を評価し、

***(A) : 見直し [#s1918599]
方針や実装を見直す。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS