Windowsの大きなメリットの1つに,あるアプリケーションのデータを,クリップボードを介して簡単に別のアプリケーションに張り付けられることがある。しかし本来,アプリケーションのデータは,独自仕様のはずだ。なぜデータを共有できるのだろうか。クリップボードは便利な機能だがデータ共有機能のため,セキュリティ上問題を起こす場合があるという。クリップボードが引き起こすセキュリティ問題とはどのようなものだろうか。
普段,何気なく使っている「カット&ペースト」や「コピー&ペースト」。これはいわゆる「切り取り(または複写)-張り付け」の作業のことで,MS-DOSのワープロ・ソフト時代から搭載されていた歴史ある編集機能である。
しかし,MS-DOS時代は同じアプリケーションの中か,特定アプリケーション同士といった限られた間の話で,現在のようにいろいろなアプリケーション間で自在にコピーできるわけではなかった。直接コピーできない場合は,テキスト・ファイルなど双方のアプリケーションで扱える形式にいったん保存してから読み込み,必要な部分だけコピーするなど面倒な作業をしていた。
クリップボードの登場でコピー能力が大幅に拡大
これに対し,Windowsではマルチウインドウで複数のアプリケーションを同時に開きながら,「クリップボード」を介してデータを共有する方法がOS標準で提供されるようになった(図1)。クリップボードを利用したコピー(カット)&ペーストを多くのWindowsアプリケーションがサポートすることで,幅広いアプリケーション間でデータを受け渡しできるのが画期的だった。
コピー元のアプリケーションでコピーしたい要素を選択してコピーすると,データがクリップボードに複写される(切り取りを実行すると選択要素は消去されカットになる)。それから,コピー先のアプリケーションで挿入個所にカーソル*を移動させて,張り付けを実行するとコピーまたはカットした要素がクリップボードから挿入される。
しかし,ここで疑問が生じる。MS-DOSで自由にデータを共有するのが難しかったのは,各アプリケーションのデータに互換性がなかったからだ。この点に関しては,Windowsでも特に変わっていない。では,どうやってクリップボードは,データの互換性を維持しているのだろうか。
今回は,クリップボードについて,知っていそうで実は知らない,その詳しい仕組みとセキュリティ,ちょっとしたTipsなどを紹介しよう。