暗号化とファイル名の長さ制限

普段、Linuxシステムを運用するときにファイル名の長さというのはあまり意識しないかもしれません。一般的なファイルシステム(例えばLinuxならext4など)では利用できるファイル名の最大長は255バイトです。その他のファイルシステムもほぼ同じです。それだけの長さがあればほとんど問題が起こることはないでしょう。ですから、ほとんどのシステムはファイル名の長さは255バイトまで使えることを前提に開発されています。

しかし、これは暗号化してない場合ということを念頭に置かなければなりません。

透過型の暗号化システムでは、いままでと同じように普通に読み書きできるのですが、ファイル名の最大長は短くなります。
例えばeCryptfsでの暗号化ではファイル名は以下のように暗号化されます。

ECRYPTFS_FNEK_ENCRYPTED.FYYc2.DBV1LG…(略)…peF72R6.eb2EY1
(eCryptfsのファイル名の暗号化の例)

この中には暗号化のメタ情報などが含まれるので実際に利用できるファイル名の長さは144バイトしかありません。これは割合にして暗号化する前の56%となり、システムによっては深刻な減少となります。もし、それ以上の長さのファイル名を持つファイルを作成しようとすると「File name too long(ファイル名が長すぎます)」というエラーになります。

これは長いファイル名を利用するシステムにおいては致命的です。LinuxではUTF-8で漢字のファイル名を扱いますので、極端に4バイト文字だけを使用した場合は36文字しか利用できません。また、システムによっては自動的に長いファイル名を作成する場合もあるでしょうから注意が必要です。

もし、システムの暗号化を検討される場合は、ファイル名の最大長を事前に十分に確認していただければと思います。

災害時のためのバックアップと暗号化

先週の豪雨では栃木県小山市の一部地域でも浸水被害があり、ニュースでも大きく報道されました。弊社の本社も小山市内ですが浸水した地域よりは高く離れた地域でしたので被害はありませんでした。多くの方からご心配のお電話をいただき、ありがとうございます。

今回のような自然災害に備えてシステムのバックアップを取ることは非常に重要ですが、バックアップを暗号化している方はまだまだ少ないようです。システムやソフトウエアごとにバックアップの方法は違いますから、それぞれについて安全なバックアップについて考えるのは容易なことではありません。

このような時に透過型暗号化でフォルダごと暗号化できるのは非常に便利です。単純にバックアップ先のフォルダを暗号化指定してそこにバックアップしたデータを保存すればよく、バックアップの手法を問いません。

バックアップというのは、すぐに取り出せなくては意味が無いので、盗まれやすい非常に危険な状態にあることがあります。運用中のシステムの安全性も大事ですが、バックアップの安全性も十分に考慮していただければと思います。

Server-GENERALであればバックアップフォルダも簡単に暗号化可能です。

暗号化されたデータへのアクセス権

データを暗号化するシステムを運用している場合、「暗号化しているから安心」と普通は思うかもしれませんが、そんなに簡単に安心してはいけません。実際に重要なのは誰がそのデータにアクセスできるのかということです。

一般的なディスク暗号やフォルダ暗号の仕組みでは、データのアクセス権はOSに任せています。つまり、一旦データを復元してしまうと、OSの管理になるので、OSの管理者であれば簡単にデータを見ることができてしまいます。単純な暗号化システムのほとんどはそのような実装ですから、いくら暗号鍵を厳重に管理していても、システムの運用中のデータは管理者(root)から丸見えなのです。

このような実装では暗号化の効果を疑問視する方も多いのではないかと思います。ですからここで大事なのは

「管理者(root)からのデータアクセスを制限できるか」

ということです。

高度な暗号化システムでは、暗号化と同時にアクセス権も制御します。簡単にいうと許可されたユーザ以外はデータを見ることができません。たとえそれが管理者(root)であったとしてもです。Linuxのroot権限は通常は非常に強力で、別のユーザに簡単になりすますことができます。そのようななりすましも検知してデータを守ります。

一般的な暗号化ではこような高度なアクセス制御はできません。暗号化してデータを守ることを考えている場合、データへのアクセス権の制御も重要だということを覚えておいていただければと思います。

Server-GENERALであればこのような高度な暗号化システムの提供が可能になります。