異例の先行情報公開
7月上旬にアップルのサポート記事に上がった内容が、ベテランのユーザたちを中心としてにわかに話題になっている。そのタイトルは「iOS 10およびmacOS Sierraにアップグレードする前にPPTP VPNの削除に備える(https://support.apple.com/ja-jp/HT206844)」。
外部インターネットから社内にあるローカルネットワークなどに接続するVPN(バーチャルプライベートネットワーク)を実現する技術としてPPTP(Point-to-Point Tunneling Protocol)が利用され始めたのは実にウィンドウズ95の頃であり、日常的に使われているネットワーク系技術としては古参のものにあたる。その仕様は古さもあるが、なによりPPTPで使用される認証プロトコル「MS-CHAPv2」(マイクロソフトチャレンジハンドシェイク認証プロトコル バージョン2)の設計に問題があり、パスワードが漏洩する脆弱性が指摘されている。このため後継であるL2TPやIPSec、IKEv2、SSL VPNなど、より強固なセキュリティを実装した接続方法に切り替えるように各ベンダーもユーザに向けてアナウンスを続けている。
アップルはすでにiOS 9やOS XエルキャピタンでPPTPによるVPN接続を設定しようとすると、セキュリティに関する警告を表示し別のVPN接続オプションを利用するように推奨してきた。しかし、PPTPは20年以上使われて来たため利用シェアも広く、また他の接続方法への切り替えにはコストもそれなりにかかるため、ほとんどの企業は「とりあえず動く限りはそのまま使っていこう」となってしまい、切り替えが進んでいないのが現状だった。
今回のアップルがとった措置はその点では非常に思い切ったものになった。次のバージョンでは新規にPPTPを使ったVPN構築が行えないのはもちろんのこと、すでに設定されていた場合でもバージョンアップした時点でPPTPの設定そのものが削除されるという。ともすれば「バージョンアップしたらVPNで社内にアクセスできなくなってしまった!」という相談が多発しかねない措置だが、混乱を最小限に留めておこうという意図だろう、今回の記事がOSがまだ開発中であるにもかかわらず、リリースに先駆けて詳細な情報が公開されるというのは、アップルの歴史の中でも珍しい出来事だ。このことからも今回の変更が与える影響の大きさは容易に推測できるだろう。
負債からの脱却
PPTPの一件に象徴されるように、ITの世界には設計的な課題を解決するために次世代へと移行する必要があるにも関わらず、その利用率の高さが足かせとなってきた技術というのは少なくない。移行を進めるためにはどこかのタイミングで古い技術は切り捨てる「英断」が必要なのだ。
この一環としてアップルは、macOSシエラで旧世代のクイックタイム(QuickTime)フレームワークもすべて削除対象とし、iOSバージョン同様に「AVファウンデーション(AVFoundation)」へと完全移行する。これによってクイックタイム7ベースで動いていたソフトウェアとの互換性がなくなった。具体的に影響を受ける範囲としてはファイナルカットプロ7を筆頭とするファイナルカットスタジオシリーズなどが動作しないことが確実となっており、同じような環境を有するプロユーザはアップグレードしないか、別のビデオクリエイティブツールが必要となるだろう。また、レガシー向けとして提供されていたクイックタイム・プレーヤ7も動作しなくなるため、「ソレンソン(Sorenson3)」形式など古いビデオコーデックを利用しているクイックタイムビデオファイルが開けなくなるなどが想定される。
こちらも古いクイックタイムを利用するユーザが相当数いたことも考慮され、長らくサポートが続いていたのが実情だが、クイックタイムが設計されたのもPPTPよりもさらに古く、1991年にまで遡る。当時は「マルチメディア」をどこよりも先駆けて実現し、その可能性には多いに期待が寄せられた技術ではあったが、その後乱立したコーデック(ビデオ再生フォーマット)へのサポート数が増えるにつれ、クイックタイムは他のビデオプレーヤとの競争に巻き込まれ膨大なプラグインを抱え込みながらその対応に追われるようになる。
しかし、2002年にリリースされたクイックタイム6(およびMPEG-4)がモバイルデバイスにおける国際標準規格「3GPP」に採用されると、状況が変わる。コンピュータと異なりビデオ再生にはバッテリー消費を抑えるためにも専用のデコードチップを利用するモバイルデバイスには、複数のコーデックをサポートする余力はない。折しも携帯コンテンツが台頭し始めた時期であることも重なって、業界全体もこれに一本化する動きになり徐々にコーデックの覇権争いも収縮した。
こういった経緯を経たクイックタイムは、複雑な機能追加とコーデックの追加を続けた肥大化というサポートを終了し、フレームワークを刷新することは2008年のWWDCですでに開発者には告知済みだった。その点では、約8年の移行期間を設けるという非常に息の長い「中継ぎ」期間だったと捉えることができ、アップルによる一方的な切り離しと断じることができない。
トラブル回避のために
前述2つの事案でもそうだが、基本的にアップルは一方的に今まで使われていた技術を「廃棄(removed)」することはない。必ずその前の世代で「排除勧告(deprecated)」を行い、次回以降のアップグレードでその機能を廃棄するプランがあることを告知する、というルールがある。この移行期間を設けることで、ソフトウェア開発者に対応を準備するように促しているのだ。
macOSシエラでもこのルールは継承されており、新たにハードディスクなどで使われていた「HFS標準」フォーマットが排除勧告された。すでに大半の記録メディアは「HFS拡張」が使われているため、システム7(System 7)以前の記録メディアを読む、といった特殊な条件が出てこない限りは大きな問題にはならないだろう。ほかにもセキュリティの仕様ですでに業界全体で実装が非推奨になっているCDSA(Common Data Security Architecture)を利用したAPIが排除勧告段階に入っている。
明示的な排除勧告はされていないが注意が必要なものもある。たとえば、永らくシステム標準で使われてきた、ファイル共有のためのネットワークプロトコル「AFP(Apple Filing Protocol)」も徐々にウィンドウズやユニックス/リナックス系で実質標準的に利用されている「SMB(Server Message Block)」へと主役の座が交代されつつある。AFPはバックアップシステムであるタイムマシン(Time Machine)をAirMacタイムカプセル(Time Capsule)などのネットワークストレージで利用していることもあり、すぐにこの機能が廃棄されることはないが、OS X 10.9マーベリックスの時点で今後はSMBが標準接続方式となることが「Core Technology Overview」というアップルが発行した公式資料でアナウンスメントされていることや、macOSシエラと同時期にリリースが予定されているmacOSサーバ5.2でもタイムマシンサービスの接続プロコトルがSMBに変更されることが明らかになっており、これらの事実からも近いうちにAFPが排除勧告対象になる可能性は高い。
ネットワーク周辺に関してはこのほかにもIPv6やTLS1.2などの採用が進んでおり、こちらも社会的な環境を受けて今後急激に切り替わりが予測されている。こういった情報を集約的に取り扱うメディアも少ないのが実情だが、本誌では継続的にチェックしレポートしたいと考えている。
アップルのサポートページに公開された記事「iOS 10およびmacOS Sierraにアップグレードする前にPPTP VPNの削除に備える(https://support.apple.com/ja-jp/HT206844)」や「『PPTPを使用するVPNは安全でない場合にがあります』という警告が表示される場合(【URL】https://support.apple.com/ja-jp/HT206152)」では明示的に今後PPTPがサポートされない、と予告されている。
MS-CHAPv2の脆弱性については2012年の時点で公式にもアナウンスされており(【URL】https://technet.microsoft.com/ja-jp/library/security/2743314.aspx)、L2TPやIKEv2など別の方法を利用することがすでに推奨されていた。
すでにレガシーと呼ばれてなお、8年以上使われて来たクイックタイム 7。「アップルの宝」とも呼ばれて来た同社のプラットフォームを代表する技術の1つだが、シンプルでよりパワフルなクイックタイム Xにその座を完全に譲る時がついに来ている。
OS X 10.9マーベリックスのリリースと同時に公開された技術白書の中にAFPの今後の扱いについて言及されており、今後はSMBにシフトすることでより業界全体の標準化へ足並みを揃えていこうというのが狙いのようだ。
【News Eye】
現行のクイックタイムでも、主要なコーデックに関しては引き続きサポートが続いている。また、Telestream社の「Flip4Mac」のようにウィンドウズメディア(Windows Media)形式のファイルをサポートするクイックタイム用プラグインを引き続き提供しているものもある。
【News Eye】
純正ソフトウェアの中にも「グラブ」や「DVDプレーヤー」のようにほとんど手が入っていないままバンドルされ続けられているものも少なくない。これらもフレームワークの終了とともに、ある日ひっそりと消えてしまうのかもしれない。