You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

 

A protected item is defined by the structure in the dongle memory called descriptor. The descriptor contains fields describing the type of data stored in the protected item, its properties, status, activation/deactivation passwords and passwords for executing operations with data.

A protected item/hardware algorithm is addressed by its numerical name. Number name is a 2-byte identifier kept in a special table of item number names and algorithms (Algorithm Root Table, ART). A number name allows identifying the item regardless what memory area is occupies, since the items can be placed randomly in the memory.

Field offset from the beginning of descriptorField length (bytes)Field nameField description
00h1rs_LoFlagsLower byte of flags, see nsafl_xxx
01h1rs_algoAlgorithm type, see rs_algo_XXXX
02h2ReservedForEvenReserved
04h4rs_HiFlagsMore flags, see nsafh_xxx
08h4rs_klenData size of protected item or dongle (determinant) algorithm in bytes (rs_K[])
0C4rs_blenSize of data block for hardware algorithm
108rs_hashThis field is reserved and must be filled with 0
184rs_ActivatePwdActivation password (if flag nsafl_ActivationSrv exists)
1C4rs_DeactivatePwdDeactivation password (if flag nsafl_DeactivationSrv exists)
204rs_ReadPwdPassword for reading fields rs_GP, rs_ErrorCounter, rs_K[] using GrdPI _Read function (if flag nsafh_ReadPwd exists)
244rs_UpdatePwdPassword for updating field rs_GP, rs_ErrorCounter, rs_K[] using GrdPI_Update function(if flag nsafh_UpdateSrv exists)
286rs_BirthTime 
2E6rs_DeadTime 
348rs_Lifetime 
3C8rs_FlipTime 
444rs_GPReverse counter
484rs_ErrorCounterPermissible number of password entry attempts (if one of the following flags exists: nsafl_ ActivationSrv, nsafl_DeactivationSrv or nsafl_ UpdateSrv)
4Crs_klenrs_K[]Protected item data or algorithm determinant sized rs_klen

 

Field rs_LoFlags contains lower byte of flags defining the properties of protected items. The following flags can be set (flag names listed below are used in Guardant API):

 

  • No labels