A communication apparatus comprising: a secure module; a first storage device, provided outside the secure module, to store a program for encrypted communication with an apparatus external to the communication apparatus using a cryptographic key stored in the secure module; a cryptographic unit, provided in the secure module, to encrypt data by using the cryptographic key; a detecting unit, provided in the secure module, to detect tampering of the program; a setting unit, provided in the secure module, to disable the encrypted communication when the tampering of the program is detected; an obtaining unit, provided in the secure module, to obtain one of data to be transmitted from the program to the external apparatus prior to the transmission of the data and a request for outputting the cryptographic key from the program, the cryptographic unit arranged to encrypt the data by using the cryptographic key when the obtaining unit obtains the data; an output unit, provided in the secure module, to output the cryptographic key to the program when the obtaining unit obtains the request, wherein the setting unit is arranged to disable at least one of the cryptographic unit and the output unit to disable the encrypted communication; a generating unit to generate a scanning program for generating a first scan result (Rl) which is used for detecting a tampering of the program, wherein the generating unit is arranged to generate or update the scanning program and the secure module is arranged to use the latest scanning program, obtained by updating the scanning program, to scan the program; and a second storage device, provided in the secure module, to store the first scan result, wherein the detecting unit is arranged to detect the tampering of the program based on the first scan result stored in the storage device and a second scan result obtained from running the scanning program again. a secure module; a first storage device, provided outside the secure module, to store a program for encrypted communication with an apparatus external to the communication apparatus using a cryptographic key stored in the secure module; a cryptographic unit, provided in the secure module, to encrypt data by using the cryptographic key; a detecting unit, provided in the secure module, to detect tampering of the program; a setting unit, provided in the secure module, to disable the encrypted communication when the tampering of the program is detected; an obtaining unit, provided in the secure module, to obtain one of data to be transmitted from the program to the external apparatus prior to the transmission of the data and a request for outputting the cryptographic key from the program, the cryptographic unit arranged to encrypt the data by using the cryptographic key when the obtaining unit obtains the data; an output unit, provided in the secure module, to output the cryptographic key to the program when the obtaining unit obtains the request, wherein the setting unit is arranged to disable at least one of the cryptographic unit and the output unit to disable the encrypted communication; a generating unit to generate a scanning program for generating a first scan result (Rl) which is used for detecting a tampering of the program, wherein the generating unit is arranged to generate or update the scanning program and the secure module is arranged to use the latest scanning program, obtained by updating the scanning program, to scan the program; and a second storage device, provided in the secure module, to store the first scan result, wherein the detecting unit is arranged to detect the tampering of the program based on the first scan result stored in the storage device and a second scan result obtained from running the scanning program again.