US 12,437,120 B2
Enabling secure debug logging
Vikas Jagannath Chaudhary, Pune (IN); and Abhidnya Sushant Joshi, Pune (IN)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Jan. 19, 2022, as Appl. No. 17/578,832.
Prior Publication US 2023/0229816 A1, Jul. 20, 2023
Int. Cl. G06F 21/78 (2013.01); G06F 11/362 (2025.01); G06F 21/60 (2013.01)
CPC G06F 21/78 (2013.01) [G06F 21/602 (2013.01); G06F 11/362 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method comprising:
issuing, from an end user at a client, a request for a security token to enable debug logging of a software product that requires debugging, the software product being installed at the client;
receiving, at the client having the software product that requires debugging, the security token in response to the request from the end user at the client to enable debug logging;
validating, by the software product installed at the client, the security token;
upon a successful validation of the security token, enabling the debug logging of the software product installed at the client;
tracking a duration for which the debug logging has been enabled; and
upon the duration reaching a cutoff duration, disabling the debug logging, wherein the request for the security token comprises an identification of a version of the software product, a hostname of the client at which the software product is installed, and a time of the request,
wherein the security token is generated by applying a symmetric key encryption algorithm to the version identifier of the software product, the hostname, and the time included with the request,
wherein the version identifier is used as a key along with an initialization vector (IV) to encode the hostname, the version identifier, and the time, the IV also being hard-coded with the software product installed at the client, and
wherein the validating comprises:
using the IV hard-coded with the software product and the version identifier to decode, at the client, the security token, thereby obtaining a plain text form of the hostname, the version identifier, and the time;
determining whether each of a plurality of validation checks pass, the plurality of validation checks comprising:
a first validation check passes if the decoded hostname matches the hostname of the client at which the software product is installed;
a second validation check passes if the decoded version identifier matches the version identifier of the software product installed at the client; and
a third validation check passes if the decoded time compared against a current time indicates that a timeout for debug logging has not been reached; and
if each of the plurality of validation checks pass, determining that the validation is successful.