System and method for processing feedback entries received from software
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06Q-020/00
G06Q-020/38
G06Q-030/02
H04L-009/08
G06F-021/60
H04L-009/12
H04L-009/14
H04L-009/32
출원번호
US-0855333
(2013-04-02)
등록번호
US-9569774
(2017-02-14)
발명자
/ 주소
Chenthamarakshan, Vijil Enara
출원인 / 주소
International Business Machines Corporation
대리인 / 주소
Schmeiser, Olsen & Watts, LLP
인용정보
피인용 횟수 :
0인용 특허 :
4
초록▼
A method and system for processing feedback entries received from software provided by a vendor to an end user machine. The end user machine includes the software, a feedback module, and a database. The feedback module: generates an encryption Ek0 of an identification tag FE(0) using a secret key k(
A method and system for processing feedback entries received from software provided by a vendor to an end user machine. The end user machine includes the software, a feedback module, and a database. The feedback module: generates an encryption Ek0 of an identification tag FE(0) using a secret key k(0) where Ek0=E(k(0),FE(0)); generates a parameter Hn0 using a secret key n(0) where Hn0=Hash(n(0)∥Ek0); generates a parameter Hs0 using a secret key s(0) where Hs0=Hash(s(0)∥Ek0); and sends Ek0, Hn0, and Hs0 to the database.
대표청구항▼
1. A method for processing feedback entries received from software, said software provided by a vendor device to an end user machine, said end user machine comprising a processor, the software, a feedback module, and a database, wherein a concatenation operator ∥ is defined such that A∥B denotes a c
1. A method for processing feedback entries received from software, said software provided by a vendor device to an end user machine, said end user machine comprising a processor, the software, a feedback module, and a database, wherein a concatenation operator ∥ is defined such that A∥B denotes a concatenation of strings A and B, wherein E(K,X) defines a symmetric key encryption of a parameter X using a key K, wherein Hash(Y) defines a one way hash function of a parameter Y, and wherein said method comprises: said processor via execution of the feedback module, establishing a secret key k(0) and sending the key k(0) to the vendor device and communicating the key k(0) to a user of the software;said processor via execution of the feedback module, establishing a secret key n(0) and sending the key n(0) to the vendor device and not communicating the key n(0) to the user;said processor, via execution of the feedback module, generating a secret key s(0) and communicating the generated key s(0) to the user but not to the vendor device;said processor, via execution of the feedback module, generating an encryption Ek0 of an identification tag FE(0) using the secret key k(0) where Ek0=E(k(0),FE(0));said processor, via execution of the feedback module, generating a parameter Hn0 using the secret key n(0) where Hn0=Hash(n(0)∥Ek0);said processor, via execution of the feedback module, generating a parameter Hs0 using the secret key s(0) where Hs0=Hash(s(0)∥Ek0);said processor, via execution of the feedback module, sending Ek0, Hn0, and Hs0 to the database;said processor, via execution of the feedback module, receiving N feedback entries, denoted as FE(1), . . . , FE(N), from the software;said processor, via execution of the feedback module, generating an encryption E(k(i),FE(i)), denoted as Eki, of feedback entry FE (i) using an encryption key k(i) and writing Eki to the database for each of i=1, . . . , N; andsaid processor, via execution of the feedback module, determining that synchronization is required and a network connection is available and in response, synchronizing the database with the vendor device by sending Eki to the vendor device for each of i=1, . . . , N. 2. The method of claim 1, said method further comprising: said processor, via execution of the feedback module, sending Ek0 and Hn0 to the vendor device. 3. The method of claim 2, said method comprising: said processor, via execution of the feedback module, generating keys k(1), n(1), and s(1) such that k(1)=Hash(k(0)), n(1)=Hash(n(0)), and s(1)=Hash(s(0)); andsaid processor, via execution of the feedback module, sending k(1), n(1), and s(1) to the database. 4. The method of claim 3, said method comprising, for each of i=1, . . . , N wherein N is at least 1: calculating parameters Hni and Hsi such that Hni=Hash(n(i)∥Eki), and Hsi=Hash(s(i)μEki);writing Hni and Hsi to the database;said processor, via execution of the feedback module, generating keys k(i+1), n(i+1), and s(i+1) such that k(i+1)=Hash(k(i)), n(i+1)=Hash(n(i)), and s(i+1)=Hash(s(i)); andreplacing keys k(i), n(i), and s(i) in the database with keys k(i+1), n(i+1), and s(i+1),wherein the database comprises k(N+1), n(N+1), and s(N+1). 5. The method of claim 4, said synchronizing comprising sending to the vendor device: (Eki, Hni, i=M, . . . , N) and E(k(N−1), n(N−1)), wherein 1≦M≦N. 6. A The method of claim 5, further comprising verifying, by the vendor device, an integrity of the N feedback entries received by the vendor device as a result of said sending to the vendor device: ((Eki, Hni), i=M, . . . , N) and E(k(N+1), n(N+1)), wherein 1≦M≦N. 7. The method of claim 6, wherein said verifying comprises: setting i=0 and H(0)=n(0);executing iterations i=0, 1, . . . , N of a loop, wherein executing each iteration i of the loop comprises: setting H′ni=Hash(H(i)∥Eki); determining that H′ni=Hni; and responsive to said determining that H′ni=Hni, setting H(i+1)=Hash(H(i)) and k(i+1)=Hash(k(i));after said executing: decrypting E(k(N+1), n(N+1)) using key k(N+1) to infer n(N+1);determining that n(N+1)=H(N+1); andresponsive to said determining that n(N+1)=H(N+1), ascertaining that the integrity of the N feedback entries received by the vendor device has been verified. 8. The method of claim 6, wherein the method further comprises, as performed by the vendor device prior to said verifying: calculating H′n0=Hash(n(0)∥Ek0);determining that H′n0=Hn0; andresponsive to said determining that H′n0=Hn0, decrypting Ek0 to infer FE(0) and recording that the database is set. 9. The method of claim 4, said method comprising verifying, by the processor, an integrity of the N feedback entries in the database as a result of writing ((Eki, Hni, Hsi), i=1, . . . , N) to the database. 10. The method of claim 9, wherein said verifying comprises: setting i=0 and S(0)=s(0);executing iterations i=0, 1, . . . , N of a loop, wherein executing each iteration i of the loop comprises: setting H′si=Hash(S(i)∥Eki); determining that H′si=Hsi; and responsive to said determining that H′si=Hsi, setting S(i+1)=Hash(S(i));after said executing: determining that S(N+1)=s(N+1); and responsive to said determining that S(N+1)=s(N+1), ascertaining that the integrity of the N feedback entries in the database has been verified. 11. A computer program product, comprising a non-volatile computer readable storage medium having a computer readable program code stored therein, said computer readable program code, upon being executed by a processor, causes the processor to perform a method for processing feedback entries received from software, said software provided by a vendor to an end user machine, said end user machine comprising the processor, the software, a feedback module, and a database, wherein a concatenation operator ∥ is defined such that A∥B denotes a concatenation of strings A and B, wherein E(K,X) defines a symmetric key encryption of a parameter X using a key K, wherein Hash(Y) defines a one way hash function of a parameter Y, and wherein said method comprises: said processor via execution of the feedback module, establishing a secret key k(0) and sending the key k(0) to the vendor device and communicating the key k(0) to a user of the software;said processor via execution of the feedback module, establishing a secret key n(0) and sending the key n(0) to the vendor device and not communicating the key n(0) to the user;said processor, via execution of the feedback module, generating a secret key s(0) and communicating the generated key s(0) to the user but not to the vendor device;said processor, via execution of the feedback module, generating an encryption Ek0 of an identification tag FE(0) using the secret key k(0) where Ek0=E(k(0),FE(0));said processor, via execution of the feedback module, generating a parameter Hn0 using the secret key n(0) where Hn0=Hash(n(0)∥Ek0);said processor, via execution of the feedback module, generating a parameter Hs0 using the secret key s(0) where Hs0=Hash(s(0)∥Ek0);said processor, via execution of the feedback module, sending Ek0, Hn0, and Hs0 to the database;said processor, via execution of the feedback module, receiving N feedback entries, denoted as FE(1), . . . , FE(N), from the software;said processor, via execution of the feedback module, generating an encryption E(k(i),FE(i)), denoted as Eki, of feedback entry FE(i) using an encryption key k(i) and writing Eki to the database for each of i=1, . . . , N; andsaid processor, via execution of the feedback module, determining that synchronization is required and a network connection is available and in response, synchronizing the database with the vendor device by sending Eki to the vendor device for each of i=1, . . . , N. 12. The computer program product of claim 11, said method further comprising: said processor, via execution of the feedback module, sending Ek0 and Hn0 to the vendor device. 13. A computer system comprising an end user machine, wherein the end user machine comprises a processor, a memory coupled to the processor, a computer readable storage device comprising hardware, software, a feedback module, and a database, wherein the storage device is coupled to the processor and contains program code which, upon being executed by the processor via the memory, causes the processor to perform a method for processing feedback entries received from the software, wherein the software is provided by a vendor to an end user machine, wherein a concatenation operator ∥ is defined such that A∥B denotes a concatenation of strings A and B, wherein E(K,X) defines a symmetric key encryption of a parameter X using a key K, wherein Hash(Y) defines a one way hash function of a parameter Y, and wherein said method comprises: said processor via execution of the feedback module, establishing a secret key k(0) and sending the key k(0) to the vendor device and communicating the key k(0) to a user of the software;said processor via execution of the feedback module, establishing a secret key n(0) and sending the key n(0) to the vendor device and not communicating the key n(0) to the user;said processor, via execution of the feedback module, generating a secret key s(0) and communicating the generated key s(0) to the user but not to the vendor device;said processor, via execution of the feedback module, generating an encryption Ek0 of an identification tag FE(0) using the secret key k(0) where Ek0=E(k(0),FE(0));said processor, via execution of the feedback module, generating a parameter Hn0 using the secret key n(0) where Hn0=Hash(n(0)∥Ek0);said processor, via execution of the feedback module, generating a parameter Hs0 using the secret key s(0) where Hs0=Hash(s(0)∥Ek0);said processor, via execution of the feedback module, sending Ek0, Hn0, and Hs0 to the database;said processor, via execution of the feedback module, receiving N feedback entries, denoted as FE(1), . . . , FE(N), from the software;said processor, via execution of the feedback module, generating an encryption E(k(i), FE(i) denoted as Eki, of feedback entry FE(i) using an encryption key k(i) and writing Eki to the database for each of i=1, . . . , N; andsaid processor, via execution of the feedback module, determining that synchronization is required and a network connection is available and in response, synchronizing the database with the vendor device by sending Eki to the vendor device for each of i=1, . . . , N. 14. The computer system of claim 13, said method further comprising: said processor, via execution of the feedback module, sending Ek0 and Hn0 to the vendor device.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (4)
Murray, Paul S.; Learn, Karen, Availability, reliability or maintainability index including outage characterization.
Ginter Karl L. ; Shear Victor H. ; Sibert W. Olin ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.