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