認証とは、何かによって、対象の真正性を確認する行為を指す。

## 法律での認証

法律上用いられる意味においては、ある行為または文書が正当な手続・方式でなされたことを公の機関が証明することをいう。

## 型式認証

個々の製品に対して個別に認証するのではなく、型式に対して認証する。携帯電話等の通信機器や自動車、電気用品等、同一規格、同一仕様で量産される工業製品に対して適用される。

## 認証 (セキュリティ)

### 認証行為

認証行為は認証対象によって分類され、認証対象が人間である場合には相手認証(本人認証)、メッセージである場合にはメッセージ認証、時刻の場合には時刻認証と呼ぶ。
単に認証と言った場合には相手認証を指す場合が多い。

#### 相手認証

相手認証とはある人が他の人に自分が確かに本人であると納得させるをいう。
A氏がB氏に自分が本当にAである事を証明するとき、BはAを認証すると言い、Aを被認証者、Bを認証者と呼ぶ。
被認証者、認証者の事を証明者(prover)、検証者(verifier)とも呼ぶ(Aが本当にAである事を「証明」し、その証明が正しいかどうかをBが「検証」するので)。

認証者は被認証者の証明に納得した場合、認証者は被認証者の証明を「受理」(accept)したといい、そうでない場合は「棄却」(reject)したという。

相手認証はその目的によって分類され、主なものに資格認証と属性認証がある。資格認証とは、何らかのサービスを受ける際にその資格があるかどうかを確認する為に行われる認証行為の事である。例えば選挙権がある事を証明する為に投票所入場券を提示したり、コンピュータにログインする権限がある事を証明する為にIDコードとパスワードの入力を行なったり、自動車の運転資格がある事(すなわち免許を持っている事)を証明する為に免許証提示を行なったりする。属性認証とは被認証者の属性(年齢、性別等)の正当性を確認する為に行われ、例として酒や煙草を購入する際に成人であることを証明する認証行為(年齢認証)がある。

前述の選挙権がある事を保証する為の認証行為は、投票を行う資格がある事を証明する資格認証であるのと同時に、選挙権があるという属性を証明する属性認証でもある。

また相手認証はその方法によってCertification(サーティフィケーション)とAuthentication(オーセンティケーション)とに分類される。
Certificationは被認証者が認証場所に直接アクセスして行う認証の事で、
それに対しAuthenticationは被認証者が認証場所に直接アクセスする事無く遠隔地から電子的に受ける認証の事である。

なお、Certificationであっても認証者の方は認証場所に直接アクセスするとは限らない(代わりに認証装置が認証を行う)。

#### Certification

Certificationは主に次の目的で行われる。

- 何らかの道具(計算機、核爆弾等)・書類・施設(計算機室、企業のビル、軍事施設等)を利用・閲覧・入場する際、被認証者に利用・閲覧・入場の権限がある事を確認する。
- Authenticationの事前準備。特にPKIにおける事前登録手続き。被認証者を何らかの電子データ(ID、パスワード、公開鍵、口座番号)を対応づける。

認証者は何らかの権限者(システム管理者、市役所の担当官)や、権限者の代行者(門番等)である事が多い。

Certificationは主として次の方法で行われる。

- 知識:パスワードや個人識別番号 (PIN) など。そのパスワードやPINを所有者以外は知らないことが前提となる。WYK(WHAT YOU KNOW:あなたが知っている事)認証とも呼ばれる。
- 所有物:スマートカードやトークンなど。アカウントの所有者だけが必要なスマートカードやトークンを持っていることが前提となる。WYH(WHAT YOU HAVE:あなたが持っている物)認証とも呼ばれる。
- 生体(バイオメトリック認証):本人固有の身体情報(指紋、声紋、網膜、虹彩の特徴など)。WYA(WHAT YOU ARE:あなたが何であるか)認証とも呼ばれる。

米国の核攻撃命令、日本の銀行オンライン取引(一部先進行)などでは、パスワードの代わりに乱数表を用いて認証を行う。例えば、「上から3段目の左から4文字目から、下に3数字読んで下さい」など。

#### Authentication

Authenticationとは、被認証者が認証場所に直接アクセスせずに遠隔地から電子的に行う認証である。

Authenticationも、Certificationと同じく何らかの道具・書類・施設を利用・閲覧・入場する際に、被認証者に利用・閲覧・入場の権限があることを確認するために行う。しかし、Authenticationは電子的な行為なので、利用される道具や施設も電子的なもの(ウェブ・アプリケーション、リモート・サーバなど)である。

Authenticationは何らかの電子データ(パスワードや公開鍵秘密鍵ペア)を用いて行われるので、事前に被認証者と電子データとを対応づけておく必要がある。
被認証者(の名前)と電子データとの対応関係が取れていないと、他人になりすまして電子データを使ったり、一人が複数の電子データを使って一人二役を行ったりするという攻撃が防げなくなり、認証行為が全く意味をもたなくなってしまう。

したがって、被認証者と電子データとの対応を、確実に確保する必要がある。
対応づけはCertificationを通して行われる。
認証者は被認証者を事前にCertificationして本人性を確認し、それによって被認証者と電子データとを対応づける。
Authenticationを行う際に、認証者は対応表から電子データを逆引きし、被認証者が誰であるのかを特定する。
認証者が被認証者をAuthenticateする方法は、大きく分けて2通りある。

第1の方法は、被認証者が認証者に、秘密鍵をもっていることによって得られる何らかの能力の証明を行う方法である。第2の方法は、被認証者が認証者に、被認証者の公開鍵に対応する秘密鍵の知識の証明を行う方法である。

能力の証明を用いたAuthenticationで代表的なものは、電子署名を用いた方法である。まず認証者は乱数 r を選び、r を被認証者に送信する。被認証者は r を受け取ったら、r に対する電子署名 s を作成し、s を認証者に送信する。認証者は s が r の正しい署名であるか否かを確認する。s が r の正しい署名であれば認証者は証明を受理し、そうでなければ棄却する。

知識の証明を用いた認証方式には、Schnorrが提案したSchnorr認証方式など、様々な方法がある。

#### メッセージ認証

メッセージ認証はメッセージの同一性の保証であり、コンピュータウイルス、不正侵入等を使った破壊行為によりメッセージが変更されていない事を保証する為の手続きをメッセージ認証という。メッセージ認証の代表的な方式はメッセージ認証符号(MAC)を用いたものである。

メッセージ$m$に対しそのハッシュ値$x=H(m)$を計算し、$x$を($m$よりセキュアな場所に)保管する。$m$が改竄されて別のメッセージ$m'$になっていた場合、$x\not =H(m')$なのでメッセージが改竄された事が分かる。

#### 時刻認証

時刻認証とはある物事が確かにその時刻にあった・起こった事を保証する為に行う認証行為の事である。
代表的な方法としてタイムスタンプを用いた方法がある。

#### リスクベース認証

リスクベース認証とは、ユーザーのIPアドレス、OS・ブラウザの種類やバージョン、時間等の環境を分析し、普段と異なるアクセスに対して、追加認証を行うことにより、不正アクセスを防ぐ認証方式である。IPアドレスはIPヘッダ、OS・ブラウザの種類やバージョンはHTTPヘッダのUser-Agentより取得可能であり、ユーザーの操作を必要としないパッシブ認証として、利便性が高い。