Claims (26)
신뢰할 수 있는 센타의 시스템 초기화에 의하여 생성된 공개정보 n, e의 공개 개인정보 IDA를 이용하여 생성된 하나의 비밀키 SA를 이용하여 사용자와 응용시스템간의 신분인증을 하기 위한 방법에 있어서; 상기 사용자측에서 난수발생기능을 이용하여 소정의 난구 r1, r2를 선택하는 과정; 상기 r1, r2의 난수가 선택되면, 정해진 규칙에 의하여 공개키 인증서 v 및 상기 난수값을 위탁하기 위한 변수 x를 계산하는 제1계산과정; 상기 제1계산과정에서 계산된 v와 x 및 상기 시스템 초기화에 의하여 공개된 정보 n, e, IDA값을 상기 응용시스템측으로 전송하는 제1전송과정; 상기 전송과정을 통하여 상기 값들이 전송되면, 상기 응용시스템은 신분인증을 위한 질문변수 c를 선택하여 상기 사용자측으로 전송하는 제2전송과정; 상기 제2전송과정에서 전송된 상기 c값과 상기 난수 r1, r2를 이용하여 상기 질문변수에 대한 응답변수 y를 계산하는 제2계산과정; 상기 제2계산과정에서 계산된 응답변수 y를 상기 응용시스템측으로 전송하는 제3전송과정; 상기 제3전송과정에서 전송된 상기 응답변수 y와 상기 제1전송과정에서 전송된 상기 v, x, n, e, IDA값을 이용하여 공개키 w를 계산하고, 정해진 검증조건을 만족하는지를 체크하는 과정을 포함함을 특징으로 하는 신분인증방법. A method for identity verification between a user and an application system using one secret key S A generated using public information n A of public information n and e generated by system initialization of a trusted center; Selecting predetermined eggs r1 and r2 by using a random number generating function at the user side; A first calculating step of calculating a public key certificate v and a variable x for entrusting the random number value according to a predetermined rule when the random numbers of r1 and r2 are selected; A first transmission step of transmitting v and x calculated in the first calculation step and information n, e, and ID A values disclosed by the system initialization to the application system; If the values are transmitted through the transmission process, the application system selects a question variable c for identification and transmits it to the user; A second calculation step of calculating a response variable y for the question variable using the c value transmitted in the second transmission step and the random numbers r1 and r2; A third transmission step of transmitting the response variable y calculated in the second calculation step to the application system; The public key w is calculated using the response variable y transmitted in the third transmission process and the values of v, x, n, e, and ID A transmitted in the first transmission process, and it is checked whether a predetermined verification condition is satisfied. Identity authentication method comprising the process of.
제1항에 있어서, 상기 검증조건 체크과정은, 상기 공개정보들, 상기 공개정보중 하나로서 가능한 많은 원소를 발생시키는 기본원소인 g 및 상기 공개키정보를 이용하여 하기 식과 같이 검증변수 x'를 계산하는 단계;The method of claim 1, wherein the verifying condition check process comprises verifying a verification variable x 'using the public element, g, which is a basic element that generates as many elements as possible among the public information, one of the public information, and the public key information. Calculating;
x'=geywcmod nx '= g ey w c mod n
계산된 검증변수 x'와 상기 제1전송과정에서 전송된 x값이 동일한지 여부를 체크하는 단계를 포함함을 특징으로 하는 신분인증방법.And checking whether the calculated verification variable x 'and the x value transmitted in the first transmission process are the same.
제2항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.The identification authentication method according to claim 2, wherein the public key certificate v and the variable x in the first calculation process are calculated according to the following rules.
v=SAg-rlmod n, x=ger2mod nv = S A g -rl mod n, x = g er2 mod n
제3항에 있어서, 상기 제2계산과정에서의 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 신분인증방법.The method of claim 3, wherein the response variable y in the second calculation process is calculated by an arithmetic operation as in the following equation.
y=r2+r1cy = r2 + r1c
제3항에 있어서, 상기 제3계산과정에서 계산된 상기 공개키 w는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.The identification authentication method according to claim 3, wherein the public key w calculated in the third calculation process is calculated according to the following rule.
w=veIDAmod nw = v e ID A mod n
제5항에 있어서, 상기 난수 rl은 k비트로 표현되고, 상기 난수 r2는 k+t비트로 표현되면, 상기 난수 c는 t비트로 표현되도록 설정됨을 특징으로 하는 신분인증방법.The method of claim 5, wherein the random number rl is represented by k bits, and the random number r2 is represented by k + t bits, and the random number c is set to be represented by t bits.
제1항에 있어서, 상기 제2전송과정에서 선택되는 질문변수를 c1, c2로 선택하여 전송함을 특징으로 하는 신분인증방법.The identification authentication method of claim 1, wherein the question variable selected in the second transmission process is selected and transmitted as c1 and c2.
제7항에 있어서, 상기 검증조건 체크과정은, 상기 공개 정보들과 공개키 정보를 이용하여 하기 식과 조건이 성립하는지 여부를 체크함을 특징으로 하는 신분인증방법.The identification authentication method according to claim 7, wherein the verification condition checking process checks whether the following equation and condition are satisfied by using the public information and public key information.
yeLwclxc2=1 mod ny eL w cl x c2 = 1 mod n
제8항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.The identification authentication method according to claim 8, wherein the public key certificate v and the variable x in the first calculation process are calculated according to the following rule.
v=SAr1-Lmod n, x=r2eLmod nv = S A r1 -L mod n, x = r2 eL mod n
제9항에 있어서, 상기 제2계산과정에서의 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 신분인증방법.10. The method of claim 9, wherein the response variable y in the second calculation process is calculated by an arithmetic operation as in the following equation.
y=rlclr2c2mod ny = rl cl r2 c2 mod n
제10항에 있어서, 상기 제3계산과정에서 계산된 상기 공개키 w는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.The identity authentication method according to claim 10, wherein the public key w calculated in the third calculation process is calculated according to the following rule.
w=veIDAmod nw = v e ID A mod n
제11항에 있어서, 상기 난수 r1과 r2는 0과 n 사이의 난수중 하나를 선택하고 상기 난수 c1, c2는 0과 L 사이의 난수 중 하나를 선택하도록 설정됨을 특징으로 하는 신분인증방법.12. The identification method of claim 11, wherein the random numbers r1 and r2 select one of random numbers between 0 and n, and the random numbers c1 and c2 are set to select one of random numbers between 0 and L.
제6항 또는 제12항에 있어서, 상기 공개키는 일회용으로써, 포로토콜마다 반복적으로 사용할 수 있음을 특징으로 하는 신분인증방법.The identification method according to claim 6 or 12, wherein the public key is disposable and can be used repeatedly for each protocol.
신뢰할 수 있는 센타의 시스템 초기화에 의하여 생성된 공개정보 n, e와 공개 개인정보 IDA를 이용하여 생성된 하나의 비밀키 SA를 이용하여 사용자와 응용시스템간의 디지탈 서명생성 및 확인방법에 있어서 : 상기 사용자측의 난수발생기능을 통해 소정의 난수 r1, r2를 선택하는 과정; 상기 r1, r2의 난수가 선택되면, 정해진 규칙에 의하여 공개키 인증서 v 및 상기 난수값을 위탁하기 위한 변수 x를 계산하는 제1계산과정; 서명하고자 하는 메세지 m과 상기 제1계산과정에서 계산된 x값을 이용하여 해쉬한 값 c1을 계산하는 제2계산과정; 상기 제2계산과정에서 계산된 해쉬한 값 c1 중 하위 t비트인 c1'를 계산하는 제3계산과정; 상기 제3계산과정에서 계산된 c1'값과 상기 난수 r1, r2값을 이용하여 응답변수 y를 계산하는 제4계산과정; 상기 제1 내지 제4계산과정에서 계산된 상기 v, c1, y값과 상기 사용자측에서 보유하고 있는 상기 개인정보 IDA와 상기 m값을 상기 검증자측으로 전송하면서 디지탈 서명을 상기 응용시스템측으로 생성하는 디지탈서명 생성과정; 상기 디지탈 서명 생성과정에 의하여 전송된 상기 변수들이 인가되면, 상기 응용시스템은 정해진 규칙에 의하여 공개키 w, 상기 c'변수, 확인변수 x'를 계산하는 제5계산과정; 상기 제5계산과정에서 계산된 확인변수 x'와 전송된 메세지 변수 m을 해쉬한 c2값을 계산하는 제6계산과정; 상기 제6계산과정에서 계산된 해쉬한 c2값과 상기 사용자측에서 전송된 상기 해쉬한 c1값의 동일성 여부를 체크하여 디지탈서명을 확인하는 과정을 포함함을 특징으로 하는 디지탈서명 생성 및 확인방법.In the digital signature generation and verification method between the user and the application system using the public information n, e generated by the system initialization of the trusted center and one private key S A generated using the public personal information ID A : Selecting a predetermined random number r1, r2 through the random number generation function of the user side; A first calculating step of calculating a public key certificate v and a variable x for entrusting the random number value according to a predetermined rule when the random numbers of r1 and r2 are selected; A second calculation step of calculating a hash value c1 using the message m to be signed and the x value calculated in the first calculation step; A third calculation step of calculating c1 ', which is a lower t bit, among the hashed values c1 calculated in the second calculation step; A fourth calculation step of calculating a response variable y using the c1 'value calculated in the third calculation step and the random numbers r1 and r2 values; Generating a digital signature to the application system while transmitting the v, c1 and y values calculated in the first to fourth calculation processes and the personal information ID A and the m value held by the user to the verifier Digital signature generation process; A fifth calculation step of calculating the public key w, the c 'variable and the confirmation variable x' according to a predetermined rule when the variables transmitted by the digital signature generation process are authorized; A sixth calculation step of calculating a c2 value hashing the confirmation variable x 'calculated in the fifth calculation step and the transmitted message variable m; And checking the identity of the hashed c2 value calculated in the sixth calculation process with the hashed c1 value transmitted from the user side, thereby confirming the digital signature.
제14항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 상술한 공개정보, 공개적인 정보 및 상기 공개정보중 하나로서 가능한 많은 원소를 발생시키는 기본원소인 g를 이용하여 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.15. The method of claim 14, wherein the public key certificate v and the variable x in the first calculation process are performed using g, which is a basic element for generating as many elements as one of the above-mentioned public information, public information, and the public information. Digital signature generation and verification method characterized in that it is calculated by the following rules.
v=SAg-r1mod n, x=ger2mod nv = S A g -r1 mod n, x = g er2 mod n
제15항에 있어서, 상기 제4계산과정에서 계산되는 상기 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.The method of claim 15, wherein the response variable y calculated in the fourth calculation process is calculated by an arithmetic operation as in the following equation.
y=r2+r1c'y = r2 + r1c '
제16항에 있어서, 상기 제5계산과정에서 계산된 상기 공개키 w는 하기식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.17. The method of claim 16, wherein the public key w calculated in the fifth calculation process is calculated according to the following formula.
w=veIDAmod nw = v e ID A mod n
제17항에 있어서, 상기 제5계산과정에서 계산되는 상기 확인변수 x'는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.18. The method of claim 17, wherein the confirmation variable x 'calculated in the fifth calculation process is calculated according to the following rule.
x'=geywc'mod nx '= g ey w c' mod n
제18항에 있어서, 상기 난수 r1은 k비트로 표현되고, 상기 난수 r2는 k+t비트로 표현되도록 설정됨을 특징으로 하는 디지탈서명 생성 및 확인방법.19. The method of claim 18, wherein the random number r1 is expressed in k bits and the random number r2 is set in k + t bits.
제14항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.15. The method of claim 14, wherein the public key certificate v and the variable x in the first calculation process are calculated according to the following rules.
v=SAr1-Lmod n, x=r2eLmod nv = S A r1 -L mod n, x = r2 eL mod n
제20항에 있어서, 상기 제4계산과정에서의 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.21. The method of claim 20, wherein the response variable y in the fourth calculation process is calculated by an arithmetic operation as in the following equation.
y=r2r1c1- mod ny = r2r1 c1 -mod n
제21항에 있어서, 상기 제5계산과정에서 계산된 상기 공개키 w는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.22. The identity authentication method according to claim 21, wherein the public key w calculated in the fifth calculation process is calculated according to the following rule.
w=veIDAmod nw = v e ID A mod n
제22항에 있어서, 상기 제5계산과정에서 계산되는 상기 확인변수 x'는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.23. The method of claim 22, wherein the confirmation variable x 'calculated in the fifth calculation process is calculated according to the following rule.
x'=yeLwcl- mod nx '= y eL w cl -mod n
제23항에 있어서, 상기 난수 r1과 r2는 0과 n 사이의 난수 중 하나를 선택하고, 상기 난수 c1, c2는 0과 L사이의 난수중 하나를 선택되도록 설정됨을 특징으로 하는 신분인증방법.24. The method of claim 23, wherein the random numbers r1 and r2 select one of random numbers between 0 and n, and the random numbers c1 and c2 are set to select one of random numbers between 0 and L.
제19항 또는 제24항에 있어서, 상기 공개키는 일회용으로써, 프로토콜마다 반복적으로 사용할 수 있음을 특징으로 하는 디지탈서명 생성 및 확인방법.25. The method of claim 19 or 24, wherein the public key is disposable and can be used repeatedly for each protocol.
제25항에 있어서, 상기 제3계산과정에서의 변수 c1'값은 c1'=c1 mod L과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈서명 생성 및 확인방법.26. The method of claim 25, wherein the variable c1 'value in the third calculation process is calculated according to a rule such as c1' = c1 mod L.
※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.※ Note: The disclosure is based on the initial application.