ファイルを最も安全に扱う最適解ってどれになるんだろう。

# ZIPファイルはマルウェア検査をすり抜ける？

誰もが知ってる「ZIPファイル」ってありますね。
よく見かけるだけのファイル形式ですけどね。
これを悪用してマルウェアに感染してしまう被害例があるそうです。
オンラインのファイルのチェックをZIP形式のままでは
検査できない場合があるからマルウェアが検出されなかったり
脆弱性を抱えています。普段はセキュリティのリスク面において
ZIPファイルが怖いとかないですけどね。

## ZIPファイルとは

圧縮ファイル形式の一つであり、現在最もメジャーな形式です。
ZIPファイルにすることで得られるメリットの一つに、
容量を小さくできることです。例えば「1GB」が「500MB」まで
二分の一にまで小さくできる場合だってあります。
また、ZIPファイルはメールで画像やドキュメントを共有するのにも
たいへん便利です。私もメールの送信でZIPファイルを活用した経験が
ありました。それこそがビジネスマナーだと当時は思っておりました。
WindowsでもMacにも対応してる汎用性が高いファイル形式ですね。
多くのユーザーが利用しているOSでちゃんと標準サポートしてます。
デメリットとしては解凍ソフトがないと解凍できない時があります。
Windowsではデフォルトの機能として「すべて展開」という
コンテキストメニューがあるので右クリックで一発でできますが、
7-ZIPを使わないと解凍できないフォルダーもあります。

## ZIPファイルはセキュリティの観点から

ZIPファイルはセキュリティの欠陥を抱えています。
そのセキュリティの危険のリスクを減らすために有効な手段として
どういった対策が挙げられるのでしょうか。
実際の例を上げて見識を深めていきまっしょい。
<br>
## AES256
AES256暗号化技術を使用してzipファイルを暗号化してしまう策があります。
このAES256とはアメリカの国立標準技術研究所によって2001年に制定された
暗号化方式で、政府標準として採用されています。無線LANの通信を保護するために
使用されることもあります。暗号方式はAES256が主流になってます。
AESの鍵長は128bit、192bit、256bitの3パターンから選べます。
ええ？「鍵長」って何だろう?　鍵長＝「かぎちょう」と読みます。
暗号化されたものを元に戻す時のデータの大きさのことです。
鍵長が長ければ長いほど第三者による解読がますます困難になります。
暗号と複合はセットで使われてます。
複合はデータを元の形に戻して読めるような状況に直すこと。
暗号化は皆が読めるデータをぐちゃぐちゃにして解読できない状態にすることです。
AES-256の256bitだと2の256乗のパターンの鍵を持つことになり、計算すると
78桁にもなります。途方に暮れるような膨大な数ということがわかります。
最小の128ビットの鍵長でも十分に高度なセキュリティレベルを保持できることが
わかります（37桁くらいになるらしいです）。わわわわ。
暗号化されたデータは元に戻して見られる状態にするために複合化されます。
この複合化するときに使われるのが「鍵」です。「鍵」を使って暗号化された
データを複合化するわけです。鍵は暗号化、そして逆の複合化する際にも
両方で使われてる仕組みですよね。ファイルの暗号化はファイルに鍵をかけて
大切なデータを第三者に読まれないようにするデータの変換のことを指します。

<br>

## ToraTora
それでは、ここで素晴らしいファイルの暗号化ソフトを使ってみましょう。
フリーソフトで探せばいくらでもあるんでしょうが、とりあえず
「ToraTora」という日本人の開発者の方が作ってくださったソフトで、
私のテストファイルを暗号化することにしましょう。
ファイル名が思い浮かばなかったので適当なファイル名で行きます。
「ももももももも」にしました。
<br>
<br>
<br>
<br>
インストールしたToraToraを起動して出力した画面に
暗号化したいファイル（フォルダー）をドラッグ&ドロップします。

![toratora.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698531/ec9ca515-1916-0731-bba5-a8133dc8ec69.png)
<br>
<br>
<br>
<br>
<br>
![toratora02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698531/2e72b2cb-fcb5-e5f9-26ad-dcaea8ec8cf7.png)
<br>
<br>
最後にパスワードを二度入力する（確認用も含める）
<br>
<br>
![toratora03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698531/c5f039b1-6e11-c603-c76d-f0ab1339e054.png)
<br>
<br>
ファイルにパスワードをかけてAES-256方式で暗号化することが可能です。
<br>
<br>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698531/40126d5d-8338-ba5f-69a6-880415dbbe72.png)
<br>
<br>
<br>
<br>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698531/af8168cf-8069-f29f-8048-4f605327775b.png)

<br>
xxxxxxx.tora
（強固なセキュリティベースのAESを採用）

<br>
<br>
<br>
<br>

## 暗号化したファイルを複合化して元の状態に戻す

<br>

xxxxxxx.toraをドラッグ&ドロップ。
（ここではももももももも.toraです。）を複合化するために
さっき入力したパスワードを入力すればいい。
（重複しないように適当なディレクトリーを保存先に選んでください）

<br>
<br>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2698531/b8048d16-ee5c-2456-c6c0-52ab5eb99100.png)

<br>

暗号化と逆ですね。復号化されたことで解読できるように変わりました。

<br>

##  オンラインでも使えるツールがある(余談)
PCにソフトをいちいちインストールしなくてもオンラインで暗号化を可能にする<br>

オンラインツールを開発してくれた日本人の方がいらっしゃるのでご紹介です。

ActiveTK. さんが開発してくれたツールがありました。

他にもいくらでもあるんでしょうが一応参考程度までに載せておきます。
<br>
https://github.com/ActiveTK
<br>
[ActiveTK.jp](https://www.activetk.jp/tools/encrypt)
<br>

## 私の日頃のセキュリティ意識に関する所感

セキュリティの分野に興味津々なくせして、ろくに入門書さえも読んでなかった。
にわかですが。生半可な知識では通用しないことは
知ったはずなので。さわりだけでも専門用語の全体の意味を押さえて
コツコツと学習し、にわか者からいつか脱却できたらいいですね。
かなり省略して書いた記事なので後々修正して追加していくと思います。
最後のページまでお読みいただきどうもありがとうございました。
WPA3って暗号化プロトコルが2018年に登場したそうですが、
自宅のルーターも新しいものに交換してセキュリティを強化しとかないと
いい加減古いままじゃまずいだろうなと危機感を覚えました。
記事の内容がここ間違ってるよって発見したら遠慮せずに指摘してやってください。

<br>

それじゃあ、またお会いしましょう。