2021/7/27
[研究]
・リプレイ攻撃がseqで対処できる解釈
-> seqは2バイト確保しており、2^16乗回分のseqがあるので、
それがMACに反映されている。よってあるメッセージを傍聴して再び送ろうとしたら、2^16乗回分のが終わった後になるので困難。
-> 2の16乗が終わってもseqが何周目かのビットを立てれば良さそう?
・packet_downlinkとpacket_uplinkに認証を追加した。
-> verify_macのところの引数を変更して、関数を呼び出すだけでできるように実装をした。
-> broadcastのところは認証がうまくいっているっぽいが、sendの方が、受け取り側のmac生成結果の最後の2バイトが異なっている。
-> バグ修正完了。
[現状報告内容]
・command.cのATB, ATU, ATSにMACを追加して、メッセージを変えてMACが異なることを確認した。(Sendto2はまだ)
・認証をしやすくするために、cmac.cのverify_macを修正し、packet.cのdownlinkとuplinkのところに組み込んで、認証が動くのを確かめた。(コマンド04のところは実装が途中だったのでまだ入れていない。確かめたのは、動作のみで細かいチェック(フェイクメッセージとか)はしていない。)
[聞くこと]
・これからやること
・ゼミのお願い
・パケットのMACの追加はあれでいいのかどうか。
・作業リポジトリをどこでやったらいいか、先生のブランチで進めていく方がいい?
(予備)
・コマンド02 uplinkとコマンド04 sendto2のパケットにseqがないので、再生攻撃の心配
・ATGした時の表示の修正
・バイトを8月にできないかどうか