クラークウィルソン(Clark-Wilson)モデル

クラークウィルソンモデルとは

クラークウィルソン(Clark-Wilson)モデルとは、ユーザとデータの間にプログラムの存在を定義したセキュリティモデルです。

今までは、ドキュメント(オブジェクト)とそれを見る人(サブジェクト)の関係性を見ていましたが、この間に”プログラム”を導入しました。

3つの要素で、定型的トランザクションとセグリゲーションの関係性を定義しました。

定型的トランザクション(Well-Formed Transaction)

帳簿データのように、完全性を損なっていけないデータをCDI(Constrained Data Item)といいます。

入力データのように、損なう可能性があるデータをUDI(Unconstrained Data Item)といいます。

ただ、CDIは2重に書き込んでしまうように、単体が正しい操作でも組み合わせによって完全性を傷つけてしまう場合があります。

そこで、2つのプログラム処理によって、完全性を守ることができると示しました。

  • IVP(Integrity Verification Procedure) CDIが正しいことを確認するプログラム
  • WFT(Well Formed Transactions)/ TP (Transformation Procedure) ある状態(CDI or UDI)を正しい状態(CDI)に変更するプログラム

まずCDIをIVPで検証します。WFYで変更したらUDIになっているかもしれないので、IVPでまた検証することで完全性を担保できます。

セグリゲーション(Separation of Duties)

トランザクションや処理は、その操作は個々に独立しているべきです。

例えば、Eコマースサイトで、カートに入れるボタンを押したら、急に請求書が表示されクレジットカードへの払い込みも終わっていたら困るでしょう。

カートに入れて、購入ボタンを押してはじめて清算される方が完全性を保てます。