データベースのセキュリティをノーコードで実施する

データベースのセキュリティをノーコードで実施する

今日のトピックは「データの暗号化」です。

よく、クラウドの設定ミスで社内情報が一般公開されていたり、有名なソーシャルメディアのユーザー情報がダークウェブに掲載されているといった、データに関する問題があります。

ノーコードも設定次第では、アプリは非常に脆弱なものとなってしまいます。

そこで、今日はデータのセキュリティに着目して、ノーコードでどうやってデータを保護するかを調べていきたいと思います。

まずは、データの暗号化です。以下のサンプル動画では、テキストデータ(文章)を暗号化して、データベースに登録する方法を解説しています。

専門的な話になりますが、やっていることはMySQLのAES_ENCRYPT()という暗号化処理に似ています。

これまで、こういった処理は、プログラマーやアーキテクトの判断に依存していました。もっというと、プログラマーでも暗号化やセキュリティがあまり得意でない人もそれなりにいます。

この方法を応用すれば、本人確認書類を画像で受け取って、画像をテキストファイルに暗号化することも可能になります。

その場合、暗号化された文字列は非常に長いものになりますので、動画のようにAirtableのテキストフィールドには収まりません。よって、データベースには(暗号化された)テキストファイルの場所を格納しておくことが考えられます。

次は、暗号化されたデータの復元です。

データの復元は、とてもカンタンです。暗号化するときに使用した秘密鍵をつかって復元するだけです。

ということは、秘密鍵の運用がセキュリティ上とても重要になってきます。

しかし、これは通常のパスワード管理と同じで、チャットに貼り付けて共有したり、メールで送るべき情報ではありません。すでに、個人情報の管理を適切に実施されている場合は、管理に特に問題はないかと思います。

最後に、注意点があります。

ひとつは、暗号化は万能ではないということです。これは、秘密鍵が特定された場合、第三者がデータを複合できるという意味です。また、データベース自体のセキュリティと合わせて考える必要があります。もっというと、アプリ全体です。

もうひとつは、暗号化されたデータは「検索できない」ということです。もちろん、一時的に復元して検索するような処置は可能です。しかし、パフォーマンスやセキュリティ上の課題もありますので、アーキテクトに相談することが望ましいです。

Integromatには、暗号化モジュールの他に、ハッシュ関数もありますので、処理やセキュリティのレベルに応じて使い分けると、より実装の幅が広がります。

ノーコードで自動化を!

Integromat日本コミュニティへの参加はこちらから