JPWO2016031456A1 - リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム - Google Patents

リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム Download PDF

Info

Publication number
JPWO2016031456A1
JPWO2016031456A1 JP2016545064A JP2016545064A JPWO2016031456A1 JP WO2016031456 A1 JPWO2016031456 A1 JP WO2016031456A1 JP 2016545064 A JP2016545064 A JP 2016545064A JP 2016545064 A JP2016545064 A JP 2016545064A JP WO2016031456 A1 JPWO2016031456 A1 JP WO2016031456A1
Authority
JP
Japan
Prior art keywords
usb
data
recording
recording medium
data transfer
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.)
Granted
Application number
JP2016545064A
Other languages
English (en)
Other versions
JP6693417B2 (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JPWO2016031456A1 publication Critical patent/JPWO2016031456A1/ja
Application granted granted Critical
Publication of JP6693417B2 publication Critical patent/JP6693417B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/08Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers from or to individual record carriers, e.g. punched card, memory card, integrated circuit [IC] card or smart card
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Systems (AREA)
  • Storage Device Security (AREA)
  • Bus Control (AREA)

Abstract

ホストと、ホストに接続された記録デバイスとの間で記録再生データの転送のみならずセキュリティコマンドの転送も可能とする構成を実現する。USB−Aコネクタと、USB−microBコネクタを有するUSBリーダライタであり、リーダライタ制御部がUSB−microBコネクタに電源供給ホストが接続され、USB−Aコネクタ側に記録メディアが装着された場合、マスストレージクラス対応データ転送部を介して記録メディアの記録再生データを転送し、非マスストレージクラス対応データ転送部を介して認証処理等に適用するセキュリティコマンドを転送する。USBリーダライタを装着したホストは、記録再生データパスと、セキュリティコマンドパスの2つのパスを利用して異なるカテゴリのデータ転送を実行する。

Description

本開示は、リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラムに関する。さらに詳細には、USBコネクタ等の接続部と、記録メディアを装着可能なカードスロットを有するリーダライタを用いたデータ記録再生処理に適用されるリーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラムに関する。
昨今、大容量型のメモリデバイスとしてSDカード等の半導体型メモリデバイス(記録メディア)が多く利用されている。
これらのメモリデバイスは、例えばPC、スマートホン、タブレット端末等において多く利用されている。
また、メモリカードに対するデータアクセス機能を備えたリーダライタとして、例えばメモリカードを装着可能なカードスロットと、USBコネクタ(端子)を兼ね備えたリーダライタ装置がある。
具体的には、USB−AコネクタとUSB−microBコネクタを備え、USB−Aコネクタ側にカードスロットを設定したリーダライタ(USBリーダライタ)である。
このリーダライタのUSB−Aコネクタ側にマイクロSDカードを装着し、USB−microBコネクタを例えばスマートホンのUSB−microBポートに差し込むことで、スマートホンからマイクロSDカードに対するアクセス(データ読み書き)が可能となる。
しかし、例えばスマートホン等の情報処理装置の中には、USBポート等のデバイス装着部に装着されたデバイスの自動認識を実行し、認識結果に応じてポートを介した入出力データを制限してしまうものがある。
具体的には、OS(Operation System)としてAndroid(登録商標)を搭載したスマートホン等の情報処理装置の一部の機種では、USBポートの装着デバイスがメモリデバイスであると認識した場合、そのメモリデバイスとの間では、記録再生用データの転送のみを許容し、記録再生データ以外の例えば認証コマンドの転送は許容しない設定を行ってしまう。
このように転送データの制限が実行されると、デバイス(例えばマイクロSDカード)に格納したデータの読み出しができなくなる場合がある。
すなわち、マイクロSDカードに格納したデータが利用制限のあるコンテンツであり、コンテンツ再生装置であるスマートホン等の情報処理装置と、メモリデバイスであるマイクロSDカードとの認証成立を条件としてコンテンツ読み出しが許容されるコンテンツである場合などである。
なお、認証成立を条件として記録メディアからのコンテンツ読み出し再生を許容する構成について記載した従来技術として、例えば特許文献1(特開2014−085985号公報)等がある。
このように、Android(登録商標)を搭載したスマートホン等の情報処理装置は、記録メディアを装着したUSBリーダライタがUSBポートに差し込まれると、ポートを介した転送データの制限が実行され、認証コマンド等のコマンドの転送が行えなくなる。その結果、認証処理が実行できず、コンテンツの読み出しや再生ができなくなるという問題がある。
特開2014−085985号公報
本開示は、例えば上記問題点に鑑みてなされたものであり、スマートホン等の情報処理装置に、記録メディアを装着したリーダライタ装置を接続した設定において、記録メディアに対する記録再生データの入出力のみならず、その他のコマンド、例えば認証処理用コマンドの入出力も可能としたリーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラムを提供することを目的とする。
本開示の第1の側面は、
記録メディアを装着可能な記録メディア装着部と、
USBコネクタと、
前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
前記制御部は、
マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行するUSBリーダライタ装置にある。
さらに、本開示の第2の側面は、
記録メディアを装着したデバイスを接続する通信部と、
前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
前記データ処理部は、
(a)前記記録メディアの記録データを入力する記録再生データパス、
(b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
上記2つのパスを利用してデータ転送処理を実行する情報処理装置にある。
さらに、本開示の第3の側面は、
リーダライタ装置において実行するデータ転送制御方法であり、
前記リーダライタ装置は、記録メディアを装着可能な記録メディア装着部と、USBコネクタと、
前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
前記制御部が、
マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行するデータ転送制御方法にある。
さらに、本開示の第4の側面は、
情報処理装置において実行するデータ転送制御方法であり、
前記情報処理装置は、記録メディアを装着したデバイスを接続する通信部と、
前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
前記データ処理部が、
(a)前記記録メディアの記録データを入力する記録再生データパス、
(b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
上記2つのパスを利用してデータ転送処理を実行するデータ転送制御方法にある。
さらに、本開示の第5の側面は、
リーダライタ装置においてデータ転送制御処理を実行させるプログラムであり、
前記リーダライタ装置は、記録メディアを装着可能な記録メディア装着部と、USBコネクタと、
前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
前記プログラムは、前記制御部に、
マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行させるプログラムにある。
さらに、本開示の第6の側面は、
情報処理装置においてデータ転送制御処理を実行させるプログラムであり、
前記情報処理装置は、記録メディアを装着したデバイスを接続する通信部と、
前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
(a)前記記録メディアの記録データを入力する記録再生データパス、
(b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
上記2つのパスを利用してデータ転送処理を実行させるプログラム。
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、ホストと、ホストに接続された記録デバイスとの間で記録再生データの転送のみならずセキュリティコマンドの転送も可能とする構成が実現される。
具体的には、USB−Aコネクタと、USB−microBコネクタを有するUSBリーダライタであり、リーダライタ制御部がUSB−microBコネクタに電源供給ホストが接続され、USB−Aコネクタ側に記録メディアが装着された場合、マスストレージクラス対応データ転送部を介して記録メディアの記録再生データを転送し、非マスストレージクラス対応データ転送部を介して認証処理等に適用するセキュリティコマンドを転送する。USBリーダライタを装着したホストは、記録再生データパスと、セキュリティコマンドパスの2つのパスを利用して異なるカテゴリのデータ転送を実行する。
本構成により、ホストと、ホストに接続された記録デバイスとの間で記録再生データの転送のみならずセキュリティコマンドの転送も可能とする構成が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
USBリーダライタの構成例について説明する図である。 USBリーダライタの利用例について説明する図である。 USBリーダライタの利用例について説明する図である。 USBリーダライタに装着した記録メディアと情報処理装置とのデータ転送処理について説明する図である。 USBリーダライタに装着した記録メディアと情報処理装置とのデータ転送処理について説明する図である。 本開示のUSBリーダライタの一構成例について説明する図である。 本開示のUSBリーダライタの一構成例について説明する図である。 一般的なUSBリーダライタの構成例について説明する図である。 本開示のUSBリーダライタの一構成例について説明する図である。 本開示のUSBリーダライタのリーダライタ制御部に対する入力信号の時間遷移について説明する図である。 本開示のUSBリーダライタのリーダライタ制御部に対する入力信号の時間遷移について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理構成について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理のシーケンスについて説明するシーケンス図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理構成について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理のシーケンスについて説明するシーケンス図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理構成について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理のシーケンスについて説明するシーケンス図である。 USBリーダライタを介した情報処理装置と記録メディア間の認証処理開始までのシーケンスについて説明するフローチャートを示す図である。 USBリーダライタの利用例について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理構成について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送パスに対応する接続デバイス識別処理例について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送パスの対応付けについて説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間の記録再生データパスとセキュリティコマンドパスとの対応判定処理シーケンスを説明するフローチャートを示す図である。 マスストレージクラス(MSC)を介して取得可能なLinux(登録商標)システムファイルに含まれるデバイスマウント情報の記述データの一例を示す図である。 デバイスマウント情報の記述データから取得されるリンク情報(シンボリックリンク)を利用した接続デバイス情報の取得処理について説明する図である。 デバイスマウント情報の記述データから取得されるリンク情報(シンボリックリンク)を利用して得られる接続デバイス情報について説明する図である。 USBリーダライタを介した情報処理装置と記録メディア間のデータ転送処理のシーケンスについて説明するシーケンス図である。 情報処理装置の構成例について説明する図である。
以下、図面を参照しながら本開示のリーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
1.リーダライタ装置の構成について
2.セキュアコマンドの送受信が制限されてしまう問題点について
3.メディアに対する記録再生データと、セキュアコマンドの転送を可能とする構成について
4.USBリーダライタの回路構成例について
5.USBリーダライタを接続したホストの構成例と処理例について
5−1.構成例Aについて
5−2.構成例Bについて
5−3.構成例Cについて
6.情報処理装置の再生アプリケーションの実行する処理のシーケンスについて
7.情報処理装置(ホスト)に複数のUSBリーダライタが装着された場合の処理について
8.情報処理装置の構成例について
9.その他の実施例について
10.本開示の構成のまとめ
[1.リーダライタ装置の構成について]
まず、図1以下を参照してリーダライタ装置の構成について説明する。
図1は、USBリーダライタ10の構成を説明する図である。
USBリーダライタ10は、図1(A)に示すように、一端にUSB−Aコネクタ11を有し、もう一方の端部にUSB−microBコネクタ12を備えている。
さらに、USB−Aコネクタ11は、内部にマイクロSDカードを装着可能な構成、すなわちカードスロット13を有する。
図1(B)は、カードスロット13にマイクロSDカード21を装着した図である。
図2に、カードスロット13にマイクロSDカード21を装着したUSBリーダライタ10をスマートホン30に装着した例を示す。
スマートホン30のUSB−microBポートに、USBリーダライタ10のUSB−microBコネクタ13を差し込んだ図である。
この設定で、スマートホン30は、USBリーダライタ10を介してマイクロSDカード21にアクセスしてマイロクSDカード21に対するデータ記録処理や、てマイロクSDカード21からのデータ読み出しを行うことが可能となる。
図1、図2を参照して説明したように、USBリーダライタ10は、以下の構成要素を有する。
(a)USB−Aコネクタ
(b)USB−microBコネクタ
(c)マイクロSDカードスロット
これらの構成を有している。
また、図2を参照して説明したように、USBリーダライタ10のUSB−Aコネクタ11側にマイクロSDカード21を装着し、USB−microBコネクタ12をスマートホンのUSB−microBポートに差し込むことで、スマートホンからのマイクロSDカードに対するアクセス(データ読み書き)が可能となる。
図3は、USBリーダライタ10の利用例を説明する図である。
上述したように、USBリーダライタ10は、USB−Aコネクタ、USB−microBコネクタ、マイクロSDカードスロットを有しており、
例えばUSB−AコネクタをPC41、TV42、記録再生装置43等に差し込み、一方のUSB−microBコネクタをスマートホン30や、タブレット端末32に接続することで、接続機器間のデータ交換が可能となる。
また、USB−AコネクタのカードスロットにマイクロSDカード21を挿入し、USB−microBコネクタをスマートホン30やタブレット端末32に接続することで、USBメモリと同様の着脱型メディアとして利用することもできる。
[2.セキュアコマンドの送受信が制限されてしまう問題点について]
次に、例えば図2に示すように、USBリーダライタ10のUSB−Aコネクタ11側にマイクロSDカード21を装着し、USB−microBコネクタ12をスマートホンのUSB−microBポートに差し込んで、マイクロSDカード21に対するアクセスを行う場合の問題点について説明する。
前述したように、例えばスマートホン等の情報処理装置の中には、USBポート等のデバイス装着部にデバイスが装着されると、接続デバイスの自動認識を実行し、認識結果に応じてそのポートを介した入出力データの制限を行う装置がある。
具体的には、OS(Operation System)としてAndroid(登録商標)を搭載したスマートホン等の情報処理装置の一部の機種では、USBポートの装着デバイスがメモリデバイスであると判定すると、メモリデバイスに対するデータの記録、あるいはメモリデバイスからのデータ読み取り処理のみを許容し、読み書きデータ以外の認証コマンド等のデータの入出力を禁止してしまう。
このような制限がなされると、例えばマイクロSDカード21に格納したデータが利用制限のある著作権管理コンテンツ等の再生ができなくなる。すなわち、コンテンツ再生装置(スマートホン30)と、コンテンツ格納メディア(マイクロSDカード21)との認証成立をコンテンツ再生許容条件としたコンテンツの再生ができなくなる。
OSとしてAndroid(登録商標)を搭載した情報処理装置の一例であるスマートホン30と、図1、図2を参照して説明したUSBリーダライタ10との間で実行されるデータ転送処理と、制限されるデータ転送処理について図4を参照して説明する。
図4には、USBリーダライタ10を装着したスマートホン30の処理レイヤを示している。
スマートホン30の処理レイヤは大きく以下の2つのレイヤに区分できる。
(A)アプリケーション(APP)レイヤ
(B)ファームウェア(FW)レイヤ
これらの2つのレイヤである。
(A)アプリケーション(APP)レイヤは、情報処理装置、ここではスマートホン30が、様々なアプリケーション提供サイト等からダウンロードして追加記録するなど追加、変更、削除を容易に行うことが可能なプログラム(ソフトウェア)のレイヤである。
一方、(B)ファームウェア(FW)レイヤは、情報処理装置、ここではスマートホン30に基本的に固定プログラムとして記録されたソフトウェアレイヤである。
なお、OS(Operating System)であるAndroid(登録商標)OSからなるOSレイヤは、図には示していないが、図4の(A)アプリケーションレイヤと、(B)ファームウェアレイヤの間に位置する。
ただし、(B)ファームウェアレイヤの一部構成、例えば、ファイルシステム(File System)61や、マスストレージクラス(Mass Strage Class)62は、OSレイヤの一部として解釈される場合もある。
なお、図4に示す各レイヤ内のプログラム等の構成は、本開示の処理において利用される一部の構成のみである。
例えば、スマートホン30には様々なアプリケーションが搭載可能であるが、図4の(A)アプリケーション(APP)レイヤには、本開示の処理に直接関連する1つのアプリケーションのみを示している。
図4(A)アプリケーション(APP)レイヤに示すアプリケーションは、メディアに格納されたコンテンツを読み出して再生処理を実行する再生アプリケーション50である。
この再生アプリケーション50は、予め規定された所定のアルゴリズムに従ってコンテンツを格納したメディアとの認証処理を実行し、認証成立を条件として、メディアからコンテンツを読み出して再生処理を実行する。
再生アプリケーション50は、具体的には、例えば、次世代著作権保護技術の規格であるSQV(SeeQVault)に従ってコンテンツ再生を実行するアプリケーションとしてのSQVプレーヤ等によって構成可能である。
なお、SQV(SeeQVault)は、SDカード等のフラッシュメモリに利用制御コンテンツ、例えば著作権管理対象コンテンツを記録、再生する場合に、所定のアルゴリズムに従った処理を実行させることで、不正なコンテンツ利用を排除し、正当なコンテンツの利用管理を実現する規格である。
具体的には、例えば、再生アプリケーション50は、コンテンツを格納したメディアとの認証処理が成立しない場合、メディアからのコンテンツ再生を実行することはできない。
認証処理が成立し、メディアの正当性が確認された場合にメディアからコンテンツを読み出し、再生を実行することができる。
再生アプリケーション50は、再生アプリライブラリ(例えばSQVライブラリ)51を有する。
再生アプリライブラリ51は、再生アプリケーション50のコンポーネントであり、再生アプリケーション50の実行する様々な処理ロジックを実装したロジック実装部である。
なお、この再生アプリケーション50は、OS(Operating System)としてのAndroid(登録商標)上で動作するアプリケーションである。
(B)ファームウェア(FW)レイヤは、前述したように、情報処理装置、ここではスマートホン30に基本的に固定プログラムとして記録されたソフトウェアレイヤである。
なお、図4には、本開示の処理において利用される一部のファームウェアのみを示している。
図4には、ファイルシステム(File System)61と、マスストレージクラス(Mass Strage Class)62、USBホストドライバ63を示している。
ファイルシステム(File System)61は、Android(登録商標)端末であるスマートホン30のファームウェア(FW)レイヤを構成する1つのコンポーネントであり、所定のファイルシステム規定に従ってメディア、例えばマイクロSDカード21に対するデータの読み書き(Read/Write)機能を実現するプログラムである。例えばFAT32やexFATなどのファイルシステム規定に従ってデータの読み書きを実行する。
マスストレージクラス(MSC:Mass Strage Class)62は、Android(登録商標)端末であるスマートホン30のファームウェア(FW)レイヤを構成する1つのコンポーネントであり、マスストレージクラスホスト機能を実行するプログラムである。
マスストレージクラス(MSC:Mass Storage Class)とは、USB規格で定められているUSBメモリ等の補助記憶装置を接続するための仕様である。情報処理装置に接続されたUSB機器を記憶装置として認識して記憶装置用の制御を実行するためのドライバプログラムである。
このマスストレージクラス(MSC:Mass Storage Class)の実装機器は、外部接続するメディアに対応した専用のドライバをインストールすることなく、接続されたUSB機器をリムーバブルメディアとして認識し、データの記録や読み取りを行うことが可能となる。
USBホストドライバ63は、Android(登録商標)端末であるスマートホン30のファームウェア(FW)レイヤを構成する1つのコンポーネントであり、USBデバイスの挿抜検出など、USBデバイスに共通する汎用的な機能を実装したコンポーネントである。
図4の最下層に示す(C)デバイスは、ここでは、図1等を参照して説明したUSBリーダライタ(USB R/W)10である。
なお、このUSBリーダライタ(USB R/W)10は、図1等を参照して説明したように、
(a)USB−Aコネクタ
(b)USB−microBコネクタ
これら2つのコネクタを有する。
従って、情報処理装置であるスマートホン30に対して、
(a)USB−Aコネクタが接続された状態、
(b)USB−microBコネクタが接続された状態、
これら2つの接続状態が設定可能となる。
さらに、
(b)USB−microBコネクタが接続された状態においては、
USB−Aコネクタ側に、
(b1)マイクロSDカード21が挿入されている状態、
(b2)その他の装置が接続された状態
これらの2つの状態が設定可能である。
ここでは、USBリーダライタ(USB R/W)10の設定が、上記の状態(b1)、すなわち、
情報処理装置であるスマートホン30にUSB−microBコネクタが接続され、一方のUSB−Aコネクタ側にマイクロSDカード21が挿入されている状態、
この接続状態における処理について説明する。
前述したように、再生アプリケーション50は、予め規定された所定のアルゴリズムに従ってコンテンツを格納したメディア、すなわちUSBリーダライタ10に装着された記録メディア(マイクロSDカード21)との認証処理を実行し、認証成立を条件として、記録メディア(マイクロSDカード21)からコンテンツを読み出して再生処理を実行する。
しかし、図4に示す情報処理装置であるスマートホン30は、OS(Operation System)としてAndroid(登録商標)を搭載したスマートホン30である。
このようなAndroid(登録商標)端末では、USBポートの装着デバイスがメモリデバイスであると認識した場合、メモリデバイスに対するデータの記録、あるいはメモリデバイスからのデータ読み取り処理のみを許容し、読み書きデータ以外の例えばコマンドの入出力を禁止してしまう。
具体的には、ファームウェアレイヤのマスストレージクラス(MSC)62が、接続されたUSBデバイスが記憶装置であると判定すると、OSベースの制御によって、アプリケーションレイヤのいかなるアプリケーションも、読み書きデータ以外の例えばコマンドの入出力を行うことができなくなる。
従って再生アプリケーション50がリーダライタ10に装着された記録メディア(マイクロSDカード21)との認証処理を実行しようとしても認証コマンドの送受信が実行できなくなる。この結果、認証処理が実行できず、認証成立を条件としたメディア(マイクロSDカード21)からのコンテンツ読み出し、再生処理も実行できなくなる。
図4には、記録再生データパス71と、セキュリティコマンドパス81を示している。
記録再生データパス71は、ホスト(スマートホン30)の再生アプリケーション50と、デバイス(USBリーダライタ10)に装着された記録メディア(マイクロSDカード21)間の記録再生用データファイルの送受信パスである。
セキュリティコマンドパス81は、例えば、再生アプリケーション50と、マイクロSDカード21との認証処理において送受信されるコマンドのパスを示している。
マイクロSDカード21と再生アプリケーション50との間のパスは、いずれのパスも以下の経路となる。
マイクロSDカード21〜USBリーダライタ10〜マスストレージクラス(MSC)62〜ファイルシステム61〜再生アプリケーション50
記録再生データは、この記録再生データパス71を経由してマイクロSDカード21と再生アプリケーション50との間で転送される。
しかし、例えば、再生アプリケーション50と、マイクロSDカード21との認証処理において送受信される認証コマンドや認証データは、図4に示すセキュリティコマンドパス81を経由したコマンド転送が許容されない。
USBポートに接続されたデバイスが、ストレージデバイスであると判定されると、OS制御によってアプリケーションはコマンド転送が禁止されてしまうからである。
先に説明したように、OS(Operation System)としてAndroid(登録商標)を搭載したAndroid(登録商標)端末の一部機種では、USBポートの装着デバイスがメモリデバイスであると認識した場合、メモリデバイスに対するデータの記録、あるいはメモリデバイスからのデータ読み取り処理のみを許容し、読み書きデータ以外の例えばコマンドの入出力を禁止してしまう。
すなわち、ファームウェアレイヤのマスストレージクラス(MSC)62が、スマートホン等のホストに接続されたUSBデバイスが記憶装置であると判断すると、OSベースの制御によって、アプリケーションレイヤのいかなるアプリケーションも、読み書きデータ以外の例えばコマンドの転送を実行できなくなる。
図5は、Android(登録商標)3.1以降において利用可能となったUSBホストAPI(USB HOST API)64をファームウェア(FW)レイヤに設定した構成例におけるセキュリティコマンドパス82の設定例を示している。
USBホストAPI(USB HOST API)64は、USBホスト機能、すなわちUSBデバイスに対する制御機能を持ち、USBデバイスとアプリケーションとのデータ転送制御機能を提供するAPIである。
この場合、USBデバイスはメディア(マイクロSDカード21)を装着したUSBリーダライタ10であり、USBホストAPI(USB HOST API)64は、このメディア(マイクロSDカード21)を装着したUSBリーダライタ10に対する制御を行うことが可能となる。
図5には、USBホストAPI(USB HOST API)64を持つ設定において想定される記録再生データパス72と、セキュリティコマンドパス82を示している。
これらの2つのパスを個別に利用してデータ転送が可能であれば、メディア(マイクロSDカード21)を装着したUSBリーダライタ10とアプリケーション50間において認証コマンドの送受信と記録再生データの送受信が可能となる。
しかし、図5に示すようにUSBホストAPI(USB HOST API)64は、ファームウェア(FW)レイヤの一つのコンポーネントに過ぎず、例えば、マスストレージクラス62による制御権より優位性を持つコンポーネントではない。
従って、情報処理装置であるスマートホン30のUSBポートに接続されたデバイスがストレージデバイスであると認識され、OS制御下でマスストレージクラス62による制御が開始された以降、すなわち、マスストレージクラス(MSC)マウント状態設定後は、マスストレージクラス62を介した記録再生データの転送のみが許容される。
結果として、USBホストAPI(USB HOST API)64を介したセキュリティコマンドの転送は禁止される。すなわち図5に示すセキュリティコマンドパス82を利用した認証コマンド等の転送を行うことはできない。
従って、この図5に示すUSBホストAPI(USB HOST API)64を有する構成においても、やはり、図4の構成と同様、マスストレージクラス(MSC)62よるデータ転送制御が開始された後は、再生アプリケーション50と、USBリーダライタ10に装着されたマイクロSDカード21間のセキュリティコマンドの転送は実行できず、認証成立を条件としたコンテンツの読み出しや再生は行うことができない。
[3.メディアに対する記録再生データと、セキュアコマンドの転送を可能とする構成について]
次に、上記の問題を解決し、メディアに対する記録再生データと、セキュアコマンド、いずれのデータの転送も可能とした構成例について説明する。
図6は、本開示の一実施例に係るUSBリーダライタ100の構成例について説明する図である。
図6に示すUSBリーダライタ100は、先に図1他を参照して説明したUSBリーダライタ10と同様、
(a)USB−Aコネクタ
(b)USB−microBコネクタ
(c)記録メディア装着用カードスロット
これらの構成を有している。
本開示のUSBリーダライタ100も、USBリーダライタ100のUSB−Aコネクタ側のカードスロットに記録メディア200、例えばマイクロSDカードを装着可能な構成を持つ。さらに、USB−microBコネクタをスマートホン等の情報処理装置300のUSB−microBポートに差し込むことで、情報処理装置300は、記録メディア200に対するアクセス(データ読み書き)を行うことができる。
図6に示すUSBリーダライタ100は、図6に示すように、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部を有する。
なお、これら2つのデータ転送部は、いずれもUSBリーダライタ100のUSB−microBコネクタを介して、情報処理装置300とのデータ転送を実行する。
すなわち、これら2つのデータ転送部は、物理的には1つのデータ転送部として構成されるが、論理的に異なるカテゴリのデータを転送可能とした論理的な2つのデータ転送部である。
もう一方のUSB−Aコネクタ側のカードスロットにはマイクロSDカード等の記録メディア200が装着可能である。
図6に示すUSBリーダライタ100の2つのデータ転送部は、それぞれ以下のデータ転送処理に利用される。
(1)マスストレージクラス(MSC)対応データ転送部110は、記録メディア200を利用した記録再生データのデータ転送処理に利用される。
(2)非マスストレージクラス(MSC)対応データ転送部120は、記録メディア200を利用した記録再生データ以外のデータ、例えば認証処理に適用する認証コマンド塔の認証用データの転送に利用されるデータ転送部である。
なお、非マスストレージクラス(MSC)対応データ転送部120は、例えばベンダーユニーククラス対応データ転送部、あるいはHID(Human Interface Device)クラス対応データ転送部等によって構成可能である。
ベンダーユニーククラス対応データ転送部や、HID(Human Interface Device)クラスは、情報処理装置300側の例えばファームウェア(FW)レイヤに設定可能な1つのコンポーネントとしてUSB規格で定められているクラスである。ストレージデバイス以外のデバイス、例えばキーボードやマウスなどの様々な入力デバイスを接続した場合のデータやコマンドの入出力制御を実行するプログラムを含むコンポーネントである。
このように、非マスストレージクラス(MSC)対応データ転送部120は、ベンダーユニーククラス対応データ転送部や、HIDクラス対応データ転送部として構成可能である。なお、非マスストレージクラス(MSC)対応データ転送部120は、ベンダーユニーククラス対応データ転送部や、HIDクラス対応データ転送部に限定されるものではなく、その他の構成とすることも可能である。マスストレージクラス(MSC)が制御する転送データと異なるカテゴリのデータ、具体的には認証コマンド等を転送可能なデータ転送部であればよい。
図7は、本開示のUSBリーダライタ100のデータ転送部の詳細構成について説明する図である。
USBリーダライタ100には、図6を参照して説明したように、
マスストレージクラス(MSC)対応データ転送部110、
非マスストレージクラス(MSC)対応データ転送部120、
これら2つのデータ転送部を有する。
これらは、いずれもUSBリーダライタ100のUSB−microBコネクタを介したデータ転送部であり、物理的には1つのデータ転送部であるが、転送データの種類に応じて使い分けられる論理的に2つに分割されたデータ転送部である。
図7に示すように、USBデバイスであるUSBリーダライタ100は、スマートホン等の情報処理装置300からなるホスト(USBホスト)とのデータ送受信を行う。
本実施例では、USBリーダライタ100のUSB−microBコネクタを介してデータ転送が実行される。
USBリーダライタ100のUSB−Aコネクタ側のカードスロットには記録メディア200が装着される。
マスストレージクラス(MSC)対応データ転送部110は、記録メディア200に対する記録データ、または記録メディア200からの再生データの転送処理に利用される。
非マスストレージクラス(MSC)対応データ転送部120は、記録メディア200を利用した記録再生データ以外のデータ、例えば認証処理に適用するコマンド等のデータ転送に利用される。
コントロールエンドポイント(Control endpoint)130は、ホスト(情報処理装置300)とデバイス(USBリーダライタ100)間の制御情報転送用バッファである。例えば、データ転送モードの設定情報を格納する。
なお、このモード設定に応じて、例えばマスストレージクラス(MSC)対応データ転送部110と、非マスストレージクラス(MSC)対応データ転送部120のいずれかが選択的に利用される。
マスストレージクラス(MSC)対応データ転送部110は、
エンドポイント(Endpoint(Bulk−in))111、
エンドポイント(Endpoint(Bulk−out))112、
CBW/CSW/データ転送部(CBW/CSW/Data Transfer)113、
データリーダライタ部(DataR/W)114、
コマンド処理部(SeeQVault Command)115、
メディアドライバ(SD Driver)116、
これらの構成を有する。
エンドポイント(Endpoint(Bulk−in))111は、デバイス(USBリーダライタ100)からホスト(情報処理装置300)側に向けたデータのバルク転送(大容量データを高信頼で転送するモード)時に利用される中間バッファであり、ホスト(情報処理装置300)への出力データを格納する。
マスストレージクラス(MSC)対応データ転送部110のエンドポイント(Endpoint(Bulk−in))111は、例えば、デバイス(USBリーダライタ100)のUSB−Aコネクタ側に装着された記録メディア200からの読み出しデータを格納して情報処理装置(ホスト)300に出力する場合に利用される。
エンドポイント(Endpoint(Bulk−out))112は、ホスト(情報処理装置300)側からデバイス(USBリーダライタ100)に向けたデータのバルク転送時に利用される中間バッファであり、ホスト(情報処理装置300)からの入力データを格納する。
マスストレージクラス(MSC)対応データ転送部110のエンドポイント(Endpoint(Bulk−out))112は、例えば、USBリーダライタ100のUSB−Aコネクタ側に装着された記録メディア200への書き込みデータをホストから受信し格納する場合に利用される。
これらのエンドポイントを用いたデータ転送は、バルク転送として実行される。このバルク転送処理に際して、転送データ本体の他、コマンドや、ステータス情報が転送される。
CBW/CSW/データ転送部(CBW/CSW/Data Transfer)113は、このコマンド、ステータス、データの各転送情報の制御を実行する。
CBWは、コマンドブロックラッパー(Command Block Wrapper)であり、例えば、ホストがデバイスに対してSCSIコマンドを送るためのラッパーである。
CSWは、コマンドステータスラッパー(Command Status Wrapper)であり、デバイス(USBリーダライタ100)がホスト(情報処理装置300)に対してステータスを送るためのラッパー、すなわち転送データフォーマット生成部である。
CBW/CSW/データ転送部(CBW/CSW/Data Transfer)113は、ホスト(情報処理装置300)から入力するCBWからSCSIコマンドを取り出す処理や、デバイス(USBリーダライタ100)の出力するステータスをCSWに従ったデータフォーマットに設定する処理等を行う。
データリーダライタ部(DataR/W)114は、ホスト(情報処理装置300)から入力するデータの記録メディア200に対する記録要求または再生要求(Read/Write Request)に応じて、記録メディア200に対する記録再生コマンド(SDコマンド)を用いて記録メディア200に対するデータの読み書き(Read/Write)を実行する。
コマンド処理部(SeeQVault Command)115はホスト(情報処理装置300)から入力する各種のセキュリティコマンド実行要求に応じて、記録メディア200に対するセキュリティコマンド(SDコマンド)を利用したコマンドを適用した処理、例えば認証処理に必要なデータ転送制御を実行する。
コマンド処理部(SeeQVault Command)115は、次世代著作権保護技術の規格であるSQV(SeeQVault)に従ってコンテンツ再生を実行する場合に必要となる認証コマンド等のセキュリティコマンドに関する処理を実行する。
なお、SQV(SeeQVault)は、SDカード等のフラッシュメモリに利用制御コンテンツ、例えば著作権管理対象コンテンツを記録、再生する場合に、所定の利用管理下での処理を実行させることを可能としたコンテンツ利用管理を実現する規格である。
メディアドライバ(SD Driver)116は、USBリーダライタ100のUSB−Aコネクタ側のカードスロットに装着された記録メディア200、例えばマイクロSDカードに対応するドライバである。
記録メディア200、例えばマイクロSDカードに対するデータ記録、読み取り、コマンド転送処理を実行する。
一方、非スストレージクラス(MSC)対応データ転送部120は、
エンドポイント(Endpoint(Bulk−in))121、
エンドポイント(Endpoint(Bulk−out))122、
これらの構成を有する。
エンドポイント(Endpoint(Bulk−in))121は、デバイス((USBリーダライタ100)からホスト(情報処理装置300)側に向けたデータのバルク転送時に利用される中間バッファであり、ホスト(情報処理装置300)への出力データを格納する。
この非マスストレージクラス(MSC)対応データ転送部120のエンドポイント(Endpoint(Bulk−in))121は、例えば、ホスト(情報処理装置300)と、デバイス(USBリーダライタ100)のUSB−Aコネクタ側に装着された記録メディア200間の認証処理に適用する認証コマンドや認証用データ等をホスト(情報処理装置300)に出力する場合に利用される。
エンドポイント(Endpoint(Bulk−out))122は、ホスト(情報処理装置300)側からデバイス(USBリーダライタ100)に向けたデータのバルク転送時に利用される中間バッファであり、ホスト(情報処理装置300)からの入力データを格納する。
この非マスストレージクラス(MSC)対応データ転送部120のエンドポイント(Endpoint(Bulk−out))122は、例えば、ホスト(情報処理装置300)と、デバイス(USBリーダライタ100)のUSB−Aコネクタ側に装着された記録メディア200間の認証処理に適用する認証コマンドや認証用データ等をホスト(情報処理装置300)から入力する場合に利用される。
非マスストレージクラス(MSC)対応データ転送部120を介して入出力する認証コマンド等のコマンドデータは、ホスト(情報処理装置300)と、USBリーダライタ100のUSB−Aコネクタ側のカードスロットに装着された記録メディア200との間で送受信される。
このデータパスは、以下の各構成部を介したパスとなる。
非MSC対応データ転送部120の2つのエンドポイント121,122、
MSC対応データ転送部110のCBW/CSW/データ転送部(CBW/CSW/Data Transfer)113、
MSC対応データ転送部110のコマンド処理部(SeeQVault Command)115、
MSC対応データ転送部110のメディアドライバ(SD Driver)116、
これらの各構成部を介して、ホスト(情報処理装置300)と、記録メディア200との間で認証コマンド等が送受信され、認証処理が実行される。
なお、ホスト(情報処理装置300)は、USBリーダライタ100のUSB−microBコネクタを介して接続され、記録メディア200は、USBリーダライタ100のUSB−Aコネクタ側に設けられたカードスロットに装着された設定である。
[4.USBリーダライタの回路構成例について]
次に、USBリーダライタ100の回路構成例について説明する。
本開示のUSBリーダライタ100は、図6、図7を参照して説明したように、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部を有する。
なお、これら2つのデータ転送部は、前述したように各々が異なるカテゴリのデータを転送する論理的な2つのデータ転送部である。
これら2つのデータ転送部は、いずれもUSBリーダライタ100のUSB−microBコネクタを介して、情報処理装置300とのデータ転送を実行する。
一方のUSB−Aコネクタ側のカードスロットにはマイクロSDカード等の記録メディア200が装着される。
本開示の2つのデータ転送部を有するUSBリーダライタ100の回路構成の説明の前に、従来型のUSBリーダライタ、すなわち、上述した論理的な2つのデータ転送部を持たず、単一のデータ転送部のみを利用してデータ転送を行う従来型のUSBリーダライタの回路構成例について、図8を参照して説明する。
図8は、従来型のUSBリーダライタ10の回路構成例である。
従来型のUSBリーダライタ10は、図8に示すように、
リーダライタ制御部150、
USB−Aコネクタ151、
電圧変換部152、
USB−microBコネクタ161、
これらを有する。
USB−Aコネクタ151には、マイクロSDカード21のカードスロットが設けられている。
USB−Aコネクタ151、または、USB−microBコネクタ161が、PCや、スマートホン等の情報処理装置等のホストに接続される。
各コネクタ部記載のVbus,GNDは電顕用、D−,D+は信号用の接続部を示している。Vbusは、5Vの電源に相当する。
USBリーダライタは、これらのコネクタによって接続されたホストから5Vの電源供給を受け、電圧変換部152において変圧された3.3V(Vcc)をリーダライタ制御部150に供給する。
電圧変換部152は、例えばLDO(Low Drop Out)やDCDCコンバータによって構成される。
リーダライタ制御部(Card Reader/Writer IC)150は、3.3V(Vcc)供給電源に基づいて、USBリーダライタ10内のデータ転送制御等を実行する。例えば、図示しないメモリに格納された制御プログラムに従ってデータ転送制御を実行する。
ここでは、USB−Aコネクタ151側のカードスロットにマイクロSDカード21が装着され、USB−microBコネクタ161にスマートホン等の情報処理装置が接続された場合の処理について説明する。
リーダライタ制御部150は、USB−microBコネクタ161に接続されたスマートホン等の情報処理装置であるホストから電力供給を受け、かつホスト主導の処理を実行する。
先に図4、図5を参照して説明したように、OS(Operation System)としてAndroid(登録商標)を搭載したAndroid(登録商標)端末としてのホストは、USBポートの装着デバイスがメモリデバイスであると認識した場合、メモリデバイスに対するデータの記録、あるいはメモリデバイスからのデータ読み取り処理は許容するが、読み書きデータ以外の例えばコマンドの入出力は許容しない設定を行ってしまう場合がある。すなわち、図4、図5に示すファームウェアレイヤのマスストレージクラス(MSC)62が、スマートホン等のホストに接続されたUSB機器を記憶装置として認識すると、OSベースの制御によって、アプリケーションレイヤのアプリケーションは、読み書きデータ以外の例えばコマンドの入出力を行うことができなくなる。
リーダライタ制御部150は、このホスト主導の制御に従い、USB−Aコネクタ151側のカードスロットに装着されたマイクロSDカード21に対する記録データの転送と、マイクロSDカード21からの再生データの転送制御を行う。すなわち、リーダライタ制御部150は、USB−microBコネクタ161に接続されたホストと、USB−Aコネクタ151側のカードスロットに装着されたマイクロSDカード21との間の記録再生データの転送制御を行うことになる。
先に図4、図5を参照して説明したように、ホストとマイクロSDカード21間の認証コマンドの送受信は実行されない。
次に、図9を参照して、本開示の2つのデータ転送部を有するUSBリーダライタ100の回路構成の例について説明する。
本開示の2つのデータ転送部を有するUSBリーダライタ100は、図9に示すように、
リーダライタ制御部150、
USB−Aコネクタ151、
電圧変換部152、
USB−microBコネクタ161、
これらを有する。これらの構成は、先に図8を参照して説明した従来型のUSBリーダライタ10の回路とほぼ同様である。
本開示の2つのデータ転送部を有するUSBリーダライタ100は、図9に示すように、さらに、
電圧変換部162、
ICリセット部(Reset IC)163、
マイコン(MCU)164、
これらの構成を有する。
USB−Aコネクタ151には、マイクロSDカード等の記録メディア200を装着するカードスロットが設けられている。
USB−Aコネクタ151、または、USB−microBコネクタ161が、PCや、スマートホン等の情報処理装置等のホストに接続される。
各コネクタ部記載のVbus,GNDは電顕用、D−,D+は信号用の接続部を示している。Vbusは、5Vの電源に相当する。
USBリーダライタ100は、USB−Aコネクタ151にPC等のホストが接続された場合、USB−Aコネクタ151側の接続ホストから5Vの電源供給を受け、電圧変換部152において3.3V(Vcc)に変圧して、供給電圧3.3Vをリーダライタ制御部150に供給する。
また、USB−microBコネクタ161にスマートホン等のホストが接続された場合、USB−microBコネクタ161側の接続ホストから5Vの電源供給を受け、電圧変換部162において3.3V(Vcc)に変圧して、供給電圧3.3Vをリーダライタ制御部150、ICリセット部163、マイコン(MCU:Micro Computer Unit)164に供給する。
電圧変換部152と電圧変換部162は、例えばLDO(Low Drop Out)やDCDCコンバータによって構成される。
リーダライタ制御部(Card Reader/Writer IC)150は、3.3V(Vcc)供給電源に基づいて、USBリーダライタ100内のデータ転送制御等を実行する。例えば、図示しないメモリに格納された制御プログラムに従ってデータ転送制御を実行する。
ICリセット部163は、3.3V(Vcc)供給電源に基づいて、リーダライタ制御部(Card Reader/Writer IC)150のリセット信号入力部に、所定タイミングでリセット信号を出力する。
このリセット信号出力タイミングについては、図10、図11を参照して後段で説明する。
マイコン(MCU)164は、3.3V(Vcc)供給電源に基づいて、リーダライタ制御部(Card Reader/Writer IC)150の汎用入出力部(GPIO:General Purpose Input/Output)に対して、High信号とLow信号を所定タイミングで切り換えて出力する。
このGPIO入力信号の切り替えタイミングについては、図10、図11を参照して後段で説明する。
次に、図9を参照して説明した本開示の2つのデータ転送部を有するUSBリーダライタ100の回路における各信号の時間経過に伴う遷移について、図10、図11を参照して説明する。
図10は、USBリーダライタ100に対する電源供給ホストがUSBリーダライタ100のUSB−Aコネクタ151に接続された場合の信号遷移図である。
図11は、USBリーダライタ100に対する電源供給ホストがUSBリーダライタ100のUSB−microBコネクタ161に接続された場合の信号遷移図である。
図10、図11には、上段から、
(1)Vcc_a
(2)Vcc_b
(3)RESET
(4)GPIO(General Purpose Input/Output)
これら(1)〜(4)の信号の遷移を示している。
再下段に示す時間軸(T)の左から右に時間が経過し、この時間経過に伴う信号の遷移を示している。
(1)Vcc_aは、リーダライタ制御部150に対するUSB−Aコネクタ151側接続ホストからの供給電圧の遷移である。電源供給が開始されると3.3Vに設定される。
(2)Vcc_bは、リーダライタ制御部150に対するUSB−microBコネクタ161側接続ホストからの供給電圧の遷移である。電源供給が開始されると3.3Vに設定される。
(3)RESETは、リーダライタ制御部150に対してICリセット部163から入力されるRESET信号の遷移である。RESET信号が入力されていない状態では、Lowに維持されるが、RESET信号が入力されると信号値が所定時間Highに設定される。
(4)GPIO(General Purpose Input/Output)は、リーダライタ制御部150のGPIO部に対してマイコン(MCU)164から入力されるGPIO信号の遷移である。マイコン164の制御によってHigh、またはLowのいずれかの信号がリーダライタ制御部150のGPIO部に入力される。
まず、図10に示す信号遷移図について説明する。
図10は、USBリーダライタ100に対する電源供給ホストがUSBリーダライタ100のUSB−Aコネクタ151に接続された場合の信号遷移図である。
例えば、USBリーダライタ100のUSB−Aコネクタ151にPC等の電力供給ホストが接続された場合の設定である。
具体的には、例えば、SB−Aコネクタ151側にPC、USB−microBコネクタ161側にカメラなどが接続され、PCとカメラ間でデータにの入出力が行われる場合の設定に相当する。
図10に示す時間t1において、電源供給ホストがUSBリーダライタ100のUSB−Aコネクタ151に接続されたとする。この場合、時間t1において、リーダライタ制御部150の電源供給部(Vcc_a)に、USB−Aコネクタ151の接続ホストから3.3Vの電源供給が開始される。
USBリーダライタ100は、この電源供給に応じて、リーダライタ制御部150のGPIO(General Purpose Input/Output)部の入力信号値を検証する。
このGPIO入力値がLow信号であることを確認し、その後、USBリーダライタ100のUSB−Aコネクタ151に接続されたホストの指示に応じたデータ入出力制御を開始する。
次に、図11に示す信号遷移図について説明する。
図11は、USBリーダライタ100に対する電源供給ホストがUSBリーダライタ100のUSB−microBコネクタ161に接続された場合の信号遷移図である。
具体的には、USBリーダライタ100のUSB−Bコネクタ161にスマートホン等が接続され、USB−Aコネクタ151のカードスロット部にマイクロSDカードが装着された場合の設定に相当する。
図11に示す時間t1において、電源供給ホストがUSBリーダライタ100のUSB−microBコネクタ161に接続されたとする。この場合、時間t1において、リーダライタ制御部150の電源供給部(Vcc_b)と、ICリセット部163と、マイコン(MCU)164の各々にUSB−microBコネクタ161の接続ホストから3.3Vの電源供給が開始される。
この電源供給開始後、以下に示すステップ(S1)〜(S3)の順で処理が行われる。
(S1)マイコン(MCU)164は、USB−microBコネクタ161の接続ホストから3.3Vの電源供給が開始されると、リーダライタ制御部150のGPIO(General Purpose Input/Output)部に対して、High信号を出力する。(図11の時間t2)
(S2)ICリセット部163は、USB−microBコネクタ161の接続ホストから3.3Vの電源供給が開始された後、所定時間(t2〜t3)経過後、リーダライタ制御部150のリセット信号入力部に対して、リセット信号を出力(図11(3)のRESET信号=High)する。(図11の時間t3)
(S3)リーダライタ制御部150は、ICリセット部163からのリセット信号の入力に応じて、GPIO部に対する入力がHigh信号に維持されていることを確認する。(図11の時間t4)
リーダライタ制御部150は、GPIO入力値がHigh信号であることを確認し、その後、USBリーダライタ100のUSB−microBコネクタ161に接続されたホストの指示に応じたデータ入出力制御を開始する。
ただし、リーダライタ制御部150は、GPIO入力値がHigh信号である状態では、図6、図7を参照して説明した2つのデータ転送部を利用した異なるカテゴリのデータ(メディアを利用した記録再生データと、認証コマンド等の記録再生データ以外のデータ)の転送制御を実行する。すなわち、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部を利用したデータ転送制御を実行する。
すなわち、リーダライタ制御部150は、GPIO入力値がLow信号の設定である場合は、従来と同様の単一のデータ転送部を介したデータ転送制御を行うが、GPIO入力値がHigh信号の設定である場合、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部を利用したデータ転送制御を実行する。
具体的には、
(1)マスストレージクラス(MSC)対応データ転送部110を利用した記録メディア200に対する記録再生データの転送制御を実行し、併せて、
(2)非マスストレージクラス(MSC)対応データ転送部120を利用した認証コマンドや認証用データ、その他のセキュリティ情報のデータ転送を行う。
GPIO入力値がHigh信号の設定となるのは、USB−microBコネクタ161に電源供給ホストが接続され、USB−Aコネクタ151側に設定された記録メディア装着部に記録メディアが装着された場合等である。このような設定が検出されると、リーダライタ制御部150は、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部各々を利用してそれぞれ異なる種類のデータ転送を実行する。
[5.USBリーダライタを接続したホストの構成例と処理例について]
次に、USBリーダライタを接続したホストの構成例と処理例について説明する。
以下に説明する構成例は、USBリーダライタ100と、OSとしてAndroid(登録商標)を搭載したスマートホン等の情報処理装置300との間で実行されるデータ転送処理構成である。
以下に示す3つの構成例について順次、説明する。
(1)構成例A(図12、図13)
(2)構成例B(図14、図15)
(3)構成例C(図16、図17)
[5−1.構成例Aについて]
図12を参照して、本開示の1つのデータ転送構成例(構成例A)について説明する。
図12には、先に図4を参照して説明したレイヤ構成と同様、USBリーダライタ100を装着したスマートホン等の情報処理装置300の処理レイヤを示している。
情報処理装置300の処理レイヤは大きく以下の2つのレイヤに区分できる。
(A)アプリケーション(APP)レイヤ
(B)ファームウェア(FW)レイヤ
これらの2つのレイヤである。
(A)アプリケーション(APP)レイヤは、情報処理装置300が、様々なアプリケーション提供サイト等からダウンロードして追加記録するなど追加、変更、削除可が容易なプログラムのレイヤである。
一方、(B)ファームウェア(FW)レイヤは、情報処理装置300に基本的に固定プログラムとして記録されたプログラムのレイヤである。
なお、OS(Operating System)であるAndroid(登録商標)OSからなるOSレイヤは、図には示していないが、図12の(A)アプリケーションレイヤと、(B)ファームウェアレイヤの間に位置する。
ただし、(B)ファームウェアレイヤの一部構成、例えば、ファイルシステム(File System)313や、マスストレージクラス(Mass Strage Class)312は、OSレイヤの一部として解釈される場合もある。
なお、図12に示す各レイヤ内のプログラム等の構成は、本開示の処理において利用される一部の構成のみを示している。
例えば、情報処理装置300には様々なアプリケーションが搭載可能であるが、図12の(A)アプリケーション(APP)レイヤには、本開示の処理に直接関連する1つのアプリケーションのみを示している。
図12(A)アプリケーション(APP)レイヤに示すアプリケーションは、メディアに格納されたコンテンツを読み出して再生処理を実行する再生アプリケーション350である。
この再生アプリケーション350は、予め規定された所定のアルゴリズムに従ってコンテンツを格納したメディアとの認証処理を実行し、認証成立を条件として、メディアからコンテンツを読み出して再生処理を実行する。
再生アプリケーション350は、具体的には、例えば、次世代著作権保護技術の規格であるSQV(SeeQVault)に従ってコンテンツ再生を実行するアプリケーションであるSQVプレーヤ等によって構成可能である。
なお、SQV(SeeQVault)は、SDカード等のフラッシュメモリに利用制御コンテンツ、例えば著作権管理対象コンテンツを記録、再生する場合に、所定の利用管理下での処理を実行させることを可能としたコンテンツ利用管理を実現する規格である。
再生アプリケーション350は、コンテンツを格納したメディアとの認証処理が成立しない場合、メディアからのコンテンツ再生を実行することはできない。
認証処理が成立し、メディアの正当性が確認された場合にメディアからコンテンツを読み出し、再生を実行することができる。
再生アプリケーション350は、再生アプリライブラリ(例えばSQVライブラリ)351を有する。
再生アプリライブラリ351は、再生アプリケーション350のコンポーネントであり、再生アプリケーション350の実行する様々な処理のロジックを実装したロジック実装部である。
この再生アプリケーション350は、OS(Operating System)としてのAndroid(登録商標)上で動作するアプリケーションである。
(B)ファームウェア(FW)レイヤは、情報処理装置300に基本的に固定プログラムとして記録されたソフトウェアレイヤである。
なお、図12には、本開示の処理において利用される一部のファームウェアのみを示している。
図12には、ファイルシステム(File System)311と、マスストレージクラス(Mass Strage Class)312と、USBホストドライバ313と、USBホストAPI314を示している。
ファイルシステム(File System)311は、Android(登録商標)端末である情報処理装置300のファームウェア(FW)レイヤを構成する1つのコンポーネントであり、所定のファイルシステム規定に従って記録メディア200、例えばマイクロSDカードに対するデータの読み書き(Read/Write)機能を実現するプログラムである。例えばFAT32やexFATなどのファイルシステム規定に従ってデータの読み書きを実行する。
マスストレージクラス(MSC:Mass Strage Class)312は、Android(登録商標)端末である情報処理装置300のファームウェア(FW)レイヤを構成する1つのコンポーネントであり、マスストレージクラスホスト機能を実行するプログラムである。
マスストレージクラス(MSC:Mass Storage Class)とはUSB規格で定められているUSBメモリ等の補助記憶装置を接続するための仕様である。情報処理装置に接続されたUSB機器を記憶装置として認識して記憶装置用の制御を実行するためのドライバプログラムである。
このマスストレージクラス(MSC:Mass Storage Class)を実装した機器では、外部接続するメディアに対応した専用のドライバを個別にインストールすることなく、接続されたUSB機器をリムーバブルメディアとして認識し、データの記録や読み取りを行うことが可能となる。
USBホストドライバ313は、Android(登録商標)端末である情報処理装置300のファームウェア(FW)レイヤを構成する1つのコンポーネントであり、USBデバイスの挿抜検出などのUSBにおける汎用的な機能を実装している。
USBホストAPI314は、先に図5を参照して説明したように、Android(登録商標)3.1以降において利用可能となったコンポーネントであり、USBホスト機能、すなわちUSBデバイスに対する制御機能を持ち、USBデバイスとアプリケーションとのデータ転送制御機能を提供するAPIである。
図12に示す構成において、USBデバイスは、メディア(記録メディア200)を装着したUSBリーダライタ100であり、USBホストAPI(USB HOST API)314は、記録メディア200を装着したUSBリーダライタ100に対する制御を行うことが可能となる。
図12の最下層に示す(C)デバイスは、USBリーダライタ(USB R/W)100である。USBリーダライタ100は、図12に示すように、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部を有する。
なお、前述したように、これら2つのデータ転送部は、物理的には1つのデータ転送部であるが、各々が異なるカテゴリのデータを転送する論理的な2つのデータ転送部として構成される。
これら2つのデータ転送部は、いずれもUSBリーダライタ100のUSB−microBコネクタを介して、情報処理装置300とのデータ転送を実行する。
一方のUSB−Aコネクタ側のカードスロットにはマイクロSDカード等の記録メディア200が装着される。
非マスストレージクラス(MSC)対応データ転送部120は、一例として、例えばベンダーユニーククラス対応データ転送部や、HID(Human Interface Device)クラス対応データ転送部によって構成可能である。
このUSBリーダライタ(USB R/W)100は、
(a)USB−Aコネクタ
(b)USB−microBコネクタ
これら2つのコネクタを有する。
従って、スマートホン等の情報処理装置300に対して、
(a)USB−Aコネクタが接続された状態、
(b)USB−microBコネクタが接続された状態、
これら2つの接続状態が設定可能となる。
さらに、
(b)USB−microBコネクタが接続された状態、
この状態においては、
USB−Aコネクタ側に
(b1)マイクロSDカード等の記録メディア200が挿入されている状態、
(b2)その他の装置が接続された状態
これらの2つの状態がある。
ここでは、USBリーダライタ(USB R/W)100の設定が、上記の状態(b1)、すなわち、
スマートホン等の情報処理装置300にUSB−microBコネクタが接続され、一方のUSB−Aコネクタ側にマイクロSDカード等の記録メディア200が挿入されている状態、
この接続状態における処理について説明する。
再生アプリケーション350は、予め規定された所定のアルゴリズムに従ってコンテンツを格納したメディア、すなわちUSBリーダライタ100に装着されたマイクロSDカード等の記録メディア200との認証処理を実行し、認証成立を条件として、記録メディア200からコンテンツを読み出して再生処理を実行する。
図12に示すスマートホン等の情報処理装置300は、OS(Operation System)としてAndroid(登録商標)を搭載した情報処理装置300である。
先に図4等を参照して説明したAndroid(登録商標)端末では、USBポートの装着デバイスがメモリデバイスであると認識した場合、メモリデバイスに対するデータの記録、あるいはメモリデバイスからのデータ読み取り処理は許容するが、読み書きデータ以外の例えばコマンドの入出力は許容しない設定となってしまう。
すなわち、ファームウェアレイヤのマスストレージクラス(MSC)が、接続されたUSB機器を記憶装置として認識すると、OSベースの制御によって、アプリケーションレイヤのいかなるアプリケーションも、読み書きデータ以外の例えばコマンドの入出力が禁止される。
しかし、図12に示す本開示の構成において、USBホストである(情報処理装置300)のAndroid(登録商標)上で動作する再生アプリケーション350は、USBデバイスであるUSBリーダライタ100の2つのデータ転送部を利用して、記録メディア200との記録再生データの転送と、認証処理等に用いるコマンドの転送を実現する。
すなわち、図12に示す記録再生データパス411を介して記録メディア200に対する記録再生データの転送を行い、図12に示すセキュリティコマンドパス412を介して認証処理等に用いるコマンド等の転送を実行する。
従って、再生アプリケーション350は、セキュリティコマンドパス412を介してリーダライタ100に装着されたマイクロSDカード等の記録メディア200との認証処理を実行し、認証処理の成立後に、記録再生データパス411を介して記録メディア200からデータを読み出して、読み出しデータを再生することが可能となる。
記録再生データパス411は、再生アプリケーション350と、マイクロSDカード等の記録メディア200間の記録再生用データファイルの送受信パスである。
セキュリティコマンドパス412は、例えば、再生アプリケーション350と、記録メディア200との認証処理において送受信されるコマンドのパスを示している。
記録再生データパス411は、以下の経路となる。
記録メディア200〜USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110〜USBホストドライバ313〜マスストレージクラス(MSC)312〜ファイルシステム311〜再生アプリケーション350
記録再生データは、この記録再生データパス411を経由して記録メディア200と再生アプリケーション350との間でデータ転送される。
また、セキュリティコマンドパス412は、以下の経路となる。
記録メディア200〜USBリーダライタ100の非マスストレージクラス(MSC)対応データ転送部120〜USBホストドライバ313〜USBホストAPI314〜再生アプリケーション350
再生アプリケーション350と、記録メディア200との認証処理において送受信される認証コマンドや認証データは、このセキュリティコマンドパス412を経由して記録メディア200と再生アプリケーション350との間でデータ転送される。
なお、これら、記録再生データとセキュリティコマンドとの2つの異なる種類のデータ転送は、USBリーダライタ100のリーダライタ制御部150の制御と、情報処理装置300の再生アプリケーション350の双方の制御によって実現可能となる。
USBリーダライタ100のリーダライタ制御部150は、先に図9、図11を参照して説明したようにGPIO入力がHighの設定である場合に、
(1)マスストレージクラス(MSC)対応データ転送部110、
(2)非マスストレージクラス(MSC)対応データ転送部120、
これらの2つのデータ転送部を介した2つの異なる種類のデータ転送を許容したデータ転送制御を行う。
また、情報処理装置300の再生アプリケーション350は、USBリーダライタ100に装着された記録メディア200からのデータ読み出しおよび再生処理に先行して、記録メディア200との認証処理を実行する。この認証処理に際して、USBホストAPI314を介した認証コマンドの送受信を実行する。
このように、情報処理装置300の再生アプリケーション350は、まず、セキュリティコマンドパス412、すなわちUSBホストAPI314を介したパスを経由して認証コマンドの送受信を実行して記録メディア200との認証処理を実行する。
この認証処理によって、認証が成立し、双方の正当性が確認された場合、情報処理装置300の再生アプリケーション350は、記録再生データパス411を利用して記録メディア200に記録されたデータの読み出しを行い、読み出しデータの再生処理を実行する。
次に、図13に示すシーケンス図を参照して図12に示す2つのパスを利用した処理シーケンスについて説明する。
図13に示すシーケンス図は、スマートホン等の情報処理装置300が、USBリーダライタ100に装着された記録メディア200との認証処理を実行し、認証成立を条件として、記録メディア200からデータ(暗号化コンテンツ)を読み出して、読み出した暗号化コンテンツを復号して、再生処理を行なう場合の処理シーケンスを説明するシーケンス図である。
以下、各処理ステップについて、順次、説明する。
(ステップS201)
まず、ステップS201において、情報処理装置300のユーザ操作部を介してユーザがコンテンツ再生指示要求を入力する。
この要求は、情報処理装置300の制御部の制御の下、再生アプリケーション350に入力される。
(ステップS202)
再生アプリケーション350は、ユーザによるコンテンツ再生要求の入力に応じて、コンテンツを格納した記録メディア200との認証処理を開始する。
この認証処理は、図12を参照して説明したセキュリティコマンドパス412を利用して実行される。すなわち、セキュリティコマンドパス412を利用して再生アプリケーション350と記録デバイス200間で認証処理に必要となる各種の認証コマンドや認証用データ等が送受信され、規定の認証アルゴリズムに従った認証処理が実行される。
セキュリティコマンドパス412は、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のUSBホストAPI314、
(3)情報処理装置300のファームウェア(FW)のUSBホストドライバ313、
(4)USBリーダライタ100の非マスストレージクラス(MSC)対応データ転送部120、
(5)記録メディア200、
再生アプリケーション350と、記録メディア200との認証処理において送受信される認証コマンドや認証データ等は、このセキュリティコマンドパス412を経由して転送される。
ステップS202において、このセキュリティコマンドパス412を利用した認証処理が実行され、認証が成立した場合に限り、ステップS203以下の処理を実行する。
認証が成立しない場合は、ステップS203以下の処理は実行されない。すなわち記録メディア200からのデータ(暗号化コンテンツ)の読み出しと再生処理は実行されないことになる。
(ステップS203〜S204)
ステップS202の認証処理において認証が成立した場合、再生アプリケーション350は、ステップS203〜S204において、記録メディア200の記録データ(暗号化コンテンツ)の読み取り処理を実行する。
このデータ読み取り処理は、図12を参照して説明した記録再生データパス411を介して実行する。
記録再生データパス411は、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のファイルシステム311、
(3)情報処理装置300のファームウェア(FW)のマスストレージクラス312、
(4)情報処理装置のファームウェア(FW)のUSBホストドライバ313、
(5)USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110、
(6)記録メディア200、
再生アプリケーション350と、記録メディア200との記録再生データの送受信は、この記録再生データパス411を利用して転送される。
(ステップS205〜S206)
ステップS203〜S204において、記録メディア200から再生用の暗号化コンテンツを取得した再生アプリケーション350は、ステップS205において、取得データである暗号化コンテンツの復号、デコード処理を実行し、ステップS206において、復号、デコード結果である再生データを出力部(ディスプレイ、スピーカ)に出力する。
[5−2.構成例Bについて]
次に、図14、図15を参照して構成例Bについて説明する。
図14は、先に[構成例A]として説明した図12に示す構成と同様、USBリーダライタ100を装着したスマートホン等の情報処理装置300の処理レイヤを示している。
情報処理装置300の処理レイヤは大きく以下の2つのレイヤに区分できる。
(A)アプリケーション(APP)レイヤ
(B)ファームウェア(FW)レイヤ
これらの2つのレイヤである。
構成例Bは、(B)ファームウェア(FW)レイヤに、コマンドデーモン(Command Daemon)315を有する。
コマンドデーモン(Command Daemon)316は、Android(登録商標)端末のファームウェア(FW)内の1つのコンポーネントとして設定され、アプリケーションに対して、ファイルシステム311経由以外のもう1つのマスストレージクラス(Mass Storage Class)312を介したUSBデバイス(本例では記録メディア200を装着したUSBリーダライタ100)へのアクセス機能を提供するコンポーネントである。
すなわち、コマンドデーモン(Command Daemon)316は、マスストレージクラス312を介して認証コマンド等の記録再生データ以外のデータの通信を実現する通信機能提供コンポーネント(プログラム)である。
構成例Bでは、このコマンドデーモン(Command Daemon)316を利用して、認証コマンドや認証データを情報処理装置300の再生アプリケーション350と、記録メディア200間での転送を実現する。
なお、この構成例Bでは、USBリーダライタ100の2つのデータ転送部中、一方のマスストレージクラス(MSC)対応データ転送部110のみを利用する。
記録再生データ、および認証処理に適用する認証コマンド等のデータのいずれもマスストレージクラス(MSC)対応データ転送部110のみを介して転送する。
再生アプリケーション350は、予め規定された所定のアルゴリズムに従ってコンテンツを格納したメディア、すなわちUSBリーダライタ100に装着されたマイクロSDカード等の記録メディア200との認証処理を実行し、認証成立を条件として、記録メディア200からコンテンツを読み出して再生処理を実行する。
図14に示すスマートホン等の情報処理装置300は、OS(Operation System)としてAndroid(登録商標)を搭載した情報処理装置300である。
先に図4等を参照して説明したAndroid(登録商標)端末では、USBポートの装着デバイスがメモリデバイスであると認識した場合、メモリデバイスに対するデータの記録、あるいはメモリデバイスからのデータ読み取り処理は許容するが、読み書きデータ以外の例えばコマンドの入出力は許容しない設定となってしまう。
すなわち、ファームウェアレイヤのマスストレージクラス(MSC)が、接続されたUSB機器を記憶装置として認識すると、OSベースの制御によって、アプリケーションレイヤのいかなるアプリケーションも、読み書きデータ以外の例えばコマンドの入出力が禁止される。
しかし、図14に示す本開示の構成において、USBホストである(情報処理装置300)のAndroid(登録商標)上で動作する再生アプリケーション350は、コマンドデーモン(Command Daemon)315を利用して、記録メディア200との認証処理等に用いるコマンドの転送を実現する。
再生アプリケーション350は、図14に示す記録再生データパス421を介して、記録メディア200に対する記録再生データの転送を行い、図14に示すセキュリティコマンドパス422を介して認証処理等に用いるコマンドの転送を実行する。
再生アプリケーション350は、セキュリティコマンドパス422を介してリーダライタ100に装着されたマイクロSDカード等の記録メディア200との認証処理を実行し、認証処理の成立後に、記録再生データパス421を介して記録メディア200からデータを読み出して、読み出しデータを再生することが可能となる。
記録再生データパス421は、再生アプリケーション350と、マイクロSDカード等の記録メディア200間の記録再生用データファイルの送受信パスである。
セキュリティコマンドパス422は、例えば、再生アプリケーション350と、記録メディア200との認証処理において送受信されるコマンドのパスを示している。
本構成例Bにおいて、記録再生データパス421は、以下の経路となる。
記録メディア200〜USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110〜USBホストドライバ313〜マスストレージクラス(MSC)312〜ファイルシステム311〜再生アプリケーション350
記録再生データは、この記録再生データパス421を経由して記録メディア200と再生アプリケーション350との間でデータ転送される。
また、セキュリティコマンドパス422は、以下の経路となる。
記録メディア200〜USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110〜USBホストドライバ313〜マスストレージクラス(MSC)312〜コマンドデーモン(Command Daemon)315〜再生アプリケーション350
再生アプリケーション350と、記録メディア200との認証処理において送受信される認証コマンドや認証データは、このセキュリティコマンドパス422を経由して記録メディア200と再生アプリケーション350との間で転送される。
次に、図15に示すシーケンス図を参照して図14に示す2つのパスを利用した処理シーケンスについて説明する。
図15に示すシーケンス図は、スマートホン等の情報処理装置300が、USBリーダライタ100に装着された記録メディア200との認証処理を実行し、認証成立を条件として、記録メディア200からデータ(暗号化コンテンツ)を読み出して、読み出した暗号化コンテンツを復号して、再生処理を行なう場合の処理シーケンスを説明するシーケンス図である。
以下、各処理ステップについて、順次、説明する。
(ステップS221)
まず、ステップS221において、情報処理装置300のユーザ操作部を介してユーザがコンテンツ再生指示要求を入力する。
この要求は、情報処理装置300の制御部の制御の下、再生アプリケーション350に入力される。
(ステップS222)
再生アプリケーション350は、ユーザによるコンテンツ再生要求の入力に応じて、コンテンツを格納した記録メディア200との認証処理を開始する。
この認証処理は、図14を参照して説明したセキュリティコマンドパス422を利用して実行される。すなわち、セキュリティコマンドパス422を利用して再生アプリケーション350と記録デバイス200間で認証処理に必要となる各種の認証コマンドや認証用データ等が送受信され、規定の認証アルゴリズムに従った認証処理が実行される。
セキュリティコマンドパス422は、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のコマンドデーモン315、
(3)情報処理装置300のファームウェア(FW)のマスストレージクラス312、
(4)情報処理装置300のファームウェア(FW)のUSBホストドライバ313、
(5)USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110、
(6)記録メディア200、
再生アプリケーション350と、記録メディア200との認証処理において送受信される認証コマンドや認証データ等は、このセキュリティコマンドパス422を経由して転送される。
ステップS222において、このセキュリティコマンドパス422を利用した認証処理が実行され、認証が成立した場合に限り、ステップS223以下の処理を実行する。
認証が成立しない場合は、ステップS223以下の処理は実行されない。すなわち記録メディア200からのデータ(暗号化コンテンツ)の読み出しと再生処理は実行されないことになる。
(ステップS223〜S224)
ステップS222の認証処理において認証が成立した場合、再生アプリケーション350は、ステップS223〜S224において、記録メディア200の記録データ(暗号化コンテンツ)の読み取り処理を実行する。
このデータ読み取り処理は、図14を参照して説明した記録再生データパス421を介して実行する。
記録再生データパス421は、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のファイルシステム311、
(3)情報処理装置300のファームウェア(FW)のマスストレージクラス312、
(4)情報処理装置のファームウェア(FW)のUSBホストドライバ313、
(5)USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110、
(6)記録メディア200、
再生アプリケーション350と、記録メディア200との記録再生データの送受信は、この記録再生データパス421を利用して転送される。
(ステップS225〜S226)
ステップS223〜S224において、記録メディア200から再生用の暗号化コンテンツを取得した再生アプリケーション350は、ステップS225において、取得データである暗号化コンテンツの復号、デコード処理を実行し、ステップS226において、復号、デコード結果である再生データを出力部(ディスプレイ、スピーカ)に出力する。
[5−3.構成例Cについて]
次に、図16、図17を参照して構成例Cについて説明する。
図16は、先に[構成例A]として説明した図12に示す構成と同様、USBリーダライタ100を装着したスマートホン等の情報処理装置300の処理レイヤを示している。
情報処理装置300の処理レイヤは大きく以下の2つのレイヤに区分できる。
(A)アプリケーション(APP)レイヤ
(B)ファームウェア(FW)レイヤ
これらの2つのレイヤである。
構成例Cは、先に、図12、図13を参照して説明した[構成例A]と同様、(B)ファームウェア(FW)レイヤに設定したUSBホストAPI314を利用したデータ転送を行う。
ただし、構成例Aでは、セキュリティコマンドパス412のみをUSBホストAPI314を利用して設定した構成であったが、本[構成例C]では、図16に示すように、セキュリティコマンドパス432のみならず、記録再生データパス431も、USBホストAPI314を利用したパスとして設定している。
なお、USBホストAPI314は、先に図5を参照して説明したように、Android(登録商標)3.1以降において利用可能となったコンポーネントであり、USBホスト機能、すなわちUSBデバイスに対する制御機能を持ち、USBデバイスとアプリケーションとのデータ転送制御機能を提供するAPIである。
図16に示す構成において、USBデバイスは、メディア(記録メディア200)を装着したUSBリーダライタ100であり、USBホストAPI(USB HOST API)314は、記録メディア200を装着したUSBリーダライタ100に対する制御を行うことが可能となる。
さらに、本構成例Cでは、(A)アプリケーション(APP)レイヤの再生アプリケーション350にファイルシステム352と、マスストレージクラス353を設定した点が構成例A,Bと大きく異なる点である。
構成例Cでは、記録メディア200に対する記録再生データのアクセスに際して、(B)ファームウェア(FW)レイヤのファイルシステム311と、マスストレージクラス312を利用せず、(A)アプリケーション(APP)レイヤの再生アプリケーション350内のファイルシステム352と、マスストレージクラス353を利用する。
OSとしてAndroid(登録商標)を有するAndroid(登録商標)端末である情報処理装置300は、USBポートに接続されたデバイスがストレージデバイスであると認識し、OS制御下でFWのマスストレージクラス353による制御が開始されると、FWのマスストレージクラス353は、転送データを記録再生データのみに制限してしまう。
本構成例Cは、このような制限を回避するため、アプリケーションレイヤにファイルシステム352と、マスストレージクラス353を設定し、これらを利用した記録メディア200に対するアクセス(データ読み書き)を実行する。
本構成例Cにおいて、記録再生データパス431は、以下の経路となる。
記録メディア200〜USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110〜USBホストドライバ313〜USBホストAPI314〜再生アプリケーション350
なお、再生アプリケーション350は、再生アプリケーション350内のマスストレージクラス(MSC)353と、ファイルシステム352を利用して記録メディア200から取得した再生データの処理、または記録メディア200に対する記録データの生成を行う。
また、セキュリティコマンドパス432は、以下の経路となる。
記録メディア200〜USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110〜USBホストドライバ313〜USBホストAPI314〜再生アプリケーション350
再生アプリケーション350と、記録メディア200との認証処理において送受信される認証コマンドや認証データは、このセキュリティコマンドパス432を経由して記録メディア200と再生アプリケーション350との間で転送される。
次に、図17に示すシーケンス図を参照して図16に示す2つのパスを利用した処理シーケンスについて説明する。
図17に示すシーケンス図は、スマートホン等の情報処理装置300が、USBリーダライタ100に装着された記録メディア200との認証処理を実行し、認証成立を条件として、記録メディア200からデータ(暗号化コンテンツ)を読み出して、復号して、再生処理を行なう場合の処理シーケンスを説明するシーケンス図である。
以下、各処理ステップについて、順次、説明する。
(ステップS241)
まず、ステップS241において、情報処理装置300のユーザ操作部を介してユーザがコンテンツ再生指示要求を入力する。
この要求は、情報処理装置300の制御部の制御の下、再生アプリケーション350に入力される。
(ステップS242)
再生アプリケーション350は、ユーザによるコンテンツ再生要求の入力に応じて、コンテンツを格納した記録メディア200との認証処理を開始する。
この認証処理は、図16を参照して説明したセキュリティコマンドパス432を利用して実行される。すなわち、セキュリティコマンドパス432を利用して再生アプリケーション350と記録デバイス200間で認証処理に必要となる各種の認証コマンドや認証用データ等が送受信され、規定の認証アルゴリズムに従った認証処理が実行される。
セキュリティコマンドパス432は、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のUSBホストAPI314、
(3)情報処理装置300のファームウェア(FW)のUSBホストドライバ313、
(4)USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110、
(5)記録メディア200、
再生アプリケーション350と、記録メディア200との認証処理において送受信される認証コマンドや認証データ等は、このセキュリティコマンドパス432を経由して転送される。
ステップS242において、このセキュリティコマンドパス432を利用した認証処理が実行され、認証が成立した場合に限り、ステップS243以下の処理を実行する。
認証が成立しない場合は、ステップS243以下の処理は実行されない。すなわち記録メディア200からのデータ(暗号化コンテンツ)の読み出しと再生処理は実行されないことになる。
(ステップS243〜S244)
ステップS242の認証処理において認証が成立した場合、再生アプリケーション350は、ステップS243〜S244において、記録メディア200の記録データ(暗号化コンテンツ)の読み取り処理を実行する。
このデータ読み取り処理は、図16を参照して説明した記録再生データパス431を介して実行する。
記録再生データパス431は、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350(ファイルシステム352、マスストレージクラス353を含む)、
(2)情報処理装置300のファームウェア(FW)のUSBホストAPI314、
(3)情報処理装置のファームウェア(FW)のUSBホストドライバ313、
(4)USBリーダライタ100のマスストレージクラス(MSC)対応データ転送部110、
(5)記録メディア200、
再生アプリケーション350と、記録メディア200との記録再生データの送受信は、この記録再生データパス431を利用して転送される。
(ステップS245〜S246)
ステップS243〜S244において、記録メディア200から再生用の暗号化コンテンツを取得した再生アプリケーション350は、ステップS245において、取得データである暗号化コンテンツの復号、デコード処理を実行し、ステップS246において、復号、デコード結果である再生データを出力部(ディスプレイ、スピーカ)に出力する。
[6.情報処理装置の再生アプリケーションの実行する処理のシーケンスについて]
次に、図18に示すフローチャートを参照して、情報処理装置300の再生アプリケーションが、ユーザからのコンテンツ再生要求に応じて、記録メディア200との認証処理を開始するまでの処理シーケンスについて説明する。
情報処理装置300の再生アプリケーション350と、USBリーダライタ200に装着された記録メディア200との間で実行する認証処理は、図12〜図17を参照して説明した3つの構成例A〜Cのいずれかの構成を用いた処理として実行される。
図18に示すフローは、再生アプリケーション350が、これら構成例A〜Cのいずれの構成に従ったセキュリティコマンドパスを利用した処理が可能であるかを、順次確認して、利用可能なパスを利用して認証処理を開始するまでの処理手順を説明するフローチャートである。
フローに示す各ステップの処理について、順次、説明する。
(ステップS301)
ステップS301において、情報処理装置300の再生アプリケーション350は、USBリーダライタ100に装着された記録メディア200対して、ホスト(情報処理装置300)のUSBホストAPIと、デバイス(USBリーダライタ100)の非MSC対応データ転送部を介したアクセスが可能か否かを判定する。
これは、先に図12、図13を参照して説明した[構成例A]におけるセキュリティコマンドパス412が利用可能か否かを判定する処理である。
なお、この判定処理は、例えば、再生アプリケーション350から記録メディア200に対する認証コマンドの送信処理によって実行可能である。図12に示すセキュリティコマンドパス412が存在することを想定して認証コマンドの送信処理をトライする。
コマンド送信に成功した場合は、ステップS301の判定はYesとなり、ステップS302に進む。
コマンド送信に失敗した場合は、ステップS301の判定はNoとなり、ステップS303に進む。
なお、コマンド送信に成功したか否かは、例えば記録デバイスからの応答(ACK)の受信有無によって判定することができる。
(ステップS302)
ステップS301の判定処理がYesと判定された場合は、ステップS302に進む。
ステップS302では、ホスト(情報処理装置300)のUSBホストAPIと、デバイス(USBリーダライタ100)の非MSC対応データ転送部を利用して認証処理を実行する。
これは、先に図12、図13を参照して説明した[構成例A]におけるセキュリティコマンドパス412を利用した認証処理である。
(ステップS303)
ステップS301の判定処理がNoと判定された場合、すなわち、図12、図13を参照して説明した[構成例A]におけるセキュリティコマンドパス412を利用した認証コマンド送信に失敗した場合は、ステップS303に進む。
ステップS303において、情報処理装置300の再生アプリケーション350は、USBリーダライタ100に装着された記録メディア200に対して、コマンドデーモン(Command Daemon)によるアクセスが可能か否かを判定する。
これは、先に図14、図15を参照して説明した[構成例B]におけるセキュリティコマンドパス422が利用可能か否かを判定する処理である。
なお、この判定処理は、例えば、再生アプリケーション350から記録メディア200に対する認証コマンドの送信処理によって実行可能である。図14に示すセキュリティコマンドパス422が存在することを想定してコマンドデーモンを介した認証コマンドの送信処理をトライする。
コマンド送信に成功した場合は、ステップS303の判定はYesとなり、ステップS304に進む。
コマンド送信に失敗した場合は、ステップS303の判定はNoとなり、ステップS305に進む。
なお、コマンド送信に成功したか否かは、例えば記録デバイスからの応答(ACK)の受信有無によって判定することができる。
(ステップS304)
ステップS303の判定処理がYesと判定された場合は、ステップS304に進む。
ステップS304において、再生アプリケーション350は、ホスト(情報処理装置300)のコマンドデーモン(Command Daemon)とデバイス(USBリーダライタ100)のMSC対応データ転送部を利用して認証処理を実行する。
これは、先に図14、図15を参照して説明した[構成例B]におけるセキュリティコマンドパス422を利用した認証処理である。
(ステップS305)
ステップS303の判定処理がNoと判定された場合、すなわち、図14、図15を参照して説明した[構成例B]におけるセキュリティコマンドパス422を利用した認証コマンド送信に失敗した場合は、ステップS305に進む。
ステップS303において、再生アプリケーション350は、ホスト(情報処理装置300)のUSBホストAPIと、デバイス(USBリーダライタ100)のMSC対応データ転送部を利用して認証処理を実行する。
これは、先に図16、図17を参照して説明した[構成例C]におけるセキュリティコマンドパス432を利用した認証処理である。
情報処理装置300の再生アプリケーション350は、このように、認証コマンドの転送に成功するパスを順次、検索し、成功したパスを利用した認証処理を実行する。
なお、図18に示すフローでは、構成例A,B,Cの順番に従ってセキュリティコマンドパスを順次、利用可能か否かを判定するシーケンス例を説明したが、このパス確認の順番は様々な設定が可能である。例えば、構成例B,A,Cの順に従ったパス利用可否判定や、構成例C,B,Aの順に従ったパス利用の可否判定など、様々な順番でパス検索を行う設定としてよい。
[7.情報処理装置(ホスト)に複数のUSBリーダライタが装着された場合の処理について]
上述した実施例では、スマートホン等の情報処理装置に対して、1つのUSBリーダライタが装着された場合の処理について説明した。
しかし、例えば図19に示すように、ホスト装置としての情報処理装置(スマートホン)300に対して、USBハブ380を介して複数のUSBリーダライタA,100aと,USBリーダライタB,100bが装着される場合がある。
USBリーダライタA,100aには、マイクロSDカード等の記録メディアA,200aが接続され、USBリーダライタB,100bには記録メディアB,200bが装着されている。
このように情報処理装置(スマートホン)300に対して、複数のUSBリーダライタが接続されると、
各USBリーダライタに対して、各々、
(1)記録再生データパス、
(2)セキュリティコマンドパス
これらの2つのパスが個別に設定される。
図20に情報処理装置300に対して、2つのUSBリーダライタA,100a,USBリーダライタB,100bが装着された場合のパスの設定例を示す。
図20に示すパス設定例は、先に図12、図13を参照して説明した「構成例A」と同様の処理レイヤを適用した構成である。
再下層には、情報処理装置300に装着された2つのUSBリーダライタA,100a,USBリーダライタB,100bを示している。
USBリーダライタA,100aには、記録メディアA,200aが接続され、USBリーダライタB,100bには記録メディアB,200bが装着されている。
情報処理装置300の再生アプリケーション350は、これら2つのUSBリーダライタA,100a,USBリーダライタB,100bを選択的に利用して処理を行なう。
情報処理装置300と、USBリーダライタA,100a間の通信パスとして、
記録再生データパス511a、
セキュリティコマンドパス512a、
これら2つのパスが設定され、利用される。
同様に、情報処理装置300と、USBリーダライタB,100b間の通信パスとして、
記録再生データパス511b、
セキュリティコマンドパス512b、
これら2つのパスが設定され、利用される。
情報処理装置300と、USBリーダライタA,100a間の記録再生データパス511aは、以下の経路となる。
記録メディアA,200a〜USBリーダライタA,100aのマスストレージクラス(MSC)対応データ転送部110a〜USBホストドライバ313〜マスストレージクラス(MSC)312〜ファイルシステム311〜再生アプリケーション350
記録再生データは、この記録再生データパス511aを経由して記録メディアA,200aと再生アプリケーション350との間でデータ転送される。
また、情報処理装置300と、USBリーダライタA,100a間のセキュリティコマンドパス512aは、以下の経路となる。
記録メディアA,200a〜USBリーダライタA,100aの非マスストレージクラス(MSC)対応データ転送部120a〜USBホストドライバ313〜USBホストAPI314〜再生アプリケーション350
再生アプリケーション350と、記録メディアA,200aとの認証処理において送受信される認証コマンドや認証データは、このセキュリティコマンドパス512aを経由して記録メディアA,200aと再生アプリケーション350との間でデータ転送される。
一方、情報処理装置300と、USBリーダライタB,100b間の記録再生データパス511bは、以下の経路となる。
記録メディアB,200b〜USBリーダライタB,100bのマスストレージクラス(MSC)対応データ転送部110b〜USBホストドライバ313〜マスストレージクラス(MSC)312〜ファイルシステム311〜再生アプリケーション350
記録再生データは、この記録再生データパス511bを経由して記録メディアB,200bと再生アプリケーション350との間でデータ転送される。
また、情報処理装置300と、USBリーダライタB,100b間のセキュリティコマンドパス512bは、以下の経路となる。
記録メディアB,200b〜USBリーダライタB,100bの非マスストレージクラス(MSC)対応データ転送部120b〜USBホストドライバ313〜USBホストAPI314〜再生アプリケーション350
再生アプリケーション350と、記録メディアB,200bとの認証処理において送受信される認証コマンドや認証データは、このセキュリティコマンドパス512bを経由して記録メディアB,200bと再生アプリケーション350との間でデータ転送される。
このように、各USBリーダライタに対して、
記録再生データパス、
セキュリティコマンドパス、
これら2つのパスが設定され、合計で4つのパスが設定されることになる。。
情報処理装置300の再生アプリケーション350は、この4つのパスの各々について、どの接続デバイス(マウントデバイス)に対して設定されているパスであるかを判別するために、各パスについてのマウントデバイス情報を取得する。
再生アプリケーション350が取得可能なマウントデバイス情報について、図21を参照して説明する。
まず、USBリーダライタA,100aと、USBリーダライタB,100bとの間に設定される記録再生データパス511a,511bに関するマウントデバイス情報について説明する。
再生アプリケーション350は、これらの記録再生データパス511a,511bに関するマウントデバイス情報をAndroid(登録商標)OSの利用するLinux(登録商標)システムファイルから得ることができる。
再生アプリケーション350は、ファームウェアレイヤのファイルシステム311、マスストレージクラス312の管理情報であるLinux(登録商標)システムファイルを参照して、各記録再生データパス511a,511bの接続先デバイスの情報(マウントデバイス情報)を取得する。
例えば、図21に示すように、
USBリーダライタA,100aに対して設定された記録再生データパス511aについては、
Linux(登録商標)システムファイルを参照して、Linux(登録商標)のマウントポイントを示すファイルパス(/strage/USBDriveA)を取得する。
このファイルパス情報から、記録再生データパス511aが、マウントポイント=USBDriveAの接続デバイス、すなわち、USBリーダライタA,100aの接続パスであると判定することができる。
同様に、USBリーダライタB,100bに対して設定された記録再生データパス511bについても、
Linux(登録商標)システムファイルを参照して、Linux(登録商標)のマウントポイントを示すファイルパス(/strage/USBDriveBを取得する。
このファイルパス情報から、記録再生データパス511bが、マウントポイント=USBDriveBの接続デバイス、すなわち、USBリーダライタB,100bの接続パスであると判定することができる。
次に、USBリーダライタA,100aと、USBリーダライタB,100bとの間に設定されるセキュリティコマンドパス512a,512bに関するマウントデバイス情報について説明する。
再生アプリケーション350は、これらのセキュリティコマンドパス512a,512bに関するマウントデバイス情報をUSBホストAPI314が取得し管理する接続デバイス情報から得ることができる。
再生アプリケーション350は、ファームウェアレイヤのUSBホストAPI314の管理情報である接続デバイス情報(マウントデバイス情報)を取得する。
例えば、図21に示すように、
USBリーダライタA,100aに対して設定されたセキュリティコマンドパス512aについて、USBホストAPI314から、接続デバイス情報として、
ベンダーID(Vendor ID)=0x0101
プロダクトID(Product ID)=0x0001
これら接続デバイス(USBリーダライタA,100a)に関する情報を取得する。
この接続デバイス情報から、セキュリティコマンドパス512aに接続されたデバイスのベンダーIDとプロダクトIDを知ることが可能となる。
同様に、USBリーダライタB,100bに対して設定されたセキュリティコマンドパス512bについて、USBホストAPI314から、接続デバイス情報として、
ベンダーID(Vendor ID)=0x0108
プロダクトID(Product ID)=0x0008
これら接続デバイス(USBリーダライタB,100b)に関する情報を取得する。
この接続デバイス情報から、セキュリティコマンドパス512bに接続されたデバイスのベンダーIDとプロダクトIDを知ることが可能となる。
このように、情報処理装置300の再生アプリケーション350は、
2つの記録再生データパス511a,511bに対応する接続デバイス情報と、
2つのセキュリティコマンドパス512a,512bに対応する接続デバイス情報、
これらを取得することができる。
しかし、2つの記録再生データパス511a,511bの各々に関する接続デバイス情報と、2つのセキュリティコマンドパス512a,512bに関する接続デバイス情報、これらの異なるパスの対応情報をえることができないという問題がある。
図22を参照してこの問題点について説明する。
図22には、
(1)記録再生データパスの接続デバイス情報、
(2)セキュリティコマンドパスの接続デバイス情報、
これらの各接続デバイス情報を示している。
(1)記録再生データパスの接続デバイス情報は、ファイルシステム311、マスストレージクラス312から得られるデバイス情報であり、
図20、図21に示す記録再生データパス511aの接続デバイス情報である、
[接続デバイス情報1a]=(/strage/USBDriveA)と、
図20、図21に示す記録再生データパス511bの接続デバイス情報である、
[接続デバイス情報1b]=(/strage/USBDriveB)、
これら2つの接続デバイス情報が含まれる。
一方、(2)セキュリティコマンドパスの接続デバイス情報は、USBホストAPI314から得られるデバイス情報であり、
図20、図21に示すセキュリティコマンドパス512aの接続デバイス情報である、
[接続デバイス情報2a]=(ベンダーID=0x0101、プロダクトID=0x0001)と、
図20、図21に示すセキュリティコマンドパス512bの接続デバイス情報である、
[接続デバイス情報2b]=(ベンダーID=0x0108、プロダクトID=0x0008)、
これら2つの接続デバイス情報が含まれる。
このように、情報処理装置300の再生アプリケーション350は、記録再生データパスに対する接続デバイス情報と、セキュリティコマンドパスに対応する接続デバイス情報を個別に取得することができる。
しかし、記録再生データパスに対応する接続デバイス情報と、セキュリティコマンドパスに対応する接続デバイス情報とを結びつける情報が得られない。
例えば、図22(1)に示す1つの記録再生データパスに対する[接続デバイス情報1a]=(/strage/USBDriveA)によって特定されるデバイスが、図22(2)に示すセキュリティコマンドパスに関する接続デバイス情報である[接続デバイス情報2a](=(ベンダーID=0x0101、プロダクトID=0x0001))によって特定されるデバイスであるのか、[接続デバイス情報2b](=(ベンダーID=0x0108、プロダクトID=0x0008))によって特定されるデバイスであるのか判別することができない。
このように、記録再生データパスと、セキュリティコマンドパスとの対応付け、すなわち同一デバイスに対して設定された記録再生データパスとセキュリティコマンドパスとの組み合わせが把握できないという問題がある。
このパス対応が把握できないと、セキュリティコマンドパスを介して実行した認証処理対象のデバイスと、記録再生データパスを介して記録再生データを通信するデバイスが異なるデバイスに設定されるといった事態が発生する可能性がある。
このような問題を解決し、記録再生データパスと、セキュリティコマンドパスとのパス対応付け、すなわち同一デバイスに対して設定された記録再生データパスとセキュリティコマンドパスとの組み合わせを把握するための処理について、図23以下を参照して説明する。
図23に示すフローチャートは、情報処理装置300の再生アプリケーション350によって実行される記録再生データパスとセキュリティコマンドパスとの組み合わせを把握するパス対応付け処理のシーケンスを説明するフローチャートである。
すなわち、同一デバイスに対応して設定された記録再生データパスとセキュリティコマンドパスとの組み合わせを確認するために行われるパス対応付け処理である。
フローに示す各ステップの処理について、順次、説明する。
(ステップS501)
情報処理装置300は、まずステップS501において、Linux(登録商標)システムファイル[proc/mounts]からデバイスマウント情報の記述データを読み込む。
Linux(登録商標)システムファイルに含まれるデバイスマウント情報の記述データの一例を図24に示す。
デバイスマウント情報の記述データには、図24に示すように、以下の各データが含まれる。
(1)接続デバイス(マウントデバイス)が外部ストレージであるか否かを示すデータ(/dev/blockの記述が含まれる場合は、外部ストレージであることを示す)
(2)USBホストAPIから取得される接続デバイス情報の記録ファイルに対するリンク情報(シンボリックリンク)の位置を示す情報(図の例では8:0)。
(3)接続デバイスポイント情報(UsbDriveA)
なお、Linux(登録商標)システムファイル[proc/mounts]には、複数のデバイスマウント情報が含まれる。
(ステップS502)
ステップS502において、Linux(登録商標)システムファイルの終端に達したか否かを判定する。終端に達した場合は処理を終了する。
終端に達していない場合は、ステップS503に進む。
(ステップS503)
次に、情報処理装置300は、ステップS503において、取得したデバイスマウント情報の記述データが、外部デバイスに関するデータであるか否かを判定する。
図24を参照して説明したように、デバイスマウント情報の記述データには、接続デバイス(マウントデバイス)が外部ストレージであるか否かを示すデータ(/dev/blockの記述が含まれる場合は、外部ストレージであることを示す)が含まれる。
このデータの有無に基づいて取得したデバイスマウント情報の記述データが、外部デバイスに関するデータであるか否かを判定する。
デバイスマウント情報の記述データが、外部デバイスに関するデータでない場合は、ステップS501に戻る。
デバイスマウント情報の記述データが、外部デバイスに関するデータである場合は、ステップS504に進む。
(ステップS504)
ステップS503において、デバイスマウント情報の記述データが、外部デバイスに関するデータであると判定した場合、ステップS504において、そのデバイスマウント情報の記述データから、マウントポイント情報を読み込む。
図23の下部に示す表には、読み込まれたマウントポイント情報の一例を示している。
マウントポイント情報=[/strage/UsbDriveA]
このマウントポイント情報が読み込まれたものとする。
情報処理装置300の再生アプリケーション350は、このマウントポイント情報をメモリに格納し、さらに、以下に説明するステップS506において取得される接続デバイス情報であるベンダーIDとプロダクトIDとの対応データを、ステップS504で取得したマウントポイント情報に対応付けてメモリに格納する。
(ステップS505)
ステップS504において、デバイスマウント情報の記述データから取得したマウントポイント情報をメモリに格納した後、ステップS505では、同じデバイスマウント情報の記述データから、リンク情報(シンボリックリンク)の記録位置情報を取得し、取得し記録位置情報に従ってリンク情報を取得し、取得したリンク情報を用いてファイルを取得する。
デバイスマウント情報の記述データから取得されるシンボリックリンクの置き場所を示す位置情報は、USBホストAPIから取得されるデバイスマウント情報の記録ファイルに対するリンク情報(シンボリックリンク)を記録したデータの設定位置である。
このリンク情報に従って、リンク先へ移動(/sys/dev/block/ もしくは/sys/class/block のリンク先へ移動)する。
先に図24を参照して説明したように、デバイスマウント情報の記述データには、「USBホストAPIから取得される接続デバイス情報の記録ファイルに対するリンク情報(シンボリックリンク)の位置を示す情報(図の例では8.0)」が含まれる。
情報処理装置300の再生アプリケーション350は、このリンク情報(シンボリックリンク)の記録位置を取得して、リンク情報を取得し、取得したリンク情報を用いてUSBホストAPIから取得されるデバイスマウント情報の記録ファイルを取得する。
デバイスマウント情報の記述データから取得されるリンク情報(シンボリックリンク)の置き場所を示す位置情報は、図24に示す例では[8:0]である。
このリンク情報の位置情報の設定構成について、図25を参照して説明する。
図25には、Linux(登録商標)ファイルシステムの構成要素であるディレクトリの一部(sys/dev/block/8:0)を示している。
このファイル8:0が、デバイスマウント情報の記述データから取得されるリンク情報(シンボリックリンク)の置き場所を示す位置情報から導かれるファイルである。
このファイルにはUSBホストAPIから取得される接続デバイス情報の記録ファイルに対するリンク情報(シンボリックリンク)が記録されている。
ファイル8:0の示すリンク先のパスは、例えば以下の設定である。
[../../devices/platform/msm_hsusb_host/usb2/2−1/2−1:1.0/host0/target0:0:0/0:0:0:0/block/sda]
情報処理装置300のデータ処理部は、このパスに従って、リンク先へ移動して、USBホストAPIから取得されるデバイスマウント情報の記録ファイル[ベンダーID記述ファイル(idVendorファイル)と、プロダクトID記述ファイル(idProductファイル)]を読み込む。
読み込まれるファイルの例を図26に示す。
図26には、
(a)ベンダーID記述ファイル
(b)プロダクトID記述ファイル
これら2つのファイルを示している。
これらのファイルは、USBホストAPIから取得されるデバイスマウント情報の記録ファイルである。
ベンダーID記述ファイルに記録されたデータがUSBホストAPIから取得されるデバイスマウント情報としてのベンダーID(VendorID)=0x0101である。
また、プロダクトID記述ファイルに記録されたデータがUSBホストAPIから取得されるデバイスマウント情報としてのプロダクトID(ProductID)=0x0001である。
(ステップS506)
情報処理装置300のデータ処理部は、図26に示す各ファイルから接続デバイス情報を取得する。すなわち、USBホストAPIから取得される接続デバイス情報記録ファイルから、ベンダーID、プロダクトIDを取得する。
取得した接続デバイス情報を、図23下部に示すように、先にステップS204で取得したマウントポイントに対応付けて記録する。
この処理の結果、図23に下部に示す表のように、
(1)Linux(登録商標)システムファイル[proc/mounts]に含まれるデバイスマウント情報の記述データから得られる接続デバイス情報としてのマウントポイント情報、
(2)USBホストAPIから取得されるデバイスマウント情報としてのベンダーID(VendorID)と、プロダクトID(ProductID)
これらの2つの接続デバイス情報(デバイスマウント情報)の対応付けが完了する。
すなわち、これら2つの接続デバイス情報は、1つの同一デバイスに関する接続デバイス情報であると判定することができる。
この処理によって、1つの記録再生データパスに接続された接続デバイスと同一のデバイスに接続されたセキュリティコマンドパスを正確に選択することが可能となる。
情報処理装置は、このような接続デバイス情報の対応付けが完了した後、セキュリティコマンドパスを利用した認証処理を実行して、そのセキュリティコマンドパスと同一のデバイスに接続された記録再生データパスを利用して記録再生データの転送を実行する。
図27は、図23のフローチャートを参照して説明したパス対応判定処理を含む処理シーケンスを説明する図である。
図27に示すシーケンス図は、先に図13を参照して説明したシーケンス図に、ステップS201−2のパス対応判定処理を追加したものである。
すなわち、記録再生データパスは、ファイルシステム311と、マスストレージクラス312を経由したパスとして設定し、セキュリティコマンドパスは、USBホストAPIを経由したパスとして設定した構成において実行する処理を説明するシーケンス図である。
スマートホン等の情報処理装置300には複数のUSBリーダライタが接続され、その一方を処理対象として選択して選択したUSBリーダライタに接続された記録メディアとの認証処理を実行し、認証成立を条件として、記録メディアからデータ(暗号化コンテンツ)を読み出して、読み出した暗号化コンテンツを復号して、再生処理を行なう場合の処理シーケンスを説明するシーケンス図である。
以下、各処理ステップについて、順次、説明する。
(ステップS201)
まず、ステップS201において、情報処理装置300のユーザ操作部を介してユーザがコンテンツ再生指示要求を入力する。
この要求は、情報処理装置300の制御部の制御の下、再生アプリケーション350に入力される。
(ステップS201−2)
次に、ステップS201−2において、情報処理装置300の再生アプリケーションは、先に図23を参照して説明したフローチャートに従ったパス対応判定処理を実行する。
これは、1つの記録再生データパスに接続された接続デバイス(USBリーダライタ)と同一デバイスに接続されたセキュリティコマンドパスを検出するための処理である。
このステップS201−2において実行するパス対応判定処理によって、1つの記録再生データパスに接続された接続デバイス(USBリーダライタ)と同一デバイスに接続されたセキュリティコマンドパスが選択される。
なお、ここでは、処理対象のデバイスを図20に示すUSBリーダライタA,100aとし、利用するパスを記録再生データパス511aと、セキュリティコマンドパス512aとした場合の処理について説明する。
(ステップS202)
次に、再生アプリケーション350は、ステップS201−1において実行するパス対応判定処理において選択したセキュリティコマンドパス512aを利用してコンテンツを格納した記録メディア200aとの認証処理を開始する。
記録再生データの転送に適用する記録再生データパス511aの接続デバイス(USBリーダライタA,100a)と同一の接続デバイスを持つセキュリティコマンドパス512aを利用して認証処理を実行する。
なお、セキュリティコマンドパス512aは、図20を参照して説明したように、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のUSBホストAPI314、
(3)情報処理装置300のファームウェア(FW)のUSBホストドライバ313、
(4)USBリーダライタA,100aの非マスストレージクラス(MSC)対応データ転送部120a、
(5)記録メディアA,200a、
再生アプリケーション350と、記録メディアA,200aとの認証処理において送受信される認証コマンドや認証データ等は、このセキュリティコマンドパス512a経由して転送される。
ステップS202において、このセキュリティコマンドパス512aを利用した認証処理が実行され、認証が成立した場合に限り、ステップS203以下の処理を実行する。
認証が成立しない場合は、ステップS203以下の処理は実行されない。すなわち記録メディアA,200aからのデータ(暗号化コンテンツ)の読み出しと再生処理は実行されないことになる。
(ステップS203〜S204)
ステップS202の認証処理において認証が成立した場合、再生アプリケーション350は、ステップS203〜S204において、記録メディアA,200aの記録データ(暗号化コンテンツ)の読み取り処理を実行する。
このデータ読み取り処理は、図20を参照して説明した記録再生データパス511aを介して実行する。
記録再生データパス511aは、以下の各構成要素を経由したパスとして設定される。
(1)情報処理装置300の再生アプリケーション350、
(2)情報処理装置300のファームウェア(FW)のファイルシステム311、
(3)情報処理装置300のファームウェア(FW)のマスストレージクラス312、
(4)情報処理装置のファームウェア(FW)のUSBホストドライバ313、
(5)USBリーダライタA,100aのマスストレージクラス(MSC)対応データ転送部110a、
(6)記録メディアA,200a、
再生アプリケーション350と、記録メディアA,200aとの記録再生データの送受信は、この記録再生データパス511aを利用して転送される。
(ステップS205〜S206)
ステップS203〜S204において、記録メディアA,200aから再生用の暗号化コンテンツを取得した再生アプリケーション350は、ステップS205において、取得データである暗号化コンテンツの復号、デコード処理を実行し、ステップS206において、復号、デコード結果である再生データを出力部(ディスプレイ、スピーカ)に出力する。
[8.情報処理装置の構成例について]
最後に、例えばスマートホン等によって構成される情報処理装置300ハードウェア構成例について、図28を参照して説明する。
CPU(Central Processing Unit)701は、ROM(Read Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンス図やフローに従った処理を実行する。
なお、図12等を参照して説明した再生アプリケーションやファームウェアレイヤのコンポーネントもデータ処理部において実行される。
RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが記憶される。これらのCPU701、ROM702、およびRAM703は、バス704により相互に接続されている。
CPU701はバス704を介して入出力インタフェース705に接続され、入出力インタフェース705には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部707に出力する。
入出力インタフェース705に接続されている記憶部708は、例えばハードディスク等からなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
なお、通信部709にはUSBポートを含まれ、USBリーダライタが接続可能である。上述した記録デバイスを装着したUSBリーダライタを接続して、記録デバイスとの通信処理、およびデータ転送処理に利用される。
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア711を駆動し、データの記録あるいは読み取りを実行する。
[9.その他の実施例について]
上述した実施例では、情報処理装置の実行する再生アプリケーションの一例として、著作権管理コンテンツを格納したメディアとの認証成立を条件として実行するSQV(SeeQVault)対応アプリケーション(SQVプレーヤ)を例として説明した。
しかし、本開示の処理は、その他の再生アプリケーションにも適用可能である。
具体的には、CPRM(Content Protection of Recordable Media)や、Magic Gate等、様々なデジタル著作権管理(DRM:Digital Right Management)に対応した再生アプリケーションを利用した処理に適用可能である。
また、上述した実施例ではコンテンツを格納した記録メディアをUSBリーダライタに装着し、USBリーダライタを経由して記録メディアから読み出したコンテンツを再生する構成例について説明した。
すなわち、まず、情報処理装置と記録メディアとの認証を行い、記録メディアの格納コンテンツを情報処理装置に転送する構成例を説明した。
しかし、コンテンツを記録した記録メディアとコンテンツ再生を実行する再生装置間の通信路はUSBポート等のUSB接続部に限定されるものではない。例えばWi−Fi、Bluetooth(登録商標)、NFC、イヤホンジャック等、様々な通信経路を利用した構成としてもよい。
また、上述した実施例では記録メディアをUSBリーダライタに装着した構成について説明した。しかし、本開示の処理は、メディア装着部を備えたUSBリーダライタにSDカード等の記録メディアを組み合わせた構成のみではなく、その他の構成、例えばUSBメモリを利用した構成においても適用することが可能である。
[10.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 記録メディアを装着可能な記録メディア装着部と、
USBコネクタと、
前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
前記制御部は、
マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行するUSBリーダライタ装置。
(2) 前記USBリーダライタは、
USB−Aコネクタと、USB−microBコネクタを有する構成であり、
前記制御部は、
前記USB−microBコネクタに電源供給ホストが接続された場合に、前記マスストレージクラス対応データ転送部と、前記非マスストレージクラス対応データ転送部の各々を介して異なる種類のデータ転送を実行する前記(1)に記載のUSBリーダライタ装置。
(3) 前記制御部は、
前記USB−microBコネクタに電源供給ホストが接続され、
前記USB−Aコネクタ側に設定された記録メディア装着部に記録メディアが装着された場合に、
前記マスストレージクラス対応データ転送部と、前記非マスストレージクラス対応データ転送部の各々を介して異なる種類のデータ転送を実行する前記(2)に記載のUSBリーダライタ装置。
(4) 前記制御部は、
制御部のGPIO(General Purpose Input/Output)に対する入力信号を検出し、該入力信号の値に応じて、
単一のデータ転送部を利用したデータ転送制御を実行するか、
前記マスストレージクラス対応データ転送部と、前記非マスストレージクラス対応データ転送部の各々を介して異なる種類のデータ転送を実行するかの処理切り替えを実行する前記(1)〜(3)いずれかに記載のUSBリーダライタ装置。
(5) 前記USBリーダライタ装置は、
前記制御部のGPIO(General Purpose Input/Output)に対する信号入力を実行するMCU(Micro Computer Unit)を有し、
前記MCUは、前記USB−microBコネクタに電源供給ホストが接続され、該電源供給ホストからの電源供給がなされたことを条件として、前記制御部のGPIO(General Purpose Input/Output)に対する入力信号値を変更する前記(4)に記載のUSBリーダライタ装置。
(6) 前記制御部は、
制御部に対するリセット信号入力後に、制御部のGPIO入力信号値を確認し、確認した入力信号値に応じてデータ転送制御態様を決定する前記(4)または(5)に記載のUSBリーダライタ装置。
(7) 前記非マスストレージクラス対応データ転送部は、ベンダーユニーククラス対応データ転送部、またはHID(Human Interface Device)クラス対応データ転送部として構成される前記(1)〜(6)いずれかに記載のUSBリーダライタ装置。
(8) 記録メディアを装着したデバイスを接続する通信部と、
前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
前記データ処理部は、
(a)前記記録メディアの記録データを入力する記録再生データパス、
(b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
上記2つのパスを利用してデータ転送処理を実行する情報処理装置。
(9) 前記再生アプリケーションは、
前記セキュリティコマンドパスを介したデータ転送処理により、前記記録メディアとの認証処理を実行し、
前記認証処理の成立を条件として、前記記録再生データパスを介したデータ転送により、前記記録メディアの記録データを読み出して再生処理を実行する前記(8)に記載の情報処理装置。
(10) 前記通信部はUSBポートであり、
前記記録メディアは、前記USBポートに接続されたUSBリーダライタに装着された記録デバイスである前記(8)または(9)に記載の情報処理装置。
(11) 前記データ処理部は、
前記情報処理装置のファームウェアコンポーネントであるマスストレージクラスを介する記録再生データパスを利用して前記記録メディアの記録データを入力し、
前記情報処理装置のファームウェアコンポーネントであるUSBホストAPIを介するセキュリティコマンドパスを利用して、セキュリティコマンドまたはセキュリティデータを転送する前記(10)に記載の情報処理装置。
(12) 前記データ処理部は、
前記USBリーダライタのマスストレージクラス対応データ転送部を利用して前記記録メディアの記録データを入力し、
前記USBリーダライタの非マスストレージクラス対応データ転送部を利用して、セキュリティコマンドまたはセキュリティデータを転送する前記(10)または(11)に記載の情報処理装置。
(13) 前記データ処理部は、
前記情報処理装置のファームウェアコンポーネントであるマスストレージクラスを介する記録再生データパスを利用して前記記録メディアの記録データを入力し、
前記情報処理装置のファームウェアコンポーネントであるコマンドデーモンを介するセキュリティコマンドパスを利用して、セキュリティコマンドまたはセキュリティデータを転送する前記(10)〜(12)いずれかに記載の情報処理装置。
(14) 前記データ処理部は、
前記情報処理装置のアプリケーションレイヤのコンポーネントであるマスストレージクラスと、前記情報処理装置のファームウェアコンポーネントであるUSBホストAPIを介する記録再生データパスを利用して前記記録メディアの記録データを入力し、
前記情報処理装置のファームウェアコンポーネントであるUSBホストAPIを介するセキュリティコマンドパスを利用して、セキュリティコマンドまたはセキュリティデータを転送する前記(10)〜(13)いずれかに記載の情報処理装置。
(15) 前記データ処理部は、
1つの記録再生データパスによって接続されたデバイスと、同一デバイスに接続されたセキュリティコマンドパスを検出するパス対応判定処理を実行し、
前記パス対応判定処理に基づいて選択した同一デバイスに接続されたセキュリティコマンドパスと、記録再生データパスを利用した認証処理および記録再生データ転送処理を実行する前記(8)〜(14)いずれかに記載の情報処理装置。
(16) 前記パス対応判定処理は、
前記情報処理装置のシステムファイルの記述情報を参照して実行する前記(15)に記載の情報処理装置。
(17) リーダライタ装置において実行するデータ転送制御方法であり、
前記リーダライタ装置は、記録メディアを装着可能な記録メディア装着部と、USBコネクタと、
前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
前記制御部が、
マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行するデータ転送制御方法。
(18) 情報処理装置において実行するデータ転送制御方法であり、
前記情報処理装置は、記録メディアを装着したデバイスを接続する通信部と、
前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
前記データ処理部が、
(a)前記記録メディアの記録データを入力する記録再生データパス、
(b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
上記2つのパスを利用してデータ転送処理を実行するデータ転送制御方法。
(19) リーダライタ装置においてデータ転送制御処理を実行させるプログラムであり、
前記リーダライタ装置は、記録メディアを装着可能な記録メディア装着部と、USBコネクタと、
前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
前記プログラムは、前記制御部に、
マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行させるプログラム。
(20) 情報処理装置においてデータ転送制御処理を実行させるプログラムであり、
前記情報処理装置は、記録メディアを装着したデバイスを接続する通信部と、
前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
前記プログラムは、前記データ処理部に、
(a)前記記録メディアの記録データを入力する記録再生データパス、
(b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
上記2つのパスを利用してデータ転送処理を実行させるプログラム。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、ホストと、ホストに接続された記録デバイスとの間で記録再生データの転送のみならずセキュリティコマンドの転送も可能とする構成が実現される。
具体的には、USB−Aコネクタと、USB−microBコネクタを有するUSBリーダライタであり、リーダライタ制御部がUSB−microBコネクタに電源供給ホストが接続され、USB−Aコネクタ側に記録メディアが装着された場合、マスストレージクラス対応データ転送部を介して記録メディアの記録再生データを転送し、非マスストレージクラス対応データ転送部を介して認証処理等に適用するセキュリティコマンドを転送する。USBリーダライタを装着したホストは、記録再生データパスと、セキュリティコマンドパスの2つのパスを利用して異なるカテゴリのデータ転送を実行する。
本構成により、ホストと、ホストに接続された記録デバイスとの間で記録再生データの転送のみならずセキュリティコマンドの転送も可能とする構成が実現される。
10 USBリーダライタ
11 USB−Aコネクタ
12 USB−microBコネクタ
13 カードスロット
21 マイクロSDカード
30 スマートホン
32 タブレット端末
41 PC
42 TV
43 記録再生装置
50 再生アプリケーション
51 再生アプリライブラリ
61 ファイルシステム
62 マスストレージクラス
63 USBホストドライバ
64 USBホストAPI
71,72 記録再生データパス
81,82 セキュリティコマンドパス
100 情報処理装置
110 マスストレージクラス(MSC)対応データ転送部
120 非マスストレージクラス(MSC)対応データ転送部
150 リーダライタ制御部
151 USB−Aコネクタ
152 電圧変換部
161 USB−microBコネクタ
162 電圧変換部
163 ICリセット部
164 マイコン
200 記録メディア
300 情報処理装置
311 ファイルシステム
312 マスストレージクラス
313 USBホストドライバ
314 USBホストAPI
315 コマンドデーモン
350 再生アプリケーション
351 再生アプリライブラリ
352 ファイルシステム
353 マスストレージクラス
380 USBハブ
411,421,431 記録再生データパス
412,422,432 セキュリティコマンドパス
511a,511b 記録再生データパス
512a,512b セキュリティコマンドパス
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア

Claims (20)

  1. 記録メディアを装着可能な記録メディア装着部と、
    USBコネクタと、
    前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
    前記制御部は、
    マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
    非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行するUSBリーダライタ装置。
  2. 前記USBリーダライタは、
    USB−Aコネクタと、USB−microBコネクタを有する構成であり、
    前記制御部は、
    前記USB−microBコネクタに電源供給ホストが接続された場合に、前記マスストレージクラス対応データ転送部と、前記非マスストレージクラス対応データ転送部の各々を介して異なる種類のデータ転送を実行する請求項1に記載のUSBリーダライタ装置。
  3. 前記制御部は、
    前記USB−microBコネクタに電源供給ホストが接続され、
    前記USB−Aコネクタ側に設定された記録メディア装着部に記録メディアが装着された場合に、
    前記マスストレージクラス対応データ転送部と、前記非マスストレージクラス対応データ転送部の各々を介して異なる種類のデータ転送を実行する請求項2に記載のUSBリーダライタ装置。
  4. 前記制御部は、
    制御部のGPIO(General Purpose Input/Output)に対する入力信号を検出し、該入力信号の値に応じて、
    単一のデータ転送部を利用したデータ転送制御を実行するか、
    前記マスストレージクラス対応データ転送部と、前記非マスストレージクラス対応データ転送部の各々を介して異なる種類のデータ転送を実行するかの処理切り替えを実行する請求項1に記載のUSBリーダライタ装置。
  5. 前記USBリーダライタ装置は、
    前記制御部のGPIO(General Purpose Input/Output)に対する信号入力を実行するMCU(Micro Computer Unit)を有し、
    前記MCUは、前記USB−microBコネクタに電源供給ホストが接続され、該電源供給ホストからの電源供給がなされたことを条件として、前記制御部のGPIO(General Purpose Input/Output)に対する入力信号値を変更する請求項4に記載のUSBリーダライタ装置。
  6. 前記制御部は、
    制御部に対するリセット信号入力後に、制御部のGPIO入力信号値を確認し、確認した入力信号値に応じてデータ転送制御態様を決定する請求項4に記載のUSBリーダライタ装置。
  7. 前記非マスストレージクラス対応データ転送部は、ベンダーユニーククラス対応データ転送部、またはHID(Human Interface Device)クラス対応データ転送部として構成される請求項1に記載のUSBリーダライタ装置。
  8. 記録メディアを装着したデバイスを接続する通信部と、
    前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
    前記データ処理部は、
    (a)前記記録メディアの記録データを入力する記録再生データパス、
    (b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
    上記2つのパスを利用してデータ転送処理を実行する情報処理装置。
  9. 前記再生アプリケーションは、
    前記セキュリティコマンドパスを介したデータ転送処理により、前記記録メディアとの認証処理を実行し、
    前記認証処理の成立を条件として、前記記録再生データパスを介したデータ転送により、前記記録メディアの記録データを読み出して再生処理を実行する請求項8に記載の情報処理装置。
  10. 前記通信部はUSBポートであり、
    前記記録メディアは、前記USBポートに接続されたUSBリーダライタに装着された記録デバイスである請求項8に記載の情報処理装置。
  11. 前記データ処理部は、
    前記情報処理装置のファームウェアコンポーネントであるマスストレージクラスを介する記録再生データパスを利用して前記記録メディアの記録データを入力し、
    前記情報処理装置のファームウェアコンポーネントであるUSBホストAPIを介するセキュリティコマンドパスを利用して、セキュリティコマンドまたはセキュリティデータを転送する請求項10に記載の情報処理装置。
  12. 前記データ処理部は、
    前記USBリーダライタのマスストレージクラス対応データ転送部を利用して前記記録メディアの記録データを入力し、
    前記USBリーダライタの非マスストレージクラス対応データ転送部を利用して、セキュリティコマンドまたはセキュリティデータを転送する請求項10に記載の情報処理装置。
  13. 前記データ処理部は、
    前記情報処理装置のファームウェアコンポーネントであるマスストレージクラスを介する記録再生データパスを利用して前記記録メディアの記録データを入力し、
    前記情報処理装置のファームウェアコンポーネントであるコマンドデーモンを介するセキュリティコマンドパスを利用して、セキュリティコマンドまたはセキュリティデータを転送する請求項10に記載の情報処理装置。
  14. 前記データ処理部は、
    前記情報処理装置のアプリケーションレイヤのコンポーネントであるマスストレージクラスと、前記情報処理装置のファームウェアコンポーネントであるUSBホストAPIを介する記録再生データパスを利用して前記記録メディアの記録データを入力し、
    前記情報処理装置のファームウェアコンポーネントであるUSBホストAPIを介するセキュリティコマンドパスを利用して、セキュリティコマンドまたはセキュリティデータを転送する請求項10に記載の情報処理装置。
  15. 前記データ処理部は、
    1つの記録再生データパスによって接続されたデバイスと、同一デバイスに接続されたセキュリティコマンドパスを検出するパス対応判定処理を実行し、
    前記パス対応判定処理に基づいて選択した同一デバイスに接続されたセキュリティコマンドパスと、記録再生データパスを利用した認証処理および記録再生データ転送処理を実行する請求項8に記載の情報処理装置。
  16. 前記パス対応判定処理は、
    前記情報処理装置のシステムファイルの記述情報を参照して実行する請求項15に記載の情報処理装置。
  17. リーダライタ装置において実行するデータ転送制御方法であり、
    前記リーダライタ装置は、記録メディアを装着可能な記録メディア装着部と、USBコネクタと、
    前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
    前記制御部が、
    マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
    非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行するデータ転送制御方法。
  18. 情報処理装置において実行するデータ転送制御方法であり、
    前記情報処理装置は、記録メディアを装着したデバイスを接続する通信部と、
    前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
    前記データ処理部が、
    (a)前記記録メディアの記録データを入力する記録再生データパス、
    (b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
    上記2つのパスを利用してデータ転送処理を実行するデータ転送制御方法。
  19. リーダライタ装置においてデータ転送制御処理を実行させるプログラムであり、
    前記リーダライタ装置は、記録メディアを装着可能な記録メディア装着部と、USBコネクタと、
    前記記録メディア装着部に装着した記録メディアと、前記USBコネクタに接続したホストとの間でデータ転送処理を実行する制御部を有し、
    前記プログラムは、前記制御部に、
    マスストレージクラス(MSC:Mass Strage Class)対応データ転送部を利用した前記記録メディアに対する記録再生データの転送制御と、
    非マスストレージクラス対応データ転送部を利用した前記記録メディアに対するセキュリティコマンドの転送制御を実行させるプログラム。
  20. 情報処理装置においてデータ転送制御処理を実行させるプログラムであり、
    前記情報処理装置は、記録メディアを装着したデバイスを接続する通信部と、
    前記通信部を介して記録メディアの記録データを入力して再生する再生アプリケーションを実行するデータ処理部を有し、
    前記プログラムは、前記データ処理部に、
    (a)前記記録メディアの記録データを入力する記録再生データパス、
    (b)前記記録メディアの記録データ以外のセキュリティコマンドまたはセキュリティデータを転送するセキュリティコマンドパス、
    上記2つのパスを利用してデータ転送処理を実行させるプログラム。
JP2016545064A 2014-08-28 2015-07-24 リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム Expired - Fee Related JP6693417B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014173560 2014-08-28
JP2014173560 2014-08-28
PCT/JP2015/071078 WO2016031456A1 (ja) 2014-08-28 2015-07-24 リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JPWO2016031456A1 true JPWO2016031456A1 (ja) 2017-06-08
JP6693417B2 JP6693417B2 (ja) 2020-05-13

Family

ID=55399357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545064A Expired - Fee Related JP6693417B2 (ja) 2014-08-28 2015-07-24 リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム

Country Status (4)

Country Link
US (1) US20170228333A1 (ja)
EP (1) EP3196769A4 (ja)
JP (1) JP6693417B2 (ja)
WO (1) WO2016031456A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010325B2 (en) * 2019-08-09 2021-05-18 Microsoft Technology Licensing, Llc Memory card slot interface adapter
JP2022080404A (ja) * 2020-11-18 2022-05-30 キヤノン株式会社 Usbデバイス、usbデバイスの制御方法、及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481506B1 (ko) * 2002-12-31 2005-04-07 삼성전자주식회사 외부 시스템과 정보를 교환할 수 있는 개인 휴대형정보단말기 및 그 정보 교환방법
WO2004086363A2 (en) * 2003-03-27 2004-10-07 M-Systems Flash Disk Pioneers Ltd. Data storage device with full access by all users
JP4608931B2 (ja) * 2004-01-09 2011-01-12 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7721115B2 (en) * 2005-02-16 2010-05-18 Cypress Semiconductor Corporation USB secure storage apparatus and method
FR2897222A1 (fr) * 2006-02-03 2007-08-10 Gemplus Sa Acces a distance a une memoire de masse et une memoire de securite dans un objet communicant portable
JP4538027B2 (ja) * 2007-08-22 2010-09-08 株式会社東芝 半導体装置
JP5513018B2 (ja) * 2008-06-27 2014-06-04 キヤノン電子株式会社 周辺装置及び画像読取装置
US8561207B2 (en) * 2010-08-20 2013-10-15 Apple Inc. Authenticating a multiple interface device on an enumerated bus
KR101822977B1 (ko) * 2010-12-21 2018-01-29 삼성전자주식회사 멀티-인터페이스 메모리 카드와 이의 동작 방법
JP5802049B2 (ja) * 2011-05-06 2015-10-28 キヤノンイメージングシステムズ株式会社 デバイス制御装置及び方法、クライアント装置、並びにデバイス制御システム
US20130179610A1 (en) * 2012-01-10 2013-07-11 Kleer LTD Usb device with pass-through hub connection
JP5862540B2 (ja) * 2012-10-26 2016-02-16 ソニー株式会社 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
US20170228333A1 (en) 2017-08-10
JP6693417B2 (ja) 2020-05-13
EP3196769A1 (en) 2017-07-26
EP3196769A4 (en) 2018-03-28
WO2016031456A1 (ja) 2016-03-03

Similar Documents

Publication Publication Date Title
US8135880B2 (en) USB mass storage locking
US20060285559A1 (en) Method for controlling host from device coupled thereto using universal serial bus and system thereof
KR100800589B1 (ko) 정보 처리 장치 및 그 운용방법
KR100586063B1 (ko) 가변 크기이고 데이터의 갱신이 가능한 시스템 영역을 갖는플래시 메모리 데이터 구조, 그 플래시 메모리를 구비한usb 저장 장치 및 상기 시스템 영역의 제어 방법
JP5037734B2 (ja) データの保護方法とシステム、記憶デバイス及び記憶デバイスコントローラ
JP2010527465A (ja) デジタルコンテンツへのアクセスを制御する方法およびシステム
JP6693417B2 (ja) リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム
US20080282092A1 (en) Card reading apparatus with integrated identification function
KR101416322B1 (ko) 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치
US7913263B2 (en) External device and operating method applied thereto
KR100705381B1 (ko) 유에스비 호스트에 보안 콘트롤러를 부가하여 유에스비장치를 통제하는 방법
US20120144206A1 (en) Information processing apparatus, removable storage device, information processing method, and information processing system
US20220398205A1 (en) Host system and device for performing environment setting based on connection direction of connector and operating method of host system
KR101389928B1 (ko) 상호 배제 기능을 수행하기 위한 방법 및 이를 이용한drm 디바이스
KR20220167747A (ko) 커넥터 연결 방향에 기반한 환경 설정을 수행하는 호스트 시스템 및 디바이스, 그리고 호스트 시스템의 동작방법
JP2004362523A (ja) 無線式ストレージ装置、無線式ハードディスク、無線式フラッシュメモリディスク、ストレージ装置認証方法
US20080282014A1 (en) Card reading apparatus for multi-directional data transmission
JP2012068808A (ja) 可搬記憶装置
JP2017079040A (ja) 情報端末及びそのデータ秘匿化処理方法
JP4740104B2 (ja) データ処理装置、データ処理システム、及び周辺装置
JP2011070460A (ja) Usbストレージ装置
KR100811161B1 (ko) 전자음반 장치 및 이를 위한 기록매체
Coughlin et al. Standards for Consumer Electronic Storage and Appendices
KR101069321B1 (ko) 전자음반 데이터 속성 제어방법
JP2006065760A (ja) 情報処理システム、電子機器及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200303

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: 20200317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200330

R151 Written notification of patent or utility model registration

Ref document number: 6693417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees