Windowsの大きなメリットの1つに,あるアプリケーションのデータを,クリップボードを介して簡単に別のアプリケーションに張り付けられることがある。しかし本来,アプリケーションのデータは,独自仕様のはずだ。なぜデータを共有できるのだろうか。クリップボードは便利な機能だがデータ共有機能のため,セキュリティ上問題を起こす場合があるという。クリップボードが引き起こすセキュリティ問題とはどのようなものだろうか。

 普段,何気なく使っている「カット&ペースト」や「コピー&ペースト」。これはいわゆる「切り取り(または複写)-張り付け」の作業のことで,MS-DOSのワープロ・ソフト時代から搭載されていた歴史ある編集機能である。

 しかし,MS-DOS時代は同じアプリケーションの中か,特定アプリケーション同士といった限られた間の話で,現在のようにいろいろなアプリケーション間で自在にコピーできるわけではなかった。直接コピーできない場合は,テキスト・ファイルなど双方のアプリケーションで扱える形式にいったん保存してから読み込み,必要な部分だけコピーするなど面倒な作業をしていた。

クリップボードの登場でコピー能力が大幅に拡大

 これに対し,Windowsではマルチウインドウで複数のアプリケーションを同時に開きながら,「クリップボード」を介してデータを共有する方法がOS標準で提供されるようになった(図1)。クリップボードを利用したコピー(カット)&ペーストを多くのWindowsアプリケーションがサポートすることで,幅広いアプリケーション間でデータを受け渡しできるのが画期的だった。

図1●なぜ違うアプリケーション同士でコピー&ペーストできるのか?<br>クリップボードを介してコピー&ペーストすると,本来違う形式で記録されているはずの別のアプリケーションから,データをコピーすることが可能だ。
図1●なぜ違うアプリケーション同士でコピー&ペーストできるのか?
クリップボードを介してコピー&ペーストすると,本来違う形式で記録されているはずの別のアプリケーションから,データをコピーすることが可能だ。
[画像のクリックで拡大表示]

 コピー元のアプリケーションでコピーしたい要素を選択してコピーすると,データがクリップボードに複写される(切り取りを実行すると選択要素は消去されカットになる)。それから,コピー先のアプリケーションで挿入個所にカーソルを移動させて,張り付けを実行するとコピーまたはカットした要素がクリップボードから挿入される。

 しかし,ここで疑問が生じる。MS-DOSで自由にデータを共有するのが難しかったのは,各アプリケーションのデータに互換性がなかったからだ。この点に関しては,Windowsでも特に変わっていない。では,どうやってクリップボードは,データの互換性を維持しているのだろうか。

 今回は,クリップボードについて,知っていそうで実は知らない,その詳しい仕組みとセキュリティ,ちょっとしたTipsなどを紹介しよう。