|
現: 2024-03-06 (水) 16:52:23 yuji |
| + | * デジタル署名 [#s4be58ad] |
| + | デジタル署名は紙文書におけるサイン(署名)や印鑑に相当するもので,電子文書ファイルやデータファイルにデジタル署名を行うことにより,間違いなくその文書が署名者本人の物であることと,内容が改ざんされていないことを証明する仕組みの事。~ |
| | | |
| + | 紙文書では押印したりサインすることでその文書が原本であることを証明するが,電子文書ファイルやデータファイルでは直接手書きのサインをしたり押印することは出来ないので,それが''原本であること''・''改ざんされていないこと'',をどのようにして証明するかが課題となる。~ |
| + | |
| + | そこでこの課題を,電子文書ファイルやデータファイルに対して''電子証明書''と秘密鍵を用いたデジタル署名を行うことで解決している。~ |
| + | |
| + | 電子証明書は紙文書での''印鑑証明書''や''身分証明書''にあたり,認証局(CA)と呼ばれる第三者機関で本人認証と厳しい審査を経た後,電子証明書(認証局の秘密鍵で暗号化されている)が発行されるようになっている。~ |
| + | |
| + | この電子証明書と秘密鍵を使って電子文書ファイルやデータファイルにデジタル署名することで,デジタル署名された電子文書ファイルやデータファイルは間違いなくその人によって作成されたものと相手に信頼してもらうことが出来るようになる。~ |
| + | |
| + | デジタル署名を使うと完全性を構成する要素である''誰が''・''いつ''・''何を''の中で,''誰が''と''何を''を証明する事が出来る。しかし''いつ''を証明することが出来ない。~ |
| + | これはコンピュータを用いるデジタル署名では,そのコンピュータの時刻設定などを変えることで簡単に日時を変えたりすることが出来てしまうから。~ |
| + | |
| + | そこで,この''いつ''を証明するために,[[タイムスタンプ>../タイムスタンプ]]を併用することが必要となる。~ |
| + | |
| + | ** デジタル署名に利用されるシステムの種類 [#ef313d20] |
| + | デジタル署名は技術的には公開鍵暗号技術を用いている。~ |
| + | |
| + | 用いられている公開鍵暗号技術には,日本でも規格化・仕様化・法制化され運用されている''[[X.509>https://ja.wikipedia.org/wiki/X.509]]''と,ソフトウェア開発者が独自に開発して利用が広まっている[[OpenPGP(GnuPG)>/PC/GnuPG]]などがある。~ |
| + | |
| + | この2つの仕組みで大きく違うのは,デジタル署名を行う時に使用する電子証明書の発行元とその管理方法に違いがある。~ |
| + | - ''X.509'' 日本でも法制化して使用されているデジタル署名~ |
| + | 使用する電子証明書は,第3者認証機関で発行された電子証明書を使う。~ |
| + | 第3者認証機関で電子証明書の信頼性を保証している。また電子証明書の有効期限・破棄なども責任持って管理している。~ |
| + | このため,電子証明書の発行・管理には高額の費用がかかる。無料で利用できるマイナンバーカードもある。~ |
| + | - ''OpenPGP''などでのデジタル署名~ |
| + | 使用する電子証明書は,利用者のコミュニティの中で信頼している電子証明書を使う。~ |
| + | 電子証明書の発行は自分で行い,コミュニティに公開してみんなに信頼してもらう(信用の輪)ことで信頼性を担保している。~ |
| + | 電子証明書の有効期限・破棄なども個人で管理して公開しているので,管理は不完全で問題になることがある。~ |
| + | 当然,電子証明書の発行に費用はかからない。~ |
| + | |
| + | 日本で規格化・仕様化・法制化して使用されているX.509での電子証明書を,勝手に自己で作成してデジタル署名時に使うことも出来るが,この場合,第3者認証機関による信頼性の担保はないので,デジタル署名としての信頼性は得られないことになり,もっぱら個人用途での使用に限定される。~ |
| + | |
| + | ** デジタル署名の役割 [#n0136e0b] |
| + | デジタル署名の役割には,以下の2つがある。~ |
| + | - デジタル署名で作成者を証明する。~ |
| + | デジタル署名をするとその電子文書ファイルの作成者が記録されて,誰が作成した文書なのかの証明が出来る。 |
| + | - 改ざんの防止~ |
| + | デジタル署名が付与された電子文書ファイルやデータファイルは,第三者によって変更することが出来にくくなる。~ |
| + | |
| + | ** デジタル署名の仕組み [#l53ea570] |
| + | デジタル署名には''公開鍵''と''秘密鍵''を利用した公開鍵暗号(PKI)が使われていて,データの改ざん検知と署名者(文書作成者)の特定を行うことが出来る。~ |
| + | |
| + | 秘密鍵と公開鍵はペアになっていて秘密鍵は作成者だけが保持している鍵なので,秘密鍵でデジタル署名した場合,そのペアとなっている公開鍵でしかデジタル署名の検証は出来ない。~ |
| + | |
| + | ''秘密鍵は持ち主以外知り得ない''ので,そのデジタル署名された電子文書ファイルやデータファイルはその持ち主の秘密鍵で暗号化されたデータであることがわかる。~ |
| + | |
| + | ** 電子証明書を使ったデジタル署名の流れ [#hd64796a] |
| + | 作成者(送信する側)は,相手に渡す電子文書ファイルやデータファイルから計算される''ハッシュ情報を秘密鍵で暗号化''し,電子証明書として公開鍵を含めてデジタル署名として添付して受取者に渡す(送信する)。~ |
| + | |
| + | すると受取者(受信者)は,デジタル署名にある電子証明書が有効なものかどうかを認証局に確認出来る。~ |
| + | |
| + | 電子証明書の有効性が確認出来たら,その公開鍵を使ってハッシュ情報を復号し,それと電子文書ファイルやデータファイルの中身から計算されたハッシュ情報と比較を行うことで,デジタル署名された本人からの電子文書ファイルやデータファイルであるということが確認できる。~ |
| + | //#ref(デジタル署名の流れ.png,,40%) |
| + | + ハッシュ関数を使って電子文書ファイルやデータファイルのハッシュ値を作成する。~ |
| + | + 秘密鍵を使ってハッシュ値を暗号化。電子証明書と共にデジタル署名する。~ |
| + | + デジタル署名が付いた電子文書ファイルやデータファイルを相手に渡す(送信する)。~ |
| + | + デジタル署名に含まれている暗号化された電子文書ファイルやデータファイルのハッシュ値を,電子証明書にある公開鍵で復号する。~ |
| + | + 別途送られてきた電子文書ファイルやデータファイルの中身を,ハッシュ関数を使ってハッシュ値の計算をする。~ |
| + | + 4で復号したハッシュ値と,5で作成したハッシュ値を比較する。~ |
| + | + 同じであれば,確実に作成者が作成した電子文書ファイルやデータであることが確認できる。~ |
| + | |
| + | ** 改ざん検知について [#s62272b0] |
| + | データの改ざんの有無は,ハッシュ値((あるデータをハッシュ関数を使って演算した結果。同じ元データからは同じハッシュ値が得られ,少しでも異なるデータからは同じハッシュ値が得られる可能性はほとんどない。また,ハッシュ値とハッシュ関数から元データを算出することは出来ない。))という電子データごとのユニークIDのようなものをチェックすることで確認が出来る。~ |
| + | |
| + | 上記のデジタル署名の流れでは,文書作成者の文書のハッシュ値を''秘密鍵''で暗号化し,デジタル署名をつけて相手に送る。~ |
| + | |
| + | これを受けとった人は,文書作成者の公開鍵を使ってデジタル署名に入っている電子文書のハッシュ値を復号化する。~ |
| + | |
| + | 次に受け取った電子文書のハッシュ値を別に計算して比較する。~ |
| + | この2つが一致すれば,改ざんされていないことが分かる。 |
| + | |
| + | なぜ2つのハッシュ値を比較して同一であれば改ざんされていないと証明できるのか。~ |
| + | |
| + | それは,元データがちょっとでも異なれば同一のハッシュ値が出力される可能性が非常に低いという,ハッシュ値の計算の特徴を利用している。~ |
| + | 2つのハッシュ値を比較して同一であれば,元データも同一であるとほぼ言える。~ |
| + | |
| + | ** ペーパーレス時代におけるデジタル署名の必要性 [#t5181eb6] |
| + | 契約・ワークフロー・決済処理・取引など,業務における様々な場面での電子文書(ペーパーレス)化が推奨されているが,単純にペーパーレス化を進めるだけでなく気を付けなければいけない点がいくつかある。~ |
| + | もし管理方法を誤りインシデントが発生した場合,会社などでは信用問題にも発展しかねない。 |
| + | |
| + | また紙文書では,契約書や見積書といった重要書類に印鑑や手書きのサインがされることで文書における証明性の効力が発揮されるが,電子文書ファイルへ直接手書きの署名・押印を行うことは出来ない。~ |
| + | 仮に署名・押印を行った紙文書をスキャンして保存したとしても,画像となった署名・押印は容易にコピー出来てしまうため,証明性の効力は発揮出来ない。~ |
| + | |
| + | |
| + | *** 電子文書の管理の問題 [#de63f269] |
| + | - 原本と同一のコピーが簡単に出来る |
| + | - 改ざんがあっても痕跡がわからない |
| + | - 作成日時が操作できる |
| + | - データ消失や互換性喪失のリスク |
| + | - 関連法律を遵守しないと効力が発揮されない |
| + | |
| + | そこで電子文書が''誰に''作成されたのか,また作成後の改ざんが無いか,を証明するために使用されるのがデジタル署名というわけです。~ |
| + | |
| + | *** ペーパーレス化におけるデジタル署名のメリット [#peb65e46] |
| + | 紙での文書管理の場合,印鑑や手書きのサインで本人が認めたという証明を行いますが,電子文書の場合は認証局から発行された電子証明書を使用してデジタル署名を電子文書に追加することにより,その文書に署名者本人が署名したこと(本人性)を保証する。~ |
| + | |
| + | デジタル署名は文書全体を暗号化し第三者によって内容が改ざんされることは無いため,署名者本人がこの電子文書を作成したこと(非改ざん性)を担保し,不正に改ざんされた場合には検知することが出来る。~ |
| + | |
| + | これらの事から,文書の真正な成立を保証出来るようになる。~ |
| + | |
| + | * X.509電子証明書を発行する認証局 [#n0d15311] |
| + | 電子文書などの信頼性を高めるためデジタル署名が利用されるが,デジタル署名時に使用される電子証明書の一つの仕様としてX.509電子証明書がある。~ |
| + | |
| + | このX.509電子証明書を発行する認証局には,パブリック認証局とプライベート認証局の2つのタイプがある。~ |
| + | |
| + | ** パブリック認証局 [#w0dae1cd] |
| + | 電子証明書はその人を特定するため,一般的には認証局と呼ばれる第三者によって,確かに本人だということを証明した上で発行した電子証明書である必要がある。~ |
| + | |
| + | 文書での契約書等で実印と印鑑証明書が揃ってないと意味をなさないのと同様に,それを電子的に行うのがデジタル署名と電子証明書ということみたいだ。~ |
| + | |
| + | 日本では第三者(パブリック認証局)認証局として,法務省が運営する認証局と民間企業が運営する認証局がある。~ |
| + | パブリック認証局で証明書を発行してもらうには,かなりの費用(法務省:4300円/年,民間:10000円程度/年)と時間がかかる。~ |
| + | |
| + | また,プログラム等に付与するためのコード証明書の場合は,この2倍ぐらいの費用がかかる。~ |
| + | |
| + | パブリック認証局が発行する証明書には用途によって種類があって,価格も種類によって違う。~ |
| + | - 特定認証業務向け証明書(日本認定)~ |
| + | - SSLサーバ証明書~ |
| + | - クライアント証明書~ |
| + | - コードサイニング証明書~ |
| + | - 文書署名用証明書~ |
| + | |
| + | 用途によっては,民間企業のパブリック認証局が発行した証明書は使用できない場合もある。~ |
| + | |
| + | *** 日本が認定している特定認証業務に使用できる電子証明書X.509を発行出来る認証局 [#iec33909] |
| + | - [[日本電子認証株式会社>http://www.ninsho.co.jp/index.html]]~ |
| + | [[AOSignサービスG2に係る認証局>http://www.ninsho.co.jp/aosign/index.html]]~ |
| + | - [[東北電力グループ 株式会社トインクス>http://www.toinx.co.jp/]]~ |
| + | [[TOiNX電子入札対応認証サービスに係る認証局>https://www.toinx.net/ebs/info.html]]~ |
| + | - [[株式会社帝国データバンク>http://www.tdb.co.jp/]]~ |
| + | [[TDB 電子認証サービスTypeAに係る認証局>http://www.tdb.co.jp/typeA/]]~ |
| + | - [[セコムトラストシステムズ株式会社>http://www.secomtrust.net/]]~ |
| + | [[セコムパスポート for G-IDに係る認証局>http://www.secomtrust.net/service/ninsyo/forgid.html]]~ |
| + | - [[三菱電機インフォメーションネットワーク株式会社>http://www.japannet.jp/]]~ |
| + | [[DIACERTサービスに係る認証局>http://www.diacert.jp/]]~ |
| + | [[DIACERT-PLUSサービスに係る認証局>http://www.diacert.jp/plus/]]~ |
| + | - [[NTTビジネスソリューションズ株式会社>https://www.nttbizsol.jp/]]~ |
| + | [[e-Probatio PS2 サービスに係る認証局>https://www.e-probatio.com/footer/info.html]]~ |
| + | [[e-Probatio PSA サービスに係る認証局>https://www.e-probatio.com/footer/info.html]]~ |
| + | |
| + | *** 日本の商業登記などに使用できる公的な電子証明書X.509を発行する認証局 [#qb5e427c] |
| + | - [[法務省 電子認証登記所(商業登記認証局)>http://www.moj.go.jp/ONLINE/CERTIFICATION/index.html]]~ |
| + | 日本電子認証株式会社[[法人認証カードサービス>http://www.ninsho.co.jp/hojin/index.html]]を含む。~ |
| + | - [[政府認証基盤(GPKI)の政府共用認証局(官職認証局)>https://www.gpki.go.jp/]]~ |
| + | - [[公共団体組織認証基盤(LGPKI)の組織認証局>http://www.lgpki.jp/]]~ |
| + | - [[地方公共団体による公的個人認証サービス>http://www.jpki.go.jp/]]~ |
| + | マイナンバーカードの電子証明書。~ |
| + | |
| + | *** マイナンバーカード [#z66d2308] |
| + | マイナンバーカードは国の行政機関の[[地方公共団体情報システム機構>https://www.j-lis.go.jp/index.html]]が第三者として発行している電子証明書が保存されていて,それは住民票などのデータを元にしているため本人確認として信頼出来る電子証明書となっている。~ |
| + | |
| + | マイナンバーカードは無料で地方自治体から入手出来,保存されている電子証明書は公的に通用し,無料で利用することが出来る唯一の電子証明書で,日本国民であれば大方持っている,ということで利用しやすい。~ |
| + | |
| + | ** プライベート認証局 [#y38e7b04] |
| + | 第三者(パブリック認証局)ではなく個人で勝手に電子証明書(''X.509'')を発行することもできる。~ |
| + | これを''プライベート認証局とかオレオレ証明書''とか言っている。~ |
| + | |
| + | しかし個人が勝手に自由に作成するので,当然''電子証明書としての信頼性は担保されない''し,公的に通用はしない。~ |
| + | |
| + | このため公共的な契約などでこのような勝手に発行した電子証明書を使用したデジタル署名は,実際には意味が無いことになる。~ |