Oracleは、同社のOracle Databaseにブロックチェーン技術を組み込むことで、データの不正な改ざんや削除を防ぐ「Crypto-Secure Data Management」を導入する。ブロックチェーン分野を担当するシニアディレクターのMark Rakmilevich氏が、その概要を説明した。
Oracle ブロックチェーン製品担当シニアディレクターのMark Rakmilevich氏
同氏は、「これまでにもパスワードや権限による管理、データベースの暗号化、ファイアウォールによる防御があり、新たなデータセキュリティのレイヤーとしてCrypto-Secure Data Managementが加わる」と前置きし、「政府や企業が保持する大切なデータが不正に改ざんされたり、削除されたりすることを防ぐ。プラスアルファで導入し、追加的に保護できるものになる」と話す。
Deloitteの調査によると、企業にとってブロックチェーンは、戦略的優先事項のトップ5に入っており、約86%のユーザーがブロックチェーンを魅力的な技術だと回答しているという。Rakmilevich氏は、「実際にブロックチェーンのメリットは大きい。だが、ブロックチェーンプロジェクトは失敗率が高いという点でも知られる。IDCは、ブロックチェーンの技術的な複雑さとコストの高さが企業にとってハードルであり、従来型のブロックチェーンは実装しにくいという課題があったと指摘している」とも述べる。
Oracleとしてもブロックチェーンに取り組んできたが、「ユーザーには多くの投資が求められ、新たなアプリケーションや開発手法も求められる。新たなビジネスプロセスも導入しなければならず、むしろこれらがユーザーをブロックチェーンから遠ざける要因になっていた。広範に導入してもらうため、使いやすくすることが大切だ」(Rakmilevich氏)と指摘する。
その上で同社は、データベース側にブロックチェーンの仕組みを追加することで、アプリケーションの変更を最低限に抑えつつ、容易に実装できるようにしたという。「データベースに密に統合することで、日常的なアプリケーションの中にブロックチェーンを組み込むことができる、ブレイクスルーともいえる技術」とRakmilevich氏は自信を見せた。
Crypto-Secure Data Managementの機能とOracle Databaseの対応
Oracle Database 21cでは、Crypto-Secure Data Managementを段階的に導入できるという。まずは、アップデートや不正な変更を阻止し、テーブルへの挿入だけを可能にする「Immutable Table」になる。悪意を持った社員や認証情報を盗まれた社員など、内部からの不正な変更を防止し、追加や挿入は行えても変更や削除はできず、管理者まで含めて変更作業ができなくなる機能という。
「ここから利用を始めることができる。企業によってはImmutable Tableで十分というケースもあるだろう」とRakmilevich氏。挿入専用のImmutable Tableを作成し、行の更新や削除、テーブル定義の変更はできなくなる。Oracle Database 19.11およびOracle Database 21.3で提供するという。
2つ目は、不正な変更を加えた際に検知を行う「Blockchain Table」で、従来のブロックチェーンが持つ検証ツールのような役割を果たすという。「ハッカーが新たな脆弱性を利用したり、データベースを迂回してテーブルにアクセスしてしまったりした場合にはどうするかといった疑問に対する回答だ。データの小さな暗号ダイジェストを計算して安全に保存することで、データの変更を検出する」(Rakmilevich氏)
Blockchain Tableは、Immutable Table上に構成する。Blockchain Table上のデータに何らかの改変を加えた場合、行のハッシュ値が変わりハッシュ値のチェーンが崩れるので、不正を検知できるという。Rakmilevich氏は、「Peer to Peer型のブロックチェーンの場合は、データが複製され分散していく。Blockchain Tableはデータそのものではなくハッシュ値だけを分散する。データベースの外で改ざんされた場合に検知、防御でき、Immutable Tableの上で保護策を講じられる」とした。
また、「DBMSBLOCKCHAINTABLE.VERIFY_ROWS」プロシージャーを使うことでBlockchain Tableの内容が改変されていないことも確認できる。「データベースに頼らずに独自に検証できるのが特徴」(Rakmilevich氏)という。Blockchain Tableは、Oracle Database 19.10およびOracle Database 21.1に対応する。
3つ目が、データやテーブルをベースに台帳を作成し、組織全体での不正な変更を阻止する「Distributed Digest」になる。データベースが完全に置き換わったり、バックアップのリストアなどができなかったりするなど、チェーンが侵害された場合に対応する機能で、Rakmilevich氏は「大規模な隠ぺい工作や巧妙なサイバー犯罪からデータを守る。テーブル全体を対象にCryptographic Digestを作ることで対応する仕組みになり、いわばスナップショットをとるのと同じような対処方法。これを見比べれば不正な変更を確認できる」とした。
Cryptographic Digestは、例えば「100行」といった範囲指定や「1日1回」といったような指定ができる。また、実際のデータが入っているわけではないため、監査人などの公的な場にもCryptographic Digestを提供できるという。Oracle Database 19.10およびOracle Database 21.1に対応している。
最後が、なりすましによるデータの不正変更を阻止する「Data Signing」だ。これは、内部者が内部情報を不正に利用したりエンドユーザーの認証情報が攻撃者に盗まれたりした場合のなりすましや、開発者やオペレーターまたは攻撃者がアプリケーションの認証を迂回してアクセスする場合などに対応したものになる。
データを挿入する際に、秘密鍵を使ってCryptographicのサインを行い、公開鍵による認定・認証後に、データの認定IDとひもづけることで、なりすましによる改ざんを防ぐという。ここでは「Countersign」と呼ぶ、ユーザーのデータがデータベースに確実に届いたことをユーザー自身で確認できる機能も提供する。
「Crypto-Secure Data Management」を構成する機能と対応するセキュリティリスク