JP6356248B2 - 特定の情報がアプリケーションによって伝送されることの検証 - Google Patents

特定の情報がアプリケーションによって伝送されることの検証 Download PDF

Info

Publication number
JP6356248B2
JP6356248B2 JP2016540321A JP2016540321A JP6356248B2 JP 6356248 B2 JP6356248 B2 JP 6356248B2 JP 2016540321 A JP2016540321 A JP 2016540321A JP 2016540321 A JP2016540321 A JP 2016540321A JP 6356248 B2 JP6356248 B2 JP 6356248B2
Authority
JP
Japan
Prior art keywords
application
information
computing device
operating system
video signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016540321A
Other languages
English (en)
Other versions
JP2016534469A (ja
Inventor
クリスチャンセン,デイヴ
テトロー カントレル,ベッサン
テトロー カントレル,ベッサン
アール. ブルーノ,ミッシェル
アール. ブルーノ,ミッシェル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2016534469A publication Critical patent/JP2016534469A/ja
Application granted granted Critical
Publication of JP6356248B2 publication Critical patent/JP6356248B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/031Protect user input by software means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

コンピューティングデバイスは、ユーザが他者に流布することを意図していない可能性がある情報を、ユーザから取得することができる。ユーザは、こうした情報の他者への流布の許可に関して選択することができる。コンピューティングデバイスは、ユーザの選択に基づいて、その後、情報を流布することができる。しかしながら、こうした選択に関するクエリは、しばしばユーザの体験を中断および/または混乱させ、不要な可能性がある。
代替として、ユーザの体験前または体験中に、情報をどのように流布できるかまたはできないかを示す法的通知を掲示することができる。しかしながら、こうした法的通知の掲示も、ユーザの体験を中断および混乱させ、ユーザが情報に基づく決定を行う際に重要または理解可能な情報を法的通知内に提供しない可能性がある。
コンピューティングデバイスに関するアプリケーションは、典型的にはコンピューティングデバイスの製造業者によって作成またはコード化されない。したがって、コンピューティングデバイスの製造業者には、要求された情報を用いてアプリケーションが何を実行するかはわからない。ネットワーク上でアプリケーションが通信することをコンピュータデバイスの製造業者が知っている場合であっても、コンピュータ製造業者には、ネットワーク上で何の情報が伝送されるかはわからない。
技術は、アプリケーションが特定の情報を外部コンピューティングデバイスに転送するかどうかをテストするための方法を含む。アプリケーションが特定の情報を外部コンピューティングデバイスに転送していないという検証(または証明)は、転送が発生していないことを検証が示すことから、こうした情報を転送するための承諾を求めるためのユーザに対する中断を削減する。承諾のためのユーザへのプロンプトを少なくすることで、ユーザの体験を向上させることができる。アプリケーションが特定の情報を転送している旨が決定された場合、どのような特定の情報がどこに転送され得るかに関して正確かつ詳細な、ユーザからの承諾のためのプロンプトを提供することができる。実施形態において、ユーザは、何らかの転送が発生する前に、コンピューティングデバイスからのビデオ信号などの機密情報の転送について承諾することになる。実施形態において、機密情報は、ユーザのビデオクリップとするか、あるいは、アドレス情報または電話番号などの個人的に識別可能な情報、またはユーザが流布されることを意図しない他の情報を含む、メタデータとすることができる。
ゲームなどのアプリケーションがコンピューティングデバイスにロードされたとき、アプリケーションが外部コンピューティングデバイスと通信または接続することになるかどうかを決定するために、ネットワークセキュリティ許可リスト(NSAL)がアプリケーションから読み取られる。NSALは、アプリケーションがコンピューティングデバイス上で実行しているときに通信可能な、許可されたネットワークアドレスを含むことができる。NSALがいずれのネットワークアドレスも含まない場合、外部に機密情報を転送することに関して、アプリケーションはそのように実行することができないため、ユーザから承諾を得る必要はない。たとえNSALを伴う場合であっても、アプリケーションは、機密情報が外部コンピュータに転送されないことをテストまたは検証され得る。さらに、コンピューティングデバイスが接続性を有することをNSALが示す場合、いずれの特定の機密情報がいずれのネットワークアドレスに転送されるかの検証を行うことができる。
アプリケーションがテストされる、および/または検証(または証明)プロセス中の場合、ビデオ信号などの情報を戻すアプリケーションプログラミングインターフェース(API)へのアプリケーション呼び出しを遮断するために、シミングが使用される。実施形態において、シムまたはシミングとは、APIをトランスペアレントに遮断して渡されたパラメータを変更するか、オペレーション自体を処理するか、またはコンピューティングオペレーションを他の場所にリダイレクトする、小ライブラリを指す。実施形態において、アプリケーション検証器も使用可能である。要求された機密情報を、見張りまたはカナリアを生成するためにそれらのAPIから記録または偽造された情報と交換または置換することができる。たとえば、アプリケーションが「GetUserID」APIを呼び出した場合、アプリケーションは典型的には「DavidChr」などのユーザIDを受信することになる。シミングを使用して、「XYZZY」などの置換された情報を代わりにアプリケーションに戻すことができる。代替として、アプリケーションは、コンピューティングデバイス内のカメラにユーザの画像を要求することができる。ユーザの画像の代わりに、コーヒーの写真を要求側アプリケーションに提供することができる。
テストおよび/または検証中、別のシムがアプリケーションのネットワークトラフィックを分析して、実施形態においてカナリア/見張りがいつ存在したかを決定することができる。カナリア/見張りが存在した場合、API(およびそれらに渡されたソケット/ハンドル)は、カナリアがどのネットワークアドレスに伝送されたかを識別する。
偽の記録情報(見張りキャプチャ)または偽造情報(カナリア偽造)が機密情報を置換するために使用されるかどうかは、APIおよびアプリケーションに依存する。いくつかのアプリケーションは機密情報を解析することができる。たとえば、電子インタラクティブゲーム(ゲーム)などのアプリケーションは、自身のスケレタルトラッキングを実行するために、カメラから戻されたビデオ信号上でイメージ処理を実行することができる。実施形態において、ビデオ信号を提供することは、ゲームが普通に挙動できるようにすることであるため、ビデオ信号などの偽の記録情報をトラフィック内で記録および検索しなければならない場合がある。
実施形態において、偽の記録情報(トラフィック内で容易に検索し得る動かないオブジェクトのビデオなど)を提供することができる。実施形態において、シムは、アプリケーションが逸出しているかどうかおよびその場所を、リアルタイムで検出することができる。これにより、アプリケーション上で診断を実行することができる。たとえばクラッシュダンプを生成して、分析のためにアプリケーション開発者に送信することができる。
アプリケーションをテストするための方法は、情報に関してアプリケーションから要求を受信することを含む。置換情報が情報としてアプリケーションに提供される。アプリケーション情報を外部コンピューティングデバイスに出力するためのアプリケーションからの要求が受信される。アプリケーション情報内に置換情報が含まれているかどうかを判別するために、アプリケーション情報が検査される。アプリケーション情報は外部コンピューティングデバイスに出力される。
装置実施形態は、ビデオ信号を取得するための少なくとも1つのカメラと、少なくとも1つのプロセッサと、プロセッサ可読命令、およびコンピューティングデバイスへのネットワークアドレスを有するアプリケーション、を記憶するための少なくとも1つのプロセッサ可読メモリを、備える。少なくとも1つのプロセッサ可読メモリは、ビデオ信号の少なくとも一部をネットワークアドレスにある外部コンピューティングデバイスに転送できるようにするオペレーティングシステムも記憶することができる。プロセッサは、オペレーティングシステムのプロセッサ可読命令およびアプリケーションを実行し、オペレーティングシステムによって、ビデオ信号に関する要求をアプリケーションから受信する。オペレーティングシステムは、置換ビデオ信号をアプリケーションに提供する。アプリケーション情報を外部コンピューティングデバイスに出力するためのアプリケーションからの要求も、オペレーティングシステムによって受信される。オペレーティングシステムは、アプリケーション情報を検査して、置換ビデオ信号がアプリケーション情報に含まれているかどうかを判別する。オペレーティングシステムは、アプリケーション情報を外部コンピューティングデバイスに出力する。
別の実施形態において、1つまたは複数のプロセッサ可読メモリは、実行された場合、1つまたは複数のプロセッサに方法を実行させる命令を含む。方法は、情報および情報に関する要求をアプリケーションから受信することを含む。情報は置換情報と交換される。置換情報は情報としてアプリケーションに提供される。アプリケーション情報をネットワークアドレスにあるコンピューティングデバイスに出力するためのアプリケーションからの要求が受信される。置換情報がアプリケーション情報に含まれるかどうかを判別するために、アプリケーション情報が検索される。アプリケーション情報は、ネットワークアドレスにある外部コンピューティングデバイスに出力される。
本概要は、以下の発明を実施するための形態で詳細に説明される概要の選択を、簡略化された形で紹介するために提供している。本概要は、請求される主題の主要な特徴または不可欠な特徴を識別することは意図されておらず、また、請求される主題の範囲を決定する際の補助として使用されることも意図されていない。
例示のシステムアーキテクチャの高水準ブロック図である。 例示のソフトウェアアーキテクチャの高水準ブロック図である。 例示のオペレーティングシステムおよびアプリケーションにおける、例示のネットワーク管理およびユーザインターフェースソフトウェア構成要素の高水準ブロック図である。 アプリケーションをテストするための例示の方法のフローチャートである。 アプリケーションがビデオ信号などの情報を外部コンピューティングデバイスに出力するかどうかを判別するための、例示の方法のフローチャートである。 アプリケーションが外部コンピューティングデバイスに情報を出力したときに承諾の指示を取得するための、例示の方法のフローチャートである。 例示のゲームおよびメディアシステムの等角図である。 図6に示されたゲームおよびメディアシステムの構成要素の例示の機能ブロック図である。 例示のコンピュータデバイスである。
技術は、機密情報などのいずれの情報をアプリケーションが外部コンピューティングデバイスに転送するかをテストするための方法を含む。アプリケーションが機密情報を外部コンピューティングデバイスに転送していないという検証(または証明)は、転送が発生していないことを検証が示すことから、こうした情報を転送するための承諾を求めるためのユーザに対する中断を削減する。承諾のためのユーザへのプロンプトを少なくすることで、ユーザの体験を向上させることができる。アプリケーションが機密情報を転送している旨が決定された場合、いずれの機密情報がどこに転送され得るかにおける正確かつ詳細な、ユーザからの承諾のためのプロンプトを提供することができる。
機密情報を戻すAPIへのアプリケーション呼び出しを遮断するために、シミングが使用される。要求された機密情報を、見張りまたはカナリアを生成するためにそれらのAPIから偽の記録情報または偽造情報などの置換情報と交換することができる。同様に、別のシムによって、アプリケーションのネットワークトラフィックを分析し、置換情報がアプリケーションの送出トラフィック内に存在するかどうかを判別することができる。置換情報が存在する場合、APIは、置換情報を含むアプリケーション情報をどこに送信するよう意図されているかを識別する。
シミングを使用することによって、機密情報を見つかりにくくする可能な暗号化の前に、ネットワークトラフィックを分析することができる。たとえばアプリケーションは、ハイパーテキスト転送プロトコルセキュア(HTTPS)を使用して、外部コンピューティングデバイスと通信することができる。実施形態は、情報を暗号化するためのセキュアソケットレイヤ移送レイヤセキュリティ(SSL/TLS)を要求するAPIを遮断することによって、これを回避する。
コンピューティングデバイスは、アプリケーションが要求できる使用可能な機密情報を記憶または有することができる。たとえば、コンソール内のカメラからのライブビデオ信号は、アプリケーションによって要求された機密情報であり得る。ゲームなどのアプリケーションは、ビデオ信号内のユーザの顔をゲームのキャラクタに重ねるなどの処理のために、ビデオ信号を外部コンピューティングデバイスに転送することを希望する場合がある。
ゲームがユーザの意図に反して機密情報を外部コンピューティングデバイスに伝送する可能性があるため、コンソールは、ゲームが機密情報を使用できるようにする前に、ユーザの承諾を求めることができる。しかしながらユーザは、機密情報の転送を承諾するという選択をしなければならないことが、ゲームプレイの「面白さ」の側面を妨げるため、これを希望しない場合がある。
技術は、ユーザの承諾なしにアプリケーションが「家に電話をする」(機密情報を外部コンピューティングデバイスに転送する)というリスクなしに、機密情報をアプリケーションに提供する。NSALを使用すると、コンピューティングデバイスは、機密情報を外部コンピューティングデバイスに転送する機能を有さないアプリケーションのクラスを識別することができる。NSALは、オペレーティングシステムがアクセス可能なアプリケーション内に記憶された外部コンピューティングデバイスへの1つまたは複数のネットワークアドレスを含むことができる。実施形態では、NSALは、コンピューティングデバイス開発者とアプリケーション開発者との間で同意済みの、ネットワークアドレスのリストまたは複数のネットワークアドレスである。ネットワークアドレスを含まないことのできる、NSALを有するそれらのアプリケーションは、信頼できるものであり、機密情報をアプリケーションに公開することを希望するコンピューティングデバイスに、使いやすさと言う利点を提供することが可能である。多くのアプリケーションは、マルチプレーヤゲームまたは広告を含まない可能性があるため、それらのアプリケーションは外部コンピューティングデバイスにアクセスする必要がない。
一般に、アプリケーションがロードされると、コンピューティングデバイスは、NSALを読み取り、アプリケーションが外側の世界とどのような接続性を有するかを判別する。NSALが空の(接続性がない)場合、アプリケーションはユーザの機密情報を残りの世界に伝えることができないため、安全を宣言することが可能であり、承諾を得る際にユーザを中断させる必要がない。たとえNSALが空であるかまたはネットワークアドレスを含む場合であっても、コンピューティングデバイスの製造業者は、特定の機密情報が特定のアプリケーションによって外部コンピューティングデバイスに転送されているか否かを検証または証明するために、アプリケーションをテストすることが必要な場合がある。
図1は、コンピューティングデバイス107上で記憶および実行されるアプリケーション107aが、コンピューティングデバイス101などの外部コンピューティングデバイスに機密情報103を転送するかどうかをテストする、システムまたは装置100の高水準ブロック図である。実施形態において、テストは、アプリケーション107aの証明または検証プロセス中に実行可能である。実施形態において、コンピューティングデバイス107は、アプリケーション107aをテストするために使用されるテスト機器に含められる。この実施形態において、ネットワーク105、コンピューティングデバイス101および/または110は含まれなくてもよい。
代替として、テストは、機密情報103がコンピューティングデバイス101に転送される前に、コンソールなどのコンピューティングデバイス107上でのアプリケーション107aの実行中に、実行することができる。この実施形態において、アプリケーション107aが機密情報103の転送を意図することをテストが示した後、情報を転送するためのユーザからの承諾の指示が取得されない限り、機密情報103は転送されない。実施形態において、コンピューティングデバイス107は、本明細書で説明するコンピューティングデバイス107のメモリに記憶された、アプリケーション107a(NSAL 112を含む)、承諾107b、置換107c、およびネットワーク検査器107dなどの、ソフトウェア構成要素を含む。
機密情報103は、コンピューティングデバイス107のメモリ内にデジタル情報としても記憶される。代替実施形態において、機密情報103は、コンピューティングデバイス107の電源がオンの場合のカメラ111からのビデオ信号など、コンピューティングデバイス107の動作中に使用可能な場合がある。実施形態において、機密情報103は、1人または複数のユーザの画像またはビデオとすることができる。他の実施形態において、機密情報は、ユーザのビデオクリップとするか、あるいは、アドレス情報または電話番号などの個人的に識別可能な情報を含むメタデータ、または、単独または組み合わせてコンピューティングデバイス107から流布されることがユーザによって意図されていない他の情報とすることができる。たとえば機密情報103は、コンピューティングデバイス107内のカメラ111からのビデオ信号とすることができる。ビデオ信号は、コンピューティングデバイス107上でゲーム(アプリケーション107a)をプレイ中のユーザのビデオなどの、1人または複数のユーザのフレームまたは画像を含むことができる。
実施形態において、機密情報103は、ユーザからの明白な承諾なしにはユーザから取得されない。機密情報103は、ユーザが見ることも可能であり、ユーザによる編集が可能である。実施形態において、機密情報103は、機密情報103の暗号化バージョンをメモリ内に記憶すること、ならびにパスワードによる機密情報へのアクセスを可能にすることによっても、セキュアとなり得る。
実施形態において、コンピューティングデバイス107は、本明細書で説明するネットワーク105によって、リモートの物理位置に位置するコンピューティングデバイス101と通信する。コンピューティングデバイス101は、実施形態において、コンピューティングデバイス107の外部にあるとみなされる。実施形態において、アプリケーション107aは、サービスを提供することができるコンピューティングデバイス101に、機密情報103を転送することを希望する場合がある。アプリケーション107aは、アプリケーションサーバ101aからのサービスのために、コンピューティングデバイス101にビデオ信号(またはビデオのフレーム)を転送することを希望する、ゲームとすることができる。たとえばアプリケーションサーバ101aは、ビデオ信号内のユーザの顔をゲーム内のキャラクタに重ねることなどの、グラフィクスオーバーレイサービスまたは機能を提供することができる。
実施形態において、コンピューティングデバイス107は、アプリケーション107aが、コンピューティングデバイス101などの外部コンピューティングデバイスに機密情報103を転送できるようにするために、ユーザによる承諾の指示に応答して、機密情報103をコンピューティングデバイス101にも提供する。ユーザがクエリに応答してコンピューティングデバイス107に明白に承諾を送った場合、その承諾の指示を、コンピューティングデバイス107内のメモリのアドレスにデジタル値として記憶することができる。
実施形態において、コンピューティングデバイス101はサーバソフトウェア構成要素を有するサーバとすることが可能であり、コンピューティングデバイス107はコンピューティングデバイス101のクライアントとすることが可能である。別の実施形態において、コンピューティングデバイス110および107はピアである。コンピューティングデバイス101、107、および110のピアツーピア(P2P)実施形態において、各コンピューティングデバイスは、他方のクライアントまたはサーバとして働くことができる。
コンピューティングデバイス101および107は、本明細書で説明するネットワーク105によって通信可能である。他の実施形態において、コンピューティングデバイス110は、ネットワーク105によってコンピューティングデバイス101および107と通信する。実施形態において、ネットワーク105は、単独または組み合わせて、インターネット、ワイドエリアネットワーク(WAN)、またはローカルエリアネットワーク(LAN)とすることができる。実施形態において、コンピューティングデバイス101、107、および/または110は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)などの1つまたは複数のプロトコルを使用して、情報を転送する。実施形態において、コンピューティングデバイス107は別のネットワークに含まれる。情報は、ネットワーク105内でワイヤによって、および/またはワイヤレスに、転送可能である。
代替実施形態において、装置100は、情報を提供および受信するための、より多くのまたはより少ないコンピューティングデバイスおよび/またはサーバを含む。実施形態において、コンピューティングデバイス101、コンピューティングデバイス110、および/またはコンピューティングデバイス107は、図8に示され本明細書で説明する、例示のハードウェア構成要素を有するコンピューティングデバイス1800に対応する。
実施形態において、コンピューティングデバイス107は、本明細書で説明し図6および図7に示された、コンソール内に含まれる。代替実施形態において、コンピューティングデバイス101および/または107は、図8に示され本明細書で説明する、コンピューティングデバイスである。代替実施形態において、コンピューティングデバイス107は、少なくともセル式電話、モバイルデバイス、埋め込み型システム、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、および/またはデータセンタ内に、含めることができる。実施形態において、コンピューティングデバイス101はサーバおよび/またはデータセンタである。
実施形態において、コンピューティングデバイス101、107、および110は、デジタル情報、および/または本明細書で説明するプロセッサ可読命令を有するソフトウェア構成要素を記憶するための、1つまたは複数のプロセッサ可読メモリを含む。実施形態において、コンピューティングデバイス101、107、および110は、プロセッサ可読命令の実行または読み取り、およびデジタル情報の読み取りを行うための、1つまたは複数のプロセッサを含む。
図2は、アプリケーション211〜213などのアプリケーションが機密情報103を転送するかどうかをテストする、例示のソフトウェアアーキテクチャ200の高水準ブロック図である。実施形態において、オペレーティングシステム(OS)205は、アプリケーションを検証または証明するために使用されるコンピューティングデバイス107に含めることができる。代替実施形態において、OS 205は、機密情報が転送されているかどうかを判別し、その後機密情報を転送する前にユーザの承諾を得るために、本明細書で説明するコンソールなどのコンピューティングデバイス内で使用することができる。OS 205は、アプリケーションが機密情報103を外部コンピューティングデバイスに転送しているかどうかをテストするための、承諾107b、置換107c、およびネットワーク検査器107dを含む。
実施形態において、ネットワーク管理208は、アプリケーション212が機密情報103を受信できるかどうかを判別するために、アプリケーション212のNSAL 112を読み取る。
置換107cは、図2および図3に示されるように、アプリケーション212からの要求された機密情報を置換情報310と交換する。
次いで、ネットワーク検査器107dは、置換情報310に関して、外部コンピューティングデバイスに転送されるアプリケーション情報を検査または検索する。置換情報310が見つかった場合、機密情報103を転送するためのユーザの承諾が、転送が発生する前に取得される。
実施形態において、UI 206内の承諾107bは、アプリケーション212から外部コンピューティングデバイスに機密情報103を転送するためのユーザからの(デジタル値としての)承諾の指示を取得および記憶する。実施形態において、承諾の指示は、アプリケーション212から機密情報103を転送するための承諾、またはアプリケーション212から機密情報103を転送するための承諾の拒否を含むことができる。実施形態において、アプリケーション211〜213は、1つまたは複数の電子インタラクティブゲームを含むことができる。
実施形態において、OS 205およびアプリケーション211〜213は、ソフトウェア構成要素のうちの1つまたは複数を含む。実施形態において、ソフトウェア構成要素は、ソフトウェアプログラム、ソフトウェアオブジェクト、ソフトウェア関数、ソフトウェアサブルーチン、ソフトウェア方法、ソフトウェアインスタンス、スクリプト、および/またはコードフラグメントを、単独または組み合わせて含むことができる。たとえばOS 205は、ユーザインターフェース(UI)206、プロセス管理201、メモリ管理202、入力/出力(I/O)デバイス管理203、ファイル管理204、ネットワーク管理208、および保護207のうちの、1つまたは複数を含む。様々なOSソフトウェア構成要素によって実行可能な1つまたは複数の例示の機能を、以下で説明する。代替の実施形態において、以下で説明するソフトウェア構成要素のうちの、より多いかまたはより少ないソフトウェア構成要素および/または機能を使用することができる。代替実施形態において、承諾107b、置換107c、およびネットワーク検査器107dを、他のソフトウェア構成要素に含めることができる。
実施形態において、OS 205の少なくとも一部が、1つまたは複数のプロセッサ可読メモリ内に記憶される。実施形態において、OS 205の少なくとも一部が、図1に示されたコンピューティングデバイス107のプロセッサ可読メモリ内に記憶される。
プロセス管理201は、ユーザおよびシステムのプロセスを作成および削除する責務を負う。プロセス管理201は、プロセスの一時停止および再開の責務も負うことができる。プロセス管理201は、プロセスの同期および通信の責務も負う。プロセス管理201は、デッドロック処理の責務も負う。実施形態において、置換107cはプロセス管理201に含められる。本明細書で説明するように、置換107cは他のソフトウェア構成要素に含めることもできる。
メモリ管理202は、異なるタイプのメモリにおいて、メモリのいずれの部分が特定のソフトウェア構成要素またはアプリケーションによって現在使用されているかを追跡する責務を負う。メモリ管理202は、メモリスペースが使用可能になったときに、いずれのプロセスがメモリ内にロードされるかも決定する。メモリ管理は、必要に応じてメモリスペースの割り振りおよび割り振り解除も行う。
入力/出力(I/O)デバイス管理203は、I/Oデバイスを管理する責務を負う。たとえばI/Oデバイス管理203は、ビデオ信号を提供するカメラ111を管理する。実施形態において、特定のハードウェアの特異性はユーザから非表示とされる。実施形態において、デバイスドライバは特定のデバイスの特異性を認識している。たとえばI/Oデバイス管理203は、空きスペース管理、メモリ割り振り、断片化、取り外し、およびヘッドスケジューリングなどの、ディスク管理機能の責務を負うことができる。
ファイル管理204は、ファイルおよびディレクトリの作成および削除の責務を負う。ファイル管理204は階層型ファイルシステムをサポートすることができる。ファイル管理204は、ファイルを2次メモリ上にバックアップすることもできる。
ネットワーク管理208は、接続/ルーティング方法を提供することを含む、ネットワークとの通信の責務を負う。ネットワーク管理208は、他のコンピューティングデバイスへのデータ/プロセスのマイグレーションの責務も負うことができる。実施形態において、ネットワーク管理208は、本明細書で説明する、1つまたは複数の外部コンピューティングデバイスに送信されることになるアプリケーション情報を一時的に記憶するトラフィックバッファを検査または検索する、ネットワーク検査器107dを含む。
保護207は、ソフトウェア構成要素、プロセス、および/またはユーザの、コンピューティングデバイスのリソースへのアクセスを制御する責務を負う。たとえば保護207は、中央処理ユニット(CPU)などのリソース、サイクル、メモリ、ファイル、および/またはI/Oデバイスへのアクセスを制御する責務を負う。保護207は、ユーザ認証および通信の責務も負う。
ユーザインターフェース(UI)206は、音声、自然言語、文字、および/またはグラフィクスユーザインターフェースをユーザに提供し、ユーザの入力の受信および出力の提供の責務を負う。実施形態において、UI 206は、コンピューティングデバイス107内のメモリのアドレスでのデジタル値としてのユーザからの承諾の指示の取得および記憶の責務を負う、承諾107bを含む。
図6および図7に示されたコンソール実施形態において、ユーザは、ジェスチャ、タッチ、またはボイスによって、入力をコンソール1002に入力することができる。実施形態において、光学I/Oインターフェース1135はユーザのジェスチャを受信および変換する。実施形態において、コンソール1002は、ユーザからのボイスおよび/またはジェスチャ入力を受信および変換するために、ユーザインターフェース206として自然ユーザインターフェース(NUI)を含む。実施形態において、フロントパネルサブアセンブリ1142は、本明細書で詳細に説明する、ユーザの承諾などのユーザのタッチまたはボイスを受信および変換するための、タッチ表面およびマイクロフォンを含む。実施形態において、ユーザインターフェース206は、1人または複数のユーザからコンソール1002のマイクロフォンに提供された、ユーザが話した承諾を変換する。実施形態において、UI 206は、ユーザからの承諾を求めるボイスを出力し、承諾または拒否などのユーザが話した答えを解釈する、NUIを含む。承諾などの話された答えは、その後メモリ内に承諾の指示として記憶することができる。
図3は、例示のオペレーティングシステム205内の例示のネットワーク管理208およびユーザインターフェース206、ならびにアプリケーション212の高水準ブロック図である。実施形態において、OS 205は、カメラドライバ300からのユーザのビデオ信号301などの、機密情報にアクセスすることができる。代替の実施形態において、OS 205はメモリ内にデジタル情報として記憶された機密情報にアクセスすることができる。OS 205は、要求302に応答して、ビデオ信号301などの機密情報をアプリケーション212に提供することができる。実施形態において、アプリケーション212は、第1のAPIを呼び出すことによって要求を行うゲームである。
同様に、アプリケーション212は、OS 205に要求およびアプリケーション情報304を提供することによって、アプリケーション情報を外部コンピューティングデバイスに転送することができる。次いでOS 205は、アプリケーション情報を、出力アプリケーション情報305として、アプリケーション212によって提供されたネットワークアドレスにある外部コンピューティングデバイスに転送することができる。実施形態において、要求およびアプリケーション情報304は、外部コンピューティングデバイスのネットワークアドレス、およびビデオ信号301(機密情報)または置換情報310を含むことができる。実施形態において、要求およびアプリケーション情報304は、アプリケーション212によって、伝送APIなどの第2のAPIを呼び出すことを含むことができる。
置換107cは、実施形態においてアプリケーション212がテストされているときに、ビデオ信号301などの機密情報を交換する、置換情報310を含む。置換情報310は、本明細書で説明する情報を含むことが可能であり、これは後に、ネットワーク管理208によって、および特にネットワーク検出器107d内で、検索または検査することができる。実施形態において、置換情報310は動かないオブジェクトのビデオを含む。実施形態において、置換107cは、アプリケーション212によって機密情報を提供するための、APIの呼び出しのためのシムとして動作する。実施形態において、置換107cはプロセス管理201に含められる。代替の実施形態において、置換107cは、偽のデバイスドライバとしてI/Oデバイス管理203に含められる。他の実施形態において、置換107cは、OS 205によってアプリケーション212に提供されるシム可能な動的リンクライブラリ(DLL)を使用して、アプリケーション212内に含められる。
ネットワーク管理208内のネットワーク検査器107dは、アプリケーション212が機密情報を外部コンピューティングデバイスに転送しようとしているかどうかを判別するために、置換情報310について要求およびアプリケーション情報304内のアプリケーション情報を検索または検査する。実施形態において、ネットワーク検査器107dは、置換情報310についてアプリケーション情報を記憶するトラフィックバッファを検索する。実施形態において、ネットワーク検査器107dは、アプリケーション212によってアプリケーション情報を外部コンピューティングデバイスに伝送するための、APIの呼び出しのためのシムとして動作する。
実施形態において、ネットワーク検査器107dは、アプリケーション212によって特定のフォーマットで符号化されたビデオデータなどの機密情報を検索する。実施形態において、アプリケーション212は、帯域幅制約により、外部コンピューティングデバイスに転送する前に、ロービデオデータなどの機密情報を符号化することができる。実施形態において、OS 205は、符号化された情報内の任意の置換情報310をネットワーク検査器107dが観察できるように、アプリケーション212について情報の符号化を実行するために、シミングまたはAPIを提供する。
実施形態において、ネットワーク検査器107dは、アプリケーション212が置換情報310の非表示または符号化を試みるときに、置換情報310を観察することができる。
図4〜図5Bは、アプリケーションがユーザから承諾を取得せずに情報を受信できるかどうかを判別する、例示の方法を示すフローチャートである。実施形態において、図4〜図5Bに示されるステップは、ハードウェア(たとえばプロセッサ、メモリ、回路)、ソフトウェア(たとえばOS、アプリケーション、ドライバ、機械/プロセッサ実行可能命令)、またはユーザの動作を、単独または組み合わせて表す。当業者であれば理解されるように、実施形態は図に示されるよりも少ないかまたは多いステップを含むことができる。
図4は、アプリケーションをテストするための例示の方法400のフローチャートである。実施形態において、方法400は、特定のアプリケーションの検証または証明中に実行される。代替の実施形態において、方法400は、アプリケーションの実行中に承諾プロンプトを提供する前に実行される。実施形態において、方法400は、コンピューティングデバイス107によって実行され、図1〜図3に示されるように、特に少なくとも置換107cおよびネットワーク検査器107dが使用される。
ステップ401は、機密情報などの情報について、アプリケーションから要求を受信することを示す。実施形態において、OS 205は、図1および図2に示されるように、機密情報103に関してアプリケーション212からAPIによって要求を受信する。
ステップ402は、アプリケーションに情報として置換情報を提供することを示す。実施形態において、置換107cは、情報を取得して置換情報と交換した後、本明細書で説明する置換情報を機密情報103としてアプリケーション212に戻す。
ステップ403は、アプリケーション情報を外部コンピューティングデバイスに出力するために、アプリケーションから要求を受信することを示す。実施形態において、OS 205、および特にネットワークマネージャ208は、アプリケーション212から要求を受信する。
ステップ404は、置換情報がアプリケーション情報に含まれるかどうかを判別するために、アプリケーション情報を検査することを示す。実施形態において、ネットワーク検査器107dは、置換情報についてトラフィックバッファなどのバッファを検索することによって、ステップ404を実行する。
ステップ405は、アプリケーション情報を外部コンピューティングデバイスに出力することを示す。実施形態において、ネットワークマネージャ208はステップ405を少なくとも部分的に実行する。
他の実施形態において、ステップ401〜405は、図1〜図3および図6〜図8に示された少なくとも例示のソフトウェア構成要素およびハードウェアによって実行される。たとえば方法400は、図6〜図7に示されたコンソール1002または図8に示されたコンピューティングデバイス1800によって実行することができる。
図5Aは、アプリケーションがビデオ信号などの情報を外部コンピューティングデバイスに出力するかどうかを判別するための、例示の方法500のフローチャートである。実施形態において、方法500は、特定のアプリケーションの検証または証明中に実行される。代替実施形態において、方法500は、アプリケーションの実行中にユーザの承諾を取得する前に実行される。実施形態において、方法500はコンピューティングデバイス107によって実行され、図1〜図3に示されるように、特に少なくとも置換107cおよびネットワーク検査器107dが使用される。
ステップ501は、オペレーティングシステムによって、ビデオ信号についてアプリケーションから要求を受信することを示す。実施形態において、アプリケーション212は、図2に示されたオペレーティングシステム205にビデオ信号を要求するために第1のAPIを使用する。
ステップ502は、オペレーティングシステムによって、置換ビデオ信号をアプリケーションに提供することを示す。実施形態において、置換107cは、要求されたビデオ信号を、動かないオブジェクトのビデオ信号などの置換ビデオ信号と交換するために、ステップ502を実行する。
ステップ503は、オペレーティングシステムによって、アプリケーション情報を外部コンピューティングデバイスに出力するためのアプリケーションからの要求を受信することを示す。実施形態において、アプリケーション212は、図2に示されたオペレーティングシステム205によってアプリケーション情報の出力を要求するために第2のAPIを使用する。
ステップ504は、置換ビデオ信号がアプリケーション情報に含まれるかどうかを判別するために、オペレーティングシステムによってアプリケーション情報を検査することを示す。実施形態において、ネットワーク検査器107dは、置換ビデオ信号についてトラフィックバッファなどのバッファを検索することによって、ステップ504を実行する。
ステップ505は、オペレーティングシステムによって、アプリケーション情報を外部コンピューティングデバイスに出力することを示す。実施形態において、ネットワークマネージャ208は少なくとも部分的にステップ405を実行する。
他の実施形態において、ステップ501〜508は、図1〜図3および図6〜図8に示された少なくとも例示のソフトウェア構成要素およびハードウェアによって実行される。たとえば方法500は、図6〜図7に示されたコンソール1002または図8に示されたコンピューティングデバイス1800によって実行可能である。
図5Bは、アプリケーションが情報を外部コンピューティングデバイスに転送するときに、ユーザの承諾を取得するための例示の方法510のフローチャートである。代替の実施形態において、方法510は、アプリケーションの実行中にユーザの承諾を取得する前に実行される。実施形態において、方法500はコンピューティングデバイス107によって実行され、図1〜図3に示されるように、特に少なくとも置換107cおよびネットワーク検査器107dが使用される。
ステップ511は、図1に示され本明細書で説明する、機密情報103などの情報を受信することを示す。実施形態において、OS 205などのオペレーティングシステムは、アプリケーション212などの要求側アプリケーションに機密情報をリリースまたは転送するまでに、機密情報にアクセスし、これを受信し、または制御する。実施形態において、カメラ111は、図1に示されるようにコンピューティングデバイス107によって受信されるビデオ信号を提供する。
ステップ512は、アプリケーションから機密情報に関する要求を受信することを示す。実施形態において、アプリケーション212は、図2に示されたオペレーティングシステム205に機密情報103を要求するために、第1のAPIを使用する。
ステップ513は、機密情報を置換情報と交換することを示す。実施形態において、置換107cは、要求された機密情報を本明細書で説明する置換情報と交換するために、ステップ513を実行する。
ステップ514は、置換情報を機密情報としてアプリケーションに提供することを示す。実施形態において、アプリケーション212は、図2に示されたオペレーティングシステム205によってアプリケーション情報の出力を要求するために、第2のAPIを使用する。
ステップ515は、アプリケーション情報をネットワークアドレスに出力するための要求をアプリケーションから受信することを示す。実施形態において、アプリケーション212は、図2に示されたオペレーティングシステム205によってアプリケーション情報の出力を要求するために、第2のAPIを使用する。
ステップ516は、置換情報がアプリケーション情報に含まれるかどうかを判別するために、アプリケーション情報を検索することを示す。実施形態において、ネットワーク検査器107dは、置換情報についてトラフィックバッファなどのバッファを検索することによって、ステップ516を実行する。
ステップ517は、アプリケーション情報を出力する前に承諾の指示を取得することを示す。実施形態において、承諾107bはユーザから承諾の指示を取得する。実施形態において、機密情報を再度要求し、アプリケーション情報の出力も再度要求することを、オペレーティングシステムによってアプリケーションに通知することが可能なため、ユーザの承諾を受信した後に置換情報が使用されることはない。
ステップ518は、(置換情報なしに)アプリケーション情報を外部アドレスに出力する。実施形態において、ネットワークマネージャ208は少なくとも部分的にステップ518を実行する。
他の実施形態において、ステップ511〜518は、図1〜図3および図6〜図8に示される少なくとも例示のソフトウェア構成要素およびハードウェアによって実行される。たとえば方法510は、図6〜図7に示されたコンソール1002または図8に示されたコンピューティングデバイス1800によって実行可能である。
実施形態において、コンピューティングデバイス107は、ビデオゲームおよび/またはメディアコンソールとすることが可能であるが、これらに限定されない。実施形態において、コンピューティングデバイス107は、機密情報が外部コンピューティングデバイスに転送される前にゲームなどのアプリケーションをテストする。機密情報が転送されることになると、機密情報が転送される前に、ビデオゲームおよび/またはメディアコンソールとしてのコンピューティングデバイス107は、ユーザからの承諾の指示を取得する。
実施形態において、次に図6を使用して例示のビデオゲームおよびメディアコンソールを説明し、より一般的には、図6を使用してゲームおよびメディアコンソールを含む例示のゲームおよびメディアシステム1000を説明する。図6の以下の考察は、本明細書で提示した概念を実装する際に使用可能な好適なコンピューティングデバイスの、簡単な一般的な説明を提供することが意図される。図6のシステムは単なる例であることを理解されよう。他の例では、本明細書で説明する実施形態は、クライアントコンピューティングデバイス上に常駐し、これによって実行される、ブラウザアプリケーションまたはソフトウェアアプリケーションのいずれかを介して、様々なクライアントコンピューティングデバイスを使用して実装可能である。図6に示されるように、ゲームおよびメディアシステム1000は、ゲームおよびメディアコンソール(以下、「コンソール」)1002を含む。一般に、コンソール1002はクライアントコンピューティングデバイスの一種である。コンソール1002は、コントローラ1004および1004によって表されるような1つまたは複数のワイヤレスコントローラに適応するように構成される。コンソール1002には、内部ハードディスクドライブ、および、光学記憶ディスク1008によって表されるような様々な形のポータブル記憶媒体をサポートするポータブルメディアドライブ1006が装備される。好適なポータブル記憶媒体の例は、DVD、CD−ROM、ゲームディスクなどを含む。コンソール1002は、取り外し可能なフラッシュタイプのメモリユニット1040を受け入れるための、2つのメモリユニットカードレセプタクル1025および1025も含む。コンソール1002上のコマンドボタン1035は、ワイヤレス周辺機器サポートの実行を可能および不能にする。
図6に示されるように、コンソール1002は、追加のコントローラまたは他の周辺機器とのワイヤード接続をサポートするために、1つまたは複数のデバイスならびに2つのUSBポート1010および1010とワイヤレス通信するための光学ポート1030も含む。いくつかの実装において、追加ポートの数および配置構成を修正することができる。コンソール1002の前面に、電源ボタン1012および取り出しボタン1014も配置される。電源ボタン1012は、ゲームコンソールに電力を印加するために選択され、他の機能およびコントロールにアクセスを提供することも可能であり、取り出しボタン1014は、光学記憶ディスク1008の挿入および抜き取りを可能にするために、ポータブルメディアドライブ1006のトレイを交互に開閉する。
コンソール1002は、A/Vインターフェースケーブル1020を介してテレビジョンまたは(ディスプレイ1050などの)他のディスプレイに接続する。一実装において、コンソール1002には、A/Vケーブル1020(たとえば、高解像度ディスプレイ1050または他のディスプレイデバイス上の高解像度マルチメディアインターフェース「HDMI」ポートへの結合に好適なA/Vケーブル)を使用するコンテンツセキュアデジタル通信用に構成された、専用A/Vポートが装備される。電源ケーブル1022は、コンソール1002に電力を提供する。コンソール1002は、インターネットなどのネットワークへのアクセスを容易にするために、ケーブルまたはモデムコネクタ1024によって表されるように、ブロードバンド機能を用いてさらに構成することができる。ブロードバンド機能は、ワイヤレスフィデリティ(Wi−Fi)ネットワークなどのブロードバンドネットワークを介して、ワイヤレスに提供することも可能である。
各コントローラ1004は、ワイヤードまたはワイヤレスのインターフェースを介して、コンソール1002に結合される。図示された実装において、コントローラ1004はUSB互換性があり、ワイヤレスまたはUSBポート1010を介してコンソール1002に結合される。コンソール1002には、多種多様なユーザインタラクション機構のうちのいずれかが装備され得る。図6に示された例において、各コントローラ1004には、2つの親指スティック1032および1032、Dパッド1034、ボタン1036、および2つのトリガ1038が装備される。これらのコントローラは単なる代表的なものであり、他の知られたゲームコントローラを図6に示されたコントローラと置き換えるかまたはこれに追加することが可能である。
実施形態において、ユーザは、ジェスチャ、タッチ、またはボイスによって、入力をコンソール1002に入力することができる。実施形態において、光学I/Oインターフェース1135はユーザのジェスチャを受信および変換する。実施形態において、光学I/Oインターフェースは、たとえばユーザのビデオ信号を取得するためのカメラを含む。別の実施形態において、コンソール1002は、ユーザからのボイスおよびジェスチャ入力を受信および変換するためにNUIを含む。代替の実施形態において、フロントパネルサブアセンブリ1142は、ユーザの承諾などのタッチまたはボイスを受信および変換するための、タッチ表面およびマイクロフォンを含む。実施形態において、フロントパネルサブアセンブリ1142は、機密情報を外部コンピューティングデバイスに送ることができるようにするために、承諾(または拒否)の指示をユーザに求めるためのスピーカを含む。
実施形態において、複数のマイクロフォン1011は、ユーザの音声を表す4チャネル信号を提供するためにUSBポート1010にプラグインすることができる。代替の実施形態において、単一のマイクロフォンを使用することができる。実施形態において、4つの16 kHz 24ビットオーディオ信号が、複数のマイクロフォン1011からUSBポート1010および少なくとも1つのオーディオパイプラインに提供される。実施形態において、少なくとも1つのオーディオパイプラインは、電子インタラクティブゲームアプリケーションからの他のユーザの会話またはオーディオなどの、少なくとも1つのオーディオ信号に関連付けられたノイズを低減させる。
一実装において、追加またはポータブルのストレージを提供するために、メモリユニット(MU)1040をコントローラ1004に挿入することも可能である。ポータブルMUは、他のコンソール上でプレイしているときに使用するためのゲームパラメータをユーザが記憶できるようにする。この実装において、各コントローラは、2つのMU 1040に適応するように構成されるが、2つより多いかまたは少ないMUも採用可能である。
ゲームおよびメディアシステム1000は、一般に、メモリ媒体上に記憶されたゲームをプレイするように、ならびに、電子およびハードの両方のメディアソースから、ゲームをダウンロードおよびプレイし、事前に記録された音楽およびビデオを再生するように構成される。異なるストレージの提供により、タイトル(またはアプリケーション)は、ハードディスクドライブから、光学記憶ディスク媒体(たとえば1008)から、オンラインソースから、またはMU 1040から、プレイすることができる。ゲームおよびメディアシステム1000がプレイ可能な媒体のタイプのサンプルは、以下を含む。
CD、DVD、またはより大容量のディスクから、ハードディスクドライブから、あるいはオンラインソースからプレイされる、ゲームタイトルまたはアプリケーション。
ポータブルメディアドライブ1006内のCDから、ハードディスクドライブまたはソリッドステートディスク上のファイルから(たとえばメディアフォーマットの音楽)、あるいはオンラインストリーミングソースからプレイされる、デジタル音楽。
ポータブルメディアドライブ1006内のDVDディスクから、ハードディスクドライブ上のファイルから(たとえばアクティブストリーミングフォーマット)、またはオンラインストリーミングソースからプレイされる、デジタルオーディオ/ビデオ。
動作中、コンソール1002は、コントローラ1004からの入力を受信し、ディスプレイ1050上に情報を表示するように構成される。たとえばコンソール1002は、ユーザがコントローラ1004を使用して電子インタラクティブゲームを選択し、状態可解性情報を表示できるようにするために、ディスプレイ1050上にユーザインターフェースを表示することができる。実施形態において、コンソール1002は、機密情報を外部コンピューティングデバイスに送信できるようにするために、コントローラ1004による承諾(または拒否)の選択を可能にするためのメニューをディスプレイ1050に提供する。実施形態において、メニューは、任意のアプリケーションからの任意の機密情報の転送を承諾するかまたは承諾しないなど、非常に広範囲にわたるものとすることができる。代替としてメニューは、ユーザが特定のアプリケーションによって転送可能な特定の情報を選択できるかまたはこれを承諾できるようにすることが可能である。たとえばメニューは、ユーザがゲームから転送されることになるビデオ信号を承諾できるようにすることが可能であるが、ゲームはクレジットカード情報を転送することはできない。
実施形態において、アプリケーションについてのテスト、証明、または検証のプロセス後に、ユーザに対して承諾を取得するためのメニューが提供される。代替の実施形態において、アプリケーションの実行中、および機密情報が外部コンピューティングデバイスに転送される前に、ユーザに対して承諾を取得するためのメニューが提供される。
図7は、ゲームおよびメディアシステム1000の機能ブロック図であり、ゲームおよびメディアシステム1000の機能構成要素をより詳細に示す。コンソール1002はCPU 1100と、フラッシュROM 1104、RAM 1106、ハードディスクドライブまたはソリッドステートドライブ1108、およびポータブルメディアドライブ1006を含む、様々なタイプのメモリへのプロセッサのアクセスを容易にするメモリコントローラ1102とを有する。代替の実施形態において、他のタイプの揮発性および不揮発性メモリ技術が使用可能である。一実装において、CPU 1100は、データを一時的に記憶し、したがってハードドライブ1108に対して実行されるメモリアクセスサイクルの数を減少させ、それによって処理速度およびスループットを向上させるための、レベル1キャッシュ1110およびレベル2キャッシュ1112を含む。
CPU 1100、メモリコントローラ1102、および様々なメモリは、1つまたは複数のバスを介して相互に接続される。本実装で使用されるバスの詳細は、本明細書で考察する重要な主題を理解することに特に関連しない。しかしながら、こうしたバスは、様々なバスアーキテクチャのうちのいずれかを使用する、シリアルおよびパラレルバス、メモリバス、周辺バス、およびプロセッサまたはローカルバスのうちの1つまたは複数を含む可能性があることを理解されよう。例として、こうしたアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、およびメザニンバスとも呼ばれる周辺構成要素相互接続(PCI)バスを含むことができる。
一実装において、CPU 1100、メモリコントローラ1102、ROM 1104、およびRAM 1106は、共通モジュール1114に組み込まれる。この実装において、ROM 1104は、PCIバスおよびROMバス(いずれも図示せず)を介してメモリコントローラ1102に接続される、フラッシュROMとして構成される。RAM 1106は、別々のバスを介してメモリコントローラ1102によって独立に制御される、複数のダブルデータレート同期型ダイナミックRAM(DDR SDRAM)または高速データレートDRAMモジュールとして構成される。ハードディスクドライブ1108およびポータブルメディアドライブ1006は、PCIバスおよびATアタッチメント(ATA)バス1116を介してメモリコントローラ1102に接続されるように示されている。しかしながら他の実装では、異なるタイプの専用データバス構造も代替で適用可能である。
別の実施形態において、少なくともCPU 1100、レベル1キャッシュ1110、レベル2キャッシュ1112、メモリコントローラ1102、およびRAMメモリ1106が、システムオンチップ(SoC)上に含まれる。実施形態において、CPU 1100はプロセッサコアと交換される。実施形態において、RAMメモリ1106は、ワイドI/O DRAMなどの高性能メモリと交換され、メモリコントローラ1102の機能はプロセッサコアによって実行される。LPDDR3 DRAMなどの、高性能メモリではない別のタイプのメモリを、実施形態において、SoCに結合することができる。
SoC(別名SOC)は、コンピューティングデバイスまたは他の電子システムの電子構成要素および/またはサブシステムを、単一のパッケージ内に収容された単一の半導体基板および/または単一のチップに統合する、集積回路(IC)である。たとえば、以前はパーソナルコンピュータ(PC)内のメモリモジュールサブシステム内にあったメモリは、ここではSoCに含めることができる。同様にメモリ制御論理は、別々にパッケージングされたメモリコントローラではなく、SoCのプロセッサに含めることができる。
当業者であれば、他の電子構成要素がSoCに含められることを理解されよう。SoCは、デジタル、アナログ、混合信号、および/または無線周波数回路を含むことが可能であり、それらの1つまたは複数は単一の半導体基板上にある。SoCは、発振器、位相ロックループ、カウンタータイマ、リアルタイムタイマ、パワーオンリセットジェネレータ、外部インターフェース(たとえばユニバーサルシリアルバス(USB)、IEEE 1394インターフェース(Fire Wire)、イーサネット、ユニバーサル非同期型送受信器(USART)、およびシリアル周辺バス(SPI))、アナログインターフェース、電圧レギュレータ、および/または電力管理回路を含むことができる。
代替実施形態において、SoCは、システムインパッケージ(SiP)またはパッケージオンパッケージ(PoP)と交換可能である。SiPでは、複数のチップまたは半導体基板が単一のパッケージに収容される。SiP実施形態では、プロセッサコアは1つの半導体基板上にあり、高性能メモリは第2の半導体基板上にあって、両方が単一のパッケージに収容される。実施形態において、第1の半導体基板はワイヤボンディングによって第2の半導体基板に結合されることになる。
PoP実施形態において、プロセッサコアは第1のパッケージに収容された1つの半導体ダイ上にあり、高性能メモリは第2の異なるパッケージに収容された第2の半導体ダイ上にある。次いで第1および第2のパッケージは、パッケージ、特に半導体ダイ間で信号をルーティングするための標準インターフェースと積み重ねることができる。次いで積層パッケージは、実施形態において構成要素としてメモリ追加メモリを有するプリント回路基板に結合することができる。
実施形態において、プロセッサコアは、プロセッサ可読メモリ内に記憶されたプロセッサ(または機械)可読命令を実行する(または読み取る)、複数のプロセッサを含む。プロセッサ可読命令の例は、コンピューティングデバイス107用のOSおよび/またはアプリケーション(図2に示されたOS 205およびアプリケーション211〜213など)を含むことができる。プロセッサコアは、OSおよびアプリケーションのプロセッサ可読命令の実行に応答して、高性能メモリおよび追加メモリを使用することができる。実施形態において、プロセッサコアは、プロセッサおよびメモリコントローラ、あるいは、メモリコントローラによって同様に実行されるメモリ管理機能も実行するプロセッサを、含むことができる。プロセッサコアは、コントローラ、グラフィクス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、および/またはフィールドプログラマブルゲートアレイ(FPGA)を含むこともできる。実施形態において、高性能メモリはプロセッサコアの上部に配置される。
実施形態において、高性能メモリおよび追加メモリは、別の半導体基板上に配設されたIC内のメモリセルの1つまたは複数のアレイに含められる。実施形態において、高性能メモリおよび追加メモリは、別々にパッケージされたデバイスに収容されたそれぞれの集積モノリシック回路に含められる。実施形態において、高性能メモリおよび追加メモリは、揮発性および/または不揮発性メモリを含むことができる。
揮発性メモリのタイプは、ダイナミックランダムアクセスメモリ(DRAM)、分子電荷ベース(ZettaCore)DRAM、浮体DRAM、およびスタティックランダムアクセスメモリ(「SRAM」)を含むが、これらに限定されない。特定タイプのDRAMは、ダブルデータレートSDRAM(「DDR」)、または後世代SDRAM(たとえば「DDRn」)を含む。
不揮発性メモリのタイプは、電気的消去可能プログラム読み取り専用メモリ(「EEPROM」)、FLASH(NANDおよびNOR FLASHを含む)、ONO FLASH、磁気抵抗性または磁気RAM(「MRAM」)、強誘電性RAM(「FRAM」)、ホログラフィック媒体、オボニック/相変化、ナノクリスタル、ナノチューブRAM(NRAM-Nantero)、MEMSスキャニングプローブシステム、MEMSカンチレバースイッチ、ポリマー、分子、ナノフローティングゲート、および単一電子のタイプを含むが、これらに限定されない。
3次元グラフィクス処理ユニット1120およびビデオエンコーダ1122は、高速および高分解能(たとえば高解像度)グラフィクス処理用のビデオ処理パイプラインを形成する。データは、グラフィクス処理ユニット1120からデジタルビデオバスを介してビデオエンコーダ1122に搬送される。オーディオ処理ユニット1124およびオーディオコーデック(コーダ/デコーダ)1126は、様々なデジタルオーディオ形式のマルチチャネルオーディオ処理用の対応するオーディオ処理パイプラインを形成する。オーディオデータは、オーディオ処理ユニット1124とオーディオコーデック1126との間で通信リンクを介して搬送される。ビデオおよびオーディオの処理パイプラインは、テレビジョンまたは他のディスプレイへの伝送用のA/V(オーディオ/ビデオ)ポート1128に、データを出力する。
図7は、USBホストコントローラ1130およびネットワークインターフェース1132を含む、モジュール1114を示す。USBホストコントローラ1130は、バス(たとえばPCIバス)を介してCPU 1100およびメモリコントローラ1102と通信するように示され、周辺コントローラ1004〜1004に対するホストとして働く。ネットワークインターフェース1132はネットワーク(たとえばインターネット、ホームネットワークなど)へのアクセスを提供し、イーサネットカード、モデム、ワイヤレスアクセスカード、ブルートゥースモジュール、ケーブルモデム、その他を含む、多種多様の様々なワイヤまたはワイヤレスインターフェース構成要素のうちのいずれかとすることができる。
図7に示された実装において、コンソール1002は、4つのコントローラ1004〜1004をサポートするためのコントローラサポートサブアセンブリ1140を含む。コントローラサポートサブアセンブリ1140は、たとえばメディアおよびゲームコントローラなどの外部コントロールデバイスを用いてワイヤードおよびワイヤレス動作をサポートするための、任意のハードウェアおよびソフトウェア構成要素を含む。フロントパネルI/Oサブアセンブリ1142は、電源ボタン1012、取り出しボタン1014、ならびに、コンソール1002の外側表面に露出した任意のLED(発光ダイオード)または他のインジケータの、複数の機能をサポートする。サブアセンブリ1140および1142は、1つまたは複数のケーブルアセンブリ1144を介してモジュール1114と通信している。他の実装において、コンソール1002は追加のコントローラサブアセンブリを含むことができる。図示された実装は、モジュール1114に送ることが可能な信号を送信および受信するように構成された、光学I/Oインターフェース1135も示す。
MU 1040および1040は、MUポート「A」1030および「B」1030にそれぞれ接続可能なように示されている。追加のMU(たとえばMU 10403〜10406)は、コントローラ1004および1004に、すなわち各コントローラについて2つのMUに接続可能であるものとして、示されている。コントローラ1004および1004も、MUを受け入れるように構成可能である。各MU 1040は、電子インタラクティブゲーム、ゲームパラメータ、および他のデータを記憶することができる、追加のストレージを提供する。いくつかの実装において、他のデータは、デジタルゲーム構成要素、実行可能ゲームアプリケーション、ゲームアプリケーションを拡張するための命令セット、およびメディアファイルのうちのいずれかを含むことができる。コンソール1002またはコントローラ内に挿入された場合、MU 1040にはメモリコントローラ1102によってアクセス可能である。
システム電源モジュール1150は、ゲームシステム1000の構成要素に電力を提供する。ファン1152はコンソール1002内の回路を冷却する。
プロセッサ可読命令を備えるアプリケーション1160は、ハードディスクドライブ1108上に記憶される。コンソール1002の電源がオンになると、アプリケーション1160の様々な部分が、CPU 1100上での実行のために、RAM 1106、および/またはキャッシュ1110および1112にロードされ、アプリケーション1160はその一例である。様々なアプリケーションが、CPU 1100上での実行のためにハードディスクドライブ1108上に記憶可能である。実施形態において、アプリケーション1160は、本明細書で説明する図2に示されたアプリケーション211〜213のうちの1つに対応する。
コンソール1002は、コンソール1002を1つまたは複数の他のコンピューティングデバイス(たとえば他のコンソール)と通信可能に結合するように構成された、通信サブシステム1170を含むようにも示されている。通信サブシステム1170は、1つまたは複数の異なる通信プロトコルとの互換性のあるワイヤードおよび/またはワイヤレス通信デバイスを含むことができる。非限定的な例として、通信サブシステム1170は、ワイヤレス電話網、あるいはワイヤードまたはワイヤレスのローカルまたはワイドエリアネットワークを介して通信するように構成可能である。いくつかの実施形態において、通信サブシステム1170は、コンソール1002が、インターネットなどのネットワークを介して、他のデバイスとの間でメッセージを送信および/または受信できるようにすることが可能である。特定の実施形態において、通信サブシステム1170は、ダウンロード要求を送信するため、ならびにデジタルコンテンツのダウンロードおよびアップロードを行うために、コーディネータおよび/または他のコンピューティングデバイスと通信するために使用することができる。より一般的には、通信サブシステム1170は、コンソール1002がピアツーピア通信に参加できるようにすることが可能である。
ゲームおよびメディアシステム1000は、システムをディスプレイ1050(図6)、テレビジョン、ビデオプロジェクタ、または他のディスプレイデバイスに単純に接続することによって、スタンドアロンシステムとして動作可能である。このスタンドアロンモードでは、ゲームおよびメディアシステム1000は、1人または複数のプレーヤが電子インタラクティブゲームをプレイすること、あるいは、たとえば映画を見ることまたは音楽を聴くことによって、デジタルメディアを楽しむことができるようにする。しかしながら、ネットワークインターフェース1132、またはより一般には通信サブシステム1170を介して使用可能となるブロードバンド接続と統合することで、ゲームおよびメディアシステム1000は、ピアツーピアネットワークなどのより大規模なネットワークゲームコミュニティへの参加者としてさらに動作可能である。
前述のコンソール1002は、図1および様々な他の図を参照しながら上記で考察したコンピューティングデバイス107の単なる一例である。上記で説明したように、本明細書で説明する実施形態は、様々な他のタイプのコンピューティングデバイスと共に使用可能である。
図8は、図1〜図3に示されたソフトウェア構成要素のうちの少なくともいくつかをホストすることが可能な、(図1に示されたコンピューティングデバイス107に対応可能な)コンピューティングデバイス1800の一実施形態のブロック図である。その最も基本的な構成において、コンピューティングデバイス1800は、典型的には、1つまたは複数のCPUおよび1つまたは複数のGPUを含む、1つまたは複数の処理ユニット/コア1802を含む。コンピューティングデバイス1800は、システムメモリ1804も含む。コンピューティングデバイスの精密な構成およびタイプに応じて、システムメモリ1804は、揮発性メモリ1805(RAMなど)、不揮発性メモリ1807(ROM、フラッシュメモリなど)またはこの2つのいくつかの組み合わせを含むことができる。この最も基本的な構成は、図8において破線1806で示される。加えて、コンピューティングデバイス1800は、追加の特徴/機能を有することもできる。たとえばコンピューティングデバイス1800は、磁気または光のディスクまたはテープを含むがこれらに限定されない、追加のストレージ(取り外し可能および/または取り外し不可)を含むこともできる。こうした追加のストレージは、図8において、取り外し可能ストレージ1808および取り外し不可ストレージ1810によって示されている。
実施形態において、コンピューティングデバイス1800は、アプリケーションが機密情報を外部コンピューティングデバイスに転送するかどうかをテストする際に使用される。実施形態において、コンピューティングデバイス1800は、アプリケーションの証明または検証のプロセス中に使用される。実施形態において、本明細書で説明するソフトウェア構成要素はシステムメモリに記憶され、処理ユニット/コア1802によって実行される。
コンピューティングデバイス1800は、デバイスが他のデバイスと通信できるようにする、1つまたは複数のネットワークインターフェースおよびトランシーバなどの、通信接続1812も含むことができる。コンピューティングデバイス1800は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、ジェスチャ入力デバイスなどの、入力デバイス1814も含むことができる。ディスプレイ、スピーカ、プリンタなどの出力デバイス1816も含めることができる。これらのデバイスは当分野で周知であるため、ここでは詳細に考察しない。
実施形態において、図示および説明される信号経路は、相互接続、導電素子、接点、ピン、半導体基板内の領域、ワイヤ、金属トレース/信号ライン、または光電子導体などの、単独または組み合わせた、信号を転送する媒体である。実施形態において、複数の信号経路を、図に示された単一の信号経路と交換することができ、単一の信号経路は図に示された複数の信号経路と交換することができる。実施形態において、信号経路は、バスおよび/またはポイントツーポイント接続を含むことができる。実施形態において、信号経路はコントロールおよびデータ信号ラインを含む。さらに他の実施形態において、信号経路は、単方向性(一方向に進行する信号)または双方向性(二方向に進行する信号)、あるいは単方向性信号ラインおよび双方向性信号ラインの両方の組み合わせである。
本発明のシステムの前述の詳細な説明は、例示および説明のために提示したものであり、網羅的であること、または本発明のシステムを開示された精密な形に限定することは意図されていない。上記の教示に鑑み、多くの修正および変形が可能である。説明した実施形態は、それによって当業者が、様々な実施形態において、および企図される特定の用途に好適な様々な修正と共に、本発明のシステムを最も良く利用できるようにするために、本発明のシステムの原理およびその実際の応用例を最も良く説明するように選択された。本発明のシステムの範囲は、本明細書に添付された特許請求の範囲によって定義されることが意図される。

Claims (15)

  1. アプリケーションをテストするためにオペレーティングシステムによって実施される方法であって、
    情報に関して前記アプリケーションから要求を受信すること、
    前記情報として前記アプリケーションに置換情報を提供すること、
    アプリケーション情報を外部コンピューティングデバイスに出力するための前記アプリケーションからの要求を受信すること、
    前記アプリケーション情報内に前記置換情報が含まれているかどうかを判別するために、前記アプリケーション情報を検査すること、
    前記アプリケーション情報を前記外部コンピューティングデバイスに出力すること、
    を含む、方法。
  2. コンピューティングデバイス内のメモリ上に記憶されたオペレーティングシステムおよび前記アプリケーションを実行している少なくとも1つのプロセッサによって少なくとも部分的に実行される、請求項1に記載の方法。
  3. 前記情報は機密情報である、請求項2に記載の方法。
  4. 前記アプリケーションの証明または検証プロセス中に実行される、請求項3に記載の方法。
  5. 前記アプリケーション情報を前記外部コンピューティングデバイスに出力する前に、ユーザの承諾の指示を取得することをさらに含む、請求項1に記載の方法。
  6. 前記情報に関して前記アプリケーションから前記要求を受信することは、前記アプリケーションが第1のアプリケーションプログラミングインターフェースを呼び出すことを含み、出力するための前記アプリケーションからの前記要求を受信することは、前記アプリケーションが第2のアプリケーションプログラミングインターフェースを呼び出すことを含む、請求項1に記載の方法。
  7. 前記検査することは、前記アプリケーション情報内の前記置換情報について、前記外部コンピューティングデバイスに出力されることになる前記アプリケーション情報を記憶しているバッファを検索することを含む、請求項6に記載の方法。
  8. 前記置換情報は、偽造された情報および記録された情報のうちの1つから選択される、請求項7に記載の方法。
  9. 受信することおよび判別することは、オペレーティングシステムによって少なくとも部分的に実行され、
    前記アプリケーションは電子インタラクティブゲームを含み、
    前記情報はビデオ信号を含む、
    請求項8に記載の方法。
  10. 前記コンピューティングデバイスは前記ビデオ信号を取得するためのカメラを含む、請求項9に記載の方法。
  11. ビデオ信号を取得するための少なくとも1つのカメラと、
    少なくとも1つのプロセッサと、
    プロセッサ可読命令、およびコンピューティングデバイスへのネットワークアドレスを有するアプリケーション、ならびに、ビデオ信号の少なくとも一部を前記ネットワークアドレスにある前記コンピューティングデバイスに転送できるようにするオペレーティングシステム、を記憶するための少なくとも1つのプロセッサ可読メモリと、を備える装置であって、
    前記少なくとも1つのプロセッサは前記オペレーティングシステムの前記プロセッサ可読命令および前記アプリケーションを実行して、
    前記オペレーティングシステムによって、前記ビデオ信号に関する要求を前記アプリケーションから受信し、
    前記オペレーティングシステムによって、置換ビデオ信号を前記アプリケーションに提供し、
    前記オペレーティングシステムによって、アプリケーション情報を外部コンピューティングデバイスに出力するための前記アプリケーションからの要求を受信し、
    前記オペレーティングシステムによって、前記置換ビデオ信号が前記アプリケーション情報に含まれるかどうかを判別するために、前記アプリケーション情報を検査し、
    前記オペレーティングシステムによって、前記アプリケーション情報を前記外部コンピューティングデバイスに出力する、
    装置。
  12. 前記アプリケーション情報を記憶するためのトラフィックバッファをさらに含み、前記オペレーティングシステムは、前記置換ビデオ信号が前記アプリケーション情報内に記憶されているかどうかを判別するために、前記トラフィックバッファに記憶された前記アプリケーション情報を検査する、請求項11に記載の装置。
  13. 前記装置はゲームコンソール内に含まれ、前記アプリケーションは電子インタラクティブゲームである、請求項12に記載の装置。
  14. 前記ビデオ信号についての前記アプリケーションからの前記要求は、前記ビデオ信号を取り出すためのアプリケーションプログラミングインターフェースへの呼び出しを含み、アプリケーション情報を前記外部コンピューティングデバイスに出力するための前記アプリケーションからの前記要求は、前記アプリケーション情報を前記コンピューティングデバイスの前記ネットワークアドレスに出力するためのアプリケーションプログラミングインターフェースへの呼び出しを含む、請求項11に記載の装置。
  15. 前記少なくとも1つのプロセッサは、前記アプリケーションが前記外部コンピューティングデバイスに出力される前に、承諾の指示をさらに取得するために、前記オペレーティングシステムおよび前記アプリケーションの前記プロセッサ可読命令を実行する、請求項11に記載の装置。
JP2016540321A 2013-09-06 2014-09-03 特定の情報がアプリケーションによって伝送されることの検証 Active JP6356248B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/019,978 2013-09-06
US14/019,978 US9645860B2 (en) 2013-09-06 2013-09-06 Verification that particular information is transferred by an application
PCT/US2014/053767 WO2015034851A1 (en) 2013-09-06 2014-09-03 Verification that particular information is transferred by an application

Publications (2)

Publication Number Publication Date
JP2016534469A JP2016534469A (ja) 2016-11-04
JP6356248B2 true JP6356248B2 (ja) 2018-07-11

Family

ID=51585182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016540321A Active JP6356248B2 (ja) 2013-09-06 2014-09-03 特定の情報がアプリケーションによって伝送されることの検証

Country Status (11)

Country Link
US (2) US9645860B2 (ja)
EP (1) EP3042336B1 (ja)
JP (1) JP6356248B2 (ja)
KR (1) KR102281028B1 (ja)
CN (1) CN105580025B (ja)
AU (1) AU2014315395B2 (ja)
BR (1) BR112016004399B1 (ja)
CA (1) CA2922363C (ja)
MX (1) MX356480B (ja)
RU (1) RU2679222C2 (ja)
WO (1) WO2015034851A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645860B2 (en) 2013-09-06 2017-05-09 Microsoft Technology Licensing, Llc Verification that particular information is transferred by an application
US9747415B2 (en) * 2013-11-27 2017-08-29 General Electric Company Single schema-based RIS/PACS integration
US9276938B2 (en) 2013-11-27 2016-03-01 General Electric Company Cross-enterprise workflow
US10735262B1 (en) * 2018-04-26 2020-08-04 Intuit Inc. System and method for self-orchestrated canary release deployment within an API gateway architecture
JP2021018745A (ja) * 2019-07-23 2021-02-15 日立オムロンターミナルソリューションズ株式会社 カードリーダ、カードリーダの制御方法および現金自動機
US12047780B2 (en) 2021-01-07 2024-07-23 Nokia Technologies Oy Authorization in cellular communication systems

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2435624C (en) * 2000-09-22 2013-05-07 Richard B. Levine Systems and methods for preventing unauthorized use of digital content
US7237123B2 (en) * 2000-09-22 2007-06-26 Ecd Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US8677505B2 (en) * 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
AU2003266962A1 (en) * 2002-08-06 2004-02-25 Brainshield Technologies Inc. Device for carrying out the copy-protected distribution of electronic documents
JP2005045587A (ja) * 2003-07-23 2005-02-17 Nec Saitama Ltd 携帯情報端末装置、及び、この装置における表示制御方法
WO2005112586A2 (en) * 2004-05-12 2005-12-01 Fusionone, Inc. Advanced contact identification system
WO2006031302A2 (en) * 2004-07-29 2006-03-23 Intelli7, Inc. System and method of characterizing and managing electronic traffic
US8041190B2 (en) * 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US20070263865A1 (en) * 2005-07-01 2007-11-15 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Authorization rights for substitute media content
US7788328B2 (en) 2005-11-10 2010-08-31 Microsoft Corporation Cross-forest sharing
CN101064604B (zh) * 2006-04-29 2012-04-18 西门子公司 远程访问方法、系统及设备
US7890612B2 (en) * 2006-05-08 2011-02-15 Electro Guard Corp. Method and apparatus for regulating data flow between a communications device and a network
US20080227548A1 (en) * 2007-03-13 2008-09-18 Microsoft Corporation Secured cross platform networked multiplayer communication and game play
US10356366B2 (en) * 2007-05-31 2019-07-16 Sony Interactive Entertainment America Llc System and method for taking control of a system during a commercial break
US20100229214A1 (en) 2009-03-04 2010-09-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and node for communications enhanced with temporary sharing of personal information in a communication network
CN101668157B (zh) * 2009-09-24 2011-09-21 中兴通讯股份有限公司 用于视频通话中隐私保护的方法、应用服务器及系统
CN102104766A (zh) * 2009-12-18 2011-06-22 深圳富泰宏精密工业有限公司 视频通话中的隐私保护系统及方法
KR20120017218A (ko) 2010-08-18 2012-02-28 주식회사 팬택 Sns 기반의 이동 단말기 및 이를 이용한 통신 방법
US9930295B2 (en) * 2010-11-18 2018-03-27 Verint Systems Inc.. Software, systems, and methods for video recording of a transaction involving protected data
KR101714534B1 (ko) * 2010-12-06 2017-03-09 삼성전자주식회사 휴대 단말기의 사생활 보호 기능 제공 방법 및 장치
US8763080B2 (en) 2011-06-07 2014-06-24 Blackberry Limited Method and devices for managing permission requests to allow access to a computing resource
US8650550B2 (en) 2011-06-07 2014-02-11 Blackberry Limited Methods and devices for controlling access to computing resources
JP5828457B2 (ja) * 2012-01-16 2015-12-09 Kddi株式会社 Api実行制御装置およびプログラム
CN102609660B (zh) * 2012-02-03 2015-09-16 北京奇虎科技有限公司 一种计算机视频设备隐私保护方法和系统
US8275358B1 (en) 2012-03-01 2012-09-25 MacroPoint LLC Providing notice and receiving consent to obtain location information of a mobile device
US9317721B2 (en) 2012-10-31 2016-04-19 Google Inc. Privacy aware camera and device status indicator system
US9223941B2 (en) 2013-03-15 2015-12-29 Google Inc. Using a URI whitelist
US9645860B2 (en) 2013-09-06 2017-05-09 Microsoft Technology Licensing, Llc Verification that particular information is transferred by an application
US9432627B2 (en) 2013-09-06 2016-08-30 Microsoft Technology Licensing, Llc Restricting information requested by an application

Also Published As

Publication number Publication date
EP3042336B1 (en) 2020-04-15
CA2922363A1 (en) 2015-03-12
RU2679222C2 (ru) 2019-02-06
US20170206156A1 (en) 2017-07-20
RU2016107749A (ru) 2017-09-07
US9645860B2 (en) 2017-05-09
US10437715B2 (en) 2019-10-08
KR102281028B1 (ko) 2021-07-22
AU2014315395B2 (en) 2019-05-30
BR112016004399A8 (pt) 2020-02-11
BR112016004399B1 (pt) 2022-09-13
MX2016002839A (es) 2016-06-17
EP3042336A1 (en) 2016-07-13
CN105580025B (zh) 2019-05-17
US20150074689A1 (en) 2015-03-12
KR20160048811A (ko) 2016-05-04
CA2922363C (en) 2021-10-26
RU2016107749A3 (ja) 2018-07-04
WO2015034851A1 (en) 2015-03-12
CN105580025A (zh) 2016-05-11
MX356480B (es) 2018-05-30
AU2014315395A1 (en) 2016-02-25
JP2016534469A (ja) 2016-11-04

Similar Documents

Publication Publication Date Title
JP6356248B2 (ja) 特定の情報がアプリケーションによって伝送されることの検証
KR102207598B1 (ko) 이기종 메모리의 동적 관리 기법
JP5312595B2 (ja) クロストランスポート認証
CN104995895B (zh) 兼容扩展卸载令牌大小
US20070005504A1 (en) Dynamic digital content licensing
WO2018071223A1 (en) User and device authentication for web applications
US20180101847A1 (en) User and device authentication for web applications
US20130266138A1 (en) Content encryption key management
CN115277143B (zh) 一种数据安全传输方法、装置、设备及存储介质
EP3042489B1 (en) Restricting information requested by an application
JP5380298B2 (ja) クローズドシステムへのコンテンツの転送
TW200907807A (en) Device for performing various contents and method using the same
JP5047305B2 (ja) 閉鎖型コンピューティングシステムのサブスクリプションベースのサービス
TW201118638A (en) Dynamic switching of security configurations
US7886362B2 (en) Media authentication via physical attributes of a medium
KR100811153B1 (ko) 전자음반 장치 및 이를 위한 기록매체
KR20120076631A (ko) 게임 서비스 시스템, 그 시스템에서의 게임 서비스 장치 및 게임 세이브 데이터 보안 방법
JP3145710U (ja) ビデオ−オーディオマルチメディアプレイヤー量産認証装置
CN116701163A (zh) 云计算环境中的分布式应用程序测试
KR20070100187A (ko) 전자음반 장치 제어방법
KR20070100188A (ko) 전자음반 장치 제어방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180613

R150 Certificate of patent or registration of utility model

Ref document number: 6356248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250