ロバスト L1

ロバスト L1

― seccon ロバスト L1 ―

1. 概要

ロバスト L1 入門 ― seccon ロバスト L1 ―
私は通信プロトコルである TCP / IP、UDP/IP の知識は全くと言っていいほ どなかったです。では、なぜ『ロバスト・プロトコル - TCP/IP・UDP/IP -』 というテーマを選んだのかというと今年の夏に参加したセキュリティ・キャ ンプ(#seccamp2022)で行われたロバストプロコル・オープンチャレンジ大 会という講義で通信プロトコルである TCP/IP や UDP/IP を扱い、各自、自作 したプログラムを用いて、制限時間内にどのくらいの精度でファイルを送れ るのかを競う大会(専門講義の中の一つの講義)に参加してきました。上記の活動のことを書こうと思っていましたが、よりわかりやすく書きたいため、部活動のHPに後日改めて、載せさせていただきます。
では何について書いていくのかというと、先日(11/19)行われた(#seccon 又 は、#secconcon)で行われたロバスト L1 通信競争に参加してきたのでそのこ とについて書いていこうと思います。
『SECCONCON』とは
SECCONCON(SECCON Contests)は SECCON Contest of Contest に応募された競技やコンテストの企画案・設計案を、実際に実施するイベントです.
自由なアイディアで考えられた,独自性のある新しい競技やコンテストが行われます.
奮ってご参加ください! (なお本イベントは,完全オンラインにて行われます)
(※ 参照:https://www.seccon.jp/2022/seccon_contest/secconcon.html)

そのようなイベントをセキュリティ・キャンプで、私たちの講義のチューターをされていた方が教えてくださったので、参加しようということで部活の後輩(1年生)と私の2人で参加してきました。

2. 戦略

  1. まず、arduino2台を購入する。
  2. 配布されたプログラムが正確に動く配線ができているか確認する。 (参照 : https://github.com/siso5/siso5/blob/main/seccon2022/Reference programming code.ino )
  3. 送信速度を速くさせる方法を考える。
    ⇒ ・既存のプログラムをアセンブリ言語で書き直す。
    ・シリアル通信の通信速度を変える。
    ・digitalWrite( )や pinMode( )を使用せず、番地を直接指定する。
  4. 以上を試し、私の中にある最大限の知識を振り絞ってなんとかプログラムを完成させる。

3. 結果

当日(11/19)の午前中までプログラム制作は続き完成されることができました。参考プログラムの 1 回の通信 27 秒(※1 参照)と比較して、1回の通信を6秒ほど速い約21秒(※2参照)で行うプログラムができました。 順位は、人数も少なこともあり3位になりました。1位の方や2位の方は、約7秒くらいで 1 回の通信を終えていて流石だなと思いました。

※1
Picture1

※2
Picture2

私たちが制作したプログラムはこちら…
(URL : https://github.com/siso5/siso5/blob/main/seccon2022/peripeteia.ino )

4. 今後の展望

インラインアセンブラや参考プログラムのコードをアセンブリ言語で書き直すなどして、1位や2位の方々より速い通信プログラムを書きたいと思います。
また、セキュリティ・キャンプでのロバストプロコル・オープンチャレンジ大会で制作したプログラムの改良し、記事にまとめることで、今後部活でそういう活動やイベントに参加する後輩の手助けになるような環境づくりをしていきたいです。
また、今後行われるセキュリティ関係のイベントや、来年度のセキュリティ・キャンプには、受講生を手助けするチューターとして参加できたらと意気込んでいるしだいです。

著:工学部情報工学科2年 suisan