AES Encrypted Data In Database Has Been Corrupted (Doc ID 1156853.1)

Last updated on SEPTEMBER 26, 2010

Applies to:

Oracle Communications Billing and Revenue Management - Version: 7.3.1.0.1 and later   [Release: 7.3.1 and later ]
Information in this document applies to any platform.

Symptoms

In a customer system, they have AES encryption for two objects , viz., /device/voucher and /device/sim (this is a custom class they created). In both these objects they observed that the encrypted field has got corrupted unexpectedly.

Scenario:
1. Create vouchers in the database
2. In the voucher objects, PIN will be in encrypted format in the database using AES encryption
3. After few days, PIN is corrupted. Not sure what is causing this to happen.

See below the output flist of search for one of these objects. Notice that the field "PIN_FLD_KI" is showing some random characters.

Output flist of search :

0 PIN_FLD_POID POID [0] 0.0.0.1 /search -1 0
0 PIN_FLD_RESULTS ARRAY [0] allocated 20, used 17
1 PIN_FLD_POID POID [0] 0.0.0.1 /device/sim 245407502 6
1 PIN_FLD_CREATED_T TSTAMP [0] (1273062304) Wed May 05 12:25:04 2010
1 PIN_FLD_MOD_T TSTAMP [0] (1273064159) Wed May 05 12:55:59 2010
1 PIN_FLD_READ_ACCESS STR [0] "L"
1 PIN_FLD_WRITE_ACCESS STR [0] "A"
1 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 1 0
1 PIN_FLD_DESCR STR [0] ""
1 PIN_FLD_DEVICE_ID STR [0] "620040010547526"
1 PIN_FLD_MANUFACTURER STR [0] ""
1 PIN_FLD_MODEL STR [0] ""
1 PIN_FLD_SOURCE STR [0] ""
1 PIN_FLD_STATE_ID INT [0] 5
1 PIN_FLD_SERVICES ARRAY [3] allocated 20, used 2
2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 245414791 0
2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/cdma/data 245419622 0
1 PIN_FLD_SERVICES ARRAY [2] allocated 20, used 2
2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 245414791 0
2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/cdma/telephony 245418566 0
1 PIN_FLD_SERVICES ARRAY [1] allocated 20, used 2
2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 245414791 0
2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/cdma/sms 245418758 0
1 PIN_FLD_SERVICES ARRAY [0] allocated 20, used 2
2 PIN_FLD_ACCOUNT_OBJ POID [0] 0.0.0.1 /account 245414791 0
2 PIN_FLD_SERVICE_OBJ POID [0] 0.0.0.1 /service/telco/cdma/tel 245419898 0
1 PIN_FLD_DEVICE_SIM SUBSTRUCT [0] allocated 20, used 14
2 PIN_FLD_ADM1 STR [0] "42E121295D6F1E9A"
2 10003 STR [0] ""
2 10000 STR [0] "080818547526"
2 PIN_FLD_IMSI STR [0] "620040010547526"
2 PIN_FLD_KI STR [0] "K\247\030\365\037\252(\244\260\343\316\245\215`$\363" ----> Key has been corrupted
2 10001 STR [0] ""
2 PIN_FLD_NETWORK_ELEMENT STR [0] "qaz"
2 E STR [0] ""
2 PIN_FLD_PIN1 STR [0] "1234"
2 PIN_FLD_PIN2 STR [0] "1234"
2 PIN_FLD_PUK1 STR [0] "45607"
2 PIN_FLD_PUK2 STR [0] "45607"
2 D STR [0] "RUIM"
2 PIN_FLD_USER_NAME STR [0] ""


As a workaround we have to use a new key and generate the vouchers again. But this is not a practical solution in production system because the vouchers are already purchased by end users.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms