WO2009090734A1 - Usb可搬装置 - Google Patents

Usb可搬装置 Download PDF

Info

Publication number
WO2009090734A1
WO2009090734A1 PCT/JP2008/050415 JP2008050415W WO2009090734A1 WO 2009090734 A1 WO2009090734 A1 WO 2009090734A1 JP 2008050415 W JP2008050415 W JP 2008050415W WO 2009090734 A1 WO2009090734 A1 WO 2009090734A1
Authority
WO
WIPO (PCT)
Prior art keywords
usb
readable
portable device
recognized
host
Prior art date
Application number
PCT/JP2008/050415
Other languages
English (en)
French (fr)
Inventor
Masahiro Hatada
Original Assignee
I-O Data Device, Inc.
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 I-O Data Device, Inc. filed Critical I-O Data Device, Inc.
Priority to EP08703276.9A priority Critical patent/EP2246778B1/en
Priority to US12/863,233 priority patent/US8527680B2/en
Priority to JP2009549925A priority patent/JP5216024B2/ja
Priority to PCT/JP2008/050415 priority patent/WO2009090734A1/ja
Publication of WO2009090734A1 publication Critical patent/WO2009090734A1/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3854Control is performed at the peripheral side

Definitions

  • the present invention relates to a USB portable device.
  • USB Universal Serial Bus
  • PC Personal Computer
  • Patent Document 1 describes that a storage area is effectively used by using a logical unit number of a divided area for each of a plurality of divided areas obtained by logically dividing a large-capacity storage area.
  • Patent Document 2 describes that access restriction is realized by performing authentication for access to an access restriction area.
  • Patent Document 3 describes that a storage area that does not conform to the specifications of the OS (Operating System) is hidden corresponding to the specifications of the OS (Operating System).
  • Patent Documents 4 and 5 describe that the connection of a virtual device in a portable medium is controlled so that it can be used by privileged users but cannot be used by other users.
  • JP 7-234759 A Japanese Patent Laid-Open No. 10-289159 JP 2005-115636 A JP 2006-202339 A JP 2006-286008 A
  • the main object of the present invention is to solve the above-mentioned problems and prevent unauthorized access to a portable medium storing an automatic execution program while improving user convenience.
  • the present invention is a USB portable device that stores a switching program that is executed by being connected to a host device
  • the USB portable device has a USB function unit for activation that stores the switching program, a USB function unit for storage that permits reading and writing from the host device, and a USB function for control that switches the device recognized by the host device.
  • the USB function unit for control is When the USB portable device is connected to the host device, the USB function unit for activation is recognized as a readable device, The switching program in the recognized readable device is read and executed by the host device, thereby receiving a switching instruction from the host device, The readable device is released and the storage USB function unit is recognized as a readable / writable device. Other means will be described later.
  • USB system regarding each embodiment of this invention. It is a block diagram which shows the USB portable apparatus which recognizes a device for every USB peripheral regarding 1st Embodiment of this invention. It is a flowchart which shows the operation
  • USB Portable Device 11 Switching Program 12
  • USB Peripheral 12a Startup USB Peripheral 12b Storage USB Peripheral 12c Control USB Peripheral 13 Memory Chip 13a Startup Memory Chip 13b Storage Memory Chip 14a Startup Virtual Area 14b Storage Virtual Area 15 Controller 16 Interface section 17 CPU 18a USB hub 18b port switch 19 USB interface 2 host device 21 USB host driver unit 22 switching program execution unit 29 USB port
  • FIG. 1A is a configuration diagram showing a USB system.
  • the USB system is configured by connecting a host device 2 that realizes a host function according to the USB standard and a USB portable device 1 that realizes a function function according to the USB standard.
  • the connection is realized by inserting the USB interface 19 of the USB portable device 1 into the USB port 29 of the host device 2.
  • the USB portable device 1 is configured as, for example, a USB memory including at least a flash memory as a storage unit and a control circuit chip (such as a CPU 17 in FIG. 1B described later) that performs control processing.
  • the storage means of the USB portable device 1 may be configured as a medium such as an HDD (Hard Disk Drive) or a removable SD card.
  • FIG. 1B is a configuration diagram showing the inside of the USB portable device 1 and the host device 2.
  • the host device 2 includes a USB host driver unit 21, a switching program execution unit 22, and a USB port 29.
  • the host device 2 is configured as a computer including at least a memory 23 as storage means used when performing arithmetic processing and an arithmetic processing device that performs the arithmetic processing.
  • the memory 23 is configured by a RAM (Random Access Memory) or the like.
  • Arithmetic processing is realized by an arithmetic processing unit configured by a CPU (Central Processing Unit) 24 executing a program on the memory 23.
  • the host device 2 has a display device 25 for displaying data and the like.
  • the host device 2 receives data input from the input device 3 such as a connected keyboard and mouse via the USB port 29.
  • USB host driver unit 21 When the USB host driver unit 21 detects the USB portable device 1 connected to the USB port 29, the USB host driver unit 21 recognizes that the detected hardware resource of the USB portable device 1 is used by the OS (Operating System) of the host device 2 ( enumeration). That is, the USB host driver unit 21 functions as an HCD (Host Controller Driver) in the USB standard.
  • OS Operating System
  • HCD Host Controller Driver
  • the switching program execution unit 22 is realized by the CPU of the host device 2 reading and executing the switching program 11 stored in the storage unit of the USB portable device 1 on the memory in accordance with an instruction from the OS.
  • the switching program execution unit 22 switches one storage unit that is recognized as a mass storage device among a plurality of storage units (startup storage unit 1a and storage unit 1b) existing in the USB portable device 1.
  • Storage means recognized as a mass storage device is storage means accessible from the OS of the host device 2.
  • the CPU 17 causes the host device 2 to read the switching program 11 stored in the activation storage unit 1a.
  • the CPU 17 When the storage unit 1b is recognized as a readable / writable device, the CPU 17 reads / writes data stored in the storage unit 1b in accordance with an access instruction from the host device 2. Note that when switching the storage means, the switching program execution unit 22 recognizes another storage means after removing a predetermined storage means that has already been recognized. This eliminates the need for the user to manually input a mass storage device removal operation, which is convenient.
  • the configuration of the USB system described above is common to the first to third embodiments described below. Hereinafter, a detailed configuration and operation will be described for each embodiment.
  • Each embodiment has the following characteristics.
  • -1st Embodiment makes a device recognize for every USB peripheral (peripheral) as a memory
  • the USB peripheral is a USB function unit that constitutes a USB function to which one device address (any value from 0 to 127) is assigned from the USB host driver unit 21.
  • a device is recognized for each memory chip in the USB peripheral.
  • FIG. A virtual area is a unit of a storage area to which one logical unit number (LUN) is assigned.
  • LUN logical unit number
  • FIG. 2 is a configuration diagram showing the USB portable device 1 that recognizes a device for each USB peripheral.
  • each USB peripheral (the startup USB peripheral 12 a, the storage USB peripheral 12 b, and the control USB peripheral 12 c) is connected to the downstream side of the USB hub 18 a. 1 corresponds to the activation USB peripheral 12a, and the storage means 1b in FIG. 1 corresponds to the storage USB peripheral 12b.
  • Port numbers (0, 1, and 2 indicated by balloons in the figure) for specifying USB peripherals are assigned to connection lines to each USB peripheral one by one.
  • the USB hub 18a has a port switch 18b.
  • the port switch 18 b connects the USB interface 19 to any one of the startup USB peripheral 12 a or the storage USB peripheral 12 b. Therefore, the port switch 18b sets the state of each port to either “valid state” or “invalid state”.
  • the control USB peripheral 12c of the port “0” is always “valid”.
  • the activation USB peripheral 12a of the port “1” and the storage USB peripheral 12b of the port “2” can be operated in the “valid state” or “invalid state”, and are in opposite states. That is, in the present embodiment, both states are not “valid”.
  • the startup USB peripheral 12 a includes a memory chip 13 as a storage unit and a controller 15 that controls reading and writing of data to the memory chip 13.
  • a switching program 11 is stored in the memory chip 13 of the startup USB peripheral 12a, and the switching program 11 is a program to be auto-run.
  • the storage USB peripheral 12 b includes a memory chip 13 as a storage unit and a controller 15 that controls reading and writing of data to the memory chip 13.
  • the control USB peripheral 12 c includes an interface unit 16 and a controller 15.
  • the interface unit 16 sends a command for designating one USB peripheral to be connected to the port switch 18b from the switching program execution unit 22 to the USB interface of the startup USB peripheral 12a or the storage USB peripheral 12b. 19 through.
  • the controller 15 reflects the command received by the interface unit 16 on the port switch 18b.
  • the interface unit 16 is recognized by the USB host driver unit 21 as, for example, an HID (Human Interface Device) class in the USB standard in order to perform control communication with the host device 2.
  • HID Human Interface Device
  • FIG. 3 is a flowchart showing an operation for recognizing a device for each USB peripheral.
  • the USB portable device 1 before being inserted into the host device 2 initializes its own mode to the startup mode (S11).
  • the startup mode the control USB peripheral 12c of the port “0” and the startup USB peripheral 12a of the port “1” are “valid”, and the storage USB peripheral 12b of the port “2” is “invalid” State ".
  • the USB host driver unit 21 detects the inserted USB portable device 1 (S12b). With this detection as a trigger, the USB host driver unit 21 executes recognition (enumeration) of the detected USB portable device 1. Specifically, when the USB host driver unit 21 inquires of the USB portable device 1 about an available device, the USB portable device 1 responds with a startup USB that is “valid”. The peripheral 12a is notified as a readable device (S13c), and the switching program 11 stored in the readable device is notified as an autorun (automatic execution) program.
  • the USB host driver unit 21 Upon receiving the response, the USB host driver unit 21 recognizes the activation USB peripheral 12a as a readable device (S13b). Then, the USB host driver unit 21 triggers transmission of a transfer command for starting the switching program 11 in the recognized readable device as an automatic execution program (S14b), and the USB portable device 1 then switches the switching program 11 Is transferred to the host device 2 (S14c), and the host device 2 starts to execute the transferred switching program 11, thereby constructing the switching program execution unit 22.
  • the USB host driver unit 21 When the switching program execution unit 22 instructs the USB host driver unit 21 to remove the readable device (S15a), the USB host driver unit 21 receives the instruction and removes the readable device recognized in S13b (S15b). Since the switching program 11 has already been transferred to the host device 2 and executed as the switching program execution unit 22, the execution is not interrupted by this removal process.
  • the switching program execution unit 22 instructs the USB portable device 1 to switch from the startup mode of S11 to the storage mode in response to a response that the removal of S15b has been performed (S16a).
  • the USB portable device 1 switches its mode to the storage mode according to the instruction (S16c).
  • the control USB peripheral 12c of the port “0” and the storage USB peripheral 12b of the port “2” are “valid”, and the startup USB peripheral 12a of the port “1” is “invalid” State ".
  • the controller 15 of the control USB peripheral 12c instructs the port switch 18b to change the connection destination from the startup USB peripheral 12a to the storage USB peripheral 12b.
  • the switching program execution unit 22 causes the USB host driver unit 21 to generate a detection event similar to the event inserted in the USB port 29 (S12c) in order to recognize the USB portable device 1 again. (S17a). Upon receiving this detection event, the USB host driver unit 21 detects the USB portable device 1 already inserted again (S17b, S17c). With this detection as an opportunity, the USB host driver unit 21 executes the second recognition (enumeration) of the detected USB portable device 1.
  • the USB host driver unit 21 inquires of the USB portable device 1 about an available device, the USB portable device 1 becomes “valid” as a response.
  • the storage USB peripheral 12b is notified as a readable / writable device (S18c).
  • the USB host driver unit 21 recognizes the storage USB peripheral 12b as a readable / writable device (S18b).
  • the host device 2 can read / write the recognized storage USB peripheral 12b, but since the removed startup USB peripheral 12a is completely invisible to the USB host driver unit 21, You do n’t have to. According to the embodiment described above, unauthorized access to the startup USB peripheral 12a is suppressed by switching between the readable area of the startup USB peripheral 12a and the readable / writable area of the storage USB peripheral 12b. However, both areas can be used efficiently.
  • FIG. 4 is a configuration diagram showing the USB portable device 1 that recognizes a device for each memory chip.
  • the USB portable device 1 has a USB peripheral 12.
  • the USB peripheral 12 includes memory chips (startup memory chip 13a and storage memory chip 13b), a controller 15 that controls reading and writing to each memory chip, and an interface unit 16 that controls the state of the controller 15.
  • . 1 corresponds to the startup memory chip 13a
  • the storage unit 1b of FIG. 1 corresponds to the storage memory chip 13b.
  • the controller 15 connects any one of the activation memory chip 13 a and the storage memory chip 13 b to the USB interface 19. Therefore, the controller 15 sets the state of each memory chip to either “valid state” or “invalid state”.
  • the activation memory chip 13a and the storage memory chip 13b can be operated in the “valid state” or “invalid state”, and are in opposite states. That is, in the present embodiment, both states are not “valid”.
  • the switching memory 11 is stored in the startup memory chip 13a, and this switching program 11 is a program to be auto-run.
  • the interface unit 16 sends an instruction for designating one memory chip to be connected from the switching program execution unit 22 to the USB interface among the activation memory chip 13a and the storage memory chip 13b. 19 is reflected via the controller 15.
  • the interface unit 16 is recognized by the USB host driver unit 21 as an HID (Human Interface Device) class in the USB standard in order to perform control communication with the host device 2.
  • HID Human Interface Device
  • FIG. 5 is a flowchart showing an operation for recognizing a device for each memory chip.
  • the USB portable device 1 before being inserted into the host device 2 initializes its own mode to the startup mode (S11).
  • the startup memory chip 13a is in the “valid state” and the storage memory chip 13b is in the “invalid state”.
  • the USB host driver unit 21 detects the inserted USB portable device 1 (S12b). With this detection as a trigger, the USB host driver unit 21 executes recognition (enumeration) of the detected USB portable device 1. Specifically, when the USB host driver unit 21 inquires of the USB portable device 1 about an available device, the USB portable device 1 responds with a startup memory that is “valid”. The chip 13a is notified as a readable device (S23c), and the switching program 11 stored in the readable device is notified as an autorun (automatic execution) program.
  • the USB host driver unit 21 Upon receiving the response, the USB host driver unit 21 recognizes the activation memory chip 13a as a readable device (S23b). Then, the USB host driver unit 21 triggers transmission of a transfer command for starting the switching program 11 in the recognized readable device as an automatic execution program (S14b), and the USB portable device 1 then switches the switching program 11 Is transferred to the host device 2 (S14c), and the host device 2 starts to execute the transferred switching program 11, thereby constructing the switching program execution unit 22.
  • the USB host driver unit 21 When the switching program execution unit 22 instructs the USB host driver unit 21 to remove the readable device (S15a), the USB host driver unit 21 receives the instruction and removes the readable device recognized in S23b (S15b). Since the switching program 11 has already been transferred to the host device 2 and executed as the switching program execution unit 22, the execution is not interrupted by this removal process.
  • the switching program execution unit 22 instructs the USB portable device 1 to switch from the startup mode of S11 to the storage mode in response to a response that the removal of S15b has been performed (S16a).
  • the USB portable device 1 switches its mode to the storage mode according to the instruction (S16c).
  • the storage memory chip 13b is in the “valid state”
  • the activation memory chip 13a is in the “invalid state”.
  • the controller 15 switches the connection destination from the activation memory chip 13a to the storage memory chip 13b.
  • the switching program execution unit 22 causes the USB host driver unit 21 to generate a detection event similar to the event inserted in the USB port 29 (S12c) in order to recognize the USB portable device 1 again. (S17a). Upon receiving this detection event, the USB host driver unit 21 detects the USB portable device 1 already inserted again (S17b, S17c). With this detection as an opportunity, the USB host driver unit 21 executes the second recognition (enumeration) of the detected USB portable device 1.
  • the USB host driver unit 21 inquires of the USB portable device 1 about an available device, the USB portable device 1 becomes “valid” as a response.
  • the storage memory chip 13b is notified as a readable / writable device (S28c).
  • the USB host driver unit 21 recognizes the storage memory chip 13b as a readable / writable device (S28b).
  • the host device 2 can read / write data from / to the recognized storage memory chip 13b.
  • the removed startup memory chip 13a is completely invisible from the USB host driver unit 21, it can be read / written. You do n’t have to.
  • unauthorized access to the activation memory chip 13a is suppressed by switching between the readable area of the activation memory chip 13a and the readable / writable area of the storage memory chip 13b.
  • both areas can be used efficiently.
  • FIG. 6 is a configuration diagram showing the USB portable device 1 that recognizes a device for each virtual area.
  • the USB portable device 1 has a USB peripheral 12.
  • the USB peripheral 12 controls the state of the memory chip 13 in which a plurality of virtual areas (starting virtual area 14 a and storage virtual area 14 b) are constructed, the controller 15 that controls reading and writing to the memory chip 13, and the state of the controller 15.
  • Interface unit 16. 1 corresponds to the activation virtual area 14a
  • the storage means 1b in FIG. 1 corresponds to the storage virtual area 14b.
  • the controller 15 connects any one of the activation virtual area 14 a and the storage virtual area 14 b and the USB interface 19. Therefore, the controller 15 sets the state of each virtual area to either “valid state” or “invalid state”.
  • the activation virtual area 14a and the storage virtual area 14b can be operated in the “valid state” or “invalid state”, and are in opposite states. That is, in the present embodiment, both states are not “valid”.
  • a switching program 11 is stored, and this switching program 11 is a program to be auto-run.
  • the interface unit 16 sends a command for designating one virtual area to be connected from the switching program execution unit 22 to the USB interface from the switching program execution unit 22 to the USB virtual interface 14a and the storage virtual area 14b. 19 is reflected via the controller 15.
  • the interface unit 16 is recognized by the USB host driver unit 21 as an HID (Human Interface Device) class in the USB standard in order to perform control communication with the host device 2.
  • HID Human Interface Device
  • FIG. 7 is a flowchart showing an operation for recognizing a device for each virtual area.
  • the USB portable device 1 before being inserted into the host device 2 initializes its own mode to the startup mode (S11).
  • the activation virtual area 14a is in the “valid state” and the storage virtual area 14b is in the “invalid state”.
  • the USB host driver unit 21 detects the inserted USB portable device 1 (S12b). With this detection as a trigger, the USB host driver unit 21 executes recognition (enumeration) of the detected USB portable device 1. Specifically, when the USB host driver unit 21 inquires of the USB portable device 1 about a device that can be used, the USB portable device 1 responds with a virtual machine for startup that is in the “valid state”. The area 14a is notified as a readable device (S33c), and the switching program 11 stored in the readable device is notified as an autorun (automatic execution) program.
  • the USB host driver unit 21 Upon receiving the response, the USB host driver unit 21 recognizes the activation virtual area 14a as a readable device (S33b). Then, the USB host driver unit 21 triggers transmission of a transfer command for starting the switching program 11 in the recognized readable device as an automatic execution program (S14b), and the USB portable device 1 then switches the switching program 11 Is transferred to the host device 2 (S14c), and the host device 2 starts to execute the transferred switching program 11, thereby constructing the switching program execution unit 22.
  • the USB host driver unit 21 When the switching program execution unit 22 instructs the USB host driver unit 21 to remove the readable device (S15a), the USB host driver unit 21 receives the instruction and removes the readable device recognized in S33b (S15b). Since the switching program 11 has already been transferred to the host device 2 and executed as the switching program execution unit 22, the execution is not interrupted by this removal process.
  • the switching program execution unit 22 instructs the USB portable device 1 to switch from the startup mode of S11 to the storage mode in response to a response indicating that S15b has been removed (S16a)
  • the USB is allowed.
  • the carrying device 1 switches its mode to the storage mode according to the instruction (S16c).
  • the storage virtual area 14b is in the “valid state”
  • the activation virtual area 14a is in the “invalid state”.
  • the controller 15 switches the connection destination from the startup virtual area 14a to the storage virtual area 14b.
  • the switching program execution unit 22 causes the USB host driver unit 21 to generate a detection event similar to the event inserted in the USB port 29 (S12c) in order to recognize the USB portable device 1 again. (S17a). Upon receiving this detection event, the USB host driver unit 21 detects the USB portable device 1 already inserted again (S17b, S17c). With this detection as an opportunity, the USB host driver unit 21 executes the second recognition (enumeration) of the detected USB portable device 1.
  • the USB host driver unit 21 inquires of the USB portable device 1 about an available device, the USB portable device 1 becomes “valid” as a response.
  • the storage virtual area 14b is notified as a readable / writable device (S38c).
  • the USB host driver unit 21 recognizes the storage virtual area 14b as a readable / writable device (S38b).
  • the host device 2 can read / write the recognized storage virtual area 14b, but the removed startup virtual area 14a is completely invisible to the USB host driver unit 21, so that it can be read / written. You do n’t have to. According to the embodiment described above, unauthorized access to the startup virtual area 14a is suppressed by switching between the readable area of the startup virtual area 14a and the readable / writable area of the storage virtual area 14b. However, both areas can be used efficiently.
  • FIG. 8 is an explanatory diagram showing that a virtual area is constructed using a plurality of memory chips. Compared with the virtual area of FIG. 6, in FIG. 6, one memory chip 13 is shared by the activation virtual area 14a and the storage virtual area 14b, whereas in FIG. 8A, the activation virtual area 14a and There is a difference in that each storage virtual area 14 b occupies a plurality of memory chips 13.
  • FIG. 8B shows an example in which a plurality of memory chips 13 are shared by the startup virtual area 14a and the storage virtual area 14b.
  • one activation virtual area 14a is composed of four memory chips 13.
  • the switching program 11 on a plurality of memory chips 13 in duplicate, The effect of improving fault tolerance by multiplexing the chips 13 can be obtained.
  • the switching program 11 since the switching program 11 switches one storage unit from a plurality of storage units and causes the USB host driver unit 21 to recognize it, the storage unit that is in an invalid state is the USB host driver unit 21. Disappears from. Therefore, there is no need to always control unauthorized access to the storage means that is in an invalid state, such as eliminating an unauthorized write command to a readable device. As a result, it is possible to prevent unauthorized access and improve security without causing performance degradation due to control.
  • the first embodiment has a plurality of USB peripherals
  • the second embodiment has a plurality of memory chips
  • the third embodiment has a plurality of virtual areas.
  • the third embodiment that does not require new hardware called a virtual area is the lowest cost, and does not require a new USB peripheral, but a new memory chip is used.
  • the first embodiment in which a hardware failure of one USB peripheral does not affect other USB peripherals is the most reliable, and the hardware of one memory chip is the same.
  • the second embodiment, in which a hardware failure does not affect other memory chips, has the next highest reliability, and the first embodiment in which all virtual areas on the memory chip become unusable due to a memory chip failure.
  • the activation storage means that is an object of preventing unauthorized writing is a short period for activating the switching program 11 (period from S13b to S15b in FIG. 3), but the USB memory as a readable device. Recognized by the host driver unit 21. There is a possibility that an unauthorized write command for falsifying the switching program 11 is input to the USB portable device 1 during this short period. Therefore, only during this short period, at least one of the USB portable device 1 and the host device 2 may execute access control that ignores a write command for a readable device. Although performance degradation occurs due to this access control, there is almost no problem in operation because it is only for a short period.
  • the startup storage means may be configured as a ROM (Read Only Memory) having an attribute that allows reading and writing.
  • ROM Read Only Memory
  • the switching program 11 realizes the basic function of switching the storage means to be recognized as described above. In addition to this basic function, various switching functions suitable for the usage mode of the USB portable device 1 are realized. It is also possible to make it. For example, the switching program 11 may authenticate the user of the USB portable device 1 by entering a password or the like as a requirement for switching the storage means. Thereby, it is possible to suppress a person other than the user of the USB portable device 1 from snooping the data in the acquired USB portable device 1.
  • a control path via the interface unit 16 and a data communication path not via the interface unit 16 may be provided separately.
  • the interface unit 16 may be omitted to unify the data communication path.
  • information for distinguishing both communication packets is required. For example, a predetermined flag is attached to a control communication packet, and a predetermined flag is not attached to a communication packet for data communication, thereby distinguishing both communication packets.
  • the controller 15 of the control USB peripheral 12c constantly monitors a communication packet communicated via the USB interface 19, and uses the communication packet with a predetermined flag as a control communication packet.
  • the communication packet without the predetermined flag is transferred to the “permitted” USB peripheral connected to the port switch 18b.
  • the controller 15 constantly monitors communication packets communicated via the USB interface 19 and receives a communication packet with a predetermined flag as a control communication packet. A communication packet without a predetermined flag is received as a communication packet for data communication.
  • the storage means 1b for storage may be one as shown in each of the above embodiments, or a plurality of storage means 1b. When there are a plurality of storage means 1b, one storage means 1b is recognized.

Abstract

 起動用USBペリフェラル12aと、記憶用USBペリフェラル12bと、制御用USBペリフェラル12cと、を有するUSB可搬装置1が、ホスト装置2に接続されると、起動用USBペリフェラル12aを読み込み可能デバイスとして認識させ、認識された読み込み可能デバイス内の切替用プログラム11がホスト装置2に読み込まれて実行されることで、ホスト装置2から切替指示を受信し、読み込み可能デバイスを解除させるとともに、記憶用USBペリフェラル12bを読み書き可能デバイスとして認識させることを特徴とする。

Description

USB可搬装置
 本発明は、USB可搬装置に関する。
 USB(Universal Serial Bus)メモリなどの書き換え可能型の可搬媒体が、普及している。可搬媒体は、ホストであるPC(Personal Computer)に接続され、そのPCから認識された後、PCからメモリの記憶領域の記憶内容に対して書き換えアクセスを受ける。
 物理的に1つの可搬媒体の中に、複数の記憶領域を持つ形態が存在する。
 特許文献1には、大容量の記憶領域を論理的に分割した複数の分割領域それぞれについて、分割領域の論理ユニット番号を用いることにより、記憶領域を有効に活用する旨が記載されている。
 特許文献2には、アクセス制限領域内へのアクセスに対して、認証を行うことで、アクセス制限を実現する旨が記載されている。
 特許文献3には、OS(Operating System)の仕様に対応して、その仕様に適合しない記憶領域を隠す旨が記載されている。
 特許文献4,5には、特権ユーザには利用できるがその他のユーザには利用できないように、可搬媒体内の仮想デバイスの接続を制御する旨が記載されている。
特開平7-234759号公報 特開平10-289159号公報 特開2005-115636号公報 特開2006-202339号公報 特開2006-286008号公報
 自動実行プログラムが格納されている可搬媒体を活用する場合がある。その自動実行プログラムは、ホストに接続されると、ホストに読み込まれ実行される。この自動実行プログラムは、例えば、可搬媒体の配布前に配布元によりあらかじめ記録されている。よって、自動実行プログラムそのものに対して、不正に削除や書き換えが行われることは、配布元にとって望ましくない。特許文献2の手法では、アクセス制限領域内への不正アクセスに対して、認証を行うことで対処しているが、アクセス量が多い可搬媒体では、認証処理に伴う性能劣化(例えば、転送速度の低下)が発生してしまう。
 また、従来の技術では、OS上に複数のドライブが認識されてしまう。その結果、ユーザの利便性がよくなかった。
 そこで、本発明は、前記した問題を解決し、自動実行プログラムが格納されている可搬媒体について、ユーザの利便性を高めつつ不正アクセスを防止することを主な目的とする。
 前記課題を解決するため、本発明は、ホスト装置に接続されることで実行される切替用プログラムを格納するUSB可搬装置であって、
 前記USB可搬装置が、前記切替用プログラムを記憶する起動用USB機能部と、前記ホスト装置からの読み書きを許可する記憶用USB機能部と、前記ホスト装置に認識させるデバイスを切り替える制御用USB機能部と、を有し、
 前記制御用USB機能部が、
 前記ホスト装置に前記USB可搬装置が接続されると、前記起動用USB機能部を読み込み可能デバイスとして認識させ、
 認識された前記読み込み可能デバイス内の前記切替用プログラムが前記ホスト装置に読み込まれて実行されることで、前記ホスト装置から切替指示を受信し、
 前記読み込み可能デバイスを解除させるとともに、前記記憶用USB機能部を読み書き可能デバイスとして認識させることを特徴とする。
 その他の手段は、後記する。
 本発明によれば、自動実行プログラムが格納されている可搬媒体について、ユーザの利便性を高めつつ不正アクセスを防止することが可能になった。
本発明の各実施形態に関するUSBシステムを示す構成図である。 本発明の第1実施形態に関するUSBペリフェラルごとにデバイスを認識させるUSB可搬装置を示す構成図である。 本発明の第1実施形態に関するUSBペリフェラルごとにデバイスを認識させる動作を示すフローチャートである。 本発明の第2実施形態に関するメモリチップごとにデバイスを認識させるUSB可搬装置を示す構成図である。 本発明の第2実施形態に関するメモリチップごとにデバイスを認識させる動作を示すフローチャートである。 本発明の第3実施形態に関する仮想領域ごとにデバイスを認識させるUSB可搬装置を示す構成図である。 本発明の第3実施形態に関する仮想領域ごとにデバイスを認識させる動作を示すフローチャートである。 本発明の第3実施形態に関する複数のメモリチップを用いて仮想領域を構築する旨を示す説明図である。
符号の説明
 1   USB可搬装置
 11  切替用プログラム
 12  USBペリフェラル
 12a 起動用USBペリフェラル
 12b 記憶用USBペリフェラル
 12c 制御用USBペリフェラル
 13  メモリチップ
 13a 起動用メモリチップ
 13b 記憶用メモリチップ
 14a 起動用仮想領域
 14b 記憶用仮想領域
 15  コントローラ
 16  インタフェース部
 17  CPU
 18a USBハブ
 18b ポートスイッチ
 19  USBインタフェース
 2   ホスト装置
 21  USBホストドライバ部
 22  切替用プログラム実行部
 29  USBポート
 以下に、本発明が適用されるプログラム配信システムの一実施形態について、図面を参照して詳細に説明する。
 図1(a)は、USBシステムを示す構成図である。USBシステムは、USB規格におけるホスト(host)機能を実現するホスト装置2と、USB規格におけるファンクション(function)機能を実現するUSB可搬装置1とを接続することにより構成される。接続は、USB可搬装置1のUSBインタフェース19を、ホスト装置2のUSBポート29に挿入することで実現される。
 USB可搬装置1は、例えば、記憶手段としてのフラッシュメモリと、制御処理を行う制御回路チップ(後記する図1(b)のCPU17など)とを少なくとも備えるUSBメモリとして構成される。なお、USB可搬装置1の記憶手段は、他にも、HDD(Hard Disk Drive)や、着脱可能なSDカードなどの媒体として構成されてもよい。
 図1(b)は、USB可搬装置1およびホスト装置2の内部を示す構成図である。ホスト装置2は、USBホストドライバ部21、切替用プログラム実行部22、および、USBポート29を有する。
 ホスト装置2は、演算処理を行う際に用いられる記憶手段としてのメモリ23と、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリ23は、RAM(Random Access Memory)などにより構成される。演算処理は、CPU(Central Processing Unit)24によって構成される演算処理装置が、メモリ23上のプログラムを実行することで、実現される。
 ホスト装置2は、データなどを表示させるための表示装置25を有する。
 ホスト装置2は、USBポート29を介して、接続されるキーボードやマウスなどの入力装置3からのデータ入力を受け付ける。
 USBホストドライバ部21は、USBポート29に接続されるUSB可搬装置1を検知すると、検知したUSB可搬装置1のハードウェア資源をホスト装置2のOS(Operating System)に使用させるため認識(enumeration)を実行する。つまり、USBホストドライバ部21は、USB規格におけるHCD(Host Controller Driver)として機能する。
 切替用プログラム実行部22は、USB可搬装置1の記憶手段に記憶されている切替用プログラム11をホスト装置2のCPUが、OSからの指示に従ってメモリ上に読み込んで、実行することにより実現される。
 切替用プログラム実行部22は、USB可搬装置1の内部に存在する複数の記憶手段(起動用記憶手段1a、記憶用記憶手段1b)のうち、マスストレージデバイスとして認識する1つの記憶手段を切り替える。マスストレージデバイスとして認識された記憶手段は、ホスト装置2のOSからアクセス可能な記憶手段である。
 起動用記憶手段1aは、読み込み可能デバイスとして認識されると、CPU17が、起動用記憶手段1aの内部に格納する切替用プログラム11をホスト装置2に読み込ませる。
 記憶用記憶手段1bは、読み書き可能デバイスとして認識されると、CPU17が、ホスト装置2からのアクセス指示に従い、記憶用記憶手段1bの内部に格納するデータへの読み書きを実行する。
 なお、切替用プログラム実行部22は、記憶手段を切り替えるときに、既に認識されている所定の記憶手段を取り外した後、別の記憶手段を認識する。これにより、ユーザが手動でマスストレージデバイスの取り外し操作を入力する必要が無くなり、便利である。
 以上説明したUSBシステムの構成は、以下に説明する第1実施形態~第3実施形態で共通するものである。以下、実施形態ごとに詳細な構成および動作を説明する。各実施形態は、それぞれ次のような特徴がある。
・第1実施形態は、USB可搬装置1の記憶手段として、USBペリフェラル(peripheral)ごとにデバイスを認識させるものである。なお、USBペリフェラルは、USBホストドライバ部21から1つのデバイスアドレス(0~127のうちのいずれかの値)が割り当てられるUSBのファンクション(function)を構成するUSB機能部である。
・第2実施形態は、USB可搬装置1の記憶手段として、USBペリフェラル内のメモリチップごとにデバイスを認識させるものである。
・第3実施形態は、USB可搬装置1の記憶手段として、USBペリフェラル内のメモリチップ上に構築された仮想領域ごとにデバイスを認識させるものである。なお、仮想領域は、1つの論理ユニット番号(LUN:Logical Unit Number)が割り当てられる記憶領域の単位である。
 以下、第1実施形態を説明する。図2は、USBペリフェラルごとにデバイスを認識させるUSB可搬装置1を示す構成図である。USB可搬装置1は、各USBペリフェラル(起動用USBペリフェラル12a、記憶用USBペリフェラル12b、制御用USBペリフェラル12c)が、USBハブ18aの下流側に接続されている。なお、図1の起動用記憶手段1aは起動用USBペリフェラル12aに該当し、図1の記憶用記憶手段1bは記憶用USBペリフェラル12bに該当する。
 各USBペリフェラルへの接続線には、USBペリフェラルを特定するためのポート番号(図中吹き出しで示す0,1,2)が1つずつ割り当てられている。USBハブ18aは、ポートスイッチ18bを有する。ポートスイッチ18bは、起動用USBペリフェラル12a、または、記憶用USBペリフェラル12bのうち、いずれか1つのUSBペリフェラルと、USBインタフェース19とを接続する。そのため、ポートスイッチ18bは、各ポートの状態を、「有効状態」または「無効状態」のいずれかに設定する。
 ポート「0」の制御用USBペリフェラル12cは、本実施形態では常時「有効状態」としている。
 ポート「1」の起動用USBペリフェラル12a、および、ポート「2」の記憶用USBペリフェラル12bは、それぞれ「有効状態」または「無効状態」のスイッチ操作が可能であり、互いに反対の状態となる。つまり、本実施形態では、双方の状態がともに「有効状態」となることはない。
 起動用USBペリフェラル12aは、記憶手段としてのメモリチップ13と、そのメモリチップ13へのデータの読み書きを制御するコントローラ15と、を有する。起動用USBペリフェラル12aのメモリチップ13には、切替用プログラム11が記憶されており、この切替用プログラム11は、オートランの対象となるプログラムである。
 記憶用USBペリフェラル12bは、記憶手段としてのメモリチップ13と、そのメモリチップ13へのデータの読み書きを制御するコントローラ15と、を有する。
 制御用USBペリフェラル12cは、インタフェース部16と、コントローラ15と、を有する。
 インタフェース部16は、ポートスイッチ18bに対して、起動用USBペリフェラル12a、または、記憶用USBペリフェラル12bのうち、接続する1つのUSBペリフェラルを指定するための命令を切替用プログラム実行部22からUSBインタフェース19を介して受ける。
 コントローラ15は、インタフェース部16が受けた命令をポートスイッチ18bに反映させる。
 インタフェース部16は、ホスト装置2と制御用の通信を行うために、例えば、USB規格におけるHID(Human Interface Device)クラスとしてUSBホストドライバ部21に認識される。
 図3は、USBペリフェラルごとにデバイスを認識させる動作を示すフローチャートである。
 まず、ホスト装置2に挿入される前のUSB可搬装置1は、自装置のモードを起動モードに初期化する(S11)。起動モードでは、ポート「0」の制御用USBペリフェラル12c、および、ポート「1」の起動用USBペリフェラル12aが「有効状態」となっており、ポート「2」の記憶用USBペリフェラル12bが「無効状態」となる。
 USB可搬装置1のUSBインタフェース19がホスト装置2のUSBポート29に挿入されると(S12c)、USBホストドライバ部21は、挿入されたUSB可搬装置1を検知する(S12b)。この検知を契機として、USBホストドライバ部21は、検知したUSB可搬装置1の認識(enumeration)を実行する。具体的には、USBホストドライバ部21は、USB可搬装置1に対して利用可能であるデバイスを問い合わせると、USB可搬装置1は、その応答として「有効状態」となっている起動用USBペリフェラル12aを読み込み可能デバイスとして通知する(S13c)とともに、その読み込み可能デバイス内に格納されている切替用プログラム11をオートラン(自動実行)プログラムとして通知する。
 応答を受けたUSBホストドライバ部21は、起動用USBペリフェラル12aを読み込み可能デバイスとして認識する(S13b)。そして、USBホストドライバ部21は、認識した読み込み可能デバイス内の切替用プログラム11を自動実行プログラムとして起動する(S14b)ための転送命令の送信を契機に、USB可搬装置1は切替用プログラム11をホスト装置2に転送し(S14c)、ホスト装置2は転送された切替用プログラム11の実行を開始することで、切替用プログラム実行部22を構築する。
 切替用プログラム実行部22は、読み込み可能デバイスの取り外しをUSBホストドライバ部21に指示すると(S15a)、USBホストドライバ部21はその指示を受け、S13bで認識した読み込み可能デバイスを取り外す(S15b)。なお、切替用プログラム11は、既にホスト装置2に転送され、切替用プログラム実行部22として実行されているので、この取り外し処理によって実行は中断しない。
 切替用プログラム実行部22は、S15bの取り外しを行った旨の応答を契機に、USB可搬装置1に対して、S11の起動モードから記憶モードへと切り替えるように指示する(S16a)。USB可搬装置1は、その指示に従い、自身のモードを記憶モードへと切り替える(S16c)。記憶モードでは、ポート「0」の制御用USBペリフェラル12c、および、ポート「2」の記憶用USBペリフェラル12bが「有効状態」となっており、ポート「1」の起動用USBペリフェラル12aが「無効状態」となっている。
 記憶モードへの切替により、制御用USBペリフェラル12cのコントローラ15は、ポートスイッチ18bに対して、起動用USBペリフェラル12aから記憶用USBペリフェラル12bへと接続先を変更するように指示する。
 切替用プログラム実行部22は、USBホストドライバ部21に対して、再度USB可搬装置1のデバイスを認識させるために、USBポート29に挿入されるイベント(S12c)と同様の検知イベントを発生させる(S17a)。USBホストドライバ部21は、この検知イベントを受け、既に挿入されているUSB可搬装置1を再び検知する(S17b,S17c)。この検知を契機として、USBホストドライバ部21は、検知したUSB可搬装置1の2回目の認識(enumeration)を実行する。
 2回目の認識(enumeration)では、USBホストドライバ部21は、USB可搬装置1に対して利用可能であるデバイスを問い合わせると、USB可搬装置1は、その応答として「有効状態」となっている記憶用USBペリフェラル12bを読み書き可能デバイスとして通知する(S18c)。応答を受けたUSBホストドライバ部21は、記憶用USBペリフェラル12bを読み書き可能デバイスとして認識する(S18b)。
 以後、ホスト装置2は、認識した記憶用USBペリフェラル12bに対して読み書きを行うことができるが、取り外した起動用USBペリフェラル12aはUSBホストドライバ部21から一切見えなくなっているので、読み書きの対象にはならずに済む。
 以上説明した本実施形態によれば、起動用USBペリフェラル12aの読み込み可能な領域と、記憶用USBペリフェラル12bの読み書き可能な領域とを切り替えることにより、起動用USBペリフェラル12aへの不正アクセスを抑制しつつ、双方の領域を効率的に使用できる。
 以下、第2実施形態を説明する。図4は、メモリチップごとにデバイスを認識させるUSB可搬装置1を示す構成図である。USB可搬装置1は、USBペリフェラル12を有する。USBペリフェラル12は、各メモリチップ(起動用メモリチップ13a、記憶用メモリチップ13b)と、各メモリチップへの読み書きを制御するコントローラ15と、コントローラ15の状態を制御するインタフェース部16と、を有する。なお、図1の起動用記憶手段1aは起動用メモリチップ13aに該当し、図1の記憶用記憶手段1bは記憶用メモリチップ13bに該当する。
 コントローラ15は、起動用メモリチップ13a、および、記憶用メモリチップ13bのうち、いずれか1つのメモリチップと、USBインタフェース19とを接続する。そのため、コントローラ15は、各メモリチップの状態を、「有効状態」または「無効状態」のいずれかに設定する。
 起動用メモリチップ13a、および、記憶用メモリチップ13bは、それぞれ「有効状態」または「無効状態」のスイッチ操作が可能であり、互いに反対の状態となる。つまり、本実施形態では、双方の状態がともに「有効状態」となることはない。
 起動用メモリチップ13aには、切替用プログラム11が記憶されており、この切替用プログラム11は、オートランの対象となるプログラムである。
 インタフェース部16は、切替用プログラム実行部22から起動用メモリチップ13a、および、記憶用メモリチップ13bのうち、接続する1つのメモリチップを指定するための命令を切替用プログラム実行部22からUSBインタフェース19を介して受け、コントローラ15に反映する。インタフェース部16は、ホスト装置2と制御用の通信を行うために、USB規格におけるHID(Human Interface Device)クラスとしてUSBホストドライバ部21に認識される。
 図5は、メモリチップごとにデバイスを認識させる動作を示すフローチャートである。
 まず、ホスト装置2に挿入される前のUSB可搬装置1は、自装置のモードを起動モードに初期化する(S11)。起動モードでは、起動用メモリチップ13aが「有効状態」となっており、記憶用メモリチップ13bが「無効状態」となる。
 USB可搬装置1のUSBインタフェース19がホスト装置2のUSBポート29に挿入されると(S12c)、USBホストドライバ部21は、挿入されたUSB可搬装置1を検知する(S12b)。この検知を契機として、USBホストドライバ部21は、検知したUSB可搬装置1の認識(enumeration)を実行する。具体的には、USBホストドライバ部21は、USB可搬装置1に対して利用可能であるデバイスを問い合わせると、USB可搬装置1は、その応答として「有効状態」となっている起動用メモリチップ13aを読み込み可能デバイスとして通知する(S23c)とともに、その読み込み可能デバイス内に格納されている切替用プログラム11をオートラン(自動実行)プログラムとして通知する。
 応答を受けたUSBホストドライバ部21は、起動用メモリチップ13aを読み込み可能デバイスとして認識する(S23b)。そして、USBホストドライバ部21は、認識した読み込み可能デバイス内の切替用プログラム11を自動実行プログラムとして起動する(S14b)ための転送命令の送信を契機に、USB可搬装置1は切替用プログラム11をホスト装置2に転送し(S14c)、ホスト装置2は転送された切替用プログラム11の実行を開始することで、切替用プログラム実行部22を構築する。
 切替用プログラム実行部22は、読み込み可能デバイスの取り外しをUSBホストドライバ部21に指示すると(S15a)、USBホストドライバ部21はその指示を受け、S23bで認識した読み込み可能デバイスを取り外す(S15b)。なお、切替用プログラム11は、既にホスト装置2に転送され、切替用プログラム実行部22として実行されているので、この取り外し処理によって実行は中断しない。
 切替用プログラム実行部22は、S15bの取り外しを行った旨の応答を契機に、USB可搬装置1に対して、S11の起動モードから記憶モードへと切り替えるように指示する(S16a)。USB可搬装置1は、その指示に従い、自身のモードを記憶モードへと切り替える(S16c)。記憶モードでは、記憶用メモリチップ13bが「有効状態」となっており、起動用メモリチップ13aが「無効状態」となっている。
 記憶モードへの切替により、コントローラ15は、起動用メモリチップ13aから記憶用メモリチップ13bへと接続先を切り替える。
 切替用プログラム実行部22は、USBホストドライバ部21に対して、再度USB可搬装置1のデバイスを認識させるために、USBポート29に挿入されるイベント(S12c)と同様の検知イベントを発生させる(S17a)。USBホストドライバ部21は、この検知イベントを受け、既に挿入されているUSB可搬装置1を再び検知する(S17b,S17c)。この検知を契機として、USBホストドライバ部21は、検知したUSB可搬装置1の2回目の認識(enumeration)を実行する。
 2回目の認識(enumeration)では、USBホストドライバ部21は、USB可搬装置1に対して利用可能であるデバイスを問い合わせると、USB可搬装置1は、その応答として「有効状態」となっている記憶用メモリチップ13bを読み書き可能デバイスとして通知する(S28c)。応答を受けたUSBホストドライバ部21は、記憶用メモリチップ13bを読み書き可能デバイスとして認識する(S28b)。
 以後、ホスト装置2は、認識した記憶用メモリチップ13bに対して読み書きを行うことができるが、取り外した起動用メモリチップ13aはUSBホストドライバ部21から一切見えなくなっているので、読み書きの対象にはならずに済む。
 以上説明した本実施形態によれば、起動用メモリチップ13aの読み込み可能な領域と、記憶用メモリチップ13bの読み書き可能な領域とを切り替えることにより、起動用メモリチップ13aへの不正アクセスを抑制しつつ、双方の領域を効率的に使用できる。
 以下、第3実施形態を説明する。図6は、仮想領域ごとにデバイスを認識させるUSB可搬装置1を示す構成図である。USB可搬装置1は、USBペリフェラル12を有する。USBペリフェラル12は、複数の仮想領域(起動用仮想領域14a、記憶用仮想領域14b)が構築されるメモリチップ13と、メモリチップ13への読み書きを制御するコントローラ15と、コントローラ15の状態を制御するインタフェース部16と、を有する。なお、図1の起動用記憶手段1aは起動用仮想領域14aに該当し、図1の記憶用記憶手段1bは記憶用仮想領域14bに該当する。
 コントローラ15は、起動用仮想領域14a、または、記憶用仮想領域14bのうち、いずれか1つの仮想領域と、USBインタフェース19とを接続する。そのため、コントローラ15は、各仮想領域の状態を、「有効状態」または「無効状態」のいずれかに設定する。
 起動用仮想領域14a、および、記憶用仮想領域14bは、それぞれ「有効状態」または「無効状態」のスイッチ操作が可能であり、互いに反対の状態となる。つまり、本実施形態では、双方の状態がともに「有効状態」となることはない。
 起動用仮想領域14aには、切替用プログラム11が記憶されており、この切替用プログラム11は、オートランの対象となるプログラムである。
 インタフェース部16は、切替用プログラム実行部22から起動用仮想領域14a、および、記憶用仮想領域14bのうち、接続する1つの仮想領域を指定するための命令を切替用プログラム実行部22からUSBインタフェース19を介して受け、コントローラ15に反映する。インタフェース部16は、ホスト装置2と制御用の通信を行うために、USB規格におけるHID(Human Interface Device)クラスとしてUSBホストドライバ部21に認識される。
 図7は、仮想領域ごとにデバイスを認識させる動作を示すフローチャートである。
 まず、ホスト装置2に挿入される前のUSB可搬装置1は、自装置のモードを起動モードに初期化する(S11)。起動モードでは、起動用仮想領域14aが「有効状態」となっており、記憶用仮想領域14bが「無効状態」となる。
 USB可搬装置1のUSBインタフェース19がホスト装置2のUSBポート29に挿入されると(S12c)、USBホストドライバ部21は、挿入されたUSB可搬装置1を検知する(S12b)。この検知を契機として、USBホストドライバ部21は、検知したUSB可搬装置1の認識(enumeration)を実行する。具体的には、USBホストドライバ部21は、USB可搬装置1に対して利用可能であるデバイスを問い合わせると、USB可搬装置1は、その応答として「有効状態」となっている起動用仮想領域14aを読み込み可能デバイスとして通知する(S33c)とともに、その読み込み可能デバイス内に格納されている切替用プログラム11をオートラン(自動実行)プログラムとして通知する。
 応答を受けたUSBホストドライバ部21は、起動用仮想領域14aを読み込み可能デバイスとして認識する(S33b)。そして、USBホストドライバ部21は、認識した読み込み可能デバイス内の切替用プログラム11を自動実行プログラムとして起動する(S14b)ための転送命令の送信を契機に、USB可搬装置1は切替用プログラム11をホスト装置2に転送し(S14c)、ホスト装置2は転送された切替用プログラム11の実行を開始することで、切替用プログラム実行部22を構築する。
 切替用プログラム実行部22は、読み込み可能デバイスの取り外しをUSBホストドライバ部21に指示すると(S15a)、USBホストドライバ部21はその指示を受け、S33bで認識した読み込み可能デバイスを取り外す(S15b)。なお、切替用プログラム11は、既にホスト装置2に転送され、切替用プログラム実行部22として実行されているので、この取り外し処理によって実行は中断しない。
 切替用プログラム実行部22は、S15bの取り外しを行った旨の応答を契機に、USB可搬装置1に対して、S11の起動モードから記憶モードへと切り替えるように指示すると(S16a)、USB可搬装置1は、その指示に従い、自身のモードを記憶モードへと切り替える(S16c)。記憶モードでは、記憶用仮想領域14bが「有効状態」となっており、起動用仮想領域14aが「無効状態」となっている。
 記憶モードへの切替により、コントローラ15は、起動用仮想領域14aから記憶用仮想領域14bへと接続先を切り替える。
 切替用プログラム実行部22は、USBホストドライバ部21に対して、再度USB可搬装置1のデバイスを認識させるために、USBポート29に挿入されるイベント(S12c)と同様の検知イベントを発生させる(S17a)。USBホストドライバ部21は、この検知イベントを受け、既に挿入されているUSB可搬装置1を再び検知する(S17b,S17c)。この検知を契機として、USBホストドライバ部21は、検知したUSB可搬装置1の2回目の認識(enumeration)を実行する。
 2回目の認識(enumeration)では、USBホストドライバ部21は、USB可搬装置1に対して利用可能であるデバイスを問い合わせると、USB可搬装置1は、その応答として「有効状態」となっている記憶用仮想領域14bを読み書き可能デバイスとして通知する(S38c)。応答を受けたUSBホストドライバ部21は、記憶用仮想領域14bを読み書き可能デバイスとして認識する(S38b)。
 以後、ホスト装置2は、認識した記憶用仮想領域14bに対して読み書きを行うことができるが、取り外した起動用仮想領域14aはUSBホストドライバ部21から一切見えなくなっているので、読み書きの対象にはならずに済む。
 以上説明した本実施形態によれば、起動用仮想領域14aの読み込み可能な領域と、記憶用仮想領域14bの読み書き可能な領域とを切り替えることにより、起動用仮想領域14aへの不正アクセスを抑制しつつ、双方の領域を効率的に使用できる。
 図8は、複数のメモリチップを用いて仮想領域を構築する旨を示す説明図である。図6の仮想領域と比較すると、図6では1つのメモリチップ13を起動用仮想領域14aおよび記憶用仮想領域14bで共用していたのに対し、図8(a)では起動用仮想領域14aおよび記憶用仮想領域14bはそれぞれ複数のメモリチップ13を専有する点に違いがある。また、図8(b)では、複数のメモリチップ13を起動用仮想領域14aおよび記憶用仮想領域14bで共用する一例である。
 図8(a)のように、メモリチップ13を専有する構成では、1つのメモリチップ13の故障が影響する仮想領域が1つで済むため、信頼性を向上させることができる。さらに、図8(a)では1つの起動用仮想領域14aを4つのメモリチップ13で構成することにしたが、切替用プログラム11を複数のメモリチップ13上に重複して格納することにより、メモリチップ13の多重化による耐障害性の向上効果を得ることができる。
 以上、第1実施形態~第3実施形態を順に説明した。各実施形態の特徴は、次の通りである。
 まず、どの実施形態においても、切替用プログラム11が複数の記憶手段から1つの記憶手段を切り替えてUSBホストドライバ部21に認識させるため、無効状態になっている記憶手段は、USBホストドライバ部21から見えなくなる。よって、無効状態になっている記憶手段への、読み込み可能デバイスへの不正な書き込み命令を排除するなどの不正アクセスを常時制御する必要が無くなる。その結果、制御に伴う性能劣化を生じさせずに、不正アクセスを防止してセキュリティを向上することができる。
 そして、切替対象の記憶手段として、第1実施形態ではUSBペリフェラルを複数有し、第2実施形態ではメモリチップを複数有し、第3実施形態では仮想領域を複数有する。以下、各実施形態のハードウェアの構成の差異による効果の差異について、製造コストおよび信頼性という2つの面に着目して説明する。
 まず、USB可搬装置1の製造コストの面では、仮想領域という新たなハードウェアを不要とする第3実施形態が最も低コストであり、新たなUSBペリフェラルを不要とするが新たなメモリチップを必要とする第2実施形態が次に低コストであり、新たなUSBペリフェラルおよびそのメモリチップを必要とする第1実施形態がその次である。
 次に、USB可搬装置1の信頼性の面では、1つのUSBペリフェラルのハードウェア的な故障が他のUSBペリフェラルに影響しない第1実施形態が最も信頼性が高く、1つのメモリチップのハードウェア的な故障が他のメモリチップに影響しない第2実施形態が次に信頼性が高く、メモリチップの故障によりそのメモリチップ上の全ての仮想領域が使用不可となってしまう第1実施形態がその次である。
 以上説明した本発明は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。
 例えば、不正な書き込みの防止対象である起動用の記憶手段は、切替用プログラム11を起動するためのわずかな期間(図3では、S13bからS15bまでの期間)ではあるが、読み込み可能デバイスとしてUSBホストドライバ部21に認識される。このわずかな期間中に切替用プログラム11を改ざんするための不正な書き込み命令がUSB可搬装置1に入力される恐れがある。そこで、このわずかな期間中にだけ、USB可搬装置1およびホスト装置2のうち、少なくとも1つの装置は、読み込み可能デバイスに対する書き込み命令を無視するアクセス制御を実行してもよい。このアクセス制御により性能劣化が発生するが、わずかな期間だけなので、運用上はほとんど問題がない。
 また、前記不正な書き込み命令が起動用の記憶手段に入力される対策として、起動用の記憶手段を読み込み可能かつ書き込み不可の属性を有するROM(Read Only Memory)として構成してもよい。これにより、ROM内に書き込まれる切替用プログラム11の更新は行えなくなるものの、切替用プログラム11の改ざんを確実に防止できる。
 そして、切替用プログラム11は、前記したように認識させる記憶手段を切り替えるという基本機能を実現させるが、この基本機能に加え、USB可搬装置1の利用形態に適した様々なアプリケーションの機能を実現させることとしてもよい。例えば、切替用プログラム11は、記憶手段を切り替えるための要件として、USB可搬装置1のユーザをパスワード入力などにより認証することとしてもよい。これにより、USB可搬装置1のユーザ以外の人が、入手したUSB可搬装置1内のデータを盗み見することを抑制できる。
 さらに、USB可搬装置1とホスト装置2との通信経路について、インタフェース部16を介する制御用の経路と、インタフェース部16を介さないデータ通信用の経路と、を別々に設けることとしてもよいし、インタフェース部16を省略してデータ通信用の経路に統一してもよい。
 その場合、制御用の通信パケットと、データ通信用の通信パケットが1つの経路上に混在するため、双方の通信パケットを区別するための情報が必要となる。例えば、制御用の通信パケットには所定のフラグを付し、データ通信用の通信パケットには所定のフラグを付さないことにより、双方の通信パケットを区別する。
 そして、第1実施形態では、制御用USBペリフェラル12cのコントローラ15は、USBインタフェース19を介して通信される通信パケットを常時監視し、所定のフラグが付された通信パケットを制御用の通信パケットとして受信するとともに、所定のフラグが付されていない通信パケットをポートスイッチ18bに接続されている「有効状態」のUSBペリフェラルへと転送する。
 一方、第2,第3実施形態では、コントローラ15は、USBインタフェース19を介して通信される通信パケットを常時監視し、所定のフラグが付された通信パケットを制御用の通信パケットとして受信するとともに、所定のフラグが付されていない通信パケットをデータ通信用の通信パケットとして受信する。
 また、記憶用記憶手段1bは、前記した各実施形態で示したように1つでもよいし、複数個でもよい。複数個の記憶用記憶手段1bが存在するときには、その中から1つの記憶用記憶手段1bを認識させる。

Claims (6)

  1.  ホスト装置に接続されることで実行される切替用プログラムを格納するUSB可搬装置であって、
     前記USB可搬装置は、前記切替用プログラムを記憶する起動用USB機能部と、前記ホスト装置からの読み書きを許可する記憶用USB機能部と、前記ホスト装置に認識させるデバイスを切り替える制御用USB機能部と、を有し、
     前記制御用USB機能部は、
     前記ホスト装置に前記USB可搬装置が接続されると、前記起動用USB機能部を読み込み可能デバイスとして認識させ、
     認識された前記読み込み可能デバイス内の前記切替用プログラムが前記ホスト装置に読み込まれて実行されることで、前記ホスト装置から切替指示を受信し、
     前記読み込み可能デバイスを解除させるとともに、前記記憶用USB機能部を読み書き可能デバイスとして認識させることを特徴とする
     USB可搬装置。
  2.  ホスト装置に接続されることで実行される切替用プログラムを格納するUSB可搬装置であって、
     前記USB可搬装置は、前記切替用プログラムを記憶する起動用メモリチップと、前記ホスト装置からの読み書きを許可する記憶用メモリチップと、前記ホスト装置に認識させるデバイスを切り替えるコントローラと、を有し、
     前記コントローラは、
     前記ホスト装置に前記USB可搬装置が接続されると、前記起動用メモリチップを読み込み可能デバイスとして認識させ、
     認識された前記読み込み可能デバイス内の前記切替用プログラムが前記ホスト装置に読み込まれて実行されることで、前記ホスト装置から切替指示を受信し、
     前記読み込み可能デバイスを解除させるとともに、前記記憶用メモリチップを読み書き可能デバイスとして認識させることを特徴とする
     USB可搬装置。
  3.  ホスト装置に接続されることで実行される切替用プログラムを格納するUSB可搬装置であって、
     前記USB可搬装置は、前記切替用プログラムを記憶する起動用仮想領域と、前記ホスト装置からの読み書きを許可する記憶用仮想領域と、を1つ以上のメモリチップ上に構築するとともに、前記ホスト装置に認識させるデバイスを切り替えるコントローラと、を有し、
     前記コントローラは、
     前記ホスト装置に前記USB可搬装置が接続されると、前記起動用仮想領域を読み込み可能デバイスとして認識させ、
     認識された前記読み込み可能デバイス内の前記切替用プログラムが前記ホスト装置に読み込まれて実行されることで、前記ホスト装置から切替指示を受信し、
     前記読み込み可能デバイスを解除させるとともに、前記記憶用仮想領域を読み書き可能デバイスとして認識させることを特徴とする
     USB可搬装置。
  4.  請求の範囲第1項ないし第3項のいずれか1項に記載のUSB可搬装置であって、
     前記USB可搬装置は、前記読み込み可能デバイスが前記ホスト装置に認識されてから、その読み込み可能デバイスが解除されるまでの期間に、前記読み込み可能デバイスへの書き込み命令を無視するアクセス制御を実行することを特徴とするUSB可搬装置。
  5.  請求の範囲第1項ないし第4項のいずれか1項に記載のUSB可搬装置であって、
     前記USB可搬装置は、物理的に書き込み不可である記憶媒体を、前記読み込み可能デバイスとして認識させることを特徴とするUSB可搬装置。
  6.  請求の範囲第1項ないし第5項のいずれか1項に記載のUSB可搬装置であって、
     前記ホスト装置に実行される前記切替用プログラムは、所定ユーザを認証することを要件として、前記切替指示を送信するように前記ホスト装置を制御することを特徴とするUSB可搬装置。
PCT/JP2008/050415 2008-01-16 2008-01-16 Usb可搬装置 WO2009090734A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP08703276.9A EP2246778B1 (en) 2008-01-16 2008-01-16 Usb portable device
US12/863,233 US8527680B2 (en) 2008-01-16 2008-01-16 USB portable device having switching function
JP2009549925A JP5216024B2 (ja) 2008-01-16 2008-01-16 Usb可搬装置
PCT/JP2008/050415 WO2009090734A1 (ja) 2008-01-16 2008-01-16 Usb可搬装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/050415 WO2009090734A1 (ja) 2008-01-16 2008-01-16 Usb可搬装置

Publications (1)

Publication Number Publication Date
WO2009090734A1 true WO2009090734A1 (ja) 2009-07-23

Family

ID=40885145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/050415 WO2009090734A1 (ja) 2008-01-16 2008-01-16 Usb可搬装置

Country Status (4)

Country Link
US (1) US8527680B2 (ja)
EP (1) EP2246778B1 (ja)
JP (1) JP5216024B2 (ja)
WO (1) WO2009090734A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021530776A (ja) * 2018-06-25 2021-11-11 湖南国科微電子股▲ふん▼有限公司Hunan Goke Microelectronics Co., Ltd. 記憶データ安全動作方法及びシステム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2010279164A1 (en) 2009-07-28 2012-02-02 Nippon Zoki Pharmaceutical Co., Ltd. Method for producing thiabenzoazulene propionic acid derivative
KR101748318B1 (ko) 2010-11-22 2017-06-27 삼성전자 주식회사 휴대 단말기의 어플리케이션 실행 방법 및 장치
TWI533134B (zh) * 2010-12-28 2016-05-11 慧榮科技股份有限公司 快閃記憶裝置及其運作方法
WO2016033523A1 (en) * 2014-08-29 2016-03-03 Coban Technologies, Inc. Compact multi-function dvr with multiple integrated wireless data communication devices
US9307317B2 (en) 2014-08-29 2016-04-05 Coban Technologies, Inc. Wireless programmable microphone apparatus and system for integrated surveillance system devices
US10165171B2 (en) 2016-01-22 2018-12-25 Coban Technologies, Inc. Systems, apparatuses, and methods for controlling audiovisual apparatuses
US10789840B2 (en) 2016-05-09 2020-09-29 Coban Technologies, Inc. Systems, apparatuses and methods for detecting driving behavior and triggering actions based on detected driving behavior
US10370102B2 (en) 2016-05-09 2019-08-06 Coban Technologies, Inc. Systems, apparatuses and methods for unmanned aerial vehicle
US10152858B2 (en) 2016-05-09 2018-12-11 Coban Technologies, Inc. Systems, apparatuses and methods for triggering actions based on data capture and characterization
US11936645B2 (en) * 2017-03-30 2024-03-19 Kingston Digital, Inc. Smart security storage system
US10880296B2 (en) 2017-03-30 2020-12-29 Kingston Digital Inc. Smart security storage
US10169567B1 (en) * 2017-11-21 2019-01-01 Lockheed Martin Corporation Behavioral authentication of universal serial bus (USB) devices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234759A (ja) 1994-02-22 1995-09-05 Nikon Corp 記憶装置
JPH10289159A (ja) 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd アクセス制御装置
JP2003178017A (ja) * 2001-09-17 2003-06-27 Anyone Kk プログラム内蔵のusbデバイス
JP2004151785A (ja) * 2002-10-28 2004-05-27 Shinya Kobayashi 着脱式デバイス及びプログラムの起動方法
JP2004206660A (ja) * 2002-11-01 2004-07-22 Yumix:Kk 着脱式デバイス、制御回路、制御回路のファームウェアプログラム、制御回路における情報処理方法及び回路設計パターン
JP2005115636A (ja) 2003-10-07 2005-04-28 Ankoku Kokusai Kagi Kofun Yugenkoshi 携帯式情報記憶装置及び当該装置の磁気ディスク形式の動的設定方法
JP2006202339A (ja) 2003-03-27 2006-08-03 M-Systems Flash Disk Pioneers Ltd すべてのユーザによる完全なアクセスが可能なデータ記憶デバイス
JP2006528378A (ja) * 2003-07-22 2006-12-14 深▲せん▼市朗科科技有限公司 半導体記憶装置を使用した自動実行方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4391615B2 (ja) * 1999-03-04 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 非接触データ・キャリア・システムにおける不正アクセス防止方法
WO2001061692A1 (en) * 2000-02-21 2001-08-23 Trek 2000 International Ltd A portable data storage device
JP3954271B2 (ja) * 2000-03-16 2007-08-08 本田技研工業株式会社 車両制御装置のためのメモリ書き換えシステム
JP2002245787A (ja) * 2001-02-14 2002-08-30 Sharp Corp 半導体記憶装置
JP2003085042A (ja) * 2001-09-13 2003-03-20 Seiko Instruments Inc コンピュータのセキュリティシステム
US7478248B2 (en) * 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
US7392358B2 (en) * 2005-01-14 2008-06-24 Sandisk Corporation Delivery of a message to a user of a portable data storage device as a condition of its use
US7721115B2 (en) * 2005-02-16 2010-05-18 Cypress Semiconductor Corporation USB secure storage apparatus and method
US8528096B2 (en) * 2005-10-07 2013-09-03 Stmicroelectronics, Inc. Secure universal serial bus (USB) storage device and method
JP2007148644A (ja) * 2005-11-25 2007-06-14 Sharp Corp データ記憶装置、icカード及びデータ記憶方法
JP4799239B2 (ja) * 2006-03-29 2011-10-26 株式会社日立ソリューションズ 情報漏洩防止方法及びリムーバブルメディア

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234759A (ja) 1994-02-22 1995-09-05 Nikon Corp 記憶装置
JPH10289159A (ja) 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd アクセス制御装置
JP2003178017A (ja) * 2001-09-17 2003-06-27 Anyone Kk プログラム内蔵のusbデバイス
JP2004151785A (ja) * 2002-10-28 2004-05-27 Shinya Kobayashi 着脱式デバイス及びプログラムの起動方法
JP2004206660A (ja) * 2002-11-01 2004-07-22 Yumix:Kk 着脱式デバイス、制御回路、制御回路のファームウェアプログラム、制御回路における情報処理方法及び回路設計パターン
JP2006202339A (ja) 2003-03-27 2006-08-03 M-Systems Flash Disk Pioneers Ltd すべてのユーザによる完全なアクセスが可能なデータ記憶デバイス
JP2006286008A (ja) 2003-03-27 2006-10-19 M-Systems Flash Disk Pioneers Ltd すべてのユーザによる完全なアクセスが可能なデータ記憶デバイス
JP2006528378A (ja) * 2003-07-22 2006-12-14 深▲せん▼市朗科科技有限公司 半導体記憶装置を使用した自動実行方法
JP2005115636A (ja) 2003-10-07 2005-04-28 Ankoku Kokusai Kagi Kofun Yugenkoshi 携帯式情報記憶装置及び当該装置の磁気ディスク形式の動的設定方法

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021530776A (ja) * 2018-06-25 2021-11-11 湖南国科微電子股▲ふん▼有限公司Hunan Goke Microelectronics Co., Ltd. 記憶データ安全動作方法及びシステム
JP7141663B2 (ja) 2018-06-25 2022-09-26 湖南国科微電子股▲ふん▼有限公司 記憶データ安全動作方法及びシステム

Also Published As

Publication number Publication date
JP5216024B2 (ja) 2013-06-19
EP2246778A4 (en) 2012-01-11
US20110016256A1 (en) 2011-01-20
US8527680B2 (en) 2013-09-03
JPWO2009090734A1 (ja) 2011-05-26
EP2246778A1 (en) 2010-11-03
EP2246778B1 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
JP5216024B2 (ja) Usb可搬装置
CN109933283B (zh) 直接主机访问存储装置存储空间
US8255930B2 (en) Method and system for dynamically switching between different device configurations
WO2005086002A1 (fr) Procede s'appliquant a un dispositif de traitement de donnees echangeant des donnees avec un ordinateur
US9806959B2 (en) Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface
US7555588B2 (en) Computers having USB buses, methods of operation thereof and programs and information for use therewith
KR101089260B1 (ko) 호스트 상에 기능 유닛 드라이버 자동 설치를 위한 방법 및시스템
US20080059742A1 (en) Authenticating hardware for manually enabling and disabling read and write protection to parts of a storage disk or disks for users
JP2006190275A (ja) システム管理の遮断を克服するための方法
US20080163360A1 (en) Information processing appartaus
KR20180086129A (ko) 정보 처리장치, 그 제어방법, 및 기억매체
US11436367B2 (en) Pre-operating system environment-based sanitization of storage devices
US20090019211A1 (en) Establishing A Redundant Array Of Inexpensive Drives
KR20180123815A (ko) 고립된 사용자컴퓨팅부를 갖는 컴퓨터
US6970954B1 (en) System and method for intercepting and evaluating commands to determine if commands are harmful or benign and to emulate harmful commands
US6467049B1 (en) Method and apparatus for configuration in multi processing engine computer systems
JP2003108274A (ja) コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
US20080059740A1 (en) Hardware for manually enabling and disabling read and write protection to parts of a storage disk or disks for users
US20160320985A1 (en) System and method of dynamic write protect of storage devices exposed by baseboard management controller (bmc)
US7966433B2 (en) Method for enhancing performance of data access between a personal computer and a USB Mass Storage, associated personal computer, and storage medium storing an associated USB Mass Storage driver
JP4403221B2 (ja) デバイス制御装置、コンピュータ、及び、デバイス制御方法
US20040088569A1 (en) Apparatus and a method for securely switching status of a computing system
JP4724066B2 (ja) 磁気ディスク装置をアクセス可能にする方法およびコンピュータ
JP2006178704A (ja) 複数の機能を有する装置、及び当該装置と接続可能な上位装置
JP6682897B2 (ja) 通信設定方法、通信設定プログラム、情報処理装置および情報処理システム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2009549925

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008703276

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12863233

Country of ref document: US