gr-peach 移行資料」 「セキュリティオプション導入資料」 · effec...

17
「GR-PEACH 移行資料」 「セキュリティオプション導入資料」 2018 年 3 月 30 日 特定非営利活動法人 軽量 Ruby フォーラム

Upload: others

Post on 24-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

「GR-PEACH 移行資料」

「セキュリティオプション導入資料」

2018 年 3 月 30 日

特定非営利活動法人 軽量 Ruby フォーラム

Page 2: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call
Page 3: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

内容

はじめに......................................................................................................................................................................4

使用マイコンボードの変更 ...................................................................................................................................4

アプリケーションを Flash ROM に配置 ..............................................................................................................4

セキュリティ機能への対応 ...................................................................................................................................5

1.enzi⇒GR-PEACH 移行 ..........................................................................................................................................6

1-1) 目的/実施概要 ...............................................................................................................................................6

1-2) 実施内容(詳細) .............................................................................................................................................6

1-2-1) GR-PEACH 提供メソッド確認 ..................................................................................................................6

1-2-2) GR-PEACH 用の再設計 ...........................................................................................................................9

1-2-3) ソースコード ...........................................................................................................................................12

1-2-4)その他 .....................................................................................................................................................12

2.GR-PEACH mruby VM 開発環境構築 .................................................................................................................13

2-1)目的/実施概要 ...............................................................................................................................................13

2-2)実施内容(詳細)...............................................................................................................................................13

3.アプリケーション ROM 化 ......................................................................................................................................14

3-1)目的/実施概要 ...............................................................................................................................................14

3-2)実施内容(詳細)...............................................................................................................................................14

4.セキュリティ機能への対応 ....................................................................................................................................15

4-1)目的/実施概要 ..............................................................................................................................................15

4-2)実施内容(詳細)...............................................................................................................................................16

Page 4: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

はじめに

Effec 社が開発中の 飲酒運転防止 IoT システム 『”R”call System』 (以下、”R”call System)は、プログラミング言語に

軽量 Ruby「mruby」を採用している。

mruby は、生産性の高い Ruby 言語を軽量化(省メモリ化)することで組込み開発にも適用可能としたプログラミング言語

で、IoT システムの開発効率が大きく向上することが期待できることから、”R”call System の開発言語として採用した。

試作段階では mruby が搭載されたマイコンボード「enzi」(http://enzi.cc)を使用し、”R”call System の基本動作を確認す

ることができたが、製品化・量産化に向けた検討の中で以下のように変更することとした。

使用マイコンボードの変更

長期的に入手しやすく、高性能なマイコンボードへの切り替え

アプリケーションを Flash ROM に配置

現行の microSD 上でのアプリケーション運用は信頼性やセキュリティの観点で懸念がある。

セキュリティ機能への対応

それぞれについて検討した概要を以下に示す。

使用マイコンボードの変更

enzi ボードの代替となるマイコンボードとして、以下の要件を満たすマイコンボードを調査した。

enzi ボードと同様に mruby を動作させることができる

ボードを容易に入手することができる

連続稼働させても問題ない品質である

enzi ボード以外で mruby を搭載したマイコンボード製品は種類が少なく、

「EAPL-Trainer mruby」(http://www.ilc.co.jp/commodity/eapl-trainer-mruby/)

「GR-CITRUS」(http://gadget.renesas.com/ja/product/citrus.html)

の 2 種類が存在するが、これらは搭載 RAM の容量がそれぞれ 128KB、240KB と少ないため、今回の選定からは除外し

た。

市 販 マ イ コ ン ボ ー ド で mruby を 動 作 可 能 な も の が な い か を 検 討 し た と こ ろ 、 「 GR-PEACH 」

( http://gadget.renesas.com/ja/product/peach.html ) に mruby を 実 装 し た 「 momo-mruby 」

(http://forum.mruby.org/download/index6.html)が利用可能であることがわかった。

GR-PEACH は、enzi ボードと比較して上位スペックであり、ルネサス製のマイコンボードであることから高品質かつ入手

しやすいと考えられるため、製品版として採用できると判断した。

アプリケーションを Flash ROM に配置

enzi ボードでは、microSD カードに書き込んだ mruby アプリケーションが実行される仕様となっている。

GR-PEACH で動作する「momo-mruby」も同様の仕様で、この仕様はアプリケーションの差し替えが容易なため、試作時

のトライアンドエラーに適している。

Page 5: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

この仕様は、システム起動時に microSD カードが装着されている必要があるため、microSD が外れてしまった場合や

microSD カードスロットに不具合が発せした場合にシステムが起動できない可能性がある。

また、microSD 内の mruby アプリケーションを不正なアプリケーションに置き換えられることで、システムを乗っ取ることが

可能なため、製品版で採用するにはセキュリティの観点からも問題がある。

mruby は、ファイルシステム上に配置したアプリケーションバイナリ(MRB ファイル)の実行とメモリ上に配置したアプリケ

ーションバイナリの実行をサポートしている。momo-mruby は、enzi ボードと同様に microSD カード上のアプリケーション

バイナリファイルを実行する方式であるため、アプリケーションバイナリを Flash ROM メモリ上に配置して動作できるよう

に momo-mruby ファームウェアの mruby 実行部を改造する方針とした。

セキュリティ機能への対応

“R”call System はインターネットにつながるシステムであるため、インターネットからの攻撃に対して対策を考慮する必要

がある。

アプリケーションの ROM 化によって”R”call System の mruby アプリケーションを差し替えるには、ファームウェア全体を

リビルドすることが必要となる。容易にアプリケーションを差し替えることは難しいが、FlashROM の内容をダンプすること

ができれば、リバースエンジニアリングやアプリケーションバイナリの差し替えも可能となる。

この問題を解決するために、mruby のセキュリティオプション機能である「Plato-Guard」(http://plato.click/#security)を

採用することとした。Plato-Guard は mruby アプリケーションバイナリの暗号化と不正アプリケーションの実行を防ぐあり

ケーション認証機能を実現しており、これにより”R”call System のリバースエンジニアリングやシステム乗っ取りの脅威

に対応できると考えている。

以上から、本事業では以下の施策を実施することとした。

1. enzi⇒GR=PEACH 移行

2. GR-PEACH mruby VM 開発環境構築

3. アプリケーション ROM 化

4. セキュリティ機能への対応

それぞれの施策内容について以下に示す。

Page 6: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

1.enzi⇒GR-PEACH 移行

1-1) 目的/実施概要

ハード提供能力の高い、GR-PEACH を利用する為に、ハードの移行を決定。

mrubyVM が、NPO 軽量 Ruby フォーラムより提供されていた為、通常の C とは異なり、安易にソフト移行が可能と判断

し、移行を開始。

1-2) 実施内容(詳細)

以下、3 手順で移行を行った。UART は BLE モジュール(スマホとの接続)に使用し、I2C は Zigbee モジュール(各センサ

ーとの接続)に利用しているため、2 つの通信について重点的に確認&移行を行った。

1-2-1) GR-PEACH 提供メソッド確認

enzi より GR-PEACH に移行するにあたり、どのような命令文が必要か検証を行った。

UART 命令文確認

UART接続処理

コード比較 変更

有無 変更内容

enzi ser = Serial.new(19200)

有 標準ライブラリのモジュール Plato::Serial を使用

するため変更。 GR-

PEACH

include Plato

ser=Plato::Serial.open(19200)

UART受信バッファチェック処理

コード比較 変更

有無 変更内容

enzi ser.available

命令メソッドは変わっていないが、7 文字受信して

いた時、enzi は 7 が戻り、GR-PEACH は 1 が戻る

ので、ループ処理を見直し GR-

PEACH ser.available

UART受信処理

コード比較 変更

有無 変更内容

enzi ser.read

命令メソッドは変わっていないが、7 文字受信して

いた時、enzi は、1 バイト目の数値データが戻り、

GR-PEACH は7文字分の配列が戻るので、ルー

プ処理を見直し

GR-

PEACH ser.read

Page 7: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

UART送信処理

コード比較 変更

有無 変更内容

enzi ser.read

無 GR-

PEACH ser.read

UART切断処理

コード比較 変更

有無 変更内容

enzi ser.close

無 GR-

PEACH ser.close

I2C 命令文確認

I2C接続処理

コード比較 変更

有無 変更内容

enzi wire =

Wire.new(0,Wire::DutyCycle_2)

有 標準ライブラリのモジュール Plato::I2C を使用す

るため変更。 GR-

PEACH

include Plato

i2c=PlatoPeach::I2C.new(addr,1

000)

I2C受信処理

コード比較 変更

有無 変更内容

enzi data = wire.requestFrom(addr,

size)

enzi では size で指定したバイト数分、整数配列で

受信可能で、size データが受信できる待つ、GR-

PEACH は size 分まで受信するが、受信できなか

った size は 0 がセットされてある。

I2C 通信にて、可変長データをやり取りしているの

で、GR-PEAC 移行時に、バッファにデータを十分

なサイズで受信して、該当データをサーチするよう

に変更。

GR-

PEACH data=i2c.read(reg, size)

Page 8: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

I2C送信処理

コード比較 変更

有無 変更内容

enzi

wire.beginTransmission(addr)

wire.write(data)

wire.endTransmission(addr)

enzi では、データ書き込み前後に準備処理が必要

で、可変長の配列データを設定できていたが、

GR-PEACH では、書き込み前後の準備処理が不

要になり、reg=1 バイト目書き込み、data=指定デ

ータの書き込みのスタイルになったた。

また、本アプリでは不規則なデータを送っていたた

送信データ配列を偶数に指定し、以下の処理で

本アプリ内で、汎用的な構造に変更しました。

GR-

PEACH i2c.write(reg, data)

}

※主に、I2C,UART の通信仕様を重点的に確認

I2C においては、enzi 上は、ドライバに近い形で提供してあった為、構造を変更

Page 9: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

1-2-2) GR-PEACH 用の再設計

上記調査結果より、I2C の接続が大きく変わっていたため、全体構造を再設計しソースの移行を実施

※enzi ソースは、アルコールセンサーを無線で中継する処理と有線で繋がる処理が入っているため、ソースが肥大化し

ていたため以下の様にシンプルに変更。

<全体フロー>

全体の処理フローを以下に示す。

構造は単純化し、ソースファイルも書くモジュール/メインループごとにファイル分け

複数人での作業が実施しやすいように構成する。

メインループ

初期化

センサーデータ取

得/保存/計算

LCD 表示

LED 点灯

BLE 送信

例外処理+リセット

クラス/定義 群 各クラスの定義やを行う

センサー値を取得し計算

※各センサーより取得

センサーデータを送信

スマホに対して送信

Page 10: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

<ファイル構成>

ファイルを以下のファイル構成にし、「build.bat」にて、「autorun.mrb」を生成する様に構築

<コンパイルバッチ/ autorun.mrb 生成用/Windows 用>

以下のコンパイルバッチを作成し、プロジェクトファイル直下の bin を利用して、コンパイル出来る様にしている。

(セキュリティオプションが付いた時に、mrbc.exe を柔軟に変えて対応出来る様にする為。)

├─bin

│ mrbc.exe

│ 00_Init.rb

│ 01_TWE.rb

│ 02_BLE.rb

│ 10_AlcSensor.rb

│ 20_BME280.rb

│ 30_LCD.rb

│ 40_D6T.rb

│ 50_Pulse.rb

│ 60_FileRead.rb

│ 90_Config.rb

│ 91_Init.rb

│ 95_MainLoop.rb

│ 98_exception.rb

│ autorun.mrb

│ build-ClassOnly.bat

│ build.bat

@echo off

REM ビルド日付

set TODAY=%date:~-10%

set YYYY=%TODAY:~0,4%

set MM=%TODAY:~5,2%

set DD=%TODAY:~8,2%

REM mruby のパス

set MRUBY_HOME=bin

REM プログラム

set MRBC=%MRUBY_HOME%\mrbc

REM プロジェクト名

set PROJ_FDR=%~p0

set PROJ_FDR=%PROJ_FDR:~0,-1%

for /F "DELIMS=" %%A in ("%PROJ_FDR%") do set

PROJ_NAM=%%~nxA

REM 出力ファイル名

set OBJ=%PROJ_NAM%.rb

set TARGET=autorun.mrb

REM ソースの一覧を記述します

set SRC=^

00_Init.rb +^

01_TWE.rb +^

~中略~

一緒にしたい rbファイルを記載

~中略~

98_exception.rb

REM クリーン

if "%1" neq "Clean" goto Debug

del %PROJ_FDR%\obj\*.rb

del %PROJ_FDR%\%TARGET% %PROJ_FDR%\debug.mrb

exit

:Debug

REM デバッグ

if "%1" neq "Debug" goto Build

set SRC=..\TestTool\enzi.rb + %SRC%

set OBJ=%PROJ_NAM%_Debug.rb

set TARGET=debug.mrb

set CFLAGS=-g

:Build

REM ビルドコマンド

echo BuildDate="%YYYY%%MM%%DD%" > obj\%OBJ%

copy obj\%OBJ% +%SRC% obj\%OBJ%

%MRBC% -o%TARGET% %CFLAGS% obj\%OBJ%

pause

Page 11: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

<ブロック図>

VM 側/アプリ側で実装するソフトウェアのブロック図(概要)を以下に記載

緑枠:VM 側で提供されているメソッド

赤枠:アプリケーションとして、mruby で実装したエリア

I2C接続クラス

TWE-Lite(無線) ※各センサーと接続

BLE(無線)

※スマートフォンと接続

UART接続クラス

TWE通信用 MSG 受信解析クラス

TWE通信用 MSG 送信作成クラス

BLE通信 MSG 送信作成クラス

BLE通信 MSG 受信解析クラス

各センサーデータ保存エリア +アルコール RS +アルコール濃度

+体温 +湿度 +心拍

アルコール濃度計算クラス

LCD文字変換クラス

センサー側 デジタル IO制御

設定データ群 設定ファイル 設定ファイル

読み込みクラス

メインループ

アプリケーションとして

実装

VM 側で提供

Page 12: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

1-2-3) ソースコード

名称 内容

Int.rb 初期化

TWE.rb Zigbee 通信 I2C 接続

BLE.rb Bluetooth 通信、UART 接続

AlcSensor.rb アルコールセンサー、アナログ通信

BME280.rb BME280 センサー用

LCD.rb LCD 点灯用

D6T.rb 温度センサー用

Pulse.rb パルス周期

FileRead.rb ファイル I/O 用

Config.rb コンフィグレーション

MainLoop.rb アプリケーション用

1-2-4)その他

流用する上で、GR-PEACH 上動かない処理があったので修正/展開

times でループを回す時に、直前で定義したループだと動かない時があった(mruby1.2.0)ため、以下の様に修正し展開し

た。

NG(enzi では処理された) OK

calcsum=0

data.length.times{|i|

calcsum+=data[i] }

checksum=(calcsum&0xff)^0xff

checksum+=1

@calcsum=0

data.length.times{|i|

@calcsum+=data[i] }

checksum=(@calcsum&0xff)^0xff

checksum+=1

※上記だけうまく処理がされなかった、data 配列は、適切なデータが入っている状態

Page 13: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

2.GR-PEACH mruby VM 開発環境構築

2-1)目的/実施概要

アプリケーション ROM 化、セキュリティオプション導入の為、VM 開発環境の構築を実施した。

GR-PEACH 上で動作する mruby VM「momo-mruby」は mbed OS 上に mruby VM をポーティングしているため、mruby の

開発環境に加え、mbed の開発環境の構築を実施した。

2-2)実施内容(詳細)

以下の「momo-mruby」の開発環境構築手順を基に開発環境構築を実施した。

https://github.com/mimaki/momo-mruby

使用した開発環境を以下に示す。

PC Diginnos PC

RAM 4GB

HDD 400GB

OS Microsoft Windows 7 Professional 32bit

セットアップしたソフトウェアを以下に示す。

疑似 UNIX 環境+C コンパイラ MinGW + MSYS2

Ruby Ruby 2.4.3p205 (2017-12-14 revision 61247) [i386-mingw32]

GNU Bison bison (GNU Bison) 2.4.2

Python Python 2.7.12

Git git version 2.15.1.windows.2

Mercurial Mercurial 4.4.2

GNU ARM Embedded Toolchain GNU ARM Embedded Toolchain 5.4 20160609

mbed CLI mbed CLI 1.2.0

開発環境構築時に発生した問題およびその対策内容を以下に示す。

1. MSYS が起動しない

手順通りに開発環境を構築したが、momo-mruby のビルドに使用する疑似 UNIX 環境(MSYS)が起動しなかった。

これは momo-mruby 公開サイトのドキュメントに不備があり、MSYS を起動するための msys.bat のパスが間違って

いたためであった。

誤: C:¥MinGW¥bin¥msys.bat

正: C:¥MinGW¥msys¥1.0¥bin¥msys.bat

momo-mruby サイトの情報も修正して頂いた。

2. momo-mruby が正常にビルドできない

開発環境に使用した PC で既に疑似 UNIX 環境(Cygwin)を使用していたが、MSYS 環境を使用すべき操作の際に

Cygwin を使用してしまったことで、momo-mruby のビルドが正常動作しない不具合が発生した。

これは、Cygwin によって作成されたファイルに MSYS 環境からアクセスすることができないことによるものであった

ため、Cygwin 環境でファイルをクリーンした後に、MSYS 環境上で同様の操作を実施することで問題を解消できた。

Page 14: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

3.アプリケーション ROM 化

3-1)目的/実施概要

Github で公開されている momo-mruby では、GR-PEACH に装着した microSD カードから mruby アプリケーションバイナ

リ(autorun.mrb ファイル)を実行する仕様となっている。

microSD カード上のアプリケーションを起動できる仕組みは開発時のトライアンドエラーには適しているが、システムの実

運用を考慮した場合には以下の課題がある。

振動などにより microSD カードが抜けてしまい microSD カードが識別されなくなる可能性がある

microSD カードの寿命・故障により microSD への読み書きができなくなる可能性がある

mruby では、アプリケーションバイナリファイル(MRB ファイル)だけでなく、メモリ上に配置したアプリケーションバイナリを

実行できる機能があり、この機能を利用することで microSD に依存しないシステム運用が可能となる。

今回は、上記の microSD 運用時の課題を解決するために、momo-mruby で FlashROM 領域に配置された mruby アプリ

ケーションバイナリを実行可能とする変更を実施した。

3-2)実施内容(詳細)

以下の 2 点を実施した。

1. アプリケーション起動処理の変更

momo-mruby で起動する mruby アプリケーションを MRB ファイルからメモリ上のバイナリデータに変更するために、

アプリケーション実行のための mruby API を以下のように変更した。

変更前: mrb_value mrb_load_irep_file(mrb_state *mrb, FILE *fp);

変更後: mrb_value mrb_load_irep(mrb_state *mrb, uint8_t *app);

以下に、メモリ上のアプリケーション起動に対応した momo-mruby 起動部のソースコードを示す。

int main(void)

{

mrb_state *mrb;

char *mrblist, *fn;

bool menu = false;

Config *cfg;

extern const uint8_t flashapp[];

while (1) {

ledr = 1;

mrb = mrb_open();

ledr = 0;

ledb = 1;

if (button == LOW) {

mbedPrintf("Enter mbed-mruby configuration mode¥n");

menu = true;

}

Page 15: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

cfg = configure(mrb, menu);

mbedSetVCPBaudrate(cfg->vcp_rate);

menu = 0;

ledb = 0;

mrb_load_irep(mrb, flashapp); /* Flash ROM 上のアプリケーションを実行 */

/* launch mirb */

if (cfg->mirb) {

mirb(mrb);

}

mrb_close(mrb);

/* restart mruby */

}

return 0;

}

2. アプリケーションバイナリの組込み

mruby アプリケーションバイナリをメモリ上に配置するために、以下の変更を実施した。

mruby コンパイラ(mrbc)の –B オプションを使用して、コンパイル結果(mruby アプリケーションバイナリ)を C

言語データ形式で出力する

mruby VM が参照可能なメモリ領域にアプリケーションバイナリを配置するために、mruby VM と共に momo-

mruby のファームウェアとしてコンパイル・リンクする

4.セキュリティ機能への対応

4-1)目的/実施概要

「3.アプリケーション ROM 化」の対応により、microSD 内の mruby アプリケーションを差し替えることによる不正なプログ

ラムの実行は防止することができるが、ROM 上の mruby アプリケーションを書き換えることよる不正なプログラムの実行

を防止することはできない。

mruby アプリケーションバイナリの書き換えには、製品内の GR-PEACH を取り出し、ROM イメージの書き換えを行う操作

が必要であるため危険性は低いが、今回は mruby のセキュリティオプション機能「Plato-Guard」を試験導入することで、

不正に書き換えられた mruby アプリケーションバイナリを実行不能とすることで、”R”Call のセキュリティレベルを高める

こととした。

「Plato-Guard」は共通鍵方式の認証機能を mruby VM に持たせることで、mruby VM に認証された mruby アプリケーショ

ンのみが実行される機能を実現している。

また、セキュリティ対応された mruby アプリケーションバイナリは MISTY 暗号方式i によって暗号化されるため、mruby ア

プリケーションのリバースエンジニアリングも防止することができる。

Plato-Guard の実行イメージを以下に示す。

Page 16: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

図 1 Plato-Guard の動作概要

4-2)実施内容(詳細)

momo-mruby の mruby VM にセキュリティオプション機能「Plato-Guard」を適用し、認証されたアプリケーションのみが実

行可能となるように変更を行った。

セキュリティ対応版の mruby VM での mruby アプリケーション実行シーケンスを以下に示す。

Page 17: GR-PEACH 移行資料」 「セキュリティオプション導入資料」 · Effec 社が開発中の 飲酒運転防止IoT システム 『”R”call System』 (以下、”R”call

図 2 mruby アプリケーション起動シーケンス

セキュリティ機能を組み込むことで、認証 OK となる(セキュリティキーが一致する)mruby アプリケーションのみが動作す

ることを確認できた。

今回は試験導入であったため、セキュリティキーは mruby VM とともに momo-mruby ファームウェア内部に保持する方式

としたが、この方式ではファームウェア全体のリバースエンジニアリングによりセキュリティキーキーを特定される可能性

がある。

今後、セキュリティオプション機能を本格導入する場合には、第三者がセキュリティキーに容易にアクセスできないような

仕組みを導入する必要があるが、試験導入のレベルでも認証されたアプリケーション以外を動作させることは極めて困

難であるため、セキュリティオプション機能「Plato-Guard」を導入するメリットは確認することができた。

i 三菱電機にて開発された無償で利用可能な暗号アルゴリズム

http://www.mitsubishielectric.co.jp/corporate/randd/information_technology/security/code/misty01_b.html