ワードプレスの記事を暗号化する

Encrypt articles/posts in WordPress

はじめに

※作成からワードプレスに公開までの流れは以下の記事を参考にしてください。

ワードプレスで特定のコンテンツを暗号化できるプラグイン「Encrypt Blogs」を開発しました。このプラグインは、時間ベースの暗号化機能を実装したもので、PHP暗号化とGPG暗号化の両方をサポートしています。今回は、開発の経緯や暗号化機能の重要性、実際の活用シーンについてお話しさせていただきます。

使い方

1.ワードプレスのプラグインからEncrypt Blogsをインストール
2.設定→Encrypt Blogsから鍵の設定・入力
※GPGキーの場合、事前に生成する必要がありますが、PHPの場合はパスフレーズを決めるだけで使用が可能になっています。


3.記事作成の際にEncrypted Contentを選択
4.時間や暗号化の表示種類を選択
※START DATE(開始時刻)とEND DATE(終了時刻)を入力しないと、そのコンテンツは永久的に暗号化します。
※暗号化の表示モードは非表示・暗号化文字表示・暗号化せず表示・黒塗りの4パターンになっています。

実際に使用してみるとこのような感じになります(暗号化表示形式は黒塗り)

↓↓↓こんな感じで暗号化が可能です(こちらは日付指定なしの0時~12時の時間帯でのみ暗号化します)
█████████████████████

使用例

・新製品発表会の事前記事やプレリリースの下書きに使用する
・SNSでの拡散タイミングのコントロールをする
・ステップ別に配信するタイプの教育コンテンツへの使用
・季節型コンテンツの計画的公開に使用
・限定公開による価値の創出

暗号化の安全性

今回のプラグインの暗号化システムは、NSAでも承認されているAES-256-CBC暗号化方式(PHPのopenssl_encrypt()を使用)
またはPGP暗号化方式(GnuPG拡張機能経由)を実装し、初期化ベクトル(IV)の安全な生成、暗号化キーのソルト付きハッシュ化によるセキュアな保存、WordPress標準のSQLインジェクション対策とXSS対策、nonce検証による不正リクエストの防止を行っており、エンタープライズレベルのセキュリティを実現しています。

まとめ

今回作成した暗号化プラグインはソースコードを公開しています。
是非皆さん一度使ってみて評価していただけると幸いです。
ソースコード(github)


Categories:

,