NTTデータは10月13日、同社が開発したオープンソースソフトウエア(OSS)であるセキュアOS「TOMOYO Linux」を使用した利用者認証方式のプロトタイプを開発したと発表した。
今回プロトタイプとして実装された方式により、ICカードやバイオメトリクスなどのデバイスなしに、SSHブルートフォースアタックへの対策が可能になる。
SSH認証を突破された場合、普通のOSでは、突破されてからの不正な操作を制限する手だてがないために、致命的な被害につながる。現状ではブルートフォースアタックへの対策としては、公開鍵認証の使用が推奨されているが、秘密鍵を記録したメディアの紛失や盗難により不正アクセスを許してしまう可能性があるため、万全とはされていない。
セキュアOSには「強制アクセス制御」と呼ばれる、管理者が定めたポリシーによりユーザーの操作を制限する機能がある。この機能を利用することで、SSHログインの後にログインしたユーザーに回避できない追加的な認証を強制することができる。
SSH認証はパスワードが割り出されれば突破されるが、追加される認証の中でパスワード文字列以外の情報による認証を実施すれば、その内容を知られない限り、破ることが困難な認証を実現できる。
今回NTTデータは、TOMOYO Linuxに(1)パスワード入力時の打鍵タイミングを考慮した認証(2)携帯電話を使用した認証――の2種類の認証を開発している。
(1)は、パスワードの文字列をキーボードから入力する際のスピードを事前に登録しておき、認証条件としてログイン時に審査するというもの。万一ユーザーIDとパスワードの内容が漏洩した場合であっても、そのユーザー個々の打鍵タイミングで入力されなければ、正規ユーザーとして認証されず、不正アクセスやなりすましを防ぐことができる。
(2)はユーザーがログインした時点でサーバがワンタイムパスワードを生成して、事前登録された携帯電話のアドレスのメールに送信するという仕組みだ。ユーザーは携帯電話あてに送られたワンタイムパスワードをキーワードから入力することで、正規ユーザーとして認証される。
生成されたワンタイムパスワードは、当該セッションにおける認証が成功、あるいは失敗した時点で直ちに無効になるために、ワンタイムパスワードをブルートフォースで割り出すことは原理的に不可能になる。そのために、攻撃者は事前登録された携帯電話あてのメールの盗聴に成功しない限り、先に進むことができない。
NTTデータでは、これらの追加認証手段は、既存の認証システムと独立しており、制約が少なくて組み合わせには制限がないことから、事実上破られることのない認証方式が実現可能になるとしている。
TOMOYO Linuxは、NTTデータが開発したLinuxサーバ向けのセキュリティ強化カーネル。2005年11月に公開されている。