A node device comprising: a local memory and at least one coprocessor coupled with the local memory, each coprocessor comprising a register (112A, 300); a plurality of base secrets stored in the register (112A, 300) of the at least one coprocessor for generating and validating remote keys (200, 420-436), wherein each of the plurality of base secrets is associated with a base secret index, wherein each register (112A, 300) is configured to store the plurality of base secrets based on the base secret index; at least one primary processor configured to execute software instructions that cause the at least one primary processor to change a selected base secret associated with a selected base secret index in the register (112A, 300) of the at least one coprocessor; wherein a selected coprocessor selected from the at least one coprocessor is: configured to receive, from a first remote node device, a request comprising a command that requires access to the local memory, the request further comprising a first remote key (200, 420-436), the first remote key (200, 420-436) comprising a first base secret index and first validation data generated based on a first base secret; configured to obtain a validation base secret stored in the register (112A, 300) of the selected coprocessor based on the first base secret index; configured in hardware to perform, independently of the at least one primary processor, validation of the first remote key (200, 420-436) on the first validation data based on the validation base secret, wherein the validation fails when the base secret associated with the first base secret index has been changed in the register (112A, 300) of the selected coprocessor since generation of the first validation data; configured to access, after successful validation of the first remote key (200, 420-436), the local memory in accordance with the request. a local memory and at least one coprocessor coupled with the local memory, each coprocessor comprising a register (112A, 300); a plurality of base secrets stored in the register (112A, 300) of the at least one coprocessor for generating and validating remote keys (200, 420-436), wherein each of the plurality of base secrets is associated with a base secret index, wherein each register (112A, 300) is configured to store the plurality of base secrets based on the base secret index; at least one primary processor configured to execute software instructions that cause the at least one primary processor to change a selected base secret associated with a selected base secret index in the register (112A, 300) of the at least one coprocessor; wherein a selected coprocessor selected from the at least one coprocessor is: configured to receive, from a first remote node device, a request comprising a command that requires access to the local memory, the request further comprising a first remote key (200, 420-436), the first remote key (200, 420-436) comprising a first base secret index and first validation data generated based on a first base secret; configured to obtain a validation base secret stored in the register (112A, 300) of the selected coprocessor based on the first base secret index; configured in hardware to perform, independently of the at least one primary processor, validation of the first remote key (200, 420-436) on the first validation data based on the validation base secret, wherein the validation fails when the base secret associated with the first base secret index has been changed in the register (112A, 300) of the selected coprocessor since generation of the first validation data; configured to access, after successful validation of the first remote key (200, 420-436), the local memory in accordance with the request. configured to receive, from a first remote node device, a request comprising a command that requires access to the local memory, the request further comprising a first remote key (200, 420-436), the first remote key (200, 420-436) comprising a first base secret index and first validation data generated based on a first base secret; configured to obtain a validation base secret stored in the register (112A, 300) of the selected coprocessor based on the first base secret index; configured in hardware to perform, independently of the at least one primary processor, validation of the first remote key (200, 420-436) on the first validation data based on the validation base secret, wherein the validation fails when the base secret associated with the first base secret index has been changed in the register (112A, 300) of the selected coprocessor since generation of the first validation data; configured to access, after successful validation of the first remote key (200, 420-436), the local memory in accordance with the request.