マイナンバーを保管する方法には、いくつかの方法があります。従来の紙ベースもあれば、オフィス系ソフトウェアを使った方法もあります。クラウドなどで保管する場合、ほぼデータベースが使われます。まずは、データベースの仕組みから見ていきます。
より高度なデータ管理が可能なデータベース
データベースには、以下の機能が搭載されています。
- データベース管理機能
- 同時実行制御機能
- トランザクション管理機能
- 障害回復機能
- 機密保持機能
順に簡単に説明すると、データベース管理機能は、データベースの操作やユーザーのリクエストに応じて、データベース内のデータを読み出したり、新たにデータを登録します。同時実行制御は、複数のユーザーが同時にアクセス可能な機能などです。トランザクション管理機能は、データの読み出しから変更までの一連の処理(トランザクション)で、障害が発生してもデータが保全されることです。障害回復機能は、システム障害が発生しても回復処理(ロールバック、ロールフォワード)を行い、データベースの一貫性を保ちます。最後の機密保持機能ですが、第三者が許可なくデータを閲覧したり、改ざんを防ぎます。
マイナンバーのような個人情報を保管するには、単純に機能だけであれば、表計算ソフトでも十分かもしれません。住所録などを考えれば、わかりやすいでしょう。しかし、表計算ソフトには、データベースのような機能はありません。特に、アクセス制御は技術的安全管理措置を実施するうえでも重要な機能となります。
まず、データベース自体にアクセス可能な取扱担当者のIDとパスワードによる管理が可能となります。ざらに、データを保管するテーブルごとにアクセス制限をかけるといったこともできます。残念ながら、表計算ソフトでは、そこまでのことはできません。また、紙ベースの管理では、多くの安全管理措置を講ずる必要もあり、結果的に高いコストがかかってしまうこともあります。
会社の規模などにもよりますが、できれば人事管理や給与計算のようなデータベースを含むシステムを導入することが望ましいといえます。それ以外にも、クラウドを使ったマイナンバーサービスも検討すべきでしょう。
データベース管理者のアクセス制御
安全管理措置に従えば、データベースといえども、次の対応が求められます。
- マイナンバー取扱担当者の区別
- マイナンバーを扱うシステムとの分離
取扱担当者以外は、暗号化を施していたとしても、マイナンバーを保管したデータベースにアクセスできないようにします。後者は、1つのデータベース内に、別テーブルとしてマイナンバーを保管した場合(当然、このテーブルへのアクセスはマイナンバー取扱担当者のみ)、状況次第では、アクセス制御が不十分と判定される可能性もあります。
上述のように、既存のシステム内にデータベーステーブルを作成することで、コストを軽減させようとするのは、一考に値するでしょう。しかし、システム構成によっては、安全管理措置が不十分となる可能性もあることを覚えておきましょう。
そして、注意しなければならないのが、データベース管理者です。その名前の通り、データベースの保守・管理を行う特権ユーザーです。これまでは、データベースに関するすべての権限を保有していました。たとえば、暗号化を行うのであれば、その復号キーなどもデータベース管理者の仕事となります。アクセス制御もほぼありません。つまり、マイナンバーデータを保管していると、従来のデータベース管理者ならば、閲覧可能になってしまいます。
この対策ですが、データベース管理者も、データベースの内容によっては、アクセス制限をかける必要があるということです。データベース管理者をマイナンバー取扱担当者にする案もありますが、業務内容に大きな差があるので、あまり好ましいとはいえません。
データベース管理者だけでなく、会社全体のシステム管理者やセキュリティ責任者などの特権を持つユーザーに対し、一定のアクセス制御をかけることは、必要となってくる可能性もあります。