Windows RT 8.1でのハヌドりェア海賊察策保護

よく知られおいるニュヌスリ゜ヌスに関する短い蚘事を読んで、「 Microsoftの新しいタブレットは、賌入しないように蚭蚈されおいるかのように 」ずいう面癜い玹介を芋たした。 私の意芋では、疑わしい声明はそれにもかかわらず、Surface RTの最初のバヌゞョンの困難な運呜ず新しいSurface 2の驚くべき類䌌性に支えられおいたすが、圓瀟は垞に顧客に関心を寄せおきたした。

画像

Khabrの読者には少し挑発的なように思えるかもしれたせんが、この蚘事の本質は次のずおりです。2013幎の終わりに、Windows RT䞊のアプリケヌションを著䜜暩䟵害から保護するGuardant Codeマむクロ電子キヌを発衚したす。 誰かがすでに神殿に手を出しおいるかもしれたせんが、ハヌドりェアキヌで゜フトりェアを保護するための本栌的なWindows RTアプリケヌションの開発者を本圓に提䟛しおいたす。



この蚘事では、次のこずを孊びたす。

1. Windows RT 8.1が必芁な理由ず、タスクの点で最初のWindows RTが悪いのはなぜですか

2.このデザむン党䜓の仕組み

3.限られたアヌキテクチャでは、microSDカヌド圢匏の電子キヌのサポヌトを提䟛できなかったため

4. ...そしおどのような束葉杖で回避できるか







最初の連絡



Surfaceのリリヌス前でも、Windows RTでタヌゲットプラットフォヌムのリストを拡倧するこずに぀いお話し合いたした。 しかし、マむクロ゜フトに察する䞀定の信頌が存圚し、さらに圌らにはお金がありたす。 お金ず適切なアプロヌチを䜿甚するず、垂堎で䜕でも宣䌝できたすが、実際には成功しおいたせん。 同時に、Androidは1日以䞊でスマヌトフォン垂堎の王様にもなりたした。そのため、時間はMS戊略の正しさを瀺しおいたす。 いずれにせよ、私たちは1幎前にSurfaceの最初のバヌゞョンを入手し、入念に研究し、䜕もしないこずに決めたした。 圓瀟の補品が存圚しない垂堎に参入するのは危険です。数四半期にわたっおSurfaceの販売結果を埅っお、お客様のカテゎリの関心を評䟡する必芁がありたした。



圌らは埅っお結論を出し、Surfaceをテヌブルの遠くの匕き出しに入れたした。



このプロゞェクトの状況は2013幎倏の半ばたで続きたした。Microsoftは[絶望から明らかに]補品に匟みを぀け、教育分野でほが無料で配垃し始めもちろん誇匵したす、他のすべおの人にも倀䞋げしたした。 そしお、教育の分野では、実際、深刻な補品があり、著䜜暩䟵害がありたす。 したがっお、2013幎7月の入力デヌタ「有望な」プラットフォヌム、関心のある顧客、Guardant MobileプロゞェクトmicroSDずUSBキヌを備えたAndroidに焊点を圓おたの圢で既補の基盀がありたす。 仕事に取り掛かる。



倱敗した詊み



画像



最幎少で非垞にニッチな補品であるGuardant SDから始めたした。 マむクロコントロヌラヌ暗号化のハヌドりェアアクセラレヌション付きず4GBの汎甚メモリを備えたmicroSDカヌドです。 これにより、非垞にシンプルなAPIを䜿甚しお、ボヌド䞊でJavaアプレットをロヌドおよび実行できたす。 アヌキテクチャ的には、すべおがGuardant Codeキヌに非垞に䌌おおり、アプリケヌション保護のために投獄されたす。 高䟡なビゞネスアプリケヌション。たずえば、Androidタブレットの「モバむルりェむタヌ」。 意味は次のずおりです。Javaコヌドの重芁な郚分をアプレットに取り出し、カットアりトコヌドの代わりにAPI呌び出しを埋め蟌みたす。それで、コヌドの䞀郚がマップ䞊で実行されるようになり、アプリケヌションはバむトセットに加えおコピヌ䞍可のハヌドりェアアヌティファクトを受け取り、著䜜暩䟵害は「いいえ」ず蚀いたす。 Android、Windows、Linuxで動䜜し、Windows RTで動䜜するようにしたした。



うたくいきたせんでした。 セットアップは、たずえばWindows RTの郚分的な制限から生じたした。



それはすべお、玠晎らしく、䟿利で、ナヌザヌ指向のWindows RTが "hidden"フラグが付いたファむルを芋るこずを断固ずしお拒吊するずいう事実から始たりたした。 原則ずしお、なぜ圌らはラむバルのiPadが必芁なのでしょうか。 叙情的な䜙談キヌずの亀換は、カヌド䞊の通垞のファむルを介しお行われたす。デフォルトのファむルは、マむクロコントロヌラヌによっお隠されたファむルずしお䜜成されたす。 実際、Surfaceにこのファむルを衚瀺させるこずは事実䞊䞍可胜でした。



ただし、実際にはこれは克服できたせん。 他のプラットフォヌムでカヌドの販売前の準備を行う堎合、このファむルを匷制的に開いお䜜成するこずができ、マむクロコントロヌラヌはこのフラグに觊れたせん。 もちろん、カヌドを最初にフォヌマットするかファむルを削陀するず、キヌが機胜しなくなりたすが、このファむルをい぀でも再䜜成できたす。



本圓の問題は本質的に近いものの、別の堎所から来たした。 すべおがこのように起こりたした。コヌドの䞻芁郚分カヌドず亀換するためのプロトコルを実装する䜎レベルラむブラリの基盀を台無しにしお、APDUをカヌドに送信しようずしたした。最初のコマンドより先に進むこずはできたせん。 マむクロコントロヌラが答えを䞎えたくないずいう気持ち。 䞀般に、しばらくの間、私たちはむンタヌネット䞊で探し回っお、マむクロコントロヌラヌのメヌカヌを苊しめなければなりたせんでした。WindowsRTでは、無効化されおいない読み取りバッファリングが芋぀かりたした。 ぀たり カヌドにリク゚ストを送信しおレコヌドをフラッシュするこずは可胜ですが、答えを読み取るこずができたせん-バッファから取埗したす。 明らかに、Windows RTは、この堎合はマむクロコントロヌラヌを䜿甚しお、カヌド䞊のファむルをカヌド内から倉曎できるず想定するこずはできたせん。 実質的にトむレに降ろされたしたが、プラットフォヌムをよりよく研究するこずができたしたが、高䟡な開発の100人時



圓然、すべおのドキュメントずむンタヌネットを駆け巡り、Microsoftの担圓者ず話をしたしたが、定芏を手に入れおこのプロゞェクトを去りたした-䞍可胜ではありたせん。



しかし、私たちの゚ンゞニアリングマむンドはそれほど簡単にgiveめる準備ができおいたせんでした。 この制限を回避する束葉杖のペアが存圚しないず信じるこずは困難でした。 圌らが芋぀かりたした。 以䞋に2段階のレシピを瀺したす。



1.カヌドで400 MBを共有するためのファむルを䜜成したす。

2.ファヌムりェアに、ファむルの先頭たでではなく、マむクロコントロヌラヌの回答を順番に曞き蟌むように匷制したす。



そしお、ここでは信頌性が䜎く、曲がっおいたすが、実甚的な゜リュヌションです。 このファむルサむズでは、Windows RTは完党に読み取るためにキャッシュを敢えおキャッシュしたせん。たた、応答は垞に亀換ファむルの新しいアドレスに曞き蟌たれるため、完党に読み取られたす。 遅い-ファむルサむズのため-読み取り



解決策が芋぀かったにもかかわらず、次の懞念のために実皌働には至りたせんでした。



•将来のSurfaceのRAMの倧幅な増加により、Windows RTは読み取りファむル党䜓たたは少なくずも重芁な郚分をキャッシュできるようになる可胜性がありたす。

•4GBフラッシュメモリカヌドのかなりの郚分を䜿甚しおいたすタブレットの唯䞀のmicroSDスロット

•400MBがなくなるず、回答をルヌプしおファむルの先頭に曞き蟌む必芁がありたす-そしお、既に䜕かをキャッシュできたす

•すべおがかなりゆっくりず動䜜する



もちろん、私たちはその創意工倫に喜びを感じたしたが、Guardant Code micro USBをタブレットに適合させようずするこずにしたした。 幞いなこずに、USBポヌトはそこに保蚌されおおり、マむクロキヌはあたり干枉したせん蚘事の冒頭の図を参照。



2回目の倱敗



画像

USBドングルではこれらの問題は発生しないず刀断したため、私たちは戊いに突入したした。 キヌをHIDモヌドに移行し、タブレットに貌り付けたした-キヌが怜出され、LEDが点灯したした。 デヌタの亀換を開始できたす。



再び倱望したした。 WinRT APIには、正盎なHIDサポヌトがありたすが、カスタムUSBデバむスに䜕かを送信する方法がありたせんでした。 もちろん、Microsoftは、Windows RTを閉じた゚コシステムOS、ハヌドりェア、非代替アプリケヌションストアずしお蚭蚈したしたが、これはすでに䞍道埳な近さです。



7月末たでに、状況は次のずおりでした。手が萜ち、デバむスをSurfaceに適合させるこずができたせん。今床は、決定的で合理的な「いいえ」をお客様に䌝えたす。



そしお、ここでは、発衚されたWindows RT 8.1ず、既に利甚可胜なプレビュヌバヌゞョンに泚目したす。



3回目の詊行、成功



画像

Windows RT特にSurfaceでは、かなりの匷制Windows Updateが実装されおいたす。 したがっお、ほずんどのSurfaceナヌザヌ数が少なくおもに぀いおは、8.1ぞの曎新に時間がかからないず想定できたす。 同時に、新しいバヌゞョンでは新しい驚きが埅っおいたした。これは、任意のHIDデバむスの操䜜のサポヌトです。 前述のずおり、圓瀟の最新の電子キヌは、ドラむバヌを必芁ずする独自のプロトコルずHIDモヌドの䞡方で機胜したす。 ドラむバヌなしで䜜業するず、亀換の速床ずセキュリティがわずかに䜎䞋したすが、重倧な状況は発生したせん。 モバむルプラットフォヌムのコヌドのみをサポヌトしおいるため、セキュリティは䟝然ずしお、クラむアントがアプリケヌションから転送しおキヌ䞊で実行するコヌドにかかっおいたす。



Windows 8.1の開発プロセスは予想通り成功したした。 MSの新しいAPIはプレビュヌ版でも完党に機胜し、重倧な問題は発生したせんでした。 そしお最埌に、3回目の詊みで、Windows RTの著䜜暩䟵害から保護するための補品を入手したした。



実際、開発されたラむブラリを䜿甚するず、アプリケヌションを2぀の郚分に分割できたす。



1. Windowsストアアプリ

2.コヌドキヌで取り出された䞻芁な知的郚分Cで最倧50,000行のコヌド。



コヌドは、入力および出力バッファヌずセレクタヌを備えた唯䞀のCodeRun関数によっお呌び出されたす内郚で切り替えを行い、実行に必芁なコヌドフラグメントを遞択したす。 もちろん、分析の耇雑さを最倧限に高めるために、バッファを䜿甚しお任意のトリッキヌなロゞックを䜜成できたす。



実際、「1぀の䟡栌で」2぀のものを取埗したす。ダりンロヌド可胜なコヌドの遞択が成功するず、分析ず倉曎キヌ内の重芁なコヌドから保護されたす。もちろん、アプリケヌションの䞍可欠な郚分であるハヌドりェアキヌの圢匏でコピヌできない゚ンティティを取埗したす。



そしお最埌にいく぀かの重芁なこず



•ドングルでの䜜業を蚱可するには、手でアプリケヌションマニフェストに行を远加する必芁がありたす。

•キヌぞの最も無害な呌び出しでも、GUIダむアログを介した確認が必芁なため、GUIのない​​単䜓テストのラむブラリでは、これもテストされたせん-䟋倖がありたす

•メむンプログラムストリヌムからキヌにアクセスできたせん



このメモで、Windows RTず著䜜暩に関する話を終わりたす。 ただねじれおいないプラットフォヌムで2013幎末にハヌドりェア保護キヌが必芁か぀適切である限り、時間が経おばわかるでしょう。 少なくずもMSは、前四半期のSurfaceの売り䞊げから4億ドルを救枈できたした。これは、特に前幎の9億ドルを償华した埌の良い兆候です。



All Articles