本文へスキップ
CoRISE

Tamarinモデルと実装の距離 — 対応関係をどこに残すか

モデルの証明結果を実装へ移すには、イベントとコードの対応を別途点検する。

約2分で読めます
  • formal-verification
  • security
目次を開く

結論

モデルの証明結果を実装へ移すには、イベントとコードの対応を別途点検する。

背景

モデルのイベントと実装のAPI呼び出しは必ずしも一対一ではない。モデルにないエラー処理、鍵の保存、再送や並行実行が対応関係を変える。

設計と検証の論点

構成を検討するときは、次の責任と境界を分けて確認します。

  • プロトコル上のイベント
  • 状態
  • 鍵のライフサイクル
  • 実装との対応付け
  • 前提条件

判断理由

プロトコル上のイベントと前提条件の関係を軸に、採用案と代替案の責任範囲を比較します。既存の制約を残す理由と、新しい境界で変えられることを分けて記述します。

トレードオフ

状態を扱うために増える実装・保守・確認作業と、得られる制御可能性を比較します。障害時の経路と運用担当者の負担を含め、採用しない方がよい条件も示します。

制約

補題、モデルイベント、コード位置、モデル外の処理を対応表にする。モデルの証明を実装全体の証明と呼ばない。

関連事例

関連事例の担当範囲や設計判断を参照します。記事で提案する実験・構成を、その事例で実施済みとするものではありません。

Contact

技術的な課題を、お聞かせください。

設計や実装、運用の課題について、CoRISEにご相談いただけます。

相談する