バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
ISO14229ことUDSの話。
SecurityAccessサービスのコンセプトについて。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
SecurityAccessサービスのコンセプト

前回、SecurityAccessサービスのメッセージをやったね。

やったけど・・・。
あれだけだとやっぱりイメージ湧かない・・・。

というわけで、
SecurityAccessサービスのコンセプトを説明しようと思う。

おー。
それだと分かるような気がする。

実はSecurityAccessサービスだけじゃなくて、
その前にやったDiagnosticSessionControlサービスも絡んでくる。

え?なんで?

ISO14229-1としてSecurityAccessサービスはdefaultSessionでは非サポートであることが明記されているんだよ。
よって、少なくとも、extendedDiagnosticSessionに遷移させる必要がある。

なんか結構手間かかるんだね。

まぁセキュリティが絡むからねー。

でも、ISOで定義されてたらセキュリティにならないような?

セキュリティを「完全に防ぐ」と捉えるとそうなんだけど、
どんなセキュリティも「完全に防ぐ」は不可能なんだよ。

まぁそうかも。

というわけで、
車両診断通信のセキュリティコンセプトは
セキュリティ=突破をメンドクサクする
だ。

メンドクサク?

うん。
端的に言うと、試行回数対時間を減らすって感じ。

うーん、
試行回数を減らすか、1回あたりの時間を増やすってことだよね?

そうそう。

でも、一回セッション移動が入ったくらいでそこまで時間が増えるのかなー。

セッション移動だけではあまりかわらないかな。
通信が増えるんで、総当たり攻撃に対しては2倍の時間にはなると思うけど。

その感じだと別の何かもありそうだね。
SecurityAccessサービスの時間稼ぎ

セッション移動以外に2つの仕掛けがある。

ほー。

- SecurityAccessサービスが有効になるのはIGon後n秒後。
- SecurityAccessサービスで解除ミスしたらm秒間は解除は受けつけない。

え?
これって結構すごくない?
実際にこのn秒とかm秒ってどのくらいの時間なの?

ISO14229-1では具体的な数値は定義されていない。
前身の規格にISO14230-3(KWP2000)ってのがあるんだけど、
そっちだとIGon後の解除有効までの時間は10秒って規定があった。
よって、その時の規定を踏襲して10秒なことは多いね。
解除ミスの方は一回IGoffされるまで復帰しないってパターンが多いかも。

解除ミスは時間じゃなくてIGoffなの?

本来は時間であるべきなんだろうけど、
時間監視で復旧する仕様を入れ込むと、
それだけで設計、実装、検証が増えるんで、
一回ミスったら無限に使用不可って方が楽なんだろうねー。
それにセキュリティ的にも厳しい方に倒しているし。

まー、そういわれるとそれが妥当な気がしてくるね。

ということは、まとめると、
①IGon
②10秒待つ
③セッション移動
④セキュリティ解除
⑤IGoff
⑥①に戻る
このサイクルを回すのかー。
②の10秒と一旦IGoffするのが面倒だねー。

この面倒さが車両診断通信に於けるセキュリティ強度ってことになる。
まぁ3回ミスったらもう二度と解除させないって方が強度は上だろうけど、
復旧させる手間もあるから、ここら辺がちょうど良い落としどころだったんだろうねぇ。

なんか、今回は自動車業界の裏事情っぽい話だったね。
まとめ

まとめだよ。
- SecurityAccessサービスはわざとメンドクサイ手順を踏ませており、これがセキュリティ強度になっている。
- 事前に非defaultSessionに遷移している必要あり。
- IGon後10秒待たないとダメ。
- 解除ミスをしたら一旦IGoffしないとダメ。
バックナンバーはこちら。
コメント