Patent ID: 8798063

Claim:
An information processing apparatus comprising: a receiving unit configured to receive a packet sent from a first apparatus, the packet including data and an ultimate destination address which represents address information of an ultimate destination; a route information storing unit configured to store the ultimate destination address and one or more first next destination addresses in association with each other, each first next destination address representing information of an address of a next forwarding destination; a key information storing unit configured to store one or more first shared keys, each first shared key being a key shared between the information processing apparatus itself and a different information processing apparatus; a first processing unit configured to judge, on the basis of the received ultimate destination address, whether or not the route information storing unit stores one or more associated first next destination addresses, and, if so, extracting one of the associated first next destination addresses as a second next destination address; a second processing unit configured to judge whether or not a received packet includes a message authentication code for the second next destination address, on the basis of the received packet and the second next destination address; a first packet generating unit configured to generate a first packet on the basis of the received packet and the second next destination address in the case where the received packet includes the message authentication code for the second next destination address; a third processing unit configured to judge whether or not the key information storing unit stores, as a second shared key, a first shared key shared between the information processing apparatus itself and another information processing apparatus specified by the second next destination address, in the case where the received packet does not include the message authentication code for the second next destination address; a message authentication code generating unit configured to generate a first message authentication code on the basis of the data and the second shared key in the case where the key information storing unit stores the second shared key; a second packet generating unit configured to generate a second packet including the ultimate destination address, the data, and the first message authentication code; a third packet generating unit configured to generate a third packet, which includes a next destination and information indicating that the generation of a message authentication code is impossible, in the case where the key information storing unit does not store the second shared key; and a transmitting unit configured to transmit one of the first packet, the second packet or the third packet.