1. An IC Card executing a process based on command input from an external apparatus, and storing a plurality of Tag, Length, Value (TLV) data objects, the IC card comprising: a storage unit configured to have a first storage area that stores an unfixed-length data character of each TLV data object, and to have a second storage area that stores a fixed-length data class of each TLV data object in association with a fixed-length address representing positions of the data characters; a transmission/reception unit configured to transmit and receive data to and from the external apparatus; and a control unit configured to: retrieve the data class from the second storage area, the data class being identical to designation data contained in a read command for reading a TLV data object, if the read command is received by the transmission/reception unit, and read the data character stored in the first storage area based on the address in association with the data class retrieved, wherein the storage unit is configured to store in the first storage area an unfixed-length data length representing the length of the data character stored in the first storage area, in association with the data character stored in the first storage area.