eNissi-System Manual


HANKOPON eNissi-System決済閲覧確認システムのセキュリティ

2002/5/29 by KOMPas


ENissi-System上で決済システムを運用するに当って、そのセキュリテイは、
(1) eNissi-System自体のセキュリティ
(2) 決済システム自体が装備しているセキュリティ
の2つで決定されます。

前者のeNissi-System自体のセキュリティでは、システムに入いろうとするユーザーを、IDとパスワードによって認証し、認証されたユーザーは、あらかじめ設定された一般データ操作(閲覧/編集)レベルの権限と、認証されたIDに対応するハンコを押す権利とを実行できます。
一般データでは、レベルによって一部のデータを閲覧するのみの権利や、データサーバー上のデータを削除・訂正する権利までいろいろな制限を設けることが可能です。「ハンコ」情報は、eNissi-Systemでは一般データから独立しています。そのため最強の権限をもったユーザーも、データの編集ができても、他のユーザーの「ハンコ」を代わりに押すことはできません。

但し、自分自身のIDでログインして、他のユーザーの代わりに押印することができなくとも、もし他のユーザーのIDでログインすることができたならば、そのユーザーに「なりかわって」押印することができてしまします。
このため、ハンコシステムのセキュリティをより強固にするには、システム自体のセキュリティ、および、コンピュータシステム以前のセキュリテイも再度チェックする必要があります。

後者、決済システム自体のセキュリティは、2つのアーキテクチャーによって実装されます。
1つはダイジェスト関数によるデータ認証技術と、1つはRASとよばれる公開鍵暗号方式を使った署名技術です。
ダイジェスト関数は、データ全体を数値化し、それをもとにして計算した固定桁の数値をもとめることで、データが改竄されていないかどうかを調べる技術であり、RASは「短期間では解けない」ことが数学的に証明されている公開鍵式暗号技術であり『署名』技術です。

文書処理の流れのなかで、実装されたセキュリティ技術を追って行くと、
・ 一般職員が入力した一般データは、サーバーに登録された時点で、そのときのダイジェスト関数が計算されその結果が保存されます。このデータの一部を書きかえると、ダイジェスト関数の計算値が変化するため、システムはデータが訂正されたか否かを知ることができます。最初のハンコが押印されるまでは、訂正権限をもつユーザーが書き替えたときは新しいダイジェスト関数値が保存され、訂正権限のないユーザーであれば、訂正自体が無視され、データは更新されません。
・ 最初のハンコが押された時点で、ダイジェスト関数は一旦固定されます。
この後の訂正を不可にするか、或いは訂正可にする(保存されたダイジェスト関数値を破棄する)代わりに押印された全てのハンコを破棄するかはオプションとなります。どちらにしても、押印されているハンコは、保存されたダイジェスト関数によって「改竄されていない」ことが証明されます。
・ ハンコは「ペイント」等の画像編集ソフトで簡単に作成できます。作成されたハンコはeNissi-System登録  時にダイジェスト関数が保存されます。押印時、登録されたダイジェスト関数と一致したハンコ以外は拒否されます。そのため、ハンコを偽造することはできません。
・ 通常はここまでの実装でセキュリティは確保されるはずです。但しコンピュータシステムでは『システム管理者』の権限は絶大です。ここまでの全てのセキュリティはシステム管理者がシステム運用について『信頼できる』ものだという前提で運用されるものにすぎません。
・ 押印者がRASをつかって『署名』することで、システム管理者が保証するデータの非改竄とは別に、押印者自らの保証をつけることが可能になります。


色々なセキュリティをソフト的に組み込むことは可能であり、コストと手間をかけることで、セキュリティを高めることができます。ところが(全てのコンピュータシステムにいえることですが)、システム破壊に対処する方法はコンピュータ自体にはありません。コンピュータシステムのセキュリティは、実はスタッフ間の信頼関係と責任感にもとづいて初めて強固なものにすることができます。


ENissi-System のダイジェスト関数は35桁のキーで計算されます。
RASは40桁のキーで計算されます。(「40桁の信頼度」といえます。)