認証局を立ててぼろもうけしたいんですが＞無理な理由を理解しよう

# SSLの認証局とか証明書とか勉強し始めはホント難いよね
このへんのSSL/TLSの仕組みって勉強し始めの頃は凄く難しく感じるのよね。分かりやすく解説してくれてるサイトってあんま見たこと無いし。

んで、 >>300,304 みたいなことは僕も昔考えたことあったわー、と懐かしみを覚えたのでレスってみた。

証明書を発行できるかどうかは証明書のフラグで決まっている、という >>303 の指摘も重要よね。


## 以下2chスレより引用
丁寧過ぎると評判のレスをしてるID:UyEJo1f2が僕なわけだがｗ　2chだとそのうち倉庫に行っちゃうかもしれないのでここにメモ。

【認証局】SSLに関するスレ 2枚目【ぼろ儲け】
http://hayabusa6.2ch.net/test/read.cgi/mysv/1286532904/298-309

```
298 ：DNS未登録さん：2013/05/31(金) 13:31:04.18 ID:???
認証局を立ててぼろもうけしたいんですが、 
親にしたい認証局で何を買ってくればいいんですか？ 

299 ：DNS未登録さん：2013/05/31(金) 16:48:31.50 ID:ha9l9tT5
>>298 
馬鹿なの？ 

マジレスすると自分の作ったCA証明書を、 
各種ブラウザやアプリやOSにデフォルトでインストールしてくれるよう 
全世界に対して頑張って営業すればよい。 

300 ：DNS未登録さん：2013/06/02(日) 08:35:31.77 ID:???
(1) RapidSSLで安いサーバー証明書を1個買う 
(2) 自分で中間認証局を作り、RapidSSLのサーバー証明書を割り当てる 
(3) 自分で、自分用の他のサーバー証明書を量産する 
ってことはできるものでしょうか？ 
要するに、自分で運営しているWebサイト（ドメインがいろいろある）を(1)でまかなうケチケチ作戦です（・∀・） 
ttp://e-words.jp/w/E4B8ADE99693E8AA8DE8A8BCE5B180.html 
ttps://www.verisign.co.jp/basic/pki/trust/index_4.html 

301 ：DNS未登録さん：2013/06/02(日) 19:01:05.76 ID:???
できない。 
あなたのサーバ用の証明書は、そのサーバ（ドメイン）でしか使えない。 
中間認証局用のキーは別に存在する。 

まえに中間認証局用のキーが漏れたことがあって、大量に証明書を偽装する事件があったが。 

302 ：DNS未登録さん：2013/06/02(日) 19:06:03.97 ID:???
あった、あった、結構最近だったｗ 

http://internet.watch.impress.co.jp/docs/news/20130107_580795.html 

303 ：DNS未登録さん：2013/06/03(月) 07:50:44.66 ID:???
>>300 
証明書には「その証明書で他の証明書を発行していいか」 
(中間証明書になってもいいか)というフラグがあり、 
通常の証明書ではそれがfalseになっているので、無理。 

具体的にはX509v3 Basic Constraints: CAの値。 
もちろんそれも証明書の署名範囲内なので、無理矢理書き換えれば無効な証明書になる。 

304 ：DNS未登録さん：2013/06/04(火) 09:57:43.60 ID:???
>>301-303 参考になりました。どうもありがとうございます。 
中間証明書というのがないと、自分で公的な中間認証局を設置できないんですね＞＜ 

→自分で中間認証局を作りたい場合、中間証明書ってのは、販売されているものなのでしょうか？（聞いたことないです） 
普通の用途とは違って、特別なかんじがするから、販売されていたとしても、条件が厳しい・値段が高そうですね？ 

305 ：DNS未登録さん：2013/06/04(火) 10:50:28.97 ID:???
リセラーで調べたら 

306 ：DNS未登録さん：2013/06/04(火) 11:39:58.91 ID:UyEJo1f2
>>304 

いまいち理解してないようだが、認証局作るだけならopenssl使って誰も普通に作れるよ。 
で、自分で作った認証局でいくらでも証明書の発行するのも自由。 

自分のブラウザに「自分の認証局の証明書をインストール」さえしておけば、 
自分で発行した証明書もブラウザは正規の証明書として認識するようになる。 
そういう意味では発行し放題。 


でもその行為（＝得体のしれない認証局の証明書をインストール）は、 
要は自分のブラウザのセキュリティを下げてるってことなのよ。 
だって、google や yahoo の偽物証明書が返ってきたとしてもエラーにならないから 
フィッシングやウィルスの仕込みだってやりたい放題になる。 
それが自分にインストール済みの認証局が発行したものだったらブラウザは信じちゃうわけだからね。 

なのでテスト目的で自分で作った自分が信頼する認証局を使って自分でやる分には問題ないし。 
自分がホンの欠片も疑いを持たないような全幅の信頼を置いている友人が立てた認証局を信頼するのであればやってもよいことになる。 
まぁ、俺なら例え友人や家族だろうと素人が立てた認証局なんてインストールしたくないわ。 

要は認証局とか証明書っていうのは、信頼の連鎖なわけよ。 
俺が信頼すると決めた奴の言うことは俺も100%信頼する、という、さ。 


公的な認証局になるってことは他人のセキュリティを支配可能になるということとほぼ同じ。 
だから国とか特別な公的な団体とか色んな人間に日々監査され信頼された大企業とか、 
特別に「信頼出来る組織」が運用してる認証局しか基本使えないし、使わないの。 
OSやブラウザにデフォルトでインストールされている認証局ってのはそういう存在なの。 


これだけ説明すれば個人が公的な認証局になるなんてことはほぼ不可能だと分かるだろ？ 

307 ：DNS未登録さん：2013/06/04(火) 11:47:16.27 ID:???
丁寧すぎワロタｗ 

308 ：DNS未登録さん：2013/06/04(火) 11:56:02.85 ID:UyEJo1f2
ついでに言うと、 
だったらその「公的に認められた認証局」の中に悪人がいたらどうすんの？ 
って思うかもしれないね。 

うん、勿論大変なことになる。 
でももし一度でもそんなことをしたらその認証局は誰にも信頼されなくなるよね。 
その瞬間から、世界中から「お前はもう信頼しねー」と思われ「あいつは信頼してはいけない」と言われる存在になってしまう。 


現実にはそれによって何が起こるかというと、 
全世界的にブラックリストな認証局として記録・公開される。 
マトモなOSやブラウザなら、デフォルトインストールの認証局リストからそいつを排除するし。 
その認証局の証明書をアンインストールするパッチを配布する。 

そうなったらもうその認証局は実質的に存在できなくなるわけだ。 
発行した証明書はブラウザで警告が表示されて誰も信じてくれない。 
当然、証明書の発行を商売にしてたとしたら誰も買わなくなるから潰れる。 
世界中から訴訟も起こされるかもしれない。 


認証局自身も過ちを犯してしまったらそうなることが分かってるから、 
全力で自分の組織を健全に保とうと努力するし、内部からも外部からも監査を徹底することになる。 
それは監査を受けることはその組織にとって自分を守ることでもあるわけだ。 

そういう目に見えない力が働くことによって、世の中の信頼の連鎖が今日も保たれてるのだよ。 


分かった？ 

309 ：DNS未登録さん：2013/06/04(火) 12:44:01.25 ID:???
外部から不正侵入されて偽証明書を発行してしまったオランダの認証局は 
信用を失ってその後破産しました。 
```

## 追記：CA認定を受ける方法
実際の認定条件とかは知らなかったんだが、はてぶでコメントが付いてたので引用させていただく。

> id:masabossa CAで事業するならWebTrust for CAに認定されている必要がある。それがブラウザ等にルートCA証明書を搭載してもらうための標準的な条件となっている。日本国のGPKIも認定してもらっている→ https://www.gpki.go.jp