C.H. Random

セキュリティ・キャンプ全国大会2024参加記(前半)

経緯~事前学習期間編

セキュリティ・キャンプ全国大会2024参加記(前半)
目次
  1. はじめに
  2. 目次
  3. セキュリティ・キャンプとは?
  4. 経緯
  5. 応募課題
  6. 応募課題とは?
  7. 応募の結果
  8. イベント期間
  9. 事前学習期間
  10. 事前学習期間の終盤
  11. まとめ

はじめに

新入生の皆さん!

ご入学おめでとうございます!!

工学部情報工学科の らすぴー です。

この記事では、すこし時間が経ってしまいましたが、昨年夏に参加したセキュリティ・キャンプ2025全国大会について書こうと思います。

  1. セキュリティ・キャンプ全国大会2024参加記(前半) <-この記事
  2. セキュリティ・キャンプ全国大会2024参加記(後半)

目次

  1. セキュリティ・キャンプとは?
  2. 経緯
  3. 応募課題
  4. イベント期間
  5. まとめ

セキュリティ・キャンプとは?

セキュリティ・キャンプ(以下セキュキャン)とは、情報処理推進機構(IPA)が主催する、セキュリティ系のITイベントです。 以下、公式ページから引用です。

「セキュリティ・キャンプ」は、学生に対して情報セキュリティに関する高度な技術教育を実施し、次代を担う情報セキュリティ人材を発掘・育成する事業です。2004年に開始され、現在はセキュリティ・キャンプを首都圏で毎年1回、ミニキャンプを毎年各地で10回程度開催しています。 セキュリティ・キャンプ及びミニキャンプへ参加するには、応募課題を提出し、書類審査に通過する必要があります。

よくわからなかった方は「なんか面白そうなITイベントがあるんだ」くらいに思ってもらったらいいです。

詳しく知りたい方は公式ページを参照ください。

経緯

事の経緯は1年ちょっと前、自分が高3の時にまでさかのぼります。 高3の冬、受験期真っただ中で勉強に励むべき時期に、電子辞書にPythonを移植するという受験生とは到底思えないことを外部コミュニティでやっていました。

そんな中で、同じコミュニティの方から、「セキュキャンってイベントがあるんだけど応募してみない?」とお誘いを受け、面白そうだったので応募してみることにしました。

応募課題

応募課題とは?

セキュキャンには複数の部門とコースがあり、自分は全国大会の開発コースに応募することにしました。 開発コースは、プログラムを書いたり回路をいじったりと、実際に手を動かしながら学習するコースです。座学のコースもありますが、プログラムを書くほうが好きなので、この開発コースを選びました。

開発コース自体も19のゼミに分かれていたりするのですが、その各ゼミに応募課題が設けられていて、応募の際には応募課題を提出する必要があります。

応募課題は難しいものも多く、解答にはかなり苦労しますが、調べ学習などで自分の知見も増やせるのでお得だったりします。

応募の結果

自分は3つのゼミに応募したのですが、そのうちの「暗号フルスタック開発ゼミ」に選考通過することができました。

暗号フルスタック開発ゼミ 暗号フルスタック開発ゼミは、暗号を利用する視点から具体的に実装する視点まで、広い視野をもって暗号を実装しよう、というゼミです。(おそらく)

自分は高校生の時ブラウザに閲覧規制がかかっていて、それを回避するためにブラウザ内ブラウザを開発していました。 その際にTLSプロトコルの実装で躓いていたため、TLSなどの暗号プロトコルについて学びたいと思いこのゼミに応募していました。

イベント期間

イベントには大きく分けて二つの期間がありました。

  1. イベント当日にむけて事前学習を行う「事前学習期間」
  2. 実際に会場に集まって缶詰め状態でみんなでワイワイ学習・作業する「イベント当日期間」(約1週間)

です。

事前学習期間

事前学習期間はまず、「何を実装するか」を決めました。

ゼミの受講生は自分含め2人と少なかったですが、2人とも応募課題でTLSプロトコルに触れていたので、TLS1.3の実装をしよう、となりました。

TLSプロトコルとは? 詳細は省きますが、簡単に言えば「httpsのs」です。https通信の暗号通信を担っています。 詳しく知りたい方は...ご自分で調べてください(放棄)

TLSの実装といっても、サーバ側の実装とクライアント側の実装があるわけですが、自分の目標は欲張りに「両方」にしました。だっておもしろそうだし。

両方の実装をしておくと、片方のみ実装するのに比べて、得られる知見の量が違います。それも、単なる足し算ではなく、「両方実装して初めてわかること」もあります。そういう理由もあって、「両方」の実装をしたかった、というわけです。

事前学習期間の終盤

上述のように、今回は「TLSのサーバ側実装とクライアント側実装両方やる」というのを目標にしました。

...ところが。

イベント本番2週間前に全部終わっちゃった(!?)

はい。やることなくなりました()

というわけで次の目標を立てました。

「電子辞書でこの実装を動かしたい!」(!?)

...何言ってるのかわかんないという方。安心してください。正常です。 筆者が異常なだけです。

説明すると、今回の実装はすべてPythonで書いていました。 そして、自分は電子辞書にPythonを移植していました。 なので(?)、電子辞書で動かしたいと思いました。それだけです。

したがって、イベント当日期間中はその目標に向かって作業をすることになります。

まとめ

ここまで読んでくださりありがとうございました。

ランダムには、こんな感じに技術屋をやっている人だけでなく、競プロやお絵描き、ゲーム制作をしている人など、いろんな人がいます!

興味がある方、お待ちしております!

この記事は後半(執筆中)に続きます。