情報セキュリティマネジメント　～暗号と認証～

# はじめに
　今回は情報セキュリティマネジメントの暗号と認証についてやっていきます。
# 暗号とは
　ネットワークに流れる情報・データが、どこかで盗み見される可能性は、否定できません。そのため、万が一に備えて、盗まれても内容を解読されないように、暗号が使われます。

## 暗号
　情報の機密性（アクセスする権限がある人だけがアクセスでき、それ以外の人には公開されないこと）を維持するために、暗号は昔から使われてきました。万が一、情報を盗み見されても、暗号化しておけば、解読できず内容が分からないため、被害を防げるからです。身近な例では、警察無線や、地上波・BS・CSなどのテレビ放送があります。インターネットでつながったIT社会では、暗号の必要性がより高くなっています。
　暗号の概要を説明します。例えば、平文「おはよう」を、暗号鍵（50音順に1文字ずつずらす）を使って暗号化すると、お→か、は→ひ、よ→ら、う→え、になり、暗号文「かひらえ」になります。このように、暗号化すると、暗号文から元の内容（平文）が分からなくなります。

### 共通鍵暗号方式
　暗号化と複合で同じカギ（共通鍵）を使います。例えば、ワープロソフトや表計算ソフトのファイルなどの暗号で実用化せれています。この方式の暗号技術として、DESやAESがあります。

### 公開鍵暗号方式
　暗号化と複合で別々のカギ（公開鍵と秘密鍵）を使います。例えば、Webサイトや電子メールの暗号通信などの暗号で実用化されています。この方式の暗号技術として、RSAがあります。

## 危殆化
　コンピュータに性能向上に伴って、高速に短時間で解読作業ができるようになったために、暗号の安全性が低下することです。暗号技術の油工期限切れのようなものです。開発当時は安全と思われていた暗号技術であっても、高性能コンピュータによって解読までの時間が次第に短縮しています。危殆化した暗号技術は、最新の暗号技術へ置き換える必要があります。

## CRYPTREC暗号リスト
　総務省と経済産業省が安全性を認めた暗号技術のリストです。電子政府実現のために、各省庁が調達するシステムで使うべき暗号技術が掲載されています。客観的な検証の結果、危殆化したと認められた暗号技術は、改定時にリストから除外されます。

## 暗号方式と暗号技術
　暗号方式（共通鍵暗号方式・公開鍵暗号方式）は、次の観点でどれを使うか判断します。

|処理速度|暗号化・複合にかかる処理時間・処理速度。|
|----|----|
|鍵の種類|暗号化・複合する際に必要な鍵の数で、暗号文をやり取りする対象者が増えるとともに、鍵の数が増える。|
|鍵の配布方法|どのような経路・方法で、相手に複合鍵を渡すか。|

暗号技術（DES・AES・RSAなど）の良し悪し、次の点で評価します。

|暗号アルゴリズム|暗号化・複合にかかる処理時間・CPUの負荷。|
|----|----|
|鍵の長さ|長ければ長いほど、暗号強度が高まり解読されにくくなる一方で、処理速度が遅くなる。|
|危殆化|コンピュータの処理速度向上により、暗号解読にかかる時間が減り、暗号の安全性が低下する。|

# 共通鍵暗号方式
　暗号と聞いて一番身近なのが、共通鍵暗号方式です。鍵をかける人と鍵を外す人が同じ鍵（共通鍵）を使います。しかし、避けては通れない致命的な問題を抱えています。

## 共通鍵暗号方式
　暗号と複合で、同じ鍵（共通鍵）を使う暗号方式です。身近な例では、ドアや金庫の鍵・ZIPファイルにつけるカギ（パスワード）があります。

共通鍵暗号方式の特徴は、次のとおりです。

・処理速度が速い。公開鍵暗号方式に比べ、数百~数千分の1の処理時間しかかからない。

・共通鍵暗号方式を使った暗号化の機能が付属しているソフトウェアが数多くあり、手軽に使用できる。

・鍵の配布に手間がかかる。例えば、暗号化されたファイルを電子メールに添付して送る場合、複合する人に鍵を、メール以外の方法（電話・手紙など）で、伝えることが推奨されているため、鍵の受け渡しに手間がかかる。

## 共通鍵の管理
　共通鍵暗号方式には、必要な鍵の数が多くなるという短所があります。例えば、暗号化するAさんと複合するBさん、反対に暗号化するBさんと複合するAさんの（A⇔B）合計2人だと、鍵は1個で済みます。しかし、Aさん、Bさん、Cさんの合計3人になり、A⇔Bだけでなく、A⇔CとB⇔Cが加わると、鍵は3個必要になります。合計人数が増えるほど、必要な鍵の数が多くなるのです。
　共通鍵暗号方式で使う鍵の数は、暗号文を受け渡しする合計人数をn人とした場合、「n(n-1)/2」で表せます。n人がそれぞれ(n-1)人と通信するので、組み合わせは「n×(n-1)」です。ただし、「AさんとBさん」と「BさんとAさん」という組み合わせは、同じ鍵を使えばいいので、2で割って「n(n-1)/2」となります。
　暗号文を受け渡しする合計人数と、必要な鍵の数は、次のとおりです。

・合計2人だと、2×(2-1)÷2=1個
・合計3人だと、3×(3-1)÷2=3個
・合計4人だと、4×(4-1)÷2=6個

さらに人数が増えると、表のように、加速度的に必要な鍵の数が多くなり、現実的に鍵の管理は難しいでしょう。そのため、共通鍵暗号方式は、多数での使用には不向きで、ごく少人数で使う場合に向いています。

## DES
　共通鍵暗号方式の代表格の暗号技術です。鍵の長さは、56ビットです。NISTが米国標準暗号方式として制定しましたが、その後、解読可能性があるという理由で、危殆化しました。

## AES
　共通暗号かぎ方式の代表格の暗号技術です。鍵の長さは、128ビット（AES-128）・192ビット（AES-192）・256ビット（AES-256)から選べます。NISTが米国標準暗号方式として制定しました。DESの危殆化に伴い、後継の暗号技術を一般公募し、安全面と実装面で最も優れた暗号技術が採用され、AESと名付けられました。

# 公開鍵暗号方式
　公開鍵暗号方式は、共通鍵暗号方式が持つ「鍵の数が多くなる短所」解決します。公開鍵暗号方式は、仕組みが複雑ですが、もっと出題される内容です。

## 公開鍵暗号方式
　暗号化と複合で、別々の鍵（公開鍵と秘密鍵）を使う暗号方式です。コンピュータだからこそ実現できる暗号技術のため、ドアの鍵のような身近な実例はありません。
　暗号化の手順の説明の前に、公開鍵暗号方式の前例条件は、次のとおりです。

・1人につき、ペアである2つの鍵（公開鍵・秘密鍵）を使う。これを鍵ペアという。

・公開鍵は、不特定多数の利用者に公開する。一方で、秘密鍵は、秘密扱いにして誰にも渡さない。

・公開鍵を使って、平文を暗号化した暗号文は、ペアである秘密鍵でしか複合できない。これを暗号化で使う。

・秘密鍵を使って、平文を暗号化した暗号文は、ペアである公開鍵でしか複合できない。これをでぃたる署名で使う。

### 暗号化の手順
　公開鍵暗号方式を使って実現できる暗号化とディジタル署名のうち、暗号化では公開鍵を使って平文を暗号化します。公開鍵暗号方式の暗号化の手順は、次のとおりです。　

➀送信者が「受信者の公開鍵」で、平文を暗号化し、暗号文を受信者に送る。

➁受信者は「受信者の秘密鍵」で、暗号文を複合し、平文を取り出す。

　なお、送信者は事前に「受信者の公開鍵」を取得する必要があります。受け渡し方法には、POPやPKI(公開鍵基盤)があります。

### 暗号化で確かめられること
　公開鍵暗号方式の暗号化の結果、次の事実を確かめられます。

#### 盗聴なし
「受信者の公開鍵」で暗号化すれば、複合できるのは、「受信者の秘密鍵」を持つ受信者だけである。万一、送信途中の暗号文を攻撃者が盗み見しても、「受信者の秘密鍵」が分からないため、解読できず盗聴できない。なぜなら暗号に使う「受信者の秘密鍵」は、受信者が誰にも渡さず、自分しか使わないからである。

#### 公開鍵暗号方式の特徴
　公開鍵暗号方式の特徴は、次のとおりです。

・処理速度が遅い。共通鍵暗号方式に比べ、数百倍~数千倍も処理時間がかかる。

・公開鍵・秘密鍵の環境構築に手間や費用が掛かる。

## 公開鍵の管理
　公開鍵暗号方式の鍵の数は、暗号文を受け渡しする合計人数をn人とした場合、「2n」で表せます。つまり、1人につき、公開鍵と秘密鍵の計2個で済みます。
　例えば、合計人数が200人の場合、共通鍵暗号方式では、「n(n-1)/2」ですから、鍵は19,900個必要です。一方で、公開鍵暗号方式では、「2n」ですから鍵は400個で済みます。その差は歴然です。

||合計人数(n)|計算式|鍵の数|
|----|----|----|----|
|共通鍵暗号方式|200人|n(n-1)/2|19,900個|
|公開鍵暗号補意識|200人|2n|400個|

## RSA
　公開鍵暗号方式の代表格の暗号技術です。非常に大きな数の素因数分解が困難なことを利用しています。世界中で広く使われれている暗号技術です。

# ハイブリッド暗号
　興津鍵暗号方式と公開鍵暗号方式が持つ長所と短所をうまく補い合う方式が、ハイブリッド暗号です。長所を活かしつつ、短所を補うことができる優れた方法です。

## 暗号方式
　共通鍵暗号方式と公開鍵暗号方式の特徴を表にまとめてみました。一長一短があるため、両暗号方式は併存し、状況に応じて選ばれています。

||共通鍵暗号方式|公開鍵暗号方式|
|----|----|----|
|処理速度|速い|遅い|
|鍵の数|大人数の場合、必要な鍵の数が多くなる|大人数であっても、必要な鍵の数は1人につき2つだけ。|
|合計n人が利用する場合の鍵の数|n(n-1)-2|2n|
|鍵の配布|鍵の配布が手間|鍵の配布が容易|
|鍵の配布方法|電子メール・電話・手紙など|PGP・PKI(公開鍵基盤)|
|特徴|・手軽。<br>・少人数での利用に向く。|・環境構築に手間がかかる。<br>・多数での利用に向く|

## ハイブリッド暗号
　公開鍵暗号方式の短所を、共通鍵暗号方式と組み焦ることで補う暗号方式です。平文を公開鍵暗号方式で暗号化するのではなく、平文を共通鍵暗号方式の共通鍵で暗号化し、その共通鍵を公開鍵暗号方式で暗号化します。共通鍵は、平文に比べて、ファイルサイズが小さいため、平文すべてを暗号化するよりも、共通鍵を暗号化した方が、処理時間を大幅に減らせます。

### ハイブリッド暗号の手順
　ハイブリッド暗号の手順は、次のとおりです。

➀送信者は、平文を「共通鍵」を使って暗号化し、暗号文を作る。なお、「共通鍵」は自動的に生成されたものを使う。

➁送信者は、その「共通鍵」自体を平文とし、「受信者の公開鍵」を使って暗号化して「暗号化した共通鍵」を作る。

➂送信者は、➀の暗号文と➁の「暗号化した共通鍵」を、受信者に送る。

➃受信者は、「受信者の秘密鍵を使って、➁の「暗号化した共通鍵」を複合し、「共通鍵」を取り出す。

⓹受信者は、➃の「共通鍵」を使って、➀の暗号文を複合し、平文を取り出す。

### ハイブリッド暗号の特徴
　ハイブリッド暗号の特徴は、次のとおりです。

・共通暗号方式の長所「処理速度が速い」を活かしつつ、短所「鍵の配布が手間」を穴埋めする。

・公開鍵暗号方式の長所「鍵の数が少ない、鍵の配布が容易」を活かしつつ、短所「処理速度が遅い」を穴埋めする。

# ディジタル署名
　公開鍵暗号方式は、盗聴なしを確かめるための暗号化に加えて、なりすましなしと改ざんなしを確かめる目的でも使います。それが、実社会では、印鑑に相当するディジタル署名です。

## ハッシュ関数
　改ざんなしを確かめるために使う計算方法です。ディジタル署名の中で使われます。

・平文を、ハッシュ関数で計算し、メッセージダイジェスト(ダイジェスト)を作る。これをハッシュ化という。

・異なる平文から、同一のダイジェストになることは、計算上あり得ない。

・平文からダイジェストは作れるが、逆にダイジェストから平文は作れない。これを一方向性や不可逆性と表現する。

・ダイジェストにより、ファイルの内容をすべて見比べなくても、2つのファイルの内容が同一だと確かめられる。

・ダイジェストは、平文のファイルサイズにかかわらず、一定のサイズになる。

### ハッシュ関数の手順
　送信者・受信者の両者が作ったダイジェストが同一であれば、ファイルが同一だと判明し、送信者から受信者へ送る途中での改ざんなしを確かめられます。ハッシュ関数を使って、改ざんなしを確かめる手順は、次のとおりです。

➀送信者は、平文をハッシュ化し、「送信者のダイジェスト」を作る。

➁送信者は、平文と「送信者のダイジェスト」を、受信者に送る。

➂受信者は、受信した平文をハッシュ化し、「受信者のダイジェスト」を作る。

➃受信者は、➁の「送信者のダイジェスト」と➂の「受信者のダイジェスト」を比較し、同一であれば、改ざんなしを確かめられる。

　代表的なハッシュ関数は、次のとおりです。

|MD5|平文から128ビットのダイジェストを作るハッシュ関数。広く使われている一方で、深刻な脆弱性が見つかっており、危殆化している。|
|----|----|
|SHA-1|平文から160ビットのダイジェストを作るハッシュ関数。深刻でないものの、脆弱性が指摘されている。|
|SHA-256|平文から256ビットのダイジェストを作るハッシュ関数。上記2つのハッシュ関数よりも安全とされている。|

## パスワード管理
　ハッシュ関数は、パスワード管理にも使われています。パスワードをコンピュータ内にそのまま保存すると、不正アクセスによる盗聴される恐れがあります。そのため、パスワードは保存せず、パスワード(平文)をハッシュ化してできたダイジェストをコンピュータに保存します。
　パスワードが正しいかどうかは、入力されれたパスワードをもとにハッシュ化してできたダイジェストと、コンピュータに保存してあるダイジェストとを比較すればわかります。パスワード自体はどこにも保存しません。また、ハッシュ関数は一方向性のため、ダイジェストからパスワードを復元できず、盗聴できません。

## ディジタル署名
　公開暗号方式の暗号化と逆の手順を踏むことで、なりすましなしと改ざんなしを確かめられます。ディジタル署名は文字通り、署名の電子版です。実社会でも、なりすましがなく、確実に本人が承諾したと認めるために、署名(サイン)したり、印鑑の捺印したりします。その機能をITで行うためのものです。

　ディジタル署名にも、公開鍵暗号方式を使います。つまり、公開鍵暗号方式は、暗号化とディジタル署名の2つを実現します。一人二役です。
　ディジタル署名の手順の説明の前に、公開鍵暗号方式の前提条件を確認します。

・1人につき、ペアである2つの鍵(公開鍵と秘密鍵）を使う。これを鍵ペアという。

・公開鍵は、不特定多数の利用者に公開する。一方で、秘密鍵は、不特定多数の利用者に公開する。一方で、秘密鍵は、秘密扱いにして誰にも渡さない。

・公開鍵を使って、平文を暗号化した暗号文は、ペアである秘密鍵でしか複合できない。これを暗号化で使う。

・秘密鍵を使って、平文を暗号化した暗号文は、ペアである公開鍵でしか複合できない。これをディジタル署名で使う。

### ディジタル署名の手順
　ディジタル署名の手順は、次のとおりです。

➀送信者は、平文をハッシュ化し、「送信者のダイジェスト」を作る。

➁送信者は、「送信者のダイジェスト」自体を平文として「送信者の秘密鍵」を使って、暗号化し「暗号ダイジェスト」を作る。これを署名するという。

➂送信者は、➀の平文と➁の「暗号ダイジェスト」を、受信者に送る。

➃受信者は、「送信者の公開鍵」を使って、➁の「暗号ダイジェスト」を複合し、「送信者のダイジェスト」取り出す。これを検証するという。

⓹受信者は、受信した➀の平文をハッシュ化し、「受信者のダイジェスト」を作る。

➅受信者は、➃の「送信者のダイジェスト」と⓹の「受信者のダイジェスト」比較し、同一であれば、なりすましなしと改ざんなしを確かめられる。

### ディジタル署名で確かめられること
　ディジタル署名の結果、次の2つの事実を確かめられます。

#### なりすまし
　暗号文を「送信者の公開鍵」で復元できるということは、その暗号文は、ペアである「送信者の秘密鍵」で暗号化されたということである。その「送信者の秘密鍵」は、送信者以外は知りえないため、確実に送信者本人から送信されたことが分かる。

#### 改ざんなし
　送信者と受信者で同じハッシュ化してできたダイジェストの内容が同一の場合、改ざんなしを確かめられる。具体的には、平文ぢから、ハッシュ関数で計算し、ダイジェストを作る。この関数は、異なる平文から同一のダイジェストになることは、計算上ありえないため、送信者と受信者でダイジェストが同一の場合、確実に同じ平文であり、改ざんなしと言える。
　公開鍵暗号方式を使った暗号化とディジタル署名により、確かめられるものは、次のとおりです。

・暗号化により、盗聴なしを確かめられる。つまり機密性を維持する。

・ディジタル署名により、なりすましなしと改ざんなしを確かめられる。つまり、真正性と完全性を維持する。

## ディジタル署名と暗号化
　ディジタル署名により、なりすましなしと改ざんなしを確かめられますが、盗聴なしは確かめられません。そのため、ディジタル署名は、盗聴なしを確かめられる暗号化と組み合わせて使います。手順は複雑になりますが、すべての対策を打てるため、多くの暗号技術でこの方式が採用されています。

# 公開鍵基盤
　ディジタル照明の弱点を補うために考え出された仕組みが公開鍵基盤(PKI)です。送信・受信する当事者間だけでは疑念を拭い去れないため、第三者に認証してもらいます。

## PKI
　なりすましなしで、確実に本人の公開鍵であると認証する仕組みです。役所の印鑑証明に似ています。ディジタル署名(なりすましなし・改ざんなし)と暗号化(盗聴なし)の組み合わせでは、攻撃が者が本人名義の公開鍵を最初から偽装し、本人になりすましする可能性が残されています。なりすましされた被害者から見れば、「自分は公開鍵を作っていないのに、誰かに自分名義のディジタル照明を勝手に作られてしまった」という状況です。
　理想的な対策は、直接本人に会って公開鍵を手渡しすることです。しかし、相手の顔を知っていて、本人と識別でき、かつ近距離で時間にゆとりがなければ、不可能です。そこでPKIを使います。
　関連する単語は、次のとおりです。

### ディジタル証明書
　公開鍵基盤(PKI)において、ディジタル署名の公開鍵が正規のものであることを証明するための証明書です。ディジタル署名とディジタル証明書は、名称が似ていますが、違いは、次のとおりです。

・ディジタル署名は、印鑑に似ている。ファイル・データについて、なりすましなし・改ざんなしだと証明する。

・ディジタル証明書は、印鑑証明・身分証明書に似ている。ディジタル署名(印鑑)の公開鍵について、なりすましなしで、確実に本人のものであると、第三者機関が認証する。

### 認証局
　公開鍵基盤(PKI)において、ディジタル証明書・CRLを発行する機関です。ディジタル証明書にお墨付きを与える、信頼のおける第三者機関です。

### CRL
　有効期限内にもかかわらず、執行したディジタル証明書のシリアル番号と執行した日時の一覧です。身近な例では、ブラックリストに似ています。有効期限・証明書の署名などは、ディジタル証明書だけで確認できますが、失効したかどうかはそのディジタル照明だけでは確認できないため、CRLを使います。
　例えば、ディジタル証明書が悪用されたり、秘密鍵を紛失したりした場合に、その旨申請すれば、CRLに記載され、認証局(CA)により発行されます。Webブラウザは、CRLをダウンロードし、CRLに記載されていれば、そのディジタル証明書を無効と判断します。

### ディジタル証明書の手順
　認証局が発行したディジタル証明書により、なりすましなしを確かめる手順は、次のとおりです。

➀送信者は、公開鍵と秘密鍵を作成し、認証局にディジタル署名の公開鍵と身分証明書を提出して登録申請する。

➁認証局は、内容を承認し、提出されたディジタル署名の公開鍵を入れたディジタル証明書を発行する。

➂送信者が受信者にメール本文・送信者のディジタル署名の公開鍵；認証局のディジタル証明書を送る。

➃受信者が認証局を信頼し、認証局が送信者を認証するのであれば、受信者は送信者を信頼できる。

### ルート認証局
　最上位に位置する認証局です。1つの認証局が、すべてのディジタル証明書を発行することは困難なため、認証局は多数必要です。一方で、その数が多すぎると、煩雑になるため、認証局を階層構造にし、上位の認証局が下位の認証局を認証するようにします。
　ルート認証局の特徴は、次のとおりです。

・送信者から受け取ったディジタル証明書が、信頼の置けるルート認証局により認証された、下位の認証局が発行したものであれば、そのディジタル照明のなりすましなしを確かめられる。

・ルート認証局は、認証局運用規定(CPS)を公開し、厳正な監査基準を満たす必要があります。

### ディジタル照明の活用例
　ディジタル照明の活用例は、次のとおりです。

#### サーバ証明書
　Webサーバのなりすましを防ぐために、認証局(CA)が発行するディジタル証明書。サーバ証明書内の認証局の公開鍵により、Webサーバが正規のものかを検証できる。

#### EV証明書
　法的にも物理的にも実在するかなどについて原価勲位審査された組織・企業にのみ発行されるディジタル証明書。サーバ証明書の一種。EV証明書を使ったWebサイトは、利用者から信頼関係が高く安全だと認識されやすい。

#### クライアント証明書
　利用者や、利用者の機器のなりすましを防ぐために、利用者の機器にインストールするディジタル証明書。

#### ルート証明書
　ルート認証局などが、自らの認証局が正規のものであることを証明するために発行するディジタル証明書。

# 暗号技術
　ここでは、これまでに紹介した、共通鍵暗号方式の暗号技術であるDES・AESや、公開鍵暗号方式の暗号技術であるRSAとは、異なる暗号技術を学びます。

## 暗号技術
　暗号方式をもとに、実際に使えるプロトコル・規格・ソフトウェアへと、プログラム言語を使って組んだものです。暗号方式が、暗号アルゴリズムなどを研究し、論文という形で書かれた理論である一方で、暗号技術は、実際に利用できる形式に変換したものです。

## 楕円曲線暗号
　公開鍵暗号方式の一種で、RSA暗号に比べて、鍵長が短く、かつ処理が速いにもかかわらず、同レベルの強度がある暗号方式です。現在主流であるRSA暗号に代わる後継の暗号方式として期待されています。

## S/MIME
 ハイブリッド暗号を使って、メールを暗号化したり、ディジタル署名によるなりすましなし・改ざんなしを確かめたりするための企画です。

・公開鍵の受け渡しには、PKI(公開鍵基盤)の認証局を利用する。

・事前に認証局に対し公開鍵を登録申請し、承認を受けておく必要がある。

・第三者機関である認証局を利用するため、多くの人と公開鍵をやり取りしやすいので、多人数とメールのやり取りをする場合に向く。

## PGP
　ハイブリッド暗号を使って、メールを暗号化したり、ディジタル署名によるなりすましなし・改ざんなしを確かめたりするためのシフトウェアです。

・S/MIMEは規格、PGPは暗号化ソフトである。

・公開鍵の受け渡しには、PKI(公開鍵基盤)の認証局は利用せず、暗号化する人・複合する人の当事者間で、事前に公開鍵を受け渡す必要がある。

・認証局への登録申請や管理が不要なので、導入しやすい。

・当事者間で公開鍵のやり取りをするため、少人数でメールのやり取りをする場合に向く。

# 認証技術
　情報セキュリティの定義の3要素に含まれる機密性を維持するために、認証は欠かせません。

## 認証
　なりすましがなく、確実に本人・本物であることを確認することです。対象別に、次の3種類があります。

#### 利用者認証
　本人なのか、なりすましがないかを証明する。ユーザ認証・本人認証ともいう。例えば、ワンタイムパスワードやPIN(暗証番号)を使う。

#### メッセージ認証
　メール(メッセージ)などの情報に、改ざんがないかを認証する。例えば、メッセージ認証符号やディジタル署名を使う。

#### 時刻認証
　時刻に改ざんがないかを認証する。ファイルの保存時刻・ログの記録時刻の改ざんなしを確かめられる。例えば、タイムスタンプを使う。

## メッセージ認証符号
　通信データの改ざんなしを確かめるために作る符号データです。メッセージ認証符号とディジタル署名は、改ざんなしを確かめられる点で似ていますが、両者の違いは、次のとおりです。

・メッセージ認証符号(MAC)は、共通鍵暗号方式、または、ハッシュ関数を使う。

・ディジタル署名は、公開鍵暗号方式を使う。改ざんなしだけでなく、なりすましなしも確かめられる。

## タイムスタンプ
　ファイルの時刻の改ざんなしを確かめる目的で、第三者機関である時刻認証局により発行される時刻情報です。身近な例では、郵便の消印があります。
　タイムスタンプにより、確かめられるものは、次のとおりです。

・いつからファイルが存在するか(存在時刻)

・現在までファイルが書き換えられていない(改ざんなし)

　ディジタル認証だけでは、これらを確かめられないため、タイムスタンプを併用します。
　タイムスタンプによって、否認防止を厳密化します。さらに、タイムスタンプとディジタル署名を組み合わせると、次のように立証できることが増えます。

|レベル|立証できること|
|----|----|
|ディジタル署名なし|立証できない。<br>「私は署名していない」と否認できる。|
|ディジタル署名あり|誰が、署名したか。|
|ディジタル署名あり+タイムスタンプ|誰が、いつ署名したか。|

# 利用者認証
　利用者認証とは、なりすましがなく、確実に本人なのかをを認証すために使う、様々な方式や技術です。パスワードなどの知的認証・ICカード尾などの所有物認証・顔認証などの生体認証に分けられます。

## 利用者認証
　利用者認証は、認証方法により、知的認証・所有物認証・生体認証の3つに分けられます。

|認証方法|長所と短所|例|
|----|----|----|
|知的認証|本人のみが知る情報により認証する。<br>長所：安価に導入できる。<br>短所：忘れる危険性がある。また、盗まれて内容を公開されたら、それを知った人は誰でもなりすましできる。|パスワード<br>PIN|
|所有物認証|本人のみが持つものにより認証する。<br>長所：盗まれても、盗んだ人(盗んだ所有物を持っている人)しか認証できない。<br>短所：貸し借り・複製・紛失の危険性がる。|ICカード<br>IDカード<br>ハードウェアトークン|
|生体認証|本人のみ持つ身体的特徴・行動的特徴により認証する。<br>長所：盗難・貸し借り・複製・紛失の心配がない。<br>短所：認証機器の費用が掛かる。|静脈パターン認証<br>虹彩認証<br>声紋認証<br>顔認証<br>網膜認証<br>署名認証|

## 多要素認証
　なりすましを防ぐため、複数の認証方法(知識認証・所有物認証・生体認証)を組み合わせることです。例えば、料金支払いの際に、クレジットカード(ICカード)で所有物認証を行うだけでなく、暗証番号(PIN)で知識認証を行い、安全性を高めます。
　また、特に認証方法(知識認証・所有物認証・生体認証)のうち、異なる認証方法を2つ組み合わせる方法を、2要素認証と言います。

## ワンタイムパスワード
　1回限り有効な使い捨てパスワードです。認証のたびにパスワードを作り、時間が経過するとパスワードは無効になります。仮にパスワードが盗聴されても、次回は異なるパスワードに変わるため、不正利用を防止できます。
　例えば、ネットバンキングで高額の取引を行う場合、なりすましを防ぐ為に、ハードウェアトークンにより生成したワンタイムパスワードの入力が必要になることがあります。

## PIN
　認証番号のことで、多要素認証における認証方法の1つとして利用されます。身近な例として、クレジットカード・キャッシュカードを使った料金支払いの際や、スマートフォンの電源を入れた際に、入力を求められます。

## シングルサインオン
　一度、あるシステムで利用者認証が通れば、他のシステムで改めて認証することなく、認証が通るための技術です。利用者の利便性向上につながる一方で、一度不正アクセスされると、その被害が利用者の別システムにもおよぬ危険性もはらみます。

## リスクベース認証
　不正アクセスを防ぐ目的で、普段と異なる利用環境から認証を行った場合に、追加で認証を行うための仕組みです。例えば、認証時の、IPアドレス・OS・Webブラウザなどが、普段と異なる場合に、攻撃者からのなりすましでないことを確認するため、合言葉による追加の認証を行うことです。

## CAPTCHA
　プログラムは読み取れないが、人間なら読み取れる形状の文字のことです。例えば、Webサイトの利用者登録ページで、人間でなくプログラムが自動で文字の入力し、勝手に登録する手口があります。その対策として、Webサイト上でCAPTCHAを表示し、それを読み取った文字を利用者に入力させる方式にします。
　プログラムはCAPTCHAの文字を読み取れないので、入力された文字が正しければ、確実に人間が操作したものだと判別でき、プログラムによる自動登録の手口を防げます。プログラムは、ゆがんでいたり、多くの色が組み合わさったりした文字の解析が苦手である特性を生かしています。
　なお、プログラムでなく、人間が操作したものだと判別できますが、利用者認証(なりすましがなく、確実に本人なのかを認証すること)ができるわけではありません。

## パスワードリマインダー
　パスワードを忘れた場合に、「秘密の筆問」によって、利用者認証することです。第三者が推測しにくい質問を事前に設定しておき、パスワードを忘れた場合に、その答えを入力するだけで利用者認証するため便利です。しかし、第三者でも容易に答えを予測できてしまうことがあるため、安全性が疑問視されています。

# 終わりに
今回は暗号と認証についてやりました。次回は情報セキュリティ管理をやりたいと思います。

エンジニアファーストの会社　[株式会社CRE-CO](https://www.cre-co.jp/) 吉川　真史