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

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

Info

Publication number
WO2016031456A1
WO2016031456A1 PCT/JP2015/071078 JP2015071078W WO2016031456A1 WO 2016031456 A1 WO2016031456 A1 WO 2016031456A1 JP 2015071078 W JP2015071078 W JP 2015071078W WO 2016031456 A1 WO2016031456 A1 WO 2016031456A1
Authority
WO
WIPO (PCT)
Prior art keywords
usb
data
recording
recording medium
data transfer
Prior art date
Application number
PCT/JP2015/071078
Other languages
English (en)
French (fr)
Inventor
隆道 林
久野 浩
誠 宮下
宗毅 海老原
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to EP15835054.6A priority Critical patent/EP3196769A4/en
Priority to JP2016545064A priority patent/JP6693417B2/ja
Priority to US15/328,929 priority patent/US20170228333A1/en
Publication of WO2016031456A1 publication Critical patent/WO2016031456A1/ja

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

Definitions

  • the present disclosure relates to a reader / writer device, an information processing device, a data transfer control method, and a program. More specifically, a reader / writer device, an information processing device, and a data transfer control method applied to a data recording / playback process using a reader / writer having a connection unit such as a USB connector and a card slot into which a recording medium can be mounted, And the program.
  • a semiconductor memory device such as an SD card is widely used as a large-capacity memory device.
  • These memory devices are often used in, for example, PCs, smart phones, tablet terminals, and the like.
  • a reader / writer having a data access function for a memory card for example, there is a reader / writer device having both a card slot into which a memory card can be inserted and a USB connector (terminal).
  • the reader / writer (USB reader / writer) includes a USB-A connector and a USB-microB connector, and a card slot is set on the USB-A connector side.
  • some information processing devices such as smart phones perform automatic recognition of devices attached to a device attachment unit such as a USB port, and restrict input / output data via the port according to the recognition result.
  • a device attachment unit such as a USB port
  • OS Operating System
  • the USB port mounting device is recognized as a memory device
  • the memory Only the transfer of data for recording / reproduction is permitted with the device, and for example, authentication commands other than the recording / reproduction data are not permitted to be transferred.
  • the data stored in the micro SD card is content that is restricted in use, and content reading is allowed on condition that authentication is established between the information processing device such as a smartphone that is a content playback device and the micro SD card that is a memory device. This is the case where the content is to be processed.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2014-085985
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2014-085985
  • the present disclosure has been made in view of the above-described problems, for example.
  • a reader / writer device equipped with a recording medium is connected to an information processing device such as a smartphone
  • an information processing device such as a smartphone
  • the first aspect of the present disclosure is: A recording medium mounting portion on which a recording medium can be mounted; A USB connector; A control unit that executes data transfer processing between the recording medium mounted on the recording medium mounting unit and a host connected to the USB connector; The controller is Control of recording / playback data transfer to the recording medium using a mass storage class (MSC) compatible data transfer unit; The USB reader / writer device executes security command transfer control for the recording medium using a non-mass storage class compatible data transfer unit.
  • MSC mass storage class
  • the second aspect of the present disclosure is: A communication unit for connecting a device loaded with a recording medium; A data processing unit for executing a reproduction application for inputting and reproducing the recording data of the recording medium via the communication unit;
  • the data processing unit (A) a recording / reproducing data path for inputting recording data of the recording medium; (B) a security command other than the recording data of the recording medium or a security command path for transferring security data;
  • the information processing apparatus executes data transfer processing using the above two paths.
  • the third aspect of the present disclosure is: A data transfer control method executed in a reader / writer device,
  • the reader / writer device includes a recording medium mounting unit on which a recording medium can be mounted, a USB connector, A control unit that executes data transfer processing between the recording medium mounted on the recording medium mounting unit and a host connected to the USB connector;
  • the control unit is Control of recording / playback data transfer to the recording medium using a mass storage class (MSC) compatible data transfer unit;
  • MSC mass storage class
  • the present invention is a data transfer control method for executing security command transfer control for the recording medium using a non-mass storage class compatible data transfer unit.
  • the fourth aspect of the present disclosure is: A data transfer control method executed in an information processing device,
  • the information processing apparatus includes a communication unit that connects a device equipped with a recording medium;
  • the data processing unit is (A) a recording / reproducing data path for inputting recording data of the recording medium; (B) a security command other than the recording data of the recording medium or a security command path for transferring security data;
  • the data transfer control method executes data transfer processing using the above two paths.
  • the fifth aspect of the present disclosure is: A program for executing data transfer control processing in a reader / writer device,
  • the reader / writer device includes a recording medium mounting unit on which a recording medium can be mounted, a USB connector, A control unit that executes data transfer processing between the recording medium mounted on the recording medium mounting unit and a host connected to the USB connector;
  • the program is stored in the control unit.
  • a program for executing security command transfer control for the recording medium using a non-mass storage class compatible data transfer unit are examples of data transfer control processing in a reader / writer device.
  • the sixth aspect of the present disclosure is: A program for executing data transfer control processing in an information processing device,
  • the information processing apparatus includes a communication unit that connects a device equipped with a recording medium;
  • a data processing unit for executing a reproduction application for inputting and reproducing the recording data of the recording medium via the communication unit;
  • the program is stored in the data processing unit.
  • the program of the present disclosure is a program that can be provided by, for example, a storage medium or a communication medium provided in a computer-readable format to an information processing apparatus or a computer system that can execute various program codes.
  • a program in a computer-readable format, processing corresponding to the program is realized on the information processing apparatus or the computer system.
  • system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
  • a configuration that enables not only transfer of recording / reproduction data but also transfer of security commands between a host and a recording device connected to the host is realized.
  • a USB reader / writer having a USB-A connector and a USB-microB connector
  • the reader / writer control unit is connected to a power supply host to the USB-microB connector
  • a recording medium is mounted on the USB-A connector side If so, the recording / playback data of the recording medium is transferred via the mass storage class compatible data transfer unit, and the security command applied to the authentication process or the like is transferred via the non-mass storage class compatible data transfer unit.
  • a host equipped with a USB reader / writer executes data transfer of different categories using two paths, a recording / playback data path and a security command path.
  • a configuration that enables not only transfer of recording / reproduction data but also transfer of security commands between the host and a recording device connected to the host is realized. Note that the effects described in the present specification are merely examples and are not limited, and may have additional effects.
  • USB reader / writer It is a figure explaining the structural example of a USB reader / writer. It is a figure explaining the usage example of a USB reader / writer. It is a figure explaining the usage example of a USB reader / writer. It is a figure explaining the data transfer process of the recording medium with which the USB reader / writer was mounted
  • FIG. 10 is a sequence diagram illustrating a sequence of data transfer processing between an information processing apparatus and a recording medium via a USB reader / writer. It is a figure explaining the data transfer processing structure between information processing apparatus and a recording medium via a USB reader / writer.
  • FIG. 10 is a sequence diagram illustrating a sequence of data transfer processing between an information processing apparatus and a recording medium via a USB reader / writer. It is a figure explaining the data transfer processing structure between information processing apparatus and a recording medium via a USB reader / writer.
  • FIG. 10 is a sequence diagram illustrating a sequence of data transfer processing between an information processing apparatus and a recording medium via a USB reader / writer. It is a figure explaining the data transfer processing structure between information processing apparatus and a recording medium via a USB reader / writer.
  • FIG. 10 is a sequence diagram illustrating a sequence of data transfer processing between an information processing apparatus and a recording medium via a USB reader / writer. It is a figure which shows the flowchart explaining the sequence until the authentication process start between information processing apparatus and a recording medium via a USB reader / writer. It is a figure explaining the usage example of a USB reader / writer. It is a figure explaining the data transfer processing structure between information processing apparatus and a recording medium via a USB reader / writer.
  • FIG. 10 is a sequence diagram illustrating a sequence of data transfer processing between an information processing apparatus and a recording medium via a USB reader / writer.
  • FIG. 25 is a diagram for describing a configuration example of an information processing device.
  • FIG. 1 is a diagram illustrating the configuration of the USB reader / writer 10.
  • the USB reader / writer 10 has a USB-A connector 11 at one end and a USB-microB connector 12 at the other end.
  • the USB-A connector 11 has a configuration in which a micro SD card can be mounted, that is, a card slot 13.
  • FIG. 1B is a diagram in which a micro SD card 21 is mounted in the card slot 13.
  • FIG. 2 shows an example in which the USB reader / writer 10 with the micro SD card 21 attached to the card slot 13 is attached to the smart phone 30.
  • FIG. 3 is a diagram in which the USB-microB connector 13 of the USB reader / writer 10 is inserted into the USB-microB port of the smart phone 30.
  • the smart phone 30 can access the micro SD card 21 via the USB reader / writer 10 to perform data recording processing on the Myrok SD card 21 and data reading from the Myrok SD card 21. .
  • USB reader / writer 10 includes the following components.
  • USB-microB connector (c) Micro SD card slot
  • the micro SD card 21 is attached to the USB-A connector 11 side of the USB reader / writer 10 and the USB-microB connector 12 is inserted into the USB-microB port of the smartphone.
  • the access (data read / write) to the micro SD card from the smartphone becomes possible.
  • FIG. 3 is a diagram for explaining an example of use of the USB reader / writer 10.
  • the USB reader / writer 10 has a USB-A connector, a USB-microB connector, and a micro SD card slot.
  • the USB-A connector into the PC 41, the TV 42, the recording / reproducing device 43, etc.
  • the micro SD card 21 into the card slot of the USB-A connector and connecting the USB-microB connector to the smartphone 30 or the tablet terminal 32, it can be used as a removable medium similar to a USB memory. .
  • the micro SD card 21 is mounted on the USB-A connector 11 side of the USB reader / writer 10, and the USB-micro B connector 12 is inserted into the USB-micro B port of the smartphone. Problems in accessing the card 21 will be described.
  • an information processing apparatus such as a smart phone
  • a device attachment unit such as a USB port
  • automatic recognition of the connected device is executed, and the port is set according to the recognition result.
  • micro SD card 21 If such a restriction is made, for example, data stored in the micro SD card 21 cannot be used to reproduce copyright management contents with restricted use. In other words, it becomes impossible to play back content with the content playback permission condition set as the authentication of the content playback device (smartphone 30) and the content storage medium (micro SD card 21).
  • FIG. 4 shows a processing layer of the smart phone 30 to which the USB reader / writer 10 is attached.
  • the processing layer of the smart phone 30 can be roughly divided into the following two layers.
  • (B) Firmware (FW) layer These are these two layers.
  • the application (APP) layer is a program that can be easily added, changed, or deleted by the information processing apparatus, in this case, the smartphone 30 (for example, downloaded from various application providing sites and additionally recorded) Software) layer.
  • the (B) firmware (FW) layer is a software layer basically recorded as a fixed program in the information processing apparatus, here, the smart phone 30.
  • an OS layer made up of an Android (registered trademark) OS, which is an OS (Operating System), is located between the (A) application layer and (B) firmware layer in FIG.
  • OS operating System
  • (B) a part configuration of the firmware layer, for example, a file system (File System) 61 and a mass storage class (Mass Storage Class) 62 may be interpreted as a part of the OS layer.
  • FIG. 4 An application shown in the application (APP) layer in FIG. 4A is a playback application 50 that reads content stored in a medium and executes playback processing.
  • the playback application 50 executes an authentication process with the medium storing the content in accordance with a predetermined algorithm, and reads the content from the medium and executes the playback process on the condition that the authentication is established.
  • the playback application 50 can be configured by, for example, an SQV player as an application that executes content playback in accordance with SQV (SeeQVault), which is a standard for next-generation copyright protection technology.
  • SQV SeeQVault
  • SQV SeeQVault
  • SQV is an illegal use of content by executing processing according to a predetermined algorithm when recording and playing back usage control content such as copyright management target content in a flash memory such as an SD card. Is a standard that realizes the use management of legitimate content.
  • the reproduction application 50 cannot execute the content reproduction from the medium when the authentication process with the medium storing the content is not established.
  • the content can be read from the medium and reproduced.
  • the playback application 50 includes a playback application library (for example, SQV library) 51.
  • the playback application library 51 is a component of the playback application 50 and is a logic mounting unit on which various processing logics executed by the playback application 50 are mounted.
  • the reproduction application 50 is an application that operates on Android (registered trademark) as an OS (Operating System).
  • the firmware (FW) layer is a software layer basically recorded as a fixed program in the information processing apparatus, here, the smart phone 30 as described above.
  • FIG. 4 shows only a part of firmware used in the processing of the present disclosure.
  • FIG. 4 shows a file system 61, a mass storage class 62, and a USB host driver 63.
  • a file system (File System) 61 is one component that constitutes a firmware (FW) layer of the smartphone 30 that is an Android (registered trademark) terminal, and data for a medium, for example, a micro SD card 21 according to a predetermined file system rule. Is a program that realizes a read / write function. For example, data is read and written according to file system regulations such as FAT32 and exFAT.
  • the mass storage class (MSC) 62 is a component that constitutes the firmware (FW) layer of the smartphone 30 that is an Android (registered trademark) terminal, and is a program that executes a mass storage class host function. .
  • the mass storage class is a specification for connecting an auxiliary storage device such as a USB memory defined by the USB standard.
  • the mass storage class (MSC) mounted device recognizes the connected USB device as a removable medium without installing a dedicated driver corresponding to the externally connected media, and records and reads data. Can be done.
  • the USB host driver 63 is one component that constitutes the firmware (FW) layer of the smartphone 30 that is an Android (registered trademark) terminal, and implements general-purpose functions common to USB devices, such as insertion / removal detection of USB devices. Component.
  • the device (C) shown in the lowermost layer of FIG. 4 is the USB reader / writer (USB R / W) 10 described with reference to FIG.
  • the USB reader / writer (USB R / W) 10 is as described with reference to FIG.
  • (b) USB-microB connector These two connectors are provided. Therefore, for the smartphone 30 that is an information processing apparatus, (A) USB-A connector connected, (B) USB-microB connector connected, These two connection states can be set.
  • the setting of the USB reader / writer (USB R / W) 10 is the above state (b1), that is, A state in which the USB-micro B connector is connected to the smart phone 30 as the information processing apparatus and the micro SD card 21 is inserted into one USB-A connector side; Processing in this connected state will be described.
  • the playback application 50 executes an authentication process with a medium storing content in accordance with a predetermined algorithm, that is, a recording medium (micro SD card 21) attached to the USB reader / writer 10 to perform authentication. On condition that it is established, the content is read from the recording medium (micro SD card 21) and the reproduction process is executed.
  • a recording medium micro SD card 21
  • the smart phone 30 which is the information processing apparatus shown in FIG. 4 is a smart phone 30 equipped with Android (registered trademark) as an OS (Operation System).
  • Android registered trademark
  • OS Operating System
  • the USB port mounting device is recognized as a memory device, only data recording to the memory device or data reading processing from the memory device is allowed, and data other than read / write data is allowed. For example, command input / output is prohibited.
  • firmware layer mass storage class (MSC) 62 determines that the connected USB device is a storage device
  • any application in the application layer can execute any command other than read / write data, for example, by OS-based control. I / O cannot be performed.
  • the playback application 50 tries to execute the authentication process with the recording medium (micro SD card 21) attached to the reader / writer 10, the authentication command cannot be transmitted / received. As a result, the authentication process cannot be executed, and the content reading / reproducing process from the medium (micro SD card 21) on the condition that authentication is established cannot be executed.
  • FIG. 4 shows a recording / reproduction data path 71 and a security command path 81.
  • the recording / reproducing data path 71 is a transmission / reception path of a recording / reproducing data file between the reproducing application 50 of the host (smartphone 30) and the recording medium (micro SD card 21) attached to the device (USB reader / writer 10).
  • the security command path 81 indicates, for example, a command path that is transmitted and received in the authentication process between the playback application 50 and the micro SD card 21.
  • the recording / reproduction data is transferred between the micro SD card 21 and the reproduction application 50 via the recording / reproduction data path 71.
  • command transfer via the security command path 81 shown in FIG. 4 is not permitted for authentication commands and authentication data transmitted and received in the authentication process between the playback application 50 and the micro SD card 21. This is because if the device connected to the USB port is determined to be a storage device, the application is prohibited from command transfer by OS control.
  • USB port mounted device As described above, in some models of Android (registered trademark) terminals equipped with Android (registered trademark) as an OS (Operation System), if the USB port mounted device is recognized as a memory device, the memory device Only data recording or data reading processing from a memory device is allowed, and input / output of commands other than read / write data is prohibited. That is, if the mass storage class (MSC) 62 in the firmware layer determines that the USB device connected to the host such as a smart phone is a storage device, any application in the application layer other than read / write data can be controlled by the OS-based control. For example, command transfer cannot be executed.
  • MSC mass storage class
  • FIG. 5 shows a setting example of the security command path 82 in a configuration example in which the USB host API (USB HOST API) 64 that has become available in Android (registered trademark) 3.1 or later is set in the firmware (FW) layer. Yes.
  • USB host API USB HOST API
  • the USB host API (USB HOST API) 64 is an API that has a USB host function, that is, a control function for the USB device, and provides a data transfer control function between the USB device and the application.
  • the USB device is a USB reader / writer 10 to which a medium (micro SD card 21) is attached
  • a USB host API (USB HOST API) 64 corresponds to the USB reader / writer 10 to which this medium (micro SD card 21) is attached. Control can be performed.
  • FIG. 5 shows a recording / playback data path 72 and a security command path 82 that are assumed in a setting having a USB host API (USB HOST API) 64. If data transfer is possible using these two paths individually, authentication command transmission / reception and recording / reproduction data transmission / reception can be performed between the USB reader / writer 10 loaded with the medium (micro SD card 21) and the application 50. It becomes.
  • USB HOST API USB host API
  • USB host API USB HOST API
  • FW firmware
  • MSC mass storage class
  • USB host API USB HOST API
  • an authentication command or the like using the security command path 82 shown in FIG. 5 cannot be transferred. Therefore, even in the configuration having the USB host API (USB HOST API) 64 shown in FIG. 5, as in the configuration of FIG. 4, the data transfer control is started after the mass storage class (MSC) 62 is started.
  • MSC mass storage class
  • FIG. 6 is a diagram illustrating a configuration example of the USB reader / writer 100 according to an embodiment of the present disclosure.
  • the USB reader / writer 100 shown in FIG. 6 is similar to the USB reader / writer 10 described above with reference to FIG. (A) USB-A connector (b) USB-microB connector (c) Card slot for mounting a recording medium.
  • the USB reader / writer 100 of the present disclosure also has a configuration in which the recording medium 200, for example, a micro SD card can be mounted in the card slot on the USB-A connector side of the USB reader / writer 100. Furthermore, by inserting the USB-microB connector into the USB-microB port of the information processing apparatus 300 such as a smart phone, the information processing apparatus 300 can perform access (data read / write) to the recording medium 200.
  • the recording medium 200 for example, a micro SD card can be mounted in the card slot on the USB-A connector side of the USB reader / writer 100.
  • USB reader / writer 100 shown in FIG. (1) Mass storage class (MSC) compatible data transfer unit 110, (2) Non-mass storage class (MSC) compatible data transfer unit 120, These two data transfer units are included.
  • MSC Mass storage class
  • MSC Non-mass storage class
  • these two data transfer units both perform data transfer with the information processing apparatus 300 via the USB-microB connector of the USB reader / writer 100. That is, these two data transfer units are physically configured as one data transfer unit, but are two logical data transfer units that can transfer data of logically different categories.
  • a recording medium 200 such as a micro SD card can be mounted in the card slot on the other USB-A connector side.
  • the two data transfer units of the USB reader / writer 100 shown in FIG. 6 are used for the following data transfer processes, respectively.
  • the mass storage class (MSC) compatible data transfer unit 110 is used for data transfer processing of recording / playback data using the recording medium 200.
  • the non-mass storage class (MSC) compatible data transfer unit 120 is used to transfer data other than recording / playback data using the recording medium 200, for example, authentication data for an authentication command tower applied to authentication processing. It is a transfer part.
  • the non-mass storage class (MSC) compatible data transfer unit 120 can be configured by, for example, a vendor unique class compatible data transfer unit or an HID (Human Interface Device) class compatible data transfer unit.
  • the data transfer unit corresponding to the vendor unique class and the HID (Human Interface Device) class are classes defined in the USB standard as one component that can be set, for example, in the firmware (FW) layer on the information processing apparatus 300 side. It is a component including a program that executes input / output control of data and commands when various input devices such as a keyboard and a mouse, for example, are connected.
  • the non-mass storage class (MSC) compatible data transfer unit 120 can be configured as a vendor unique class compatible data transfer unit or an HID class compatible data transfer unit.
  • the non-mass storage class (MSC) compatible data transfer unit 120 is not limited to the vendor unique class compatible data transfer unit or the HID class compatible data transfer unit, and may have other configurations. Any data transfer unit capable of transferring data of a category different from the transfer data controlled by the mass storage class (MSC), specifically, an authentication command or the like may be used.
  • FIG. 7 is a diagram illustrating a detailed configuration of the data transfer unit of the USB reader / writer 100 of the present disclosure.
  • Mass storage class (MSC) compatible data transfer unit 110 Non-mass storage class (MSC) compatible data transfer unit 120, These two data transfer units are included.
  • MSC Mass storage class
  • MSC Non-mass storage class
  • Each of these is a data transfer unit via the USB-microB connector of the USB reader / writer 100 and is physically one data transfer unit, but there are logically two that can be used properly according to the type of transfer data.
  • the data transfer unit is divided into two.
  • a USB reader / writer 100 which is a USB device, performs data transmission / reception with a host (USB host) including an information processing apparatus 300 such as a smart phone.
  • data transfer is executed via the USB-microB connector of the USB reader / writer 100.
  • the recording medium 200 is mounted in the card slot on the USB-A connector side of the USB reader / writer 100.
  • the mass storage class (MSC) compatible data transfer unit 110 is used for transfer processing of recording data for the recording medium 200 or reproduction data from the recording medium 200.
  • the non-mass storage class (MSC) compatible data transfer unit 120 is used to transfer data other than recording / playback data using the recording medium 200, for example, a command applied to authentication processing.
  • the control end point (Control endpoint) 130 is a buffer for transferring control information between the host (information processing apparatus 300) and the device (USB reader / writer 100). For example, data transfer mode setting information is stored. Depending on the mode setting, for example, either the mass storage class (MSC) compatible data transfer unit 110 or the non-mass storage class (MSC) compatible data transfer unit 120 is selectively used.
  • MSC mass storage class
  • MSC non-mass storage class
  • the mass storage class (MSC) compatible data transfer unit 110 Endpoint (Endpoint (Bulk-in)) 111, End point (Bulk-out) 112, CBW / CSW / data transfer unit (CBW / CSW / Data Transfer) 113, Data reader / writer unit (DataR / W) 114, Command processing unit (SeeQValue Command) 115, Media driver (SD Driver) 116, It has these configurations.
  • MSC mass storage class
  • the end point (Endpoint (Bulk-in)) 111 is used for bulk transfer of data from the device (USB reader / writer 100) to the host (information processing apparatus 300) side (a mode in which a large amount of data is transferred with high reliability).
  • the intermediate buffer stores output data to the host (information processing apparatus 300).
  • An end point (Endpoint (Bulk-in)) 111 of the mass storage class (MSC) compatible data transfer unit 110 is, for example, read from the recording medium 200 attached to the USB-A connector side of the device (USB reader / writer 100). This is used when data is stored and output to the information processing apparatus (host) 300.
  • An end point (Endpoint (Bulk-out)) 112 is an intermediate buffer used at the time of bulk transfer of data from the host (information processing apparatus 300) side to the device (USB reader / writer 100). 300) is stored.
  • the endpoint (Endpoint (Bulk-out)) 112 of the mass storage class (MSC) compatible data transfer unit 110 hosts, for example, write data to the recording medium 200 mounted on the USB-A connector side of the USB reader / writer 100. Used when receiving from and storing.
  • CBW / CSW / Data Transfer controls the transfer information of the command, status, and data.
  • the CBW is a command block wrapper (Command Block Wrapper), for example, a wrapper for a host to send a SCSI command to a device.
  • CSW is a command status wrapper (Command Status Wrapper), which is a wrapper for a device (USB reader / writer 100) to send a status to a host (information processing apparatus 300), that is, a transfer data format generation unit.
  • the CBW / CSW / data transfer unit (CBW / CSW / Data Transfer) 113 performs processing for extracting a SCSI command from the CBW input from the host (information processing apparatus 300) and the status output from the device (USB reader / writer 100). To set the data format according to the above.
  • the data reader / writer unit (DataR / W) 114 performs a recording / reproduction command for the recording medium 200 in response to a recording request or a reproduction request (Read / Write Request) for the recording medium 200 of data input from the host (information processing apparatus 300). Data read / write (Read / Write) is executed with respect to the recording medium 200 using (SD command).
  • a command processing unit (SeeQValue Command) 115 applies processing using a command using a security command (SD command) to the recording medium 200 in response to various security command execution requests input from the host (information processing apparatus 300), for example, authentication. Data transfer control necessary for processing is executed.
  • SD command security command
  • a command processing unit (SeeQVault Command) 115 executes processing related to a security command such as an authentication command necessary for executing content reproduction in accordance with SQV (SeeQVault) which is a standard of next-generation copyright protection technology.
  • SQV SeeQVault
  • SQV SeeQVault
  • SQV is a content that enables execution of processing under predetermined usage management when recording and playing back usage control content such as copyright management target content in a flash memory such as an SD card. It is a standard that realizes usage management.
  • the media driver (SD Driver) 116 is a driver corresponding to the recording medium 200, for example, a micro SD card, installed in the card slot on the USB-A connector side of the USB reader / writer 100. Data recording, reading, and command transfer processing with respect to the recording medium 200, for example, a micro SD card are executed.
  • the non-storage class (MSC) compatible data transfer unit 120 End point (Endpoint (Bulk-in)) 121, End point (Bulk-out) 122, It has these configurations.
  • An end point (Endpoint (Bulk-in)) 121 is an intermediate buffer used during bulk transfer of data from the device ((USB reader / writer 100) to the host (information processing apparatus 300) side. Output data to the device 300) is stored.
  • the endpoint (Endpoint (Bulk-in)) 121 of the non-mass storage class (MSC) compatible data transfer unit 120 is, for example, a host (information processing apparatus 300) and a USB-A connector of a device (USB reader / writer 100). This is used when outputting to the host (information processing apparatus 300) an authentication command, authentication data, or the like applied to the authentication process between the recording media 200 mounted on the side.
  • An end point (Endpoint (Bulk-out)) 122 is an intermediate buffer used at the time of bulk transfer of data from the host (information processing apparatus 300) side to the device (USB reader / writer 100). 300) is stored.
  • the endpoint (Endpoint (Bulk-out)) 122 of the non-mass storage class (MSC) compatible data transfer unit 120 is, for example, a host (information processing apparatus 300) and a USB-A connector of a device (USB reader / writer 100). This is used when an authentication command, authentication data, or the like applied to the authentication process between the recording media 200 mounted on the side is input from the host (information processing apparatus 300).
  • Command data such as an authentication command input / output via the non-mass storage class (MSC) compatible data transfer unit 120 is attached to the host (information processing apparatus 300) and the card slot on the USB-A connector side of the USB reader / writer 100. Sent to and received from the recorded recording medium 200.
  • MSC non-mass storage class
  • This data path is a path through the following components.
  • An authentication command or the like is transmitted / received between the host (information processing apparatus 300) and the recording medium 200 via these components, and an authentication process is executed.
  • the host (information processing apparatus 300) is connected via the USB-microB connector of the USB reader / writer 100, and the recording medium 200 is mounted in a card slot provided on the USB-A connector side of the USB reader / writer 100. It is a setting.
  • USB reader / writer 100 [4. Example of circuit configuration of USB reader / writer]
  • the USB reader / writer 100 of the present disclosure is as follows. (1) Mass storage class (MSC) compatible data transfer unit 110, (2) Non-mass storage class (MSC) compatible data transfer unit 120, These two data transfer units are included. Note that these two data transfer units are two logical data transfer units that transfer different categories of data as described above. Both of these two data transfer units execute data transfer with the information processing apparatus 300 via the USB-microB connector of the USB reader / writer 100.
  • a recording medium 200 such as a micro SD card is mounted in the card slot on one USB-A connector side.
  • the conventional USB reader / writer that is, the above-described logical two data transfer units does not have a single data
  • FIG. 1 A circuit configuration example of a conventional USB reader / writer that performs data transfer using only the transfer unit will be described with reference to FIG.
  • FIG. 8 is a circuit configuration example of a conventional USB reader / writer 10.
  • the conventional USB reader / writer 10 is Reader / writer control unit 150, USB-A connector 151, Voltage converter 152, USB-microB connector 161, Have these.
  • the USB-A connector 151 is provided with a card slot for the micro SD card 21.
  • the USB-A connector 151 or the USB-microB connector 161 is connected to a host such as an information processing apparatus such as a PC or a smart phone.
  • Vbus and GND described in each connector portion are for electron microscopes, and D ⁇ and D + are connection portions for signals.
  • Vbus corresponds to a power supply of 5V.
  • the USB reader / writer receives 5 V power supply from the host connected by these connectors, and supplies 3.3 V (Vcc) transformed by the voltage converter 152 to the reader / writer controller 150.
  • the voltage conversion unit 152 is configured by, for example, an LDO (Low Drop Out) or a DCDC converter.
  • the reader / writer control unit (Card Reader / Writer IC) 150 executes data transfer control in the USB reader / writer 10 based on the 3.3 V (Vcc) power supply. For example, data transfer control is executed according to a control program stored in a memory (not shown).
  • the reader / writer control unit 150 receives power supply from a host which is an information processing apparatus such as a smart phone connected to the USB-microB connector 161, and executes host-initiated processing.
  • a host as an Android (registered trademark) terminal equipped with Android (registered trademark) as an OS (Operation System) is a memory device as a USB port mounted device. If it is recognized that the recording of data to the memory device or the data reading process from the memory device is permitted, settings other than reading / writing data such as command input / output may be performed. That is, when the firmware layer mass storage class (MSC) 62 shown in FIGS. 4 and 5 recognizes a USB device connected to a host such as a smartphone as a storage device, the application of the application layer is controlled by OS-based control. For example, commands other than read / write data cannot be input / output.
  • MSC firmware layer mass storage class
  • the reader / writer control unit 150 performs transfer control of recording data to the micro SD card 21 mounted in the card slot on the USB-A connector 151 side and transfer control of reproduction data from the micro SD card 21 according to the host-led control. Do. That is, the reader / writer control unit 150 performs transfer control of recording / reproduction data between the host connected to the USB-microB connector 161 and the micro SD card 21 installed in the card slot on the USB-A connector 151 side. It will be. As described above with reference to FIGS. 4 and 5, authentication command transmission / reception between the host and the micro SD card 21 is not executed.
  • the USB reader / writer 100 having two data transfer units of the present disclosure is Reader / writer control unit 150, USB-A connector 151, Voltage converter 152, USB-microB connector 161, Have these. These configurations are almost the same as the circuit of the conventional USB reader / writer 10 described above with reference to FIG.
  • the USB reader / writer 100 having two data transfer units of the present disclosure further includes Voltage converter 162, IC reset unit (Reset IC) 163, Microcomputer (MCU) 164, It has these configurations.
  • the USB-A connector 151 is provided with a card slot into which a recording medium 200 such as a micro SD card is mounted.
  • the USB-A connector 151 or the USB-microB connector 161 is connected to a host such as an information processing apparatus such as a PC or a smart phone.
  • Vbus and GND described in each connector portion are for electron microscopes, and D ⁇ and D + are connection portions for signals.
  • Vbus corresponds to a power supply of 5V.
  • the USB reader / writer 100 When a host such as a PC is connected to the USB-A connector 151, the USB reader / writer 100 receives 5 V power from the connected host on the USB-A connector 151 side, and 3.3 V (Vcc) is received at the voltage conversion unit 152.
  • the supply voltage 3.3V is supplied to the reader / writer control unit 150.
  • 5V power is supplied from the connected host on the USB-microB connector 161 side, and the voltage conversion unit 162 transforms it to 3.3V (Vcc). Then, the supply voltage 3.3V is supplied to the reader / writer control unit 150, the IC reset unit 163, and the microcomputer (MCU: Micro Computer Unit) 164.
  • MCU Micro Computer Unit
  • the voltage converter 152 and the voltage converter 162 are configured by, for example, an LDO (Low Drop Out) or a DCDC converter.
  • the reader / writer control unit (Card Reader / Writer IC) 150 executes data transfer control in the USB reader / writer 100 based on the 3.3 V (Vcc) power supply. For example, data transfer control is executed according to a control program stored in a memory (not shown).
  • the IC reset unit 163 outputs a reset signal at a predetermined timing to the reset signal input unit of the reader / writer control unit (Card Reader / Writer IC) 150 based on the 3.3 V (Vcc) power supply.
  • the reset signal output timing will be described later with reference to FIGS.
  • the microcomputer (MCU) 164 is high with respect to a general purpose input / output (GPIO) of the reader / writer control unit (CardIO) 150 based on a 3.3 V (Vcc) power supply.
  • GPIO general purpose input / output
  • CardIO reader / writer control unit
  • Vcc 3.3 V
  • FIG. 10 is a signal transition diagram when a power supply host for the USB reader / writer 100 is connected to the USB-A connector 151 of the USB reader / writer 100.
  • FIG. 11 is a signal transition diagram when a power supply host for the USB reader / writer 100 is connected to the USB-microB connector 161 of the USB reader / writer 100.
  • Vcc_a (2) Vcc_b (3) RESET (4) GPIO (General Purpose Input / Output)
  • T time axis
  • Vcc_a is a transition of a supply voltage from the USB-A connector 151 side connection host to the reader / writer control unit 150. When power supply is started, the voltage is set to 3.3V.
  • Vcc_b is a transition of the supply voltage from the USB-microB connector 161 side connection host to the reader / writer control unit 150. When power supply is started, the voltage is set to 3.3V.
  • RESET is a transition of the RESET signal input from the IC reset unit 163 to the reader / writer control unit 150. In a state where the RESET signal is not input, it is maintained at Low, but when the RESET signal is input, the signal value is set to High for a predetermined time.
  • GPIO General Purpose Input / Output
  • MCU microcomputer
  • GPIO unit of the reader / writer control unit 150 Either High or Low signal is input to the GPIO unit of the reader / writer control unit 150 under the control of the microcomputer 164.
  • FIG. 10 is a signal transition diagram when a power supply host for the USB reader / writer 100 is connected to the USB-A connector 151 of the USB reader / writer 100.
  • the setting is made when a power supply host such as a PC is connected to the USB-A connector 151 of the USB reader / writer 100.
  • this corresponds to a setting when a PC is connected to the SB-A connector 151 side and a camera or the like is connected to the USB-microB connector 161 side, and data is input / output between the PC and the camera.
  • the power supply host is connected to the USB-A connector 151 of the USB reader / writer 100 at time t1 shown in FIG.
  • power supply of 3.3 V is started from the connection host of the USB-A connector 151 to the power supply unit (Vcc_a) of the reader / writer control unit 150.
  • the USB reader / writer 100 verifies the input signal value of the GPIO (General Purpose Input / Output) unit of the reader / writer control unit 150 in response to the power supply. After confirming that the GPIO input value is a Low signal, data input / output control is started in accordance with an instruction from the host connected to the USB-A connector 151 of the USB reader / writer 100.
  • GPIO General Purpose Input / Output
  • FIG. 11 is a signal transition diagram when a power supply host for the USB reader / writer 100 is connected to the USB-microB connector 161 of the USB reader / writer 100. Specifically, this corresponds to a setting when a smart phone or the like is connected to the USB-B connector 161 of the USB reader / writer 100 and a micro SD card is inserted into the card slot portion of the USB-A connector 151.
  • the power supply host is connected to the USB-microB connector 161 of the USB reader / writer 100 at time t1 shown in FIG.
  • the power supply unit (Vcc_b) of the reader / writer control unit 150, the IC reset unit 163, and the microcomputer (MCU) 164 are each supplied with 3.3V power from the connection host of the USB-microB connector 161. Is started. After the start of power supply, processing is performed in the order of steps (S1) to (S3) shown below.
  • the reader / writer control unit 150 confirms that the GPIO input value is a High signal, and then starts data input / output control in accordance with an instruction from the host connected to the USB-microB connector 161 of the USB reader / writer 100. However, when the GPIO input value is a High signal, the reader / writer control unit 150 uses different data categories (recording / reproduction using a medium) using the two data transfer units described with reference to FIGS. Transfer control of data and data other than recording / reproduction data such as an authentication command is executed. That is, (1) Mass storage class (MSC) compatible data transfer unit 110, (2) Non-mass storage class (MSC) compatible data transfer unit 120, Data transfer control using these two data transfer units is executed.
  • MSC Mass storage class
  • MSC Non-mass storage class
  • the reader / writer control unit 150 performs data transfer control through a single data transfer unit as in the prior art, but the GPIO input value is set to a high signal. If it is, (1) Mass storage class (MSC) compatible data transfer unit 110, (2) Non-mass storage class (MSC) compatible data transfer unit 120, Data transfer control using these two data transfer units is executed. In particular, (1) Execute recording / reproduction data transfer control for the recording medium 200 using the mass storage class (MSC) compatible data transfer unit 110, (2) Data transfer of authentication commands, authentication data, and other security information using the non-mass storage class (MSC) compatible data transfer unit 120 is performed.
  • MSC mass storage class
  • MSC Non-mass storage class
  • the GPIO input value is set to the High signal when the power supply host is connected to the USB-microB connector 161 and the recording medium is installed in the recording medium mounting unit set on the USB-A connector 151 side. is there.
  • the reader / writer control unit 150 (1) Mass storage class (MSC) compatible data transfer unit 110, (2) Non-mass storage class (MSC) compatible data transfer unit 120, Each of these two data transfer units is used to execute different types of data transfer.
  • FIG. 12 shows the processing layers of the information processing apparatus 300 such as a smart phone equipped with the USB reader / writer 100, as in the layer configuration described above with reference to FIG.
  • the processing layer of the information processing apparatus 300 can be roughly divided into the following two layers.
  • (B) Firmware (FW) layer These are these two layers.
  • the application (APP) layer is a program layer that the information processing apparatus 300 can easily add, change, and delete, such as downloading from various application providing sites and additionally recording the information.
  • the (B) firmware (FW) layer is a program layer basically recorded as a fixed program in the information processing apparatus 300.
  • an OS layer made up of an Android (registered trademark) OS, which is an OS (Operating System), is located between the (A) application layer and (B) firmware layer in FIG.
  • OS operating System
  • (B) a part configuration of the firmware layer, for example, a file system (File System) 313 and a mass storage class (Mass Storage Class) 312 may be interpreted as a part of the OS layer.
  • each layer shown in FIG. 12 shows only a part of the configuration used in the processing of the present disclosure.
  • various applications can be installed in the information processing apparatus 300, but the (A) application (APP) layer in FIG. 12 shows only one application that is directly related to the processing of the present disclosure.
  • the application shown in FIG. 12A is an application (APP) layer that is a reproduction application 350 that reads content stored in a medium and executes reproduction processing.
  • the playback application 350 executes an authentication process with the medium storing the content according to a predetermined algorithm, and reads the content from the medium and executes the playback process on the condition that the authentication is established.
  • the playback application 350 can be configured by, for example, an SQV player, which is an application that executes content playback in accordance with SQV (SeeQVault), which is a next-generation copyright protection technology standard.
  • SQV SeeQVault
  • SQV SeeQVault
  • SQV is a content that enables execution of processing under predetermined usage management when recording and playing back usage control content such as copyright management target content in a flash memory such as an SD card. It is a standard that realizes usage management.
  • the reproduction application 350 cannot execute the content reproduction from the medium when the authentication process with the medium storing the content is not established.
  • the content can be read from the medium and reproduced.
  • the playback application 350 includes a playback application library (for example, SQV library) 351.
  • the playback application library 351 is a component of the playback application 350 and is a logic mounting unit on which various processing logics executed by the playback application 350 are mounted.
  • the reproduction application 350 is an application that operates on Android (registered trademark) as an OS (Operating System).
  • the firmware (FW) layer is a software layer basically recorded as a fixed program in the information processing apparatus 300.
  • FIG. 12 illustrates only some firmware used in the processing of the present disclosure.
  • FIG. 12 shows a file system 311, a mass storage class 312, a USB host driver 313, and a USB host API 314.
  • a file system (File System) 311 is one component constituting the firmware (FW) layer of the information processing apparatus 300 that is an Android (registered trademark) terminal, and is a recording medium 200 such as a micro SD card according to a predetermined file system rule. Is a program that realizes a data read / write function. For example, data is read and written according to file system regulations such as FAT32 and exFAT.
  • a mass storage class (MSC) 312 is a component that constitutes the firmware (FW) layer of the information processing apparatus 300 that is an Android (registered trademark) terminal, and is a program that executes a mass storage class host function. is there.
  • the mass storage class is a specification for connecting an auxiliary storage device such as a USB memory defined by the USB standard.
  • a device with this mass storage class (MSC: Mass Storage Class) recognizes the connected USB device as a removable medium without installing a dedicated driver corresponding to the externally connected media, and records data. And reading can be performed.
  • the USB host driver 313 is one component that constitutes the firmware (FW) layer of the information processing apparatus 300 that is an Android (registered trademark) terminal.
  • the USB host driver 313 implements general USB functions such as USB device insertion / removal detection. Yes.
  • the USB host API 314 is a component that can be used in Android (registered trademark) 3.1 or later and has a USB host function, that is, a control function for a USB device.
  • This API provides a data transfer control function between a USB device and an application.
  • the USB device is a USB reader / writer 100 with a medium (recording medium 200) mounted thereon, and a USB host API (USB HOST API) 314 has control over the USB reader / writer 100 with a recording medium 200 mounted thereon. Can be performed.
  • a device (C) shown in the lowermost layer of FIG. 12 is a USB reader / writer (USB R / W) 100.
  • the USB reader / writer 100 (1) Mass storage class (MSC) compatible data transfer unit 110, (2) Non-mass storage class (MSC) compatible data transfer unit 120, These two data transfer units are included. As described above, these two data transfer units are physically one data transfer unit, but each is configured as two logical data transfer units that transfer different categories of data.
  • MSC Mass storage class
  • MSC Non-mass storage class
  • Both of these two data transfer units execute data transfer with the information processing apparatus 300 via the USB-microB connector of the USB reader / writer 100.
  • a recording medium 200 such as a micro SD card is mounted in the card slot on one USB-A connector side.
  • the non-mass storage class (MSC) compatible data transfer unit 120 can be configured by, for example, a vendor unique class compatible data transfer unit or an HID (Human Interface Device) class compatible data transfer unit.
  • USB reader / writer (USB R / W) 100 is (A) USB-A connector (b) USB-microB connector These two connectors are provided. Therefore, for the information processing apparatus 300 such as a smartphone, (A) USB-A connector connected, (B) USB-microB connector connected, These two connection states can be set.
  • USB-microB connector connected, In this state, (B1) A state in which a recording medium 200 such as a micro SD card is inserted on the USB-A connector side, (B2) State in which other devices are connected There are these two states.
  • the setting of the USB reader / writer (USB R / W) 100 is the above state (b1), that is, A state in which a USB-microB connector is connected to an information processing apparatus 300 such as a smart phone, and a recording medium 200 such as a micro SD card is inserted into one USB-A connector, Processing in this connected state will be described.
  • the playback application 350 executes an authentication process with a recording medium 200 such as a micro SD card mounted on the USB reader / writer 100, in accordance with a predetermined algorithm defined in advance, and on condition that the authentication is established.
  • the content is read from the recording medium 200 and the reproduction process is executed.
  • An information processing apparatus 300 such as a smart phone illustrated in FIG. 12 is an information processing apparatus 300 equipped with Android (registered trademark) as an OS (Operation System).
  • Android registered trademark
  • OS Operating System
  • the Android (registered trademark) terminal described above with reference to FIG. 4 and the like when the USB port mounted device is recognized as a memory device, data recording to the memory device or data reading processing from the memory device is not performed.
  • the setting is allowed, but input / output of commands other than read / write data, for example, is not allowed. That is, when the mass storage class (MSC) of the firmware layer recognizes the connected USB device as a storage device, any application in the application layer is prohibited from inputting / outputting, for example, commands other than read / write data by OS-based control.
  • MSC mass storage class
  • the reproduction application 350 that operates on the Android (registered trademark) that is the USB host (the information processing apparatus 300) has two data transfers of the USB reader / writer 100 that is the USB device. Using this unit, transfer of recording / playback data to / from the recording medium 200 and transfer of commands used for authentication processing and the like are realized. That is, the recording / reproducing data is transferred to the recording medium 200 via the recording / reproducing data path 411 shown in FIG. 12, and the command used for the authentication process or the like is transferred via the security command path 412 shown in FIG.
  • the playback application 350 executes an authentication process with the recording medium 200 such as a micro SD card attached to the reader / writer 100 via the security command path 412, and after the authentication process is established, the playback application 350 passes the recording / playback data path 411. Thus, it is possible to read data from the recording medium 200 and reproduce the read data.
  • the recording medium 200 such as a micro SD card attached to the reader / writer 100 via the security command path 412
  • the recording / reproducing data path 411 is a transmission / reception path of a recording / reproducing data file between the reproducing application 350 and the recording medium 200 such as a micro SD card.
  • the security command path 412 indicates, for example, a path of a command transmitted / received in the authentication process between the playback application 350 and the recording medium 200.
  • the recording / reproduction data path 411 is as follows. Recording medium 200 to USB storage device 100 mass storage class (MSC) compatible data transfer unit 110 to USB host driver 313 to mass storage class (MSC) 312 to file system 311 to playback application 350 The recording / reproduction data is transferred between the recording medium 200 and the reproduction application 350 via the recording / reproduction data path 411.
  • MSC mass storage class
  • MSC mass storage class
  • the security command path 412 is the following path.
  • USB host API 314 playback application 350
  • Authentication commands and authentication data transmitted and received in the authentication process between the playback application 350 and the recording medium 200 are transferred between the recording medium 200 and the playback application 350 via the security command path 412.
  • the reproduction application 350 of the information processing apparatus 300 executes an authentication process with the recording medium 200 prior to the data reading and reproducing process from the recording medium 200 mounted on the USB reader / writer 100. During this authentication process, an authentication command is transmitted / received via the USB host API 314.
  • the reproduction application 350 of the information processing apparatus 300 first performs authentication processing with the recording medium 200 by performing transmission / reception of an authentication command via the security command path 412, that is, the path via the USB host API 314. To do.
  • the playback application 350 of the information processing device 300 reads the data recorded on the recording medium 200 using the recording / playback data path 411. And read data reproduction processing is executed.
  • FIG. 9 is a sequence diagram for explaining a processing sequence in a case where a read-out encrypted content) is read out, a read-out encrypted content is decrypted, and a reproduction process is performed.
  • each processing step will be described sequentially.
  • Step S201 First, in step S201, a user inputs a content reproduction instruction request via the user operation unit of the information processing apparatus 300. This request is input to the reproduction application 350 under the control of the control unit of the information processing apparatus 300.
  • Step S202 The playback application 350 starts an authentication process with the recording medium 200 storing the content in response to a content playback request input by the user.
  • This authentication process is executed using the security command path 412 described with reference to FIG. That is, using the security command path 412, various authentication commands, authentication data, and the like necessary for authentication processing are transmitted and received between the playback application 350 and the recording device 200, and authentication processing according to a specified authentication algorithm is executed.
  • the security command path 412 is set as a path that passes through the following components. (1) A reproduction application 350 of the information processing apparatus 300, (2) USB host API 314 of firmware (FW) of the information processing apparatus 300; (3) Firmware (FW) USB host driver 313 of the information processing apparatus 300; (4) a non-mass storage class (MSC) compatible data transfer unit 120 of the USB reader / writer 100; (5) recording medium 200, An authentication command, authentication data, and the like transmitted and received in the authentication process between the playback application 350 and the recording medium 200 are transferred via this security command path 412.
  • a reproduction application 350 of the information processing apparatus 300 (2) USB host API 314 of firmware (FW) of the information processing apparatus 300; (3) Firmware (FW) USB host driver 313 of the information processing apparatus 300; (4) a non-mass storage class (MSC) compatible data transfer unit 120 of the USB reader / writer 100; (5) recording medium 200, An authentication command, authentication data, and the like transmitted and received in the authentication process between the playback application 350 and the recording medium 200 are transferred via this security command
  • step S202 an authentication process using the security command path 412 is executed, and only the process after step S203 is executed only when the authentication is established. If the authentication is not established, the processing after step S203 is not executed. That is, data (encrypted content) reading from the recording medium 200 and playback processing are not executed.
  • Steps S203 to S204 When authentication is established in the authentication process of step S202, the playback application 350 executes a process of reading recorded data (encrypted content) of the recording medium 200 in steps S203 to S204.
  • the recording / reproduction data path 411 is set as a path that passes through the following components. (1) A reproduction application 350 of the information processing apparatus 300, (2) Firmware (FW) file system 311 of the information processing apparatus 300; (3) Firmware (FW) mass storage class 312 of the information processing apparatus 300, (4) USB host driver 313 of the firmware (FW) of the information processing apparatus, (5) Mass storage class (MSC) compatible data transfer unit 110 of USB reader / writer 100, (6) Recording medium 200, Transmission / reception of recording / reproduction data between the reproduction application 350 and the recording medium 200 is transferred using the recording / reproduction data path 411.
  • MSC Mass storage class
  • Step S203 to S204 the reproduction application 350 that has acquired the encrypted content for reproduction from the recording medium 200 executes decryption and decoding processing of the encrypted content that is the acquired data in step S205, and in step S206, The reproduction data as a decoding result is output to an output unit (display, speaker).
  • FIG. 14 shows a processing layer of an information processing apparatus 300 such as a smart phone equipped with the USB reader / writer 100, similarly to the configuration shown in FIG. 12 described above as [Configuration Example A].
  • the processing layer of the information processing apparatus 300 can be roughly divided into the following two layers.
  • (B) Firmware (FW) layer These are these two layers.
  • the configuration example B includes a command daemon 315 in the (B) firmware (FW) layer.
  • the command daemon (Command Daemon) 316 is set as one component in the firmware (FW) of the Android (registered trademark) terminal, and is another mass storage class (Mass Storage Class) other than via the file system 311 for the application.
  • 312 is a component that provides an access function to the USB device (in this example, the USB reader / writer 100 with the recording medium 200 mounted).
  • the command daemon 316 is a communication function providing component (program) that realizes communication of data other than recording / reproduction data such as an authentication command via the mass storage class 312.
  • the command daemon (Command Daemon) 316 is used to transfer the authentication command and the authentication data between the reproduction application 350 of the information processing apparatus 300 and the recording medium 200.
  • the playback application 350 executes an authentication process with a recording medium 200 such as a micro SD card mounted on the USB reader / writer 100, in accordance with a predetermined algorithm defined in advance, and on condition that the authentication is established.
  • the content is read from the recording medium 200 and the reproduction process is executed.
  • An information processing apparatus 300 such as a smart phone illustrated in FIG. 14 is an information processing apparatus 300 in which Android (registered trademark) is installed as an OS (Operation System).
  • Android registered trademark
  • OS Operating System
  • the Android (registered trademark) terminal described above with reference to FIG. 4 and the like when the USB port mounted device is recognized as a memory device, data recording to the memory device or data reading processing from the memory device is not performed.
  • the setting is allowed, but input / output of commands other than read / write data, for example, is not allowed. That is, when the mass storage class (MSC) of the firmware layer recognizes the connected USB device as a storage device, any application in the application layer is prohibited from inputting / outputting, for example, commands other than read / write data by OS-based control.
  • MSC mass storage class
  • the playback application 350 that operates on the Android (registered trademark) that is the USB host (the information processing apparatus 300) uses the command daemon 315 to record. Transfer of commands used for authentication processing with the media 200 is realized.
  • the playback application 350 transfers recording / playback data to the recording medium 200 via the recording / playback data path 421 shown in FIG. 14, and transfers commands used for authentication processing etc. via the security command path 422 shown in FIG. Execute.
  • the playback application 350 executes an authentication process with the recording medium 200 such as a micro SD card attached to the reader / writer 100 via the security command path 422, and records via the recording / playback data path 421 after the authentication process is established. It is possible to read data from the medium 200 and reproduce the read data.
  • the recording medium 200 such as a micro SD card attached to the reader / writer 100 via the security command path 422, and records via the recording / playback data path 421 after the authentication process is established. It is possible to read data from the medium 200 and reproduce the read data.
  • the recording / reproduction data path 421 is a transmission / reception path of a recording / reproduction data file between the reproduction application 350 and the recording medium 200 such as a micro SD card.
  • the security command path 422 indicates, for example, a path of a command transmitted / received in the authentication process between the playback application 350 and the recording medium 200.
  • the recording / reproducing data path 421 is the following path.
  • the recording / reproduction data is transferred between the recording medium 200 and the reproduction application 350 via the recording / reproduction data path 421.
  • the security command path 422 is the following path. Recording media 200 to USB reader / writer 100 mass storage class (MSC) compatible data transfer unit 110 to USB host driver 313 to mass storage class (MSC) 312 to command daemon 315 to playback application 350 Authentication commands and authentication data transmitted and received in the authentication process between the playback application 350 and the recording medium 200 are transferred between the recording medium 200 and the playback application 350 via the security command path 422.
  • MSC mass storage class
  • MSC mass storage class
  • FIG. 9 is a sequence diagram for explaining a processing sequence in a case where a read-out encrypted content) is read out, a read-out encrypted content is decrypted, and a reproduction process is performed.
  • each processing step will be described sequentially.
  • Step S221 First, in step S221, the user inputs a content reproduction instruction request via the user operation unit of the information processing apparatus 300. This request is input to the reproduction application 350 under the control of the control unit of the information processing apparatus 300.
  • Step S222 The playback application 350 starts an authentication process with the recording medium 200 storing the content in response to a content playback request input by the user.
  • This authentication process is executed using the security command path 422 described with reference to FIG. That is, using the security command path 422, various authentication commands, authentication data, and the like necessary for authentication processing are transmitted and received between the playback application 350 and the recording device 200, and authentication processing according to a specified authentication algorithm is executed.
  • the security command path 422 described with reference to FIG. That is, using the security command path 422, various authentication commands, authentication data, and the like necessary for authentication processing are transmitted and received between the playback application 350 and the recording device 200, and authentication processing according to a specified authentication algorithm is executed.
  • the security command path 422 is set as a path that passes through the following components. (1) A reproduction application 350 of the information processing apparatus 300, (2) Firmware (FW) command daemon 315 of the information processing apparatus 300, (3) Firmware (FW) mass storage class 312 of the information processing apparatus 300, (4) Firmware (FW) USB host driver 313 of the information processing apparatus 300; (5) Mass storage class (MSC) compatible data transfer unit 110 of USB reader / writer 100, (6) Recording medium 200, Authentication commands, authentication data, and the like transmitted and received in the authentication process between the playback application 350 and the recording medium 200 are transferred via the security command path 422.
  • MSC Mass storage class
  • step S222 an authentication process using the security command path 422 is executed, and the process after step S223 is executed only when the authentication is established. If the authentication is not established, the processing after step S223 is not executed. That is, data (encrypted content) reading from the recording medium 200 and playback processing are not executed.
  • Steps S223 to S224 When authentication is established in the authentication process of step S222, the reproduction application 350 executes a process of reading the recording data (encrypted content) of the recording medium 200 in steps S223 to S224.
  • the recording / reproduction data path 421 is set as a path that passes through the following components.
  • a reproduction application 350 of the information processing apparatus 300 (2) Firmware (FW) file system 311 of the information processing apparatus 300; (3) Firmware (FW) mass storage class 312 of the information processing apparatus 300, (4) USB host driver 313 of the firmware (FW) of the information processing apparatus, (5) Mass storage class (MSC) compatible data transfer unit 110 of USB reader / writer 100, (6) Recording medium 200, Transmission / reception of recording / reproduction data between the reproduction application 350 and the recording medium 200 is transferred using the recording / reproduction data path 421.
  • MSC Mass storage class
  • Steps S225 to S226) The reproduction application 350 that has acquired the encrypted content for reproduction from the recording medium 200 in steps S223 to S224 executes the decryption and decoding processing of the encrypted content that is the acquired data in step S225.
  • the reproduction data as a decoding result is output to an output unit (display, speaker).
  • FIG. 16 shows a processing layer of an information processing apparatus 300 such as a smart phone equipped with the USB reader / writer 100, similarly to the configuration shown in FIG. 12 described above as [Configuration Example A].
  • the processing layer of the information processing apparatus 300 can be roughly divided into the following two layers.
  • (B) Firmware (FW) layer These are these two layers.
  • data transfer is performed using the USB host API 314 set in the (B) firmware (FW) layer, similarly to the [configuration example A] described above with reference to FIGS. 12 and 13.
  • the security command path 412 is set using the USB host API 314.
  • the security command path 432 not only the security command path 432 but also the configuration shown in FIG.
  • the recording / reproduction data path 431 is also set as a path using the USB host API 314.
  • the USB host API 314 is a component that can be used in Android (registered trademark) 3.1 or later as described with reference to FIG. 5, and has a USB host function, that is, a control function for a USB device. It is an API that provides a data transfer control function between a USB device and an application.
  • the USB device is a USB reader / writer 100 with a medium (recording medium 200) mounted thereon, and the USB host API (USB HOST API) 314 has control over the USB reader / writer 100 with the recording medium 200 mounted thereon. Can be performed.
  • configuration example C is greatly different from the configuration examples A and B in that the file system 352 and the mass storage class 353 are set in the playback application 350 of the (A) application (APP) layer.
  • the information processing apparatus 300 which is an Android (registered trademark) terminal having Android (registered trademark) as an OS, recognizes that the device connected to the USB port is a storage device, and uses the mass storage class 353 of the FW under the OS control.
  • the FW mass storage class 353 restricts the transfer data to the recording / reproduction data only.
  • a file system 352 and a mass storage class 353 are set in the application layer, and access (data read / write) to the recording medium 200 using these is executed.
  • the recording / reproducing data path 431 is as follows. Recording media 200 to USB storage device 100 mass storage class (MSC) compatible data transfer unit 110 to USB host driver 313 to USB host API 314 to playback application 350
  • MSC mass storage class
  • the playback application 350 processes the playback data acquired from the recording medium 200 using the mass storage class (MSC) 353 and the file system 352 in the playback application 350, or generates recording data for the recording medium 200. .
  • MSC mass storage class
  • the security command path 432 is the following path. Recording media 200 to USB storage device 100 mass storage class (MSC) compatible data transfer unit 110 to USB host driver 313 to USB host API 314 to playback application 350 Authentication commands and authentication data transmitted and received in the authentication process between the playback application 350 and the recording medium 200 are transferred between the recording medium 200 and the playback application 350 via the security command path 432.
  • MSC mass storage class
  • FIG. 9 is a sequence diagram for explaining a processing sequence in a case where a read-out content) is read out, decrypted, and reproduction processing is performed.
  • each processing step will be described sequentially.
  • Step S241 First, in step S241, the user inputs a content reproduction instruction request via the user operation unit of the information processing apparatus 300. This request is input to the reproduction application 350 under the control of the control unit of the information processing apparatus 300.
  • Step S242 The playback application 350 starts an authentication process with the recording medium 200 storing the content in response to a content playback request input by the user.
  • This authentication process is executed using the security command path 432 described with reference to FIG. That is, using the security command path 432, various authentication commands and authentication data necessary for the authentication process are transmitted and received between the playback application 350 and the recording device 200, and the authentication process according to the specified authentication algorithm is executed.
  • the security command path 432 is set as a path that passes through the following components. (1) A reproduction application 350 of the information processing apparatus 300, (2) USB host API 314 of firmware (FW) of the information processing apparatus 300; (3) Firmware (FW) USB host driver 313 of the information processing apparatus 300; (4) a mass storage class (MSC) compatible data transfer unit 110 of the USB reader / writer 100; (5) recording medium 200, An authentication command, authentication data, and the like transmitted and received in the authentication process between the reproduction application 350 and the recording medium 200 are transferred via the security command path 432.
  • FW firmware
  • FW Firmware
  • MSC mass storage class
  • step S242 an authentication process using the security command path 432 is executed, and only the process after step S243 is executed only when the authentication is established. If the authentication is not established, the processing after step S243 is not executed. That is, data (encrypted content) reading from the recording medium 200 and playback processing are not executed.
  • Steps S243 to S244 When authentication is established in the authentication process of step S242, the playback application 350 executes a process of reading the recording data (encrypted content) of the recording medium 200 in steps S243 to S244.
  • the recording / reproducing data path 431 is set as a path that passes through the following components.
  • Reproduction application 350 including file system 352 and mass storage class 353 of information processing apparatus 300, (2) USB host API 314 of firmware (FW) of the information processing apparatus 300; (3) Information processing device firmware (FW) USB host driver 313, (4) a mass storage class (MSC) compatible data transfer unit 110 of the USB reader / writer 100; (5) recording medium 200, Transmission / reception of recording / reproduction data between the reproduction application 350 and the recording medium 200 is transferred using the recording / reproduction data path 431.
  • Steps S245 to S246 the reproduction application 350 that has acquired the encrypted content for reproduction from the recording medium 200 executes decryption and decoding processing of the encrypted content that is the acquired data in step S245, and in step S246,
  • the reproduction data as a decoding result is output to an output unit (display, speaker).
  • the authentication processing executed between the playback application 350 of the information processing apparatus 300 and the recording medium 200 attached to the USB reader / writer 200 is the same as that of the three configuration examples A to C described with reference to FIGS. It is executed as a process using either configuration.
  • the playback application 350 sequentially checks whether the configuration using the security command path according to any of the configuration examples A to C is possible, and uses the available path. It is a flowchart explaining the process sequence until it starts authentication processing. Processing of each step shown in the flow will be described sequentially.
  • Step S301 the playback application 350 of the information processing apparatus 300 performs the USB host API of the host (information processing apparatus 300) and the non-device (USB reader / writer 100) of the recording medium 200 attached to the USB reader / writer 100. It is determined whether or not access via the MSC compatible data transfer unit is possible. This is processing for determining whether or not the security command path 412 in [Configuration Example A] described above with reference to FIGS. 12 and 13 can be used.
  • This determination process can be executed by, for example, an authentication command transmission process from the playback application 350 to the recording medium 200.
  • the authentication command transmission process is tried assuming that the security command path 412 shown in FIG. 12 exists. If the command transmission is successful, the determination in step S301 is Yes, and the process proceeds to step S302. If the command transmission has failed, the determination in step S301 is No, and the process proceeds to step S303. Note that whether or not the command transmission is successful can be determined, for example, based on whether or not a response (ACK) is received from the recording device.
  • ACK response
  • Step S302 If it is determined that the determination process in step S301 is Yes, the process proceeds to step S302.
  • step S302 authentication processing is executed using the USB host API of the host (information processing apparatus 300) and the non-MSC compatible data transfer unit of the device (USB reader / writer 100). This is an authentication process using the security command path 412 in [Configuration Example A] described above with reference to FIGS.
  • Step S303 If the determination process in step S301 is NO, that is, if authentication command transmission using the security command path 412 in [Configuration Example A] described with reference to FIGS. 12 and 13 fails, step S303 is performed. Proceed to In step S303, the playback application 350 of the information processing apparatus 300 determines whether or not the recording medium 200 attached to the USB reader / writer 100 can be accessed by a command daemon (Command Daemon). This is processing for determining whether or not the security command path 422 in [Configuration Example B] described above with reference to FIGS. 14 and 15 can be used.
  • a command daemon Common Daemon
  • This determination process can be executed by, for example, an authentication command transmission process from the playback application 350 to the recording medium 200. Assuming that the security command path 422 shown in FIG. 14 exists, an authentication command transmission process via the command daemon is tried. If the command transmission is successful, the determination in step S303 is Yes, and the process proceeds to step S304. If the command transmission has failed, the determination in step S303 is No, and the process proceeds to step S305. Note that whether or not the command transmission is successful can be determined, for example, based on whether or not a response (ACK) is received from the recording device.
  • ACK response
  • Step S304 If the determination process in step S303 is determined as Yes, the process proceeds to step S304.
  • the playback application 350 executes an authentication process using the command daemon (Command Daemon) of the host (information processing apparatus 300) and the MSC compatible data transfer unit of the device (USB reader / writer 100). This is an authentication process using the security command path 422 in [Configuration Example B] described above with reference to FIGS.
  • Step S305 If the determination process in step S303 is determined No, that is, if the authentication command transmission using the security command path 422 in [Configuration Example B] described with reference to FIGS. 14 and 15 fails, step S305 is performed. Proceed to
  • step S303 the reproduction application 350 executes an authentication process using the USB host API of the host (information processing apparatus 300) and the MSC compatible data transfer unit of the device (USB reader / writer 100). This is an authentication process using the security command path 432 in [Configuration Example C] described above with reference to FIGS. 16 and 17.
  • the reproduction application 350 of the information processing apparatus 300 sequentially searches for paths that succeed in the transfer of the authentication command, and executes authentication processing using the successful paths.
  • the sequence example for determining whether or not the security command path can be used sequentially according to the order of the configuration examples A, B, and C has been described.
  • the path search may be set in various orders such as path availability determination according to the order of the configuration examples B, A, and C and path availability determination according to the order of the configuration examples C, B, and A.
  • USB reader / writer A and 100a such as a micro SD card are connected to the USB reader / writer A and 100a, and recording media B and 200b are attached to the USB reader / writer B and 100b.
  • information processing apparatus smarttphone
  • FIG. 20 shows an example of setting a path when two USB reader / writers A and 100a and USB reader / writers B and 100b are attached to the information processing apparatus 300.
  • the path setting example illustrated in FIG. 20 has a configuration in which the same processing layer as that of “configuration example A” described above with reference to FIGS. 12 and 13 is applied.
  • USB reader / writers A and 100a and USB reader / writers B and 100b attached to the information processing apparatus 300 are shown. Recording media A and 200a are connected to the USB reader / writers A and 100a, and recording media B and 200b are attached to the USB reader / writers B and 100b.
  • the reproduction application 350 of the information processing apparatus 300 performs processing by selectively using these two USB reader / writers A and 100a and USB reader / writers B and 100b.
  • the recording / reproducing data path 511a between the information processing apparatus 300 and the USB reader / writer A, 100a is as follows. Recording media A, 200a to USB reader / writer A, 100a mass storage class (MSC) compatible data transfer unit 110a to USB host driver 313 to mass storage class (MSC) 312 to file system 311 to playback application 350 The recording / reproduction data is transferred between the recording media A and 200a and the reproduction application 350 via the recording / reproduction data path 511a.
  • MSC mass storage class
  • the security command path 512a between the information processing apparatus 300 and the USB reader / writer A, 100a is as follows.
  • Authentication commands and authentication data transmitted and received in the authentication process between the playback application 350 and the recording media A and 200a are transferred between the recording media A and 200a and the playback application 350 via the security command path 512a.
  • the recording / reproducing data path 511b between the information processing apparatus 300 and the USB reader / writers B and 100b is as follows. Recording media B, 200b to USB reader / writer B, 100b mass storage class (MSC) compatible data transfer unit 110b to USB host driver 313 to mass storage class (MSC) 312 to file system 311 to playback application 350 The recording / playback data is transferred between the recording media B and 200b and the playback application 350 via the recording / playback data path 511b.
  • MSC mass storage class
  • the security command path 512b between the information processing apparatus 300 and the USB reader / writers B and 100b is the following path.
  • MSC non-mass storage class
  • the reproduction application 350 of the information processing apparatus 300 uses mount device information for each path in order to determine which connection device (mount device) is set for each of the four paths. get.
  • the mount device information that can be acquired by the playback application 350 will be described with reference to FIG.
  • the playback application 350 can obtain mount device information related to these recording / playback data paths 511a and 511b from a Linux (registered trademark) system file used by the Android (registered trademark) OS.
  • the playback application 350 refers to the Linux (registered trademark) system file that is the management information of the firmware layer file system 311 and the mass storage class 312, and information on the connection destination devices of the recording / playback data paths 511a and 511b (mount device) Information).
  • the playback application 350 can obtain mount device information related to these security command paths 512a and 512b from connection device information acquired and managed by the USB host API 314.
  • the playback application 350 acquires connection device information (mount device information) that is management information of the USB host API 314 in the firmware layer.
  • Product ID 0x0008 Information about these connected devices (USB reader / writer B, 100b) is acquired. From this connected device information, it becomes possible to know the vendor ID and product ID of the device connected to the security command path 512b.
  • the playback application 350 of the information processing device 300 is Connected device information corresponding to the two recording / reproducing data paths 511a and 511b; Connected device information corresponding to the two security command paths 512a and 512b, You can get these.
  • connection device information regarding each of the two recording / reproduction data paths 511a and 511b, connection device information regarding the two security command paths 512a and 512b, and correspondence information of these different paths cannot be obtained. This problem will be described with reference to FIG.
  • (2) connected device information of the security command path is device information obtained from the USB host API 314.
  • 20 and 21 is the connected device information of the security command path 512a shown in FIG.
  • the playback application 350 of the information processing apparatus 300 can individually acquire the connection device information corresponding to the recording / playback data path and the connection device information corresponding to the security command path.
  • information that connects the connection device information corresponding to the recording / playback data path and the connection device information corresponding to the security command path cannot be obtained.
  • the flowchart shown in FIG. 23 is a flowchart for explaining a sequence of path association processing for grasping a combination of a recording / playback data path and a security command path executed by the playback application 350 of the information processing apparatus 300.
  • this is a path association process performed to confirm a combination of a recording / reproduction data path and a security command path set corresponding to the same device. Processing of each step shown in the flow will be described sequentially.
  • Step S501 First, in step S501, the information processing apparatus 300 reads device mount information description data from a Linux (registered trademark) system file [proc / mounts].
  • FIG. 1 An example of the description data of the device mount information included in the Linux (registered trademark) system file is shown in FIG.
  • the device mount information description data includes the following data as shown in FIG. (1) Data indicating whether or not the connected device (mount device) is an external storage (when the description of / dev / block is included, it indicates that the device is an external storage) (2) Information indicating the position of link information (symbolic link) with respect to the recording file of the connection device information acquired from the USB host API (8: 0 in the example in the figure). (3) Connection device point information (UsbDriveA)
  • the Linux (registered trademark) system file [proc / mounts] includes a plurality of device mount information.
  • Step S502 In step S502, it is determined whether the end of the Linux (registered trademark) system file has been reached. When the end is reached, the process is terminated. If the end has not been reached, the process proceeds to step S503.
  • step S503 the information processing apparatus 300 determines whether the acquired description data of the device mount information is data related to an external device.
  • the device mount information description data includes data indicating whether the connected device (mount device) is an external storage (/ dev / block description, Indicating external storage). It is determined whether or not the description data of the device mount information acquired based on the presence or absence of this data is data relating to the external device.
  • step S501 If the description data of the device mount information is not data related to the external device, the process returns to step S501. If the description data of the device mount information is data related to the external device, the process proceeds to step S504.
  • Step S504 If it is determined in step S503 that the device mount information description data is data related to an external device, in step S504, mount point information is read from the device mount information description data.
  • the table shown at the bottom of FIG. 23 shows an example of read mount point information.
  • Mount point information [/ stage / UsbDriveA] It is assumed that this mount point information has been read.
  • the playback application 350 of the information processing apparatus 300 stores the mount point information in the memory, and further, the correspondence data between the vendor ID and the product ID, which is connection device information acquired in step S506 described below, is obtained in step S504.
  • the information is stored in the memory in association with the mount point information acquired in (1).
  • Step S505 After storing the mount point information acquired from the description data of the device mount information in the memory in step S504, in step S505, the recording position information of the link information (symbolic link) is acquired from the description data of the same device mount information. Acquire link information according to the acquired recording position information, and acquire a file using the acquired link information.
  • the position information indicating the location of the symbolic link acquired from the description data of the device mount information is a set position of data in which the link information (symbolic link) for the recording file of the device mount information acquired from the USB host API is recorded. . In accordance with this link information, it moves to the link destination (moves to the link destination of / sys / dev / block / or / sys / class / block).
  • the description data of the device mount information includes “information indicating the position of the link information (symbolic link) for the recording file of the connected device information acquired from the USB host API (FIG. 24). In the example, 8.0) ”is included.
  • the reproduction application 350 of the information processing apparatus 300 acquires the recording position of the link information (symbolic link), acquires the link information, and records the device mount information acquired from the USB host API using the acquired link information. Get the file.
  • the position information indicating the location of the link information (symbolic link) acquired from the description data of the device mount information is [8: 0] in the example shown in FIG. A configuration for setting the position information of the link information will be described with reference to FIG. FIG. 25 shows a part of a directory (sys / dev / block / 8: 0) that is a component of the Linux (registered trademark) file system.
  • This file 8: 0 is a file derived from position information indicating the location of link information (symbolic link) acquired from the description data of the device mount information.
  • link information (symbolic link) to the recording file of the connected device information acquired from the USB host API is recorded.
  • the link destination path indicated by the file 8: 0 has the following settings, for example. [. . /. . /Devices/platform/msm_hsusb_host/usb2/2-1/2-1:1.0/host0/target0:0:0/0:0:0:0:0:0/block/sda]
  • the data processing unit of the information processing apparatus 300 moves to the link destination according to this path and records a device mount information recording file [vendor ID description file (idVendor file) and product ID description file ( idProduct file)].
  • idVendor file vendor ID description file
  • idProduct file product ID description file
  • Vendor ID description file (b) Product ID description file These two files are shown. These files are device mount information recording files acquired from the USB host API.
  • Step S506 The data processing unit of the information processing apparatus 300 acquires connected device information from each file illustrated in FIG. That is, the vendor ID and product ID are acquired from the connected device information recording file acquired from the USB host API. As shown in the lower part of FIG. 23, the acquired connected device information is recorded in association with the mount point previously acquired in step S204.
  • Mount point information as connection device information obtained from description data of device mount information included in the Linux (registered trademark) system file [proc / mounts], (2) Vendor ID (VendorID) and product ID (ProductID) as device mount information acquired from the USB host API
  • VendorID Vendor ID
  • ProductID product ID
  • the information processing apparatus executes authentication processing using the security command path and uses the recording / playback data path connected to the same device as the security command path. Then, the recording / reproduction data is transferred.
  • FIG. 27 is a diagram illustrating a processing sequence including the path correspondence determination process described with reference to the flowchart of FIG.
  • the sequence diagram shown in FIG. 27 is obtained by adding the path correspondence determination process in step S201-2 to the sequence diagram described above with reference to FIG. That is, a sequence diagram illustrating processing executed in a configuration in which the recording / playback data path is set as a path via the file system 311 and the mass storage class 312 and the security command path is set as a path via the USB host API. It is.
  • FIG. 11 is a sequence diagram for explaining a processing sequence in the case where data (encrypted content) is read from a recording medium as a condition, the read encrypted content is decrypted, and reproduction processing is performed.
  • Step S201 First, in step S201, a user inputs a content reproduction instruction request via the user operation unit of the information processing apparatus 300. This request is input to the reproduction application 350 under the control of the control unit of the information processing apparatus 300.
  • Step S201-2 the reproduction application of the information processing device 300 executes a path correspondence determination process according to the flowchart described above with reference to FIG. This is a process for detecting a security command path connected to the same device as the connection device (USB reader / writer) connected to one recording / reproduction data path.
  • the security command path connected to the same device as the connected device (USB reader / writer) connected to one recording / reproducing data path is selected by the path correspondence determination process executed in step S201-2.
  • the processing when the device to be processed is the USB reader / writer A, 100a shown in FIG. 20 and the used paths are the recording / reproducing data path 511a and the security command path 512a will be described.
  • Step S202 the playback application 350 starts an authentication process with the recording medium 200a storing the content using the security command path 512a selected in the path correspondence determination process executed in step S201-1.
  • the authentication process is executed using the security command path 512a having the same connection device as the connection device (USB reader / writer A, 100a) of the recording / reproduction data path 511a applied to transfer of the recording / reproduction data.
  • the security command path 512a is set as a path that passes through the following components.
  • a reproduction application 350 of the information processing apparatus 300 (2) USB host API 314 of firmware (FW) of the information processing apparatus 300; (3) Firmware (FW) USB host driver 313 of the information processing apparatus 300; (4) USB reader / writer A, 100a non-mass storage class (MSC) compatible data transfer unit 120a, (5) Recording media A, 200a, An authentication command, authentication data, and the like transmitted and received in the authentication process between the playback application 350 and the recording media A and 200a are transferred via the security command path 512a.
  • MSC non-mass storage class
  • step S202 an authentication process using this security command path 512a is executed, and only the process after step S203 is executed only when the authentication is established. If the authentication is not established, the processing after step S203 is not executed. That is, data (encrypted content) reading and playback processing from the recording media A and 200a are not executed.
  • Steps S203 to S204 When authentication is established in the authentication process of step S202, the playback application 350 executes a process of reading the recording data (encrypted content) of the recording media A and 200a in steps S203 to S204.
  • the recording / reproducing data path 511a is set as a path that passes through the following components.
  • a reproduction application 350 of the information processing apparatus 300 (2) Firmware (FW) file system 311 of the information processing apparatus 300; (3) Firmware (FW) mass storage class 312 of the information processing apparatus 300, (4) USB host driver 313 of the firmware (FW) of the information processing apparatus, (5) Mass storage class (MSC) compatible data transfer unit 110a of USB reader / writer A, 100a, (6) Recording media A, 200a, Transmission / reception of recording / reproduction data between the reproduction application 350 and the recording media A and 200a is transferred using the recording / reproduction data path 511a.
  • MSC Mass storage class
  • Step S205 to S206 the reproduction application 350 that has acquired the encrypted content for reproduction from the recording media A and 200a executes decryption and decoding processing of the encrypted content that is the acquired data in step S205.
  • step S206 Decoding and reproduction data as a decoding result are output to an output unit (display, speaker).
  • a CPU (Central Processing Unit) 701 functions as a data processing unit that executes various processes according to a program stored in a ROM (Read Only Memory) 702 or a storage unit 708. For example, the process according to the sequence diagram and flow described in the above-described embodiment is executed. The playback application and firmware layer components described with reference to FIG. 12 and the like are also executed in the data processing unit.
  • ROM Read Only Memory
  • a RAM (Random Access Memory) 703 stores programs executed by the CPU 701, data, and the like.
  • the CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704.
  • the CPU 701 is connected to an input / output interface 705 via a bus 704.
  • the input / output interface 705 is connected to an input unit 706 including various switches, a keyboard, a mouse, and a microphone, and an output unit 707 including a display and a speaker. Yes.
  • the CPU 701 executes various processes in response to a command input from the input unit 706, and outputs a processing result to the output unit 707, for example.
  • the storage unit 708 connected to the input / output interface 705 includes, for example, a hard disk, and stores programs executed by the CPU 701 and various data.
  • a communication unit 709 functions as a data transmission / reception unit via a network such as the Internet or a local area network, and communicates with an external device.
  • the communication unit 709 includes a USB port, and a USB reader / writer can be connected.
  • a USB reader / writer equipped with the above-described recording device is connected and used for communication processing with the recording device and data transfer processing.
  • the drive 710 connected to the input / output interface 705 drives a removable medium 711 such as a semiconductor memory such as a magnetic disk, an optical disk, a magneto-optical disk, or a memory card, and executes data recording or reading.
  • a removable medium 711 such as a semiconductor memory such as a magnetic disk, an optical disk, a magneto-optical disk, or a memory card, and executes data recording or reading.
  • the processing of the present disclosure can be applied to other playback applications.
  • the present invention can be applied to processing using a playback application that supports various digital rights management (DRM: Digital Rights Management) such as CPRM (Content Protection of Recordable Media) and Magic Gate.
  • DRM Digital Rights Management
  • CPRM Content Protection of Recordable Media
  • the configuration example in which the recording medium storing the content is attached to the USB reader / writer and the content read from the recording medium via the USB reader / writer is reproduced. That is, first, the configuration example in which the information processing apparatus and the recording medium are authenticated and the storage content of the recording medium is transferred to the information processing apparatus has been described.
  • the communication path between the recording medium on which the content is recorded and the playback device that executes the content playback is not limited to a USB connection unit such as a USB port.
  • various communication paths such as Wi-Fi, Bluetooth (registered trademark), NFC, and earphone jack may be used.
  • the configuration in which the recording medium is mounted on the USB reader / writer has been described.
  • the processing of the present disclosure can be applied not only to a configuration in which a recording medium such as an SD card is combined with a USB reader / writer having a media mounting unit, but also to other configurations, for example, a configuration using a USB memory. It is.
  • the technology disclosed in this specification can take the following configurations.
  • a recording medium mounting portion on which a recording medium can be mounted A USB connector;
  • a control unit that executes data transfer processing between the recording medium mounted on the recording medium mounting unit and a host connected to the USB connector;
  • the controller is Control of recording / playback data transfer to the recording medium using a mass storage class (MSC) compatible data transfer unit;
  • a USB reader / writer device that executes security command transfer control for the recording medium using a non-mass storage class compatible data transfer unit.
  • the USB reader / writer It has a USB-A connector and a USB-microB connector.
  • the controller is When a power supply host is connected to the USB-microB connector, different types of data transfer are executed via each of the mass storage class compatible data transfer unit and the non-mass storage class compatible data transfer unit.
  • a USB reader / writer device according to 1).
  • the control unit A power supply host is connected to the USB-microB connector, When a recording medium is attached to the recording medium attachment part set on the USB-A connector side, The USB reader / writer device according to (2), wherein different types of data transfer are performed via each of the mass storage class-compatible data transfer unit and the non-mass storage class-compatible data transfer unit.
  • the control unit An input signal to GPIO (General Purpose Input / Output) of the control unit is detected, and according to the value of the input signal, Execute data transfer control using a single data transfer unit, or Any one of the above (1) to (3) that executes processing switching to execute different types of data transfer via each of the mass storage class compatible data transfer unit and the non-mass storage class compatible data transfer unit.
  • GPIO General Purpose Input / Output
  • the USB reader / writer device An MCU (Micro Computer Unit) that performs signal input to GPIO (General Purpose Input / Output) of the control unit;
  • the MCU receives an input signal value for GPIO (General Purpose Input / Output) of the control unit on condition that a power supply host is connected to the USB-microB connector and power is supplied from the power supply host.
  • the USB reader / writer device according to (4) to be changed.
  • control unit The USB reader / writer device according to (4) or (5), wherein a GPIO input signal value of the control unit is confirmed after a reset signal is input to the control unit, and a data transfer control mode is determined according to the confirmed input signal value.
  • the non-mass storage class compatible data transfer unit is configured as a vendor unique class compatible data transfer unit or an HID (Human Interface Device) class compatible data transfer unit according to any one of (1) to (6) above USB reader / writer device.
  • HID Human Interface Device
  • a communication unit for connecting a device loaded with a recording medium;
  • a data processing unit for executing a reproduction application for inputting and reproducing the recording data of the recording medium via the communication unit;
  • the data processing unit (A) a recording / reproducing data path for inputting recording data of the recording medium; (B) a security command other than the recording data of the recording medium or a security command path for transferring security data;
  • An information processing apparatus that executes data transfer processing using the two paths.
  • the playback application is By performing a data transfer process via the security command path, an authentication process with the recording medium is performed,
  • the communication unit is a USB port, The information processing apparatus according to (8) or (9), wherein the recording medium is a recording device attached to a USB reader / writer connected to the USB port.
  • the data processing unit Recording data of the recording medium is input using a recording / reproducing data path through a mass storage class that is a firmware component of the information processing apparatus,
  • the information processing apparatus according to (10) wherein a security command or security data is transferred using a security command path via a USB host API that is a firmware component of the information processing apparatus.
  • the data processing unit Using the USB reader / writer's mass storage class compatible data transfer unit, input the recording data of the recording medium, The information processing apparatus according to (10) or (11), wherein a security command or security data is transferred using a non-mass storage class compatible data transfer unit of the USB reader / writer.
  • the data processing unit Recording data of the recording medium is input using a recording / reproducing data path through a mass storage class that is a firmware component of the information processing apparatus,
  • the information processing apparatus according to any one of (10) to (12), wherein a security command or security data is transferred using a security command path via a command daemon that is a firmware component of the information processing apparatus.
  • the data processing unit Input recording data of the recording medium using a mass storage class that is a component of the application layer of the information processing apparatus and a recording / playback data path via a USB host API that is a firmware component of the information processing apparatus,
  • the information processing apparatus according to any one of (10) to (13), wherein a security command or security data is transferred using a security command path via a USB host API that is a firmware component of the information processing apparatus.
  • the data processing unit A path correspondence determination process for detecting a device connected by one recording / playback data path and a security command path connected to the same device; The security command path connected to the same device selected based on the path correspondence determination process, the authentication process using the recording / reproduction data path, and the recording / reproduction data transfer process are executed.
  • the path correspondence determination process includes: The information processing apparatus according to (15), executed with reference to description information of a system file of the information processing apparatus.
  • a data transfer control method executed in a reader / writer device includes a recording medium mounting unit on which a recording medium can be mounted, a USB connector, A control unit that executes data transfer processing between the recording medium mounted on the recording medium mounting unit and a host connected to the USB connector;
  • the control unit is Control of recording / playback data transfer to the recording medium using a mass storage class (MSC) compatible data transfer unit;
  • MSC mass storage class
  • the information processing apparatus includes a communication unit that connects a device equipped with a recording medium; A data processing unit for executing a reproduction application for inputting and reproducing the recording data of the recording medium via the communication unit;
  • the data processing unit is (A) a recording / reproducing data path for inputting recording data of the recording medium; (B) a security command other than the recording data of the recording medium or a security command path for transferring security data;
  • a data transfer control method for executing data transfer processing using the above two paths.
  • a program for executing data transfer control processing in a reader / writer device includes a recording medium mounting unit on which a recording medium can be mounted, a USB connector, A control unit that executes data transfer processing between the recording medium mounted on the recording medium mounting unit and a host connected to the USB connector;
  • the program is stored in the control unit.
  • a program for executing security command transfer control for the recording medium using a non-mass storage class compatible data transfer unit is stored in the control unit.
  • a program for executing data transfer control processing in an information processing device includes a communication unit that connects a device equipped with a recording medium; A data processing unit for executing a reproduction application for inputting and reproducing the recording data of the recording medium via the communication unit; The program is stored in the data processing unit.
  • the series of processes described in the specification can be executed by hardware, software, or a combined configuration of both.
  • the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
  • the program can be recorded in advance on a recording medium.
  • the program can be received via a network such as a LAN (Local Area Network) or the Internet and installed on a recording medium such as a built-in hard disk.
  • the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
  • the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.
  • a USB reader / writer having a USB-A connector and a USB-microB connector
  • the reader / writer control unit is connected to a power supply host to the USB-microB connector
  • a recording medium is mounted on the USB-A connector side If so, the recording / playback data of the recording medium is transferred via the mass storage class compatible data transfer unit, and the security command applied to the authentication process or the like is transferred via the non-mass storage class compatible data transfer unit.
  • a host equipped with a USB reader / writer executes data transfer of different categories using two paths, a recording / playback data path and a security command path.
  • a configuration that enables not only transfer of recording / reproduction data but also transfer of security commands between the host and a recording device connected to the host is realized.
  • USB Reader / Writer 11 USB-A Connector 12 USB-microB Connector 13 Card Slot 21 Micro SD Card 30 Smartphone 32 Tablet Terminal 41 PC 42 TV 43 Recording / Playback Device 50 Playback Application 51 Playback Application Library 61 File System 62 Mass Storage Class 63 USB Host Driver 64 USB Host API 71, 72 Recording / reproduction data path 81, 82 Security command path 100 Information processing device 110 Mass storage class (MSC) compatible data transfer unit 120 Non-mass storage class (MSC) compatible data transfer unit 150 Reader / writer control unit 151 USB-A connector 152 Voltage conversion unit 161 USB-microB connector 162 Voltage conversion unit 163 IC reset unit 164 Microcomputer 200 Recording medium 300 Information processing device 311 File system 312 Mass storage class 313 USB host driver 314 USB host API 315 Command daemon 350 Playback application 351 Playback application library 352 File system 353 Mass storage class 380 USB hub 411, 421, 431 Recording / playback data path 412, 422, 432 Security command path 511a, 511b

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つのパスを利用してデータ転送処理を実行させるプログラム。
PCT/JP2015/071078 2014-08-28 2015-07-24 リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム WO2016031456A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP15835054.6A EP3196769A4 (en) 2014-08-28 2015-07-24 Reader/writer device, information processing device, data transfer control method, and program
JP2016545064A JP6693417B2 (ja) 2014-08-28 2015-07-24 リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム
US15/328,929 US20170228333A1 (en) 2014-08-28 2015-07-24 Reader/writer device, information processing device, and data transfer control method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014173560 2014-08-28
JP2014-173560 2014-08-28

Publications (1)

Publication Number Publication Date
WO2016031456A1 true WO2016031456A1 (ja) 2016-03-03

Family

ID=55399357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/071078 WO2016031456A1 (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デバイスの制御方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223874A (ja) * 2004-01-09 2005-08-18 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP2008533561A (ja) * 2005-02-16 2008-08-21 サイプレス セミコンダクター コーポレーション Usb保護記憶装置

Family Cites Families (10)

* 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
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 ソニー株式会社 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223874A (ja) * 2004-01-09 2005-08-18 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP2008533561A (ja) * 2005-02-16 2008-08-21 サイプレス セミコンダクター コーポレーション Usb保護記憶装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3196769A4 *

Also Published As

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

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) 정보 처리 장치 및 그 운용방법
JP2009110609A (ja) ストリームデータ転送制御機構
JP2010527465A (ja) デジタルコンテンツへのアクセスを制御する方法およびシステム
JP6693417B2 (ja) リーダライタ装置、情報処理装置、およびデータ転送制御方法、並びにプログラム
KR20080021072A (ko) 디바이스에 저장된 컨텐트의 재생을 원격으로 제어하는시스템, 방법 및 컴퓨터 판독가능 매체
US20080282092A1 (en) Card reading apparatus with integrated identification function
US7913263B2 (en) External device and operating method applied thereto
KR101416322B1 (ko) 복사 방지된 타이틀의 인증 방법 및 이를 적용하는 재생장치
JP5163522B2 (ja) Usbストレージデバイス、ホストコンピュータ、usbストレージシステム、およびプログラム
KR100705381B1 (ko) 유에스비 호스트에 보안 콘트롤러를 부가하여 유에스비장치를 통제하는 방법
US20120144206A1 (en) Information processing apparatus, removable storage device, information processing method, and information processing system
US8069448B2 (en) Computer interface controller for peripheral devices
KR100758219B1 (ko) 유에스비 장치의 동작을 통제하는 방법
JP2004362523A (ja) 無線式ストレージ装置、無線式ハードディスク、無線式フラッシュメモリディスク、ストレージ装置認証方法
US8549636B2 (en) Information processing apparatus, authentication method, and computer program
US7721007B2 (en) Methods of transmitting non-SCSI commands involving loading opcode in command descriptor block (CDB) bytes and non-SCSI commands into remaining CDB bytes
US20080282014A1 (en) Card reading apparatus for multi-directional data transmission
JP2012068808A (ja) 可搬記憶装置
JP2017079040A (ja) 情報端末及びそのデータ秘匿化処理方法
US20220398205A1 (en) Host system and device for performing environment setting based on connection direction of connector and operating method of host system
JP4740104B2 (ja) データ処理装置、データ処理システム、及び周辺装置
JP2006318047A (ja) 記録媒体及びオーディオビジュアルデータ再生方法
JP2011070460A (ja) Usbストレージ装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15835054

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016545064

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015835054

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015835054

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE