TWI381696B - Authentication based on asymmetric cryptography utilizing rsa with personalized secret - Google Patents

Authentication based on asymmetric cryptography utilizing rsa with personalized secret Download PDF

Info

Publication number
TWI381696B
TWI381696B TW95143961A TW95143961A TWI381696B TW I381696 B TWI381696 B TW I381696B TW 95143961 A TW95143961 A TW 95143961A TW 95143961 A TW95143961 A TW 95143961A TW I381696 B TWI381696 B TW I381696B
Authority
TW
Taiwan
Prior art keywords
user
key
public
workstation
digital signature
Prior art date
Application number
TW95143961A
Other languages
Chinese (zh)
Other versions
TW200818835A (en
Inventor
Jing Jang Hwang
Original Assignee
Univ Chang Gung
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/543,875 external-priority patent/US7958362B2/en
Application filed by Univ Chang Gung filed Critical Univ Chang Gung
Publication of TW200818835A publication Critical patent/TW200818835A/en
Application granted granted Critical
Publication of TWI381696B publication Critical patent/TWI381696B/en

Links

Description

基於利用個人化秘密的RSA非對稱式密碼學之使用者認證User authentication based on RSA asymmetric cryptography using personalized secrets

本專利申請案的技術領域屬於資訊安全的「使用者認證」(user authentication),特別是在各種數位化裝置、系統和網路有關的使用者認證方法與系統。The technical field of this patent application belongs to information security "user authentication", especially in various digital devices, systems and network related user authentication methods and systems.

密碼系統(cryptosystem)使用密碼金鑰(crypto key)於密碼學相關的計算上。在以非對稱式密碼學(asymmetric cryptography)為基礎的密碼系統中,如RSA(Rivest,Shamir,Adleman)系統,其密碼金鑰是以一把公開金鑰(public key)與一把私密金鑰(private key)成對的方式產生。使用「公開、私密金鑰對」的方式決定了兩種應用。一種是使用私密金鑰作為一把簽章金鑰,在數位訊息上產生數位簽章,並且使用公開金鑰作為一把驗證金鑰,以驗證某一數值是否為一正確的簽章值;而另一種應用是使用公開金鑰作為加密金鑰,對明文加密轉換為密文,並且使用私密金鑰作為解密金鑰,以將該密文解密回明文。The cryptosystem uses a crypto key for cryptographically related calculations. In a cryptosystem based on asymmetric cryptography, such as the RSA (Rivest, Shamir, Adleman) system, the cryptographic key is a public key and a private key. (private key) is generated in pairs. The use of "public, private key pairs" determines the two applications. One is to use the private key as a signature key, generate a digital signature on the digital message, and use the public key as a verification key to verify whether a value is a correct signature value; Another application is to use the public key as the encryption key, encrypt the plaintext encryption into ciphertext, and use the private key as the decryption key to decrypt the ciphertext back to the plaintext.

執行數位簽章的使用者必須將他的簽章金鑰保持機密,而一位密文的接收者也必須將他的解密金鑰保持機密。因此,私密金鑰是一個秘密。儘管私密金鑰是一個與公開金鑰有關的數值,公開金鑰的揭露並不應該洩漏出對應的私密金鑰之秘密。由於這種機密的需求,從公開金鑰推導出私密金鑰在計算上的困難,是非對稱式密碼系統的安全性所必要的條件。A user who performs a digital signature must keep his signature key confidential, and a recipient of a ciphertext must keep his decryption key confidential. Therefore, the private key is a secret. Although the private key is a value associated with the public key, the disclosure of the public key should not reveal the secret of the corresponding private key. Due to this confidentiality requirement, the computational difficulty of deriving a private key from a public key is a necessary condition for the security of an asymmetric cryptosystem.

在RSA的方法中,計算的執行使用了模運算,而模運算之模數是兩個質數之乘積。從公開金鑰推導出私密金鑰在計算上的困難,部份原因是缺少一個有效率的演算法將兩質數的乘積分解回原來的兩個質數。在RSA中,一對公開及私密金鑰與產生該金鑰對的兩個秘密質數存在著特定的關係,這種關係無法允許使用者自主性地選擇私密金鑰;這種關係更進一步限制了私密金鑰的變更,私密金鑰的變更必須回溯到重新產生金鑰對的過程。In the RSA method, the execution of the calculation uses a modulo operation, and the modulus of the modulo operation is the product of two prime numbers. The computational difficulty of deriving a private key from a public key is partly due to the lack of an efficient algorithm to resolve the multiplicative integral of the two prime numbers back to the original two prime numbers. In RSA, a pair of public and private keys has a specific relationship with the two secret prime numbers that generate the key pair. This relationship does not allow the user to choose the private key autonomously; this relationship further limits the relationship. Changes to the private key, the private key change must be traced back to the process of regenerating the key pair.

下文描述RSA的背景知識。The background knowledge of RSA is described below.

RSA密碼系統被描述於美國專利4405823號以及Rivest,Shamir與Adleman所共同發表的論文:“A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,”Communications of the ACM,vol.21(1978),pp.120-126。目前已經有數個國際標準可用來教導此非對稱式密碼學,包括PKCS #1:RSA Cryptography Standard,Nov.1993(v.1.5)& June 2002(v.2.1)以及IEEE Std 1363-2000:IEEE Standard Specification for Public-Key Cryptography,此兩標準的文件可分別由RSA Laboratories及IEEE的網站上取得。這些標準文件的內容包括金鑰產生、加密、解密、簽章產生、簽章驗證與其他相關技術的描述。The RSA cryptosystem is described in U.S. Patent No. 4,405,823 and the paper published by Rivest, Shamir and Adleman: "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems," Communications of the ACM, vol. 21 (1978), pp. 120-126. There are currently several international standards that can be used to teach this asymmetric cryptography, including PKCS #1: RSA Cryptography Standard, Nov. 1993 (v.1.5) & June 2002 (v.2.1) and IEEE Std 1363-2000: IEEE Standard Specification for Public-Key Cryptography, which is available on the RSA Laboratories and IEEE websites, respectively. The contents of these standard documents include key generation, encryption, decryption, signature generation, signature verification, and other related technologies.

RSA的計算牽涉到模運算。模運算之定義如下:如果x與y為兩個質數,且若正整數z整除(x-y),則可稱x與y對z進行模運算的結果是同餘(congruence),以符號表示為x≡y(mod z);正整數z則稱為同餘之模數。The calculation of RSA involves modulo operations. The modulo operation is defined as follows: If x and y are two prime numbers, and if the positive integer z is divisible (x-y), then the result of modulo operation of x and y for z is congruence, represented by a symbol It is x≡y(mod z); a positive integer z is called the modulus of the congruence.

PKCS# 1 v.1.5所提出之RSA金鑰產生之過程,概述如下:(1)選擇一個正整數e為加密用之指數(encryption exponent),也稱為公開指數(public exponent)。The process of RSA key generation proposed by PKCS# 1 v.1.5 is summarized as follows: (1) Select a positive integer e as an encryption exponent, also known as public exponent.

(2)隨機選擇兩個不同奇質數(two odd prime numbers)p與q,使p-1與q-1兩者皆與e互質。(2) Two different odd numbers (p) and q are randomly selected so that both p-1 and q-1 are homogenous to e.

(3)取公開之模數(public modulus)為p與q的乘積,即n=p×q。(3) Take the public modulus as the product of p and q, that is, n=p×q.

(4)選擇一個私密之指數(private exponent),以符號d表示之,使p-1與q-1兩者皆可整除d×e-1。(4) Select a private exponent, denoted by the symbol d, so that both p-1 and q-1 can be divisible by d×e-1.

RSA之公開指數e與模數n被用來對明文整數值m加密,以c≡me (mod n)之計算得到密文整數值c,在此假設m小於n。另以私密之指數d與模數n藉由m≡cd (mod n)之計算,將密文值c解密回明文值m。The public exponent e of the RSA and the modulus n are used to encrypt the plaintext integer value m, and the ciphertext integer value c is calculated by c≡m e (mod n), where m is assumed to be less than n. The ciphertext value c is decrypted back to the plaintext value m by the calculation of m≡c d (mod n) by the private index d and the modulus n.

在有些密碼系統中,例如SSL/TLS(Secure Sockets Layer/Transport Layer Security)之協定所建構的加解密系統,係混合使用對稱式密碼學方法與非對稱式密碼學方法的加解密系統。在此混合式系統中,通訊的一方使用一把RSA的公開金鑰將一個隨機產生的秘密予以加密,而另一方則使用對應的RSA私密金鑰將被加密的秘密予以解密以得到該隨機性秘密;接著,雙方使用該相同的隨機性秘密作為對稱式密碼金鑰,以對稱式密碼學的方法進行秘密通訊。在此一過程中,雙方所共用的對稱式秘密金鑰(symmetric crypto key)稱為通訊期間金鑰(session key),它是一個隨機產生的亂數。以上的程序稱為秘密金鑰的交換過程,其詳細說明,請參考Internet Engineering Task Force網站上之RFC 2246及其他相關文件。In some cryptosystems, an encryption/decryption system constructed by a protocol such as SSL/TLS (Secure Sockets Layer/Transport Layer Security) is an encryption and decryption system that uses a symmetric cryptography method and an asymmetric cryptography method. In this hybrid system, one party to the communication encrypts a randomly generated secret using one RSA public key, and the other uses the corresponding RSA private key to decrypt the encrypted secret to obtain the randomness. Secret; then, both parties use the same random secret as a symmetric cryptographic key to perform secret communication in a symmetric cryptographic manner. In this process, the symmetric crypto key shared by both parties is called the session key, which is a randomly generated random number. The above procedure is called the secret key exchange process. For details, please refer to RFC 2246 and other related documents on the Internet Engineering Task Force website.

RSA中之私密指數d與模數n可被用來製作一個數位簽章。首先,一個數位訊息M經由某一個具備碰撞阻抗特性的赫序函數(a collision-resistant hash function)產生一個M的訊息摘要(message digest),表示為hash(M);接著,訊息M之數位簽章可經由hash(M)d (mod n)之計算得到,表示為signature(M)。The privacy index d and the modulus n in RSA can be used to make a digital signature. First, a digital message M generates a M message digest via a collision-resistant hash function, which is represented as hash (M); then, the digital sign of the message M The chapter can be calculated by hash(M) d (mod n), which is represented as signature(M).

RSA中之公開指數e與模數n,被用來驗證某一個數值是否為一個正確的數位簽章。假設一位驗證者收到M ∥ SGN,其中M代表為一個數位訊息,∥代表兩個訊息的連結,而SGN代表一個附加於M之數位簽章值。首先,驗證者使用已選擇的碰撞阻抗赫序函數計算出hash(M),其次,使用公開金鑰(n,e)進行SGNe mod n之計算,並將計算所得的結果與hash(M)作比較,如果比較的結果是相等的,則SGN為一個正確的簽章。The public index e and the modulus n in the RSA are used to verify whether a certain value is a correct digital signature. Suppose a verifier receives M ∥ SGN, where M represents a digit message, ∥ represents a link to two messages, and SGN represents a digital signature value appended to M. First, the verifier uses the selected collision impedance epoch function to calculate the hash(M). Second, the public key (n, e) is used to calculate the SGN e mod n, and the calculated result is combined with the hash(M). For comparison, if the result of the comparison is equal, SGN is a correct signature.

驗證簽章時所用的碰撞阻抗赫序函數,必需與產生簽章的碰撞阻抗赫序函數相同,即符號hash所代表的函數。The collision impedance epoch function used to verify the signature must be the same as the collision impedance epoch function that generates the signature, that is, the function represented by the symbol hash.

產生數位簽章用到赫序函數。赫序函數是一種確定性的函數(非機率性的),其意義是函數的輸出值完全由輸入值所決定。使用於數位簽章的赫序函數必須具有抗碰撞的特性,這表示要找到兩個不同的輸入值來產生相同的輸出值是非常困難的。碰撞阻抗赫序函數也具有單向之必要性質;這表示,給定一個輸出值,要找到一個輸入值使其經過赫序後的輸出值等於該給定的輸出值,是非常困難的。除此之外,赫序函數應該具備產生虛擬隨機輸出(pseudorandom output)能力的罩幕式產生函數(mask generation function),其意義是僅給定輸出值的一部份而不給予輸入值,要預測出輸出值的另一部份是不可行的。在PKCS# 1 v.2.1的標準中,建議了具備上述特性的六種不同赫序函數,供不同的實施需要採用:MD2、MD5、SHA-1、SHA-256、SHA-384與SHA-512。Generating a digital signature uses the Her-order function. The Her-order function is a deterministic function (non-probability), which means that the output value of the function is completely determined by the input value. The Her-order function used for digital signatures must have anti-collision properties, which means that it is very difficult to find two different input values to produce the same output value. The collision-impact octave function also has the necessary properties of unidirectional; this means that given an output value, it is very difficult to find an input value such that the output value after the epoch is equal to the given output value. In addition, the Her-order function should have a mask generation function that produces the pseudorandom output capability, meaning that only a portion of the output value is given without giving an input value. It is not feasible to predict another part of the output value. In the PKCS# 1 v.2.1 standard, six different heuristic functions with the above characteristics are proposed for different implementations: MD2, MD5, SHA-1, SHA-256, SHA-384, and SHA-512. .

赫序函數的輸出值稱為赫序值(hash value),也有稱之為赫序摘要(hash digest),或訊息摘要(message digest),或雜湊值。The output value of the Her-order function is called the hash value, and is also called the hash digest, or the message digest, or the hash value.

非對稱式密碼學之應用中引發出令人關心的一個問題。一位公開金鑰之使用者,如電子簽章的驗證者或機密訊息的傳送者,該如何知道所使用的公開金鑰之真實性呢?一位欺騙者也許會欺騙驗證者將不正確的數位簽章驗證為正確的,或者欺騙訊息傳送者使用一個偽造的公開金鑰對機密訊息加密以獲得該機密訊息。公開金鑰憑證(public-key certificate),也就是我們所知道的數位憑證(digital certificate),提供了一個解決之道。The application of asymmetric cryptography raises a concern. How can a user of a public key, such as a verifier of an electronic signature or a sender of a confidential message, know the authenticity of the public key used? A scammer may deceive the certifier to verify that the incorrect digital signature is correct, or the spoofed message sender encrypts the confidential message using a fake public key to obtain the confidential message. A public-key certificate, also known as a digital certificate, provides a solution.

抽象的說,一個公開金鑰憑證包含了三個主要的部份:一個公開金鑰、一個個體的識別名稱、與一個憑證機構的數位簽章。因此,公開金鑰憑證將公開金鑰與個體的識別名稱結合在一起,以保證此公開金鑰是屬於該被指名的個體所有,同時保證該個體持有相配對的私密金鑰。藉由驗證憑證上的憑證機構之數位簽章,公開金鑰之使用者則可證明這樣的結合。一個憑證機構(Certification Authority(CA))是一個被信賴的機構,其主要功能是簽署與發佈公開金鑰憑證,撤銷某些憑證與被撤銷憑證之公佈也是憑證機構責任的一部份。Abstractly, a public key certificate contains three main parts: a public key, an individual's identifying name, and a digital signature with a credential authority. Thus, the public key voucher combines the public key with the individual's distinguished name to ensure that the public key belongs to the named individual and that the individual holds the paired private key. The user of the public key can prove such a combination by verifying the digital signature of the credential institution on the voucher. A Certification Authority (CA) is a trusted institution whose main function is to sign and issue public key certificates. The cancellation of certain documents and the issuance of the cancelled documents is also part of the responsibility of the certificate authority.

非對稱式密碼系統已出現一段時間了,但是沒有如預期中的被廣泛應用。舉例來說,使用者仍然普遍地使用通行碼(password)來登入系統,其中並沒有涉及「公開、私密金鑰對」之使用。原因之一是確定憑證是否正確之基礎架構是很不容易建造及運作的,而在更改私密金鑰上的彈性不足使得這項工作變得更加複雜。因此,在此存在了一個降低公開金鑰系統基礎架構之複雜性的需求。Asymmetric cryptosystems have been around for a while, but have not been widely used as expected. For example, users still use the password to log in to the system. There is no use of "public, private key pairs". One of the reasons is that the infrastructure that determines whether the credentials are correct is not easy to build and operate, and the lack of flexibility in changing the private key makes the job more complicated. Therefore, there is a need to reduce the complexity of the public key system infrastructure.

在特定的環境中,一個數位訊息也許需要被數個簽署者簽章並且僅由一個驗證者進行驗證,多重簽章技術的創造即符合此項需求。詳見Colin Boyd,“Digital Multisignatures,”in Cryptography and Coding(H.J.Becker and F.C.Piper Eds.),Oxford University Press,1989,pp.241-246。在美國專利6209091號中,描述了兩種多重簽章系統:(1)部份簽章依序執行的乘法式多重簽章系統,與(2)不具順序執行部份簽章的加法式多重簽章系統。這些與其他相關研究之成果具備一項優點:簽章運算不再使用私密金鑰,因為數位簽章是由數個部份簽章計算得到,而這些部份簽章則是由數位訊息與簽章子金鑰計算而成。由私密金鑰導出簽章子金鑰後,私密金鑰則不再存在。因此,私密金鑰之私密性受到很好的保護。In a particular environment, a digital message may need to be signed by several signers and verified by only one verifier, and the creation of multiple signature techniques is in line with this need. See Colin Boyd, "Digital Multisignatures," in Cryptography and Coding (H. J. Becker and F. C. Piper Eds.), Oxford University Press, 1989, pp. 241-246. In U.S. Patent No. 6,209,091, two multi-signature systems are described: (1) a multi-signature multi-signature system in which partial signatures are executed in sequence, and (2) an additive multi-signature in which partial signatures are not sequentially executed. Chapter system. These and other related research results have an advantage: the signature operation no longer uses the private key, because the digital signature is calculated by several partial signatures, and these partial signatures are digitally signed and signed. The chapter key is calculated. After the signing subkey is exported by the private key, the private key no longer exists. Therefore, the privacy of the private key is well protected.

由多重簽章技術衍生而來,Ravi Ganesan等人創造了分割私密金鑰之密碼系統(split-private-key cryptosystems)。詳見美國專利Nos.5535276,5557678,5905799..等,其中私密金鑰被分割為第一部份私密金鑰與第二部份私密金鑰。透過此兩部份私密金鑰,非對稱式密碼系統至少有兩項優點:第一,將秘密分割為兩個部份並且分別保護,可加強保護私密金鑰的私密性;第二,使用者可使用一個短的秘密金鑰,但是實質上的密碼系統卻使用了較長且安全之私密金鑰。第一個好處源於傳統上秘密保護的智慧。第二個好處有其特殊的意義,部份原因是短的RSA秘密指數是可能被特殊的破密分析方法來破解,參見M.J.Wiener的論文:“Cryptanalysis of Short RSA Secret Exponents,IEEE Trans.On Information Theory,May,1990,vol.36,no.3,pp.553-558.”;近來,在短的RSA私密指數上之破密分析另有新的進展,參見Dan Boneh and Glenn Durfee的論文:“Cryptanalysis of RSA with Private Key d Less Than N0 . 2 9 2 ,IEEE Trans.On Information Theory,July,2000,vol.46,no.4,pp.1339-1349.”。Derived from multiple signature techniques, Ravi Ganesan et al. created split-private-key cryptosystems. For details, see U.S. Patent Nos. 5,535,276, 5,557,678, 5,905,799, etc., in which the private key is divided into a first partial private key and a second partial private key. Through these two parts of the private key, the asymmetric cryptosystem has at least two advantages: first, the secret is divided into two parts and separately protected, which can enhance the privacy of the private key; second, the user A short secret key can be used, but a substantial cryptosystem uses a long and secure private key. The first benefit stems from the wisdom of traditional secret protection. The second benefit has its special significance, in part because the short RSA secret index may be cracked by a special method of densification, see MJ Wiener's paper: "Cryptanalysis of Short RSA Secret Exponents, IEEE Trans. On Information Theory , May, 1990, vol. 36, no. 3, pp. 553-558." Recently, there has been a new development in the analysis of the short RSA privacy index, see Dan Boneh and Glenn Durfee's paper: " Cryptanalysis of RSA with Private Key d Less Than N 0 . 2 9 2 , IEEE Trans. On Information Theory, July, 2000, vol. 46, no. 4, pp. 1339-1349.

多重簽章與私密金鑰分割之技術增進了RSA理論在安全性與使用者方便性層面的價值。然而,私密金鑰的變更缺乏彈性仍未被克服。為了改變私密金鑰的各個部份,使用者仍然需要依賴下列兩種方法之一來執行更新動作:第一,取得此兩部份私密子金鑰將原私密金鑰還原並且再次的分割;第二,重新產生一對「公開、私密金鑰」並且對新的私密金鑰進行切割。The technology of multiple signatures and private key segmentation enhances the value of RSA theory in terms of security and user convenience. However, the lack of flexibility in the change of private keys has not been overcome. In order to change the various parts of the private key, the user still needs to rely on one of the following two methods to perform the update action: first, obtain the two partial private subkeys to restore the original private key and divide again; Second, regenerate a pair of "public, private keys" and cut the new private key.

然而,將原私密金鑰回復是不太理想的,因為這個動作違反了秘密分割的原則並且需要一個特別的保護措施以預防回復的秘密在回復過程中被洩漏;重新產生一對「公開、私密金鑰」也應被避免,這樣會比產生初次的「公開、私密金鑰對」更為複雜,原因即在註銷被取代的公開金鑰憑證會增加額外的成本。However, it is not ideal to reply the original private key because this action violates the principle of secret separation and requires a special protection measure to prevent the secret of the reply from being leaked during the reply process; regenerating a pair of "open, private" The key should also be avoided, which would be more complicated than the initial "public, private key pair", because the additional cost of canceling the replaced public key certificate would be added.

因此,在私密金鑰切割技術中,需要一個更有效率與更具彈性的方法來執行私密金鑰各個部份的更新。Therefore, in private key cutting technology, a more efficient and flexible method is needed to perform the updating of various parts of the private key.

數位簽章可被應用於使用者鑑別上。假設在使用者端的一位使用者向系統端要求登入,系統端則會傳送一個亂數訊息當作挑戰給使用者端,接著,使用者端會對挑戰訊息計算一個數位簽章做為回應,當系統端驗證使用者端的回應並且驗證結果為一個正確的數位簽章,系統端則允許使用者登入。詳細的描述可參見:“ISO/IEC 9798-3:1998,Information technology-Security techniques-Entity authentication -Part 3:Mechanisms using digital signature techniques.”。The digital signature can be applied to user authentication. Suppose a user on the user side requests login from the system, and the system sends a random message as a challenge to the user. Then, the user responds to the challenge message by calculating a digital signature. When the system verifies the response from the client and the verification result is a correct digital signature, the system allows the user to log in. A detailed description can be found in "ISO/IEC 9798-3:1998, Information technology-Security techniques-Entity authentication - Part 3: Mechanisms using digital signature techniques."

這種登入方式有一個優點。假設「公開、私密金鑰對」之產生符合安全之需求,則公開金鑰可讓系統端驗證使用者端傳來的回應,但其揭露並不會洩漏使用者私密金鑰的私密性。如先前所提,私密金鑰是電腦產生的一個秘密而非由使用者所選擇的。因此,私密金鑰通常被儲存在一個實體載具中,例如IC卡,而經由使用者之個人識別碼(PIN)來進行存取。要實現這樣的應用往往需要額外的硬體成本,包括使用者的IC卡與讀卡機和像是卡片之製造所需的設備。此外,一些新穎密碼破密分析技術已被發展出來,例如時間分析與錯誤分析攻擊,可用來對IC卡中的私密金鑰進行破解。This type of login has an advantage. Assuming that the "public and private key pair" is in compliance with security requirements, the public key allows the system to verify the response from the client, but its disclosure does not reveal the privacy of the user's private key. As mentioned earlier, the private key is a secret generated by the computer and not chosen by the user. Thus, the private key is typically stored in a physical carrier, such as an IC card, and accessed via the user's personal identification number (PIN). To achieve such an application, additional hardware costs are required, including the user's IC card and card reader and equipment required for the manufacture of the card. In addition, some novel cryptographic analysis techniques have been developed, such as time analysis and error analysis attacks, which can be used to crack private keys in IC cards.

相對的,目前普遍的登入過程,包括實現在Windows NT與UNIX家族的系統,皆使用通行碼與對稱式密碼學。其過程可描述如下文。在系統端有一個鑑別資料庫存有合法使用者註冊的識別資料(identification data)與使用者通行碼(user-chosen password)之赫序摘要(hash digest)。在使用者端,一位使用者要求登入並且輸入他的識別身分與通行碼,此輸入之通行碼經過相同的赫序函數以產生一個新的赫序摘要,其赫序之結果與輸入之通行碼並不會被送到欲登入之系統。取而代之的,被登入之系統隨機產生一個訊息當作挑戰,用來挑戰使用者端之新的赫序摘要是由正確的通行碼所產生。此挑戰傳送到使用者端,使用者端則用新的赫序摘要當作加密金鑰用來加密所收到的挑戰,產生一個回應。接著,系統由鑑別資料庫中取出所宣稱的使用者之通行碼赫序摘要當作解密金鑰用來解密接收到的回應訊息。解密之結果如與原本的挑戰相同,則視為登入成功。In contrast, the current general login process, including implementations of the Windows NT and UNIX family of systems, uses passcodes and symmetric cryptography. The process can be described as follows. On the system side, there is a hash digest of the identification data and the user-chosen password registered by the legitimate user. On the user side, a user requests to log in and enter his identification identity and passcode. The input passcode passes through the same Hertz function to generate a new Hermitian summary, the result of which is the pass and the input pass. The code will not be sent to the system you want to log in to. Instead, the logged-in system randomly generates a message as a challenge, and the new epoch summary used to challenge the user is generated by the correct passcode. This challenge is transmitted to the client, and the client uses the new Hertz digest as the encryption key to encrypt the received challenge and generate a response. Then, the system extracts the claimed user's pass code from the authentication database as a decryption key to decrypt the received response message. If the result of the decryption is the same as the original challenge, the login is considered successful.

如上述中以通行碼進行使用者鑑別的方法已經被廣泛的使用,其實其中還有若干安全缺失尚待克服。其中一個通行碼安全之威脅來自於木馬程式對通行碼之竊取。木馬程式為一種由駭客所植入電腦之入侵程式碼,被入侵之電腦看起來仍照往常一般正常作業,但侵入之木馬程式卻隱藏其中執行未經授權的動作,如記錄鍵盤的輸入接著將此記錄傳送給外面的電腦。攻擊者可利用木馬程式入侵之技巧竊取到機密的資訊。As described above, the method of user authentication using the pass code has been widely used, and in fact, there are still some security defects to be overcome. One of the threats to passcode security comes from the theft of passcodes by Trojans. The Trojan is a kind of intrusion code embedded in the computer by the hacker. The invaded computer still looks like normal operation, but the intrusive Trojan hides the unauthorized action, such as recording the keyboard input. Transfer this record to an external computer. Attackers can use the Trojan horse intrusion technique to steal confidential information.

字典攻擊法也顯示了通行碼的弱點。在所已知的各種字典攻擊法中,全面性之字典攻擊法是相當難以防禦的一種,攻擊者以一個相同的通行碼猜測,試著針對所有使用者帳號進行登入。如果攻擊者可取得鑑別資料庫,則全面性字典攻擊法可以離線地進行,而且很可能會成功的,因為一般的使用者通常會選擇容易記憶的弱通行碼,而此類通行碼可被安排在攻擊者之字典中作為較高優先之猜測。連線之全面性字典攻擊為字典攻擊之另一種型式,其全面性之猜測係連線進行,如果在被登入之系統中納入了一個閉鎖的機制去限制嘗試的次數,則對單一的使用者帳戶進行連線攻擊通常較不容易成功,但是連線的全面性字典攻擊有機會跳脫這樣的閉鎖機制之防禦,因為每一個猜測被逐一地嘗試登入所有的帳號,而非嘗試登入單一的使用者帳號。另外,連線全面性字典攻擊也會癱瘓系統之服務。The dictionary attack method also shows the weakness of the passcode. In the various dictionary attack methods known, the comprehensive dictionary attack method is quite difficult to defend. The attacker guesses with the same passcode and tries to log in for all user accounts. If the attacker can obtain the authentication database, the comprehensive dictionary attack method can be performed offline, and it is likely to be successful, because the average user usually chooses a weak password that is easy to remember, and such a pass code can be arranged. As a higher priority guess in the attacker's dictionary. The comprehensive dictionary attack of the connection is another type of dictionary attack, and its comprehensive guess is wired. If a blocking mechanism is included in the system being logged in to limit the number of attempts, then to a single user. Account connection attacks are usually less successful, but a comprehensive dictionary attack with a chance has the opportunity to break the defense of such a blocking mechanism, because each guess is attempted to log in to all accounts one by one instead of trying to log in to a single use. Account number. In addition, a comprehensive dictionary attack will also serve the system.

另一種的字典攻擊,被稱為加密字典攻擊(encryption dictionary attack),描述於下:一位竊聽者可能竊聽到一對挑戰與回應的訊息,如同定義,回應是藉由使用通行碼輸入之赫序摘要值當作加密金鑰對挑戰作加密計算所得到;因此,此攻擊者可以以離線方式來猜測通行碼,假設PWD是對通行碼的一個猜測,攻擊者可藉由使用PWD的赫序值作為加密金鑰對挑戰加密,並且將加密後之密文與回應作比較,則可判斷所猜測的PWD是否正確。這種字典攻擊是非常具有威脅性的。Another dictionary attack, known as the encryption dictionary attack, is described below: An eavesdropper may eavesdrop on a pair of challenges and responses, as defined, by using a passcode input. The sequence digest value is obtained as an encryption key for the encryption calculation of the challenge; therefore, the attacker can guess the pass code in an offline manner, assuming that PWD is a guess for the pass code, and the attacker can use the PWD order. The value is encrypted as the encryption key challenge, and the encrypted ciphertext is compared with the response to determine whether the guessed PWD is correct. This dictionary attack is very threatening.

此外,有決心的攻擊者可以開發特製的登入軟體,以直接接收一個赫序摘要值作為輸入而非以通行碼作為輸入。利用這個軟體,攻擊者只要取得正確的赫序摘要值,登入變得容易,並不需要去破解通行碼。In addition, a determined attacker can develop a specially crafted login software that directly accepts a Hermitian digest value as input rather than a passcode as input. With this software, the attacker can easily log in as long as he gets the correct epoch summary value, and does not need to crack the passcode.

由於通行碼的使用者認證系統仍普遍盛行於一般資訊系統中,因此其中確實存在抵禦已知攻擊的需要,讓使用者可以方便與安心的使用其熟悉慣用的通行碼系統。Since the user authentication system for passcodes is still prevalent in general information systems, there is a need to defend against known attacks, allowing users to easily and confidently use their familiar passcode systems.

以非對稱式金鑰密碼學及兩份已公開的專利申請案為基礎,本專利申請書描述了數位化使用者認證相關的範例方法、技巧、裝置及系統等等。第一份是美國專利申請案公開號20060083370,其名稱為「RSA with personalized secret」;第二份是美國專利申請案公開號20060036857,其名稱為「User authentication by linking randomly-generated secret with personalized secret」。Based on asymmetric key cryptography and two published patent applications, this patent application describes exemplary methods, techniques, devices, systems, and the like related to digital user authentication. The first is US Patent Application Publication No. 20060083370, entitled "RSA with personalized secret"; the second is US Patent Application Publication No. 20060036857, entitled "User authentication by linking randomly-generated secret with personalized secret" .

本專利申請書將此兩份已公開的申請案「RSA with personalized secret」及「User authentication by linking randomly-generated secret with personalized secret」,分別稱為第一篇與第二篇公開案。第一篇公開案也在中華民國智財局公開,其名稱為「利用個人化秘密的RSA密碼學方法與系統」,公開號為200629856。The two patent applications, "RSA with personalized secret" and "User authentication by linking randomly-generated secret with personalized secret", are referred to as the first and second publications, respectively. The first publication was also published by the Intellectual Property Office of the Republic of China, and its name was "RSA Cryptography Method and System Using Personalized Secrets", published as 200629856.

本專利申請書中所描述到的方法與技術可能被設計於一個利用「挑戰與回應」之程序的認證系統中,來達到使用者端與系統端之間的安全通訊。The methods and techniques described in this patent application may be designed in an authentication system that utilizes the "challenge and response" procedure to achieve secure communication between the user and the system.

本申請案假設一位使用者於一部使用者工作站請求登入一部系統工作站,在此,系統工作站是一部電腦系統,且常被稱為一部系統或一個系統站;使用者工作站則是一台個人電腦,或是具有密碼學運算能力,且能與其他具有運算能力裝置來通訊的一個裝置。「系統端」與「使用者端」兩名詞也在本文中被使用。This application assumes that a user requests to log into a system workstation at a user workstation, where the system workstation is a computer system and is often referred to as a system or a system station; the user workstation is A personal computer, or a device that has cryptographic computing capabilities and can communicate with other computing devices. The terms "system side" and "user side" are also used in this article.

某一範例方法利用了兩個認證資料件來驗證請求登入一部電腦系統的一位使用者。其中一個認證資料件是一個個人化的秘密,例如使用者所選擇的通行碼,另一個則是密碼金鑰認證資料件,是藉由一個密碼金鑰產生程序所產生的,該程序描述於第一篇公開案。此兩個認證資料件是有關連的:該密碼金鑰產生程序利用了該個人化秘密與兩個質數作為輸入值,以產生由一個公開模數(a public module)、一個公開指數(a public exponent)、與一個私密金鑰相關指數(a private-key-dependent exponent)所組成的三元件之組合(a trio),作為該密碼金鑰認證資料件(crypto-key authenticator)。使用者需要提供此兩個認證資料件,才能獲得許可來登入電腦系統。An example method utilizes two authentication data pieces to verify a user requesting to log into a computer system. One of the authentication data pieces is a personalized secret, such as a pass code selected by the user, and the other is a password key authentication data piece, which is generated by a password key generation program, which is described in the first A public case. The two authentication data pieces are related: the cryptographic key generation program utilizes the personalized secret and two prime numbers as input values to generate a public module (a public module) and a public index (a public Exponent), a combination of three elements consisting of a private-key-dependent exponent (a trio) as the crypto-key authenticator. Users need to provide these two authentication materials in order to obtain permission to log in to the computer system.

在某一實施案中,一位使用者在請求登入一部電腦系統時,利用一個第一輸入與一個第二輸入來產生一數位簽章,以回應來自該電腦系統的一個挑戰。當第一輸入與第二輸入分別符合使用者所持有的第一與第二認證資料件時,則該數位簽章會是有效的;根據此推論,該數位簽章的有效性決定了輸入值與認證資料件是否符合,同時也決定了是否授權或拒絕該登入之請求。In one embodiment, a user, upon requesting access to a computer system, utilizes a first input and a second input to generate a digital signature in response to a challenge from the computer system. When the first input and the second input respectively conform to the first and second authentication data items held by the user, the digital signature is valid; according to the inference, the validity of the digital signature determines the input. Whether the value matches the authentication data piece, and also determines whether to authorize or reject the login request.

在本實施案中,該電腦系統使用一把公開金鑰來驗證一個接收到的數位簽章。在另一個實施案中,上述之數位簽章也會在加入一個回應訊息之前於使用者端進行驗證。在使用者端驗證用的公開金鑰是由密碼金鑰三元件之組合中的公開模數與公開指數所組成的,同樣的公開金鑰也必須用於系統端。In this embodiment, the computer system uses a public key to verify a received digital signature. In another embodiment, the digital signature described above is also verified at the user end prior to adding a response message. The public key used for authentication at the user end is composed of the public modulus and the public index in the combination of the three components of the cryptographic key. The same public key must also be used on the system side.

在某一實施案中,使用者工作站以一個自動化的方式來取得前述的密碼金鑰認證資料件;換言之,該使用者工作站是被程式化,以自動由一個持久性記憶體中取得該密碼金鑰三元件之組合,而不需要由使用者給予明確的指示。在此實施案中,該使用者工作站更進一步地被程式化,由使用者處接收一個通行碼輸入值,作為登入一部電腦系統之請求,利用該通行碼之輸入值來產生一個數位簽章;而該電腦系統也被程式化,利用一個驗證用資料來決定該數位簽章是否有效,若該數位簽章是有效的,則可決定該通行碼之輸入符合一個事先選擇的通行碼,並依此結果,來授權此請求之登入。在此實施案中,該驗證用的資料是一把公開金鑰,且該使用者獨立地選擇該通行碼,也就是說,該通行碼之選擇並沒有依賴關於該公開金鑰的任何資訊。而該通行碼與該公開金鑰兩者是在註冊階段被決定的。In one embodiment, the user workstation obtains the aforementioned cryptographic key authentication data in an automated manner; in other words, the user workstation is stylized to automatically obtain the cryptographic key from a persistent memory. The combination of the three components of the key does not require a clear indication from the user. In this embodiment, the user workstation is further programmed, and the user receives a password input value as a request to log in to a computer system, and uses the input value of the password to generate a digital signature. And the computer system is also programmed to use a verification data to determine whether the digital signature is valid. If the digital signature is valid, it may be determined that the input of the password conforms to a pre-selected passcode, and Based on this result, the login for this request is authorized. In this embodiment, the verification material is a public key, and the user independently selects the pass code, that is, the pass code selection does not rely on any information about the public key. Both the passcode and the public key are determined during the registration phase.

使用者必須被保證系統端使用一把正確的公開金鑰來驗證數位簽章。本專利申請案更進一步提出了一個商業的方法來取代傳統上以一個數位公開金鑰憑證(digital public-key certificate)來確保公開金鑰之真確性的方法。根據此商業方法,使用者在系統端註冊一把公開金鑰並收到註冊確認書(registration confirmation)。該註冊確認書說明了被註冊之公開金鑰為何,並向該使用者保證此系統端有責任使用這把公開金鑰來對數位簽章做驗證;假使有爭議產生,則該使用者可根據該協議來指出被註冊的公開金鑰為何,並據此拒絕被系統端所錯誤接受的任何不正確的數位簽章。The user must be guaranteed that the system side uses a correct public key to verify the digital signature. This patent application further proposes a commercial method to replace the traditional method of ensuring the authenticity of a public key with a digital public-key certificate. According to this business method, the user registers a public key on the system side and receives a registration confirmation. The registration confirmation explains the registered public key and guarantees to the user that the system is responsible for using the public key to verify the digital signature; if there is a dispute, the user can The agreement specifies the public key to be registered and accordingly rejects any incorrect digital signatures that were incorrectly accepted by the system.

本專利申請案進一步延伸了該註冊確認書之功能,來包含對系統端的一項保證:若某一數位簽章的有效性可利用該註冊確認書上所記載的公開金鑰來證實,則該使用者不可以否認此數位簽章之有效性。在此延伸的方法中,該註冊確認書成為使用者與系統端之間的一項法律上之協議。This patent application further extends the functionality of the registration confirmation to include a guarantee on the system side: if the validity of a digital signature can be verified by the public key recorded on the registration confirmation, then The user cannot deny the validity of this digital signature. In this extended method, the registration confirmation becomes a legal agreement between the user and the system.

某一實施案針對上述的商業方法進一步提供了一個補充的程序,以即時連線的方式來檢查公開金鑰。此程序向使用者保證與其通訊中的電腦系統所用的公開金鑰與在使用者端所用者是相同的。An embodiment further provides a complementary procedure to the above-described business method to check the public key in an instant connection. This program assures the user that the public key used by the computer system in communication with it is the same as that used at the user end.

本專利申請案中進一步描述了應用於擁有多部電腦系統的網路中的使用者認證,包含範例方法、技巧、裝置及系統等。User authentication in a network having multiple computer systems is further described in this patent application, including example methods, techniques, devices, and systems.

在一個範例方法中,一位使用者選擇了一個通行碼,並使用此通行碼與一個集合式認證資料件來登入網路上的所有系統。該集合式認證資料件包含了多個個別的使用者認證資料件,個別的使用者認證資料件分別對應到網路上個別的系統。在某一實施例中,集合式認證資料件中的每一筆紀錄包含了一個密碼金鑰三元件之組合、該使用者的一個識別稱呼、與該筆記錄相對應之系統的一項識別稱呼。每個密碼金鑰三元件之組合與被該使用者所選擇的通行碼之間是有關連的;在所謂的第一公開案中描述了建立此關連的密碼金鑰產生程序:使用該通行碼與個別的一對質數來產生三個輸出,作為在此一集合式認證資料件中的個別記錄之密碼金鑰三元件之組合。In one example method, a user selects a passcode and uses the passcode with a collective authentication profile to log in to all systems on the network. The collective authentication data piece includes a plurality of individual user authentication data pieces, and the individual user authentication data pieces respectively correspond to individual systems on the network. In one embodiment, each record in the collective authentication profile includes a combination of a cryptographic key three component, an identifying title of the user, and an identifying title of the system corresponding to the pen record. The combination of each cryptographic key three component is associated with a passcode selected by the user; the establishment of the associated cryptographic key generation procedure is described in the so-called first disclosure: the use of the passcode A separate pair of prime numbers is used to generate three outputs as a combination of cryptographic key elements of the individual records in the collective authentication profile.

在上述範例方法中,被選擇的通行碼與該集合式認證資料件為兩個使用者的認證因子。在系統端,使用者被允許註冊不同的公開金鑰於不同的電腦系統;因此,使用者可以使用一個相同的通行碼來登入不同的電腦系統,但在個別的電腦系統中使用個別的公開金鑰來驗證數位簽章之正確性以決定該唯一的通行碼是否被使用。In the above exemplary method, the selected pass code and the collective authentication data piece are authentication factors of two users. On the system side, users are allowed to register different public keys on different computer systems; therefore, users can use one and the same passcode to log in to different computer systems, but use individual public funds in individual computer systems. The key verifies the correctness of the digital signature to determine if the unique passcode is used.

本專利申請案也描述了一個物件,此物件包含一個機器可讀的媒體設備,儲存了機器可執行的指令,用於根據非對稱式密碼學為基礎的使用者認證,其指令指示一部機器執行以下的動作:傳送一登入之請求給一部電腦系統;從該電腦系統接收到一個挑戰訊息;使用第一輸入、第二輸入與該電腦系統傳來的挑戰訊息當作一個轉換過程的輸入來產生一個數位簽章;將該數位簽章與使用者的一個識別稱呼傳送至電腦系統;並接收來自該電腦系統是否准許登入之決定,此決定是在該部電腦系統上利用相對應於使用者識別稱呼的一把已註冊的公開金鑰來驗證該數位簽章所得的一個結果。The patent application also describes an object comprising a machine readable medium device storing instructions executable by the machine for user authentication based on asymmetric cryptography, the instructions indicating a machine Perform the following actions: send a login request to a computer system; receive a challenge message from the computer system; use the first input, the second input, and the challenge message from the computer system as an input to the conversion process Generating a digital signature; transmitting the digital signature and a recognized name of the user to the computer system; and receiving a decision from the computer system whether or not to permit the login, the decision is to use the corresponding system on the computer system The person identifies the registered public key of the title to verify a result of the digital signature.

在一個實施案中,前文依指令來執行的機器是一部個人電腦。此機器可以是其他使用者端的系統或裝置,如個人數位助理(Personal Digital Assistant,PDA),或具有計算及通訊能力的行動電話等。In one embodiment, the machine previously executed in accordance with the instructions is a personal computer. The machine can be another user-side system or device, such as a Personal Digital Assistant (PDA), or a mobile phone with computing and communication capabilities.

從使用者的觀點來看,某些實施案之功能就如傳統的通行碼系統,在此,存在了一個技術上的差異:在傳統的系統中,通行碼的一個赫序值被儲存,以用來驗證通行碼之輸入;而根據本專利申請案之方法,驗證了以通行碼輸入值來產生之數位簽章的正確性即驗證了該通行碼輸入值的正確性。From the user's point of view, some embodiments function as a traditional passcode system. Here, there is a technical difference: in a conventional system, a hash value of a pass code is stored to It is used to verify the input of the pass code; and according to the method of the patent application, it is verified that the correctness of the digital signature generated by the pass code input value verifies the correctness of the pass code input value.

對於熟悉此技術領域的人來說,在閱讀完後文之最佳實施例的詳細說明後,將可更瞭解本專利申請案所描述的目標。For those skilled in the art, the objectives described in this patent application will be better understood after reading the detailed description of the preferred embodiments herein.

前文的一般性描述與後文的細節說明是本專利發明內容之舉例,其目的為專利範圍做更進一步的解說。The above general description and the following detailed description are examples of the contents of the present invention, and the purpose thereof is to further explain the scope of the patent.

上述以及其他的範例、實施例與其變化將會在後文的附圖、細節說明、與申請專利範圍中有更詳細的解說。以下藉由具體實施例配合所附的圖式詳加說明,當更容易瞭解本專利申請案之目的、技術內容、特點及其所達成之功效。The above and other examples, embodiments and variations thereof are explained in more detail in the following drawings, detailed description, and claims. The details, technical contents, features, and effects achieved by the present patent application are more readily understood by the following detailed description in conjunction with the accompanying drawings.

本說明書提供本專利申請案之最佳實施例的詳細說明,同時以隨後的圖示說明各個範例實施案。文中使用到的參考編號將儘可能與隨後之圖示編號相同。The present specification provides a detailed description of the preferred embodiments of the present application, while the various exemplary embodiments are illustrated in the following figures. The reference numbers used in this document will be as similar as possible to the subsequent illustration numbers.

本專利申請案所描述的使用者認證是建構在一個挑戰與回應的程序(a challenge and response process)之上,依此程序執行使用者端與系統端的通訊。此程序是一種通訊協定(communication protocol),它描述了一種步驟式的方式來定義兩端之間的通訊。在此程序中,使用者端利用來自一位使用者的兩個認證資料件(two authenticators),來產生一個數位簽章以回應來自系統端的一個挑戰,而系統端利用與使用者相連結的一個註冊公開金鑰(a registered public key),當作驗證用的資料,來驗證該數位簽章之效力。The user authentication described in this patent application is constructed on a challenge and response process, and the communication between the user end and the system side is performed according to the program. This program is a communication protocol that describes a step-by-step approach to defining communication between the two ends. In this procedure, the client uses two authenticators from one user to generate a digital signature in response to a challenge from the system side, and the system uses a link to the user. The registered public key (a registered public key) is used as the verification data to verify the validity of the digital signature.

本專利申請案所描述的使用者認證的各種實施案中,至少有以下的特性:第一、公開金鑰與兩個認證資料件之間有一定的關係,但公開金鑰的揭露不會導致兩認證資料件上的秘密資訊之洩漏;第二、使用者可以自主性地選擇一個個人化的秘密,如使用者所選擇的通行碼,來當作第一認證資料件;第三、使用者被允許在不改變註冊公開金鑰的情況下,變更該二認證資料件;第四、使用者被允許以一個相同的秘密,如一個通行碼,當作第一認證資料件,但在不同的系統中註冊了不同的公開金鑰。In the various embodiments of user authentication described in this patent application, there are at least the following characteristics: First, there is a certain relationship between the public key and the two authentication materials, but the disclosure of the public key does not cause The leakage of secret information on the two certified data files; second, the user can choose a personalized secret, such as the pass code selected by the user, as the first authentication data piece; third, the user It is allowed to change the second authentication data without changing the registration public key; fourth, the user is allowed to use the same secret, such as a pass code, as the first authentication data, but in a different Different public keys are registered in the system.

參考第1圖,此圖用以說明此挑戰與回應程序的基本概念。在步驟110中,一個使用者工作站傳送一個登入系統的請求給一部系統工作站;在步驟120中,此系統工作站送出一挑戰訊息給使用者工作站,要求使用者工作站使用兩個正確的認證資料件來準備一回應訊息;在步驟130中,使用者工作站接收到代表第一認證資料件的一個第一輸入值,以及代表第二認證資料件的一個第二輸入值,並利用此兩個輸入值對該挑戰訊息來產生一數位簽章;在步驟140中,使用者工作站用該第二輸入值來驗證該數位簽章是否有效;步驟130與140能夠重複執行,直到一個有效的數位簽章被產生為止;在步驟150中,使用者工作站將該被驗證為有效的數位簽章及一使用者識別(a user identifier)合併於一個回應訊息中;在步驟160中,使用者工作站送出該回應訊息給系統工作站;在步驟170中,系統工作站使用一個註冊公開金鑰(a registered public key)作為驗證用的資料,來驗證數位簽章的有效性,而該公開金鑰是根據該使用者識別來取得的;在步驟180中,系統工作站根據步驟170的驗證結果來決定允許或拒絕其登入系統之請求,並且通知使用者工作站其決定。Refer to Figure 1, which illustrates the basic concepts of this challenge and response procedure. In step 110, a user workstation transmits a request to log into the system to a system workstation; in step 120, the system workstation sends a challenge message to the user workstation requesting the user workstation to use the two correct authentication data pieces. Preparing a response message; in step 130, the user workstation receives a first input value representing the first authentication profile and a second input value representing the second authentication profile, and utilizing the two input values Generating a digital signature for the challenge message; in step 140, the user workstation uses the second input value to verify whether the digital signature is valid; steps 130 and 140 can be repeated until a valid digital signature is In step 150, the user workstation merges the verified digital signature and a user identifier into a response message; in step 160, the user workstation sends the response message. To the system workstation; in step 170, the system workstation uses a registered public key (a registered public key) For verifying the data, the validity of the digital signature is verified, and the public key is obtained according to the user identification; in step 180, the system workstation decides to allow or deny the login according to the verification result of step 170. The system requests and notifies the user of the workstation's decision.

第一認證資料件是一個個人化秘密,它是使用者自主性選擇的,如使用者所選擇的通行碼。第二認證資料件也稱為密碼金鑰認證資料件(crypto-key authenticator),為一個公開模數(public module)、一個公開指數(public exponent)、與一個私密金鑰相關指數(private-key-dependent exponent)三元件的組合(trio)。The first authentication data piece is a personalized secret, which is selected by the user autonomously, such as a pass code selected by the user. The second authentication data piece is also called a crypto-key authenticator, which is a public module, a public exponent, and a private key correlation index (private-key). -dependent exponent) A combination of three components (trio).

參考第2圖,此圖用以說明本專利申請書所描述的方法之概念化架構,類似於前述的第二公開案「藉由連結隨機產生的認證秘密與個人化秘密的使用者認證方法」中所提到的一個架構。兩者主要的不同在於,該專利公開案中所描述的方法,並非基於非對稱式密碼學。Referring to Figure 2, this figure is used to illustrate the conceptual architecture of the method described in this patent application, similar to the aforementioned second publication "User authentication method by linking randomly generated authentication secrets and personalized secrets" One of the architectures mentioned. The main difference between the two is that the method described in the patent publication is not based on asymmetric cryptography.

第2圖以架構化的方式說明兩個基本概念,用以引導本專利申請書所描述的設計與實施例。Figure 2 illustrates two basic concepts in an architectural manner to guide the design and embodiments described in this patent application.

第一、一對「公開、私密金鑰對」(a public/private key pair)扮演了一個連結角色,連結了使用者端的二個認證資料件與系統端的驗證用資料。該金鑰對中的公開金鑰與私密金鑰間的關係建立了此連結。在系統端中,此驗證用的資料為該公開金鑰;而在使用者端,該二個認證資料件與該金鑰對具有另外的關係,而於數位簽章的產生與驗證的程序中取代了該金鑰對。第2圖中,置於使用者端與系統端兩者之間的元件210是一對「公開、私密金鑰對」((n,e),d),此金鑰對用以建立上述描述的連結關係。在系統端的元件220為公開金鑰(n,e),作為驗證用的資料。圖上的兩條線230及240指出該二個驗證資料件250、260取代了該金鑰對。在本專利申請書所描述的使用者認證系統中,在產生該二個認證資料件之後,私密金鑰d將被銷毀且未在其後的計算過程中出現。First, a pair of "public/private key pairs" (a public/private key pair) plays a link role, linking the two authentication data pieces of the user side and the verification data of the system side. This link is established between the public key of the key pair and the private key. In the system side, the data used for the verification is the public key; and at the user end, the two authentication data pieces have another relationship with the key pair, and in the process of generating and verifying the digital signature Replaced the key pair. In Figure 2, the component 210 placed between the client and the system is a pair of "public, private key pairs" ((n, e), d) that are used to establish the above description. Linkage. The component 220 on the system side is a public key (n, e) as a material for verification. The two lines 230 and 240 on the figure indicate that the two verification data pieces 250, 260 replace the key pair. In the user authentication system described in this patent application, after the two authentication data pieces are generated, the private key d will be destroyed and will not appear in the subsequent calculation process.

第二、使用者被允許在保持系統端之驗證用資料不變的情況下,更新其所持有的二個認證資料件。在第2圖中,該更新程序270接收一個新的第一認證資料件280,以s’表示之,並用以更新該二個認證資料件250及260。Second, the user is allowed to update the two pieces of authentication data held by the system while maintaining the verification data on the system side. In FIG. 2, the update program 270 receives a new first authentication profile 280, indicated by s', and is used to update the two authentication profiles 250 and 260.

前文所描述的特性將於下文中更詳細地說明,這些及其他的特性將允許我們創造一個用於使用者認證的通行碼系統,其安全性等同於RSA系統,但藉由允許使用者自主性地選擇與更新通行碼,來克服傳統RSA密碼學不具彈性的缺點。The features described above will be explained in more detail below. These and other features will allow us to create a passcode system for user authentication that is equivalent to the RSA system, but by allowing user autonomy. Select and update passcodes to overcome the shortcomings of traditional RSA cryptography.

參考第3圖,此圖描繪了用來創造前文所定義的二個認證資料件之範例程序。程序300包含了一個密碼金鑰的產生程序,該程序已被描述於第一篇公開案中,它可被執行在一部使用者工作站上,如一部個人電腦,或是其他具有執行「RSA公開、私密金鑰對」產生程序之運算能力的個人化裝置。該使用者工作站包含機器可讀取的媒體設備,以儲存機器可執行的指令,這些指令引導使用者工作站執行以下的工作。步驟310:接收一個個人化秘密305,以s表示之,此秘密305被視為第一認證資料件。步驟330:經由一個第一轉換式將該個人化祕密305轉換成為一個暫時值332,以u表示之。步驟340:利用「RSA公開、私密金鑰」產生程序,由兩個奇質數p(312)及q(314)來產生一個公開模數n(344)、一個公開指數e(346)與一個私密金鑰d(342)。步驟350:使用步驟330中的暫時值u(332),與步驟340的兩個奇質數p(312)及q(314)、私密金鑰d(342)於一個第二轉換式,以產生一個私密金鑰相關指數v(355)。步驟360:從相關計算的記憶體中刪除該私密金鑰d(342)、二個質數p(312)及q(314),與該暫時值u(332)。步驟370:由步驟340中所取得的該公開模數n(344)及公開指數e(346),與步驟350中所取得的該私密金鑰相關指數v(355),組合成密碼金鑰三元件(n,e,v)(375)之組合,將此密碼金鑰三元件(n,e,v)之組合視為第二認證資料件。步驟380:將該第二認證資料件儲存於持久性記憶體385。Referring to Figure 3, this figure depicts an example program for creating the two certified data pieces defined above. The program 300 includes a cryptographic key generation program that has been described in the first publication, which can be executed on a user workstation, such as a personal computer, or other implementation of "RSA disclosure." , a private key pair, a personalization device that produces the computing power of the program. The user workstation includes machine readable media devices to store machine executable instructions that direct the user workstation to perform the following tasks. Step 310: Receive a personalized secret 305, denoted by s, which is regarded as the first authentication data piece. Step 330: Convert the personalized secret 305 into a temporary value 332 via a first conversion formula, denoted by u. Step 340: Using the "RSA Public, Private Key" generating program, two explicit prime numbers p(312) and q(314) are used to generate a public modulus n (344), a public index e (346), and a private address. Key d (342). Step 350: using the temporary value u (332) in step 330, and the two odd prime numbers p (312) and q (314) of step 340, and the private key d (342) in a second conversion formula to generate a Private key correlation index v (355). Step 360: Delete the private key d (342), the two prime numbers p (312) and q (314) from the associated calculated memory, and the temporary value u (332). Step 370: Combine the public modulus n (344) and the public index e (346) obtained in step 340 with the private key correlation index v (355) obtained in step 350 into a cryptographic key three. A combination of components (n, e, v) (375), which is a combination of the three components (n, e, v) of the cryptographic key. Step 380: The second authentication data piece is stored in the persistent memory 385.

根據第3圖,該第一認證資料件不需儲存於持久性記憶體中,使用者可自行記憶,並於需要時以手動輸入。該認證資料件的雜湊值或類似的衍生值也不需儲存於持久性記憶體中作為驗證用資料。在本專利申請書所描述的使用者認證方法中,驗證了以第一認證資料件之輸入所產生的一個數位簽章之有效性,可「間接地」確認該輸入的正確性。這個特性加強了系統的安全性,尤其是當第一認證資料件是一個使用者所選擇的通行碼時。According to FIG. 3, the first authentication data piece does not need to be stored in the persistent memory, and the user can remember it by himself and input it manually when needed. The hash value or similar derivative value of the authentication data piece does not need to be stored in the persistent memory as the verification data. In the user authentication method described in this patent application, the validity of a digital signature generated by the input of the first authentication data piece is verified, and the correctness of the input can be confirmed "indirectly". This feature enhances the security of the system, especially when the first authentication data item is a pass code selected by the user.

在第3圖的密碼金鑰三元件之組合(n,e,v)中的公開模數n和公開指數e組成一把公開金鑰。使用者註冊該公開金鑰於一部電腦系統中作為驗證用資料,它也能夠被用來作為一個使用者端的驗證用資料,如第1圖中的程序所示。The public modulus n and the public index e in the combination (n, e, v) of the cryptographic key three elements of Fig. 3 constitute a public key. The user registers the public key as a verification data in a computer system, and can also be used as a user side verification data, as shown in the program in FIG.

在第3圖中,步驟330使用了一個第一轉換式,步驟350使用了一個第二轉換式,該二個轉換式可視為一對轉換式,以f1和f2表示之。根據第一篇公開案,其中一對轉換式可以用以下的表達式表示之:f1(x)=H(x);f2(y,h,k,z)=c×LCM(h-1,k-1)+z+((-y)mod LCM(h-1,k-1))。In Fig. 3, step 330 uses a first conversion formula, and step 350 uses a second conversion equation, which can be regarded as a pair of conversion equations, denoted by f1 and f2. According to the first publication, a pair of conversion formulas can be expressed by the following expression: f1(x)=H(x); f2(y,h,k,z)=c×LCM(h-1, K-1) + z + ((-y) mod LCM (h-1, k-1)).

在此表達式中,x、y、h、k和z分別表示該第一認證資料件s(305)、暫時值u(332)、第一質數p(312)、第二質數q(314)和私密金鑰d(342)之數值例。該一對轉換式是二個數學函數,為避免混淆,f1與f2之輸入變數以新的變數符號來取代之。In this expression, x, y, h, k, and z represent the first authentication data piece s (305), the temporary value u (332), the first prime number p (312), and the second prime number q (314), respectively. And numerical examples of the private key d (342). The pair of conversions are two mathematical functions. To avoid confusion, the input variables of f1 and f2 are replaced by new variable symbols.

在此f2的表達式中,參數c是一個非負的正整數,LCM是最小公倍數(Least Common Multiple)的簡稱,而H則表示一個碰撞阻抗赫序函數(a collision-resistant hash function),同樣採用第一篇公開案的方法,轉換式f1和f2的第二個表達方式為:f1(x)=H(x),其中H和x如前述的定義;f2(y,h,k,z)=c×Φ(h×k)+z+((-y)modΦ(h×k)),其中c是一個非負的正整數,Φ是尤拉Φ函數,而y、h、k和z如同f2的第一個表達方式之定義。In the expression of f2, the parameter c is a non-negative positive integer, LCM is the abbreviation of Least Common Multiple, and H represents a collision-resistant hash function. In the method of the first publication, the second expression of the conversion formulas f1 and f2 is: f1(x)=H(x), where H and x are as defined above; f2(y, h, k, z) =c×Φ(h×k)+z+((-y)modΦ(h×k)), where c is a non-negative positive integer, Φ is a Euler Φ function, and y, h, k, and z are like f2 The definition of the first expression.

假設f1、s、v、e與n如前述之定義,而M為一個數位訊息,則對此數位訊息M所作的數位簽章,可由signature(M)≡hash(M)f 1 ( s ) ×hash(M)v mod n計算之,也等同於((hash(M)f 1 ( s ) mod n)×(hash(M)v mod n))mod n;在此,模數n的兩個指數數學式,hash(M)f 1 ( s ) mod n與hash(M)v mod n,被用來計算M的兩個部分數位簽章。這個計算二個部份數位簽章的工作可在單一處理器上執行,或是在二個協同合作的處理器上共同執行。Assuming that f1, s, v, e, and n are as defined above, and M is a digital message, the digital signature of the digital message M can be signedature(M)≡hash(M) f 1 ( s ) × Hash(M) v mod n is also equivalent to ((hash(M) f 1 ( s ) mod n)×(hash(M) v mod n)) mod n; here, two of the modulus n The exponential mathematical formula, hash(M) f 1 ( s ) mod n and hash(M) v mod n, are used to calculate the two partial digit signatures of M. This calculation of the two partial digital signatures can be performed on a single processor or on two cooperating processors.

為了驗證一個給予的數值SGN是否是對M所計算的一個正確的數位簽章,所需要的工作是驗證hash(M)≡(SGN)e (mod n)之同餘相等是否成立。In order to verify whether a given value SGN is a correct digital signature calculated for M, the required work is to verify whether the congruence of hash(M)≡(SGN) e (mod n) is equal.

上述計算hash(M)的赫序函數,與傳統RSA用來計算數位簽章中所用到的赫序函數並無不同。相同的赫序函數也能被使用於第一轉換式f1,但這並不是作為f1所必要的條件。The above-mentioned calculation of the hash order of the hash (M) is no different from the one used by the traditional RSA to calculate the hash function used in the digital signature. The same Hertz function can also be used for the first conversion formula f1, but this is not a necessary condition for f1.

如第1圖之程序的實施例中,數位簽章在使用者工作站上被執行,該工作站可使用單個處理器或兩個處理器。In the embodiment of the program of Figure 1, the digital signature is executed on a user workstation, which may use a single processor or two processors.

第一轉換式也必須用於使用者工作站上,而第二轉換式在創造兩個認證資料件之後便不再使用。The first conversion must also be used on the user's workstation, while the second conversion is no longer used after creating two certified data pieces.

如前文所描述,第二認證資料件是一個密碼金鑰三元件之組合,它包括一個公開模數、一個公開指數與一個私密金鑰相關指數。該公開模數與私密金鑰相關指數被使用於數位簽章的計算中,而公開指數則非數位簽章之計算所需要。該公開指數被包含於認證資料件的目的,是為了在使用者端驗證數位簽章的有效性。使用者端的驗證工作使得系統端在遭受猜測攻擊之初即可偵測到其攻擊,因為系統端從授權使用者端接收到的數位簽章必然是正確的。As described above, the second authentication data piece is a combination of three components of a cryptographic key, which includes a public modulus, a public index, and a private key correlation index. The public modulus and private key correlation index are used in the calculation of the digital signature, while the public index is required for the calculation of the non-digital signature. The public index is included in the purpose of authenticating the data piece in order to verify the validity of the digital signature at the user end. The verification work of the user end enables the system to detect the attack at the beginning of the guessing attack, because the digital signature received by the system from the authorized user is necessarily correct.

現在請參照第4圖,本圖說明了更新第一和第二認證資料件之程序,此程序在使用者端執行,包含下列工作。步驟410:接收一個舊的個人化秘密402,以s表示之,作為第一認證資料件,並從一個持久性記憶體409中,接收一組密碼金鑰三元件(n(404),e(406),v(408))之組合,作為第二認證資料件。步驟420:透過驗證測試訊息的數位簽章之有效性來驗證所收到及所取得的驗證資料件之正確性,在此的測試訊息可以是隨機式產生的。步驟430:如果步驟420的驗證結果為「正確」則繼續下一個步驟,否則可依需要回到步驟410重覆不同的輸入。步驟440:接收一個新的個人化秘密445,以s’表示之,作為一個新的第一認證資料件,並要求使用者給予確認。步驟450:利用與第3圖的步驟330中相同的第一轉換式,來計算二個暫時的值u=f1(s)和u’=f1(s’)。步驟460:計算v’=v-(u’-u)。步驟470:用(n,e,v’)取代第二認證資料件(n,e,v)並且在相同的持久性記憶體409中儲存它。Referring now to Figure 4, this figure illustrates a procedure for updating the first and second authentication data items, which is executed on the user side and includes the following tasks. Step 410: Receive an old personalized secret 402, denoted by s, as the first authentication data piece, and receive a set of cryptographic key three components (n(404), e() from a persistent memory 409. 406), a combination of v(408)), as the second authentication data piece. Step 420: Verify the correctness of the received and obtained verification data by verifying the validity of the digital signature of the test message. The test message may be randomly generated. Step 430: If the verification result of step 420 is "correct", proceed to the next step, otherwise return to step 410 to repeat different inputs as needed. Step 440: Receive a new personalized secret 445, denoted by s', as a new first authentication profile, and ask the user to give confirmation. Step 450: Calculate two temporary values u = f1 (s) and u' = f1 (s') using the same first conversion equation as in step 330 of Fig. 3. Step 460: Calculate v' = v - (u' - u). Step 470: Replace the second authentication data piece (n, e, v) with (n, e, v') and store it in the same persistent memory 409.

值得注意的是,前述中的更新程序保持公開模數和公開指數不變,此程序單獨在使用者端執行之。It is worth noting that the update procedure in the foregoing keeps the public modulus and the public index unchanged, and the program is executed separately on the user side.

在上述更新程序中出現一個缺點需要克服:在步驟460所得到的v’,必須被保證是正整數。f2的第一表達式中的c×LCM(h-1,k-1)和第二表達式中的c×Φ(h×k)是用來克服這個缺點而設計的;藉由一個適當的正整數c之選擇,新的私密金鑰相關指數v,可以被保證比f1(s’)和f1(s)之差的絕對值來得大,此保證可證明如下:根據f1(x)=H(x)之設定,所謂f1(s’)和f1(S)之差的絕對值必然小於H(s’)-H(s)的絕對值,當H為已知,其最大值是個已知常數,因此,我們能選擇一個參數c為一個正整數,使得c×LCM(p-1,q-1)或c×Φ(h×k)大於這個最大值,如此所選擇的c將可保證舊的私密金鑰相關指數v減去一個差值產生一個恆為正的結果。A disadvantage that arises in the above update procedure needs to be overcome: the v' obtained in step 460 must be guaranteed to be a positive integer. c×LCM(h-1,k-1) in the first expression of f2 and c×Φ(h×k) in the second expression are designed to overcome this disadvantage; with an appropriate For the selection of a positive integer c, the new private key correlation index v can be guaranteed to be larger than the absolute value of the difference between f1(s') and f1(s). This guarantee can be proved as follows: according to f1(x)=H For the setting of (x), the absolute value of the difference between f1(s') and f1(S) must be less than the absolute value of H(s')-H(s). When H is known, its maximum value is known. Constant, therefore, we can choose a parameter c to be a positive integer, so that c × LCM (p-1, q-1) or c × Φ (h × k) is greater than this maximum, so that the selected c will be guaranteed The old private key correlation index v minus a difference produces a constant positive result.

參考第5-1圖與5-2,此二圖說明第4圖之實施案的一個變化。在這個變化中,該使用者工作站利用一個主動式處理器501和一個被動式處理器502來執行更新程序;它假設密碼金鑰三元件之組合(n,e,v)是被儲存在一個建置於被動式處理器內的一個持久性記憶體中,其設計的目的是為了讓私密金鑰相關指數v和它的更新值v’之資訊能被限制於被動式處理器中。Referring to Figures 5-1 and 5-2, these two figures illustrate a variation of the embodiment of Figure 4. In this variation, the user workstation utilizes an active processor 501 and a passive processor 502 to perform an update procedure; it assumes that the combination of cryptographic key three components (n, e, v) is stored in a build. In a persistent memory in a passive processor, the purpose of the design is to allow the information of the private key correlation index v and its updated value v' to be limited to passive processors.

如第4圖所示,更新程序的一部份工作是要確認舊的第一認證資料件之輸入是正確的,而在第5-1圖的程序中,使用一個主動式處理器和一個被動式處器來執行上述的確認工作將更為複雜。此二個處理器以協同合作的方式,對一個測試訊息計算出一個數位簽章,然後該主動式處理器驗證所產生之數位簽章的正確性,以確認該輸入之正確。As shown in Figure 4, part of the update process is to verify that the old first authentication data entry is correct, and in the program in Figure 5-1, using a proactive processor and a passive It will be more complicated to perform the above confirmation work. The two processors calculate a digital signature for a test message in a cooperative manner, and then the active processor verifies the correctness of the generated digital signature to confirm that the input is correct.

第5-1圖的細節描述如下。步驟510,主動式處理器從使用者處接收一個輸入s(503)作為舊的個人化秘密,並傳送一個協同合作的要求給被動式處理器,以產生一個數位簽章;步驟512、514和516分別代表被動式處理器接收到該要求,從持久性記憶體509中取得此三元件(n(504),e(506),v(508)),並傳送(n,e)給主動式處理器;步驟520、525、528和530,主動式處理器依序執行以下工作:產生一個測試訊息M、計算hash(M)、傳送hash(M)給被動式處理器,並對測試訊息M計算DS1≡hash(M)f 1 ( s ) mod n,產生一個第一部份數位簽章DS1;步驟535,被動式處理器從主動式處理器處接收到hash(M),並從步驟514中接收到該公開模數n(504)與該私密金鑰相關指數v(508);步驟540,該被動式處理器透過計算DS2≡hash(M)v mod n,產生一個第二部份數位簽章DS2;步驟542,該被動式處理器傳送該第二部份數位簽章DS2給該主動式處理器;步驟545,該主動式處理器接收該第一部份數位簽章DS1與第二部份數位簽章DS2並計算M的一個數位簽章:SGN(M)≡DS1×DS2 mod n;步驟550,藉由驗證同餘相等hash(M)≡(SGN(M))e mod n,來驗證該數位簽章的正確性;步驟560,若步驟550的驗證結果是「正確的」,則該主動式處理器繼續執行如第5-2圖從步驟570開始的工作,若驗證結果為錯誤則視情況需要回到步驟510。The details of Figure 5-1 are described below. Step 510, the active processor receives an input s (503) from the user as an old personalized secret, and transmits a coordinated request to the passive processor to generate a digital signature; steps 512, 514, and 516 Respectively, the passive processor receives the request, retrieves the three components (n(504), e(506), v(508)) from the persistent memory 509, and transmits (n, e) to the active processor. Steps 520, 525, 528, and 530, the active processor sequentially performs the following tasks: generating a test message M, calculating a hash (M), transmitting a hash (M) to the passive processor, and calculating a DS1 for the test message M. Hash(M) f 1 ( s ) mod n, generating a first partial digital signature DS1; in step 535, the passive processor receives a hash (M) from the active processor and receives the hash from step 514 Exposing the modulus n (504) to the private key correlation index v (508); in step 540, the passive processor generates a second partial digital signature DS2 by computing DS2≡hash(M) v mod n; 542, the passive processor transmits the second partial digital signature DS2 to the active processor; step 545 The active processor receives the first partial digital signature DS1 and the second partial digital signature DS2 and calculates a digital signature of M: SGN (M) ≡ DS1 × DS2 mod n; Verify that the congruence equals hash(M)≡(SGN(M)) e mod n to verify the correctness of the digital signature; and in step 560, if the verification result of step 550 is “correct,” the proactive processor Continuing to perform the work from step 570 as shown in Figure 5-2, if the verification result is an error, it is necessary to return to step 510 as appropriate.

第5-2圖說明密碼金鑰三元件之組合(n(504),e(506),v(508))的更新工作。步驟570,該主動式處理器接收一個新的個人化秘密s’(565),並要求使用者給予確認。步驟575,該主動式處理器利用與第3圖步驟330中相同的第一轉換式f1,來計算二個暫時值u=f1(s)和u’=f1(s’)。步驟580,該主動式處理器計算此二個暫時值的差值,以D表示之,即D=u’-u,並傳送給該被動式處理器。步驟585,該被動式處理器計算v’=v-D。步驟590,該被動式處理器利用(n,e,v’)取代原有的(n,e,v),以更新該第二認證資料件。步驟595,該主動式處理器由被動式處理器得到一個通知訊息,並告知使用者更新成功。Figure 5-2 illustrates the update of the combination of the three components of the cryptographic key (n(504), e(506), v(508)). In step 570, the proactive processor receives a new personalized secret s' (565) and asks the user to give an acknowledgment. In step 575, the active processor calculates the two temporary values u = f1(s) and u' = f1(s') using the same first conversion formula f1 as in step 330 of FIG. Step 580, the active processor calculates the difference between the two temporary values, denoted by D, that is, D = u'-u, and transmits to the passive processor. In step 585, the passive processor calculates v'=v-D. In step 590, the passive processor replaces the original (n, e, v) with (n, e, v') to update the second authentication data piece. In step 595, the active processor obtains a notification message from the passive processor and informs the user that the update is successful.

本專利申請書使用「私密金鑰相關指數」這個名詞,是為了強調此部份的密碼金鑰與私密金鑰相關,而個人化秘密則與私密金鑰無關。「個人化秘密」和「私密金鑰相關指數」共同取代「私密金鑰」,而私密金鑰則成為一個「隱藏的」秘密。This patent application uses the term "private key correlation index" to emphasize that the cryptographic key of this part is related to the private key, and the personalization secret is independent of the private key. "Personalized Secrets" and "Private Key Related Index" replace "Private Key", and private key becomes a "hidden" secret.

在產生與更新認證資料件的程序中,個人化秘密之選擇具有相當的彈性,而這樣的彈性是由於f1被設計為一個碰撞阻抗赫序函數。在下文中,假設個人化秘密是一個使用者所選擇的通行碼。In the process of generating and updating certified documents, the choice of personalized secrets is quite flexible, and such flexibility is due to the fact that f1 is designed as a collision-impedance epoch function. In the following, it is assumed that the personalized secret is a pass code selected by the user.

在註冊的程序中,使用者利用第3圖所說明的程序,選擇一個通行碼作為第一認證資料件,並且產生一組密碼金鑰三元件之組合(n,e,v)作為該第二認證資料件。該使用者註冊他的識別稱呼、此模數n和此公開指數e於系統工作站。In the registered program, the user selects a pass code as the first authentication data piece by using the program illustrated in FIG. 3, and generates a combination of a set of cryptographic key three elements (n, e, v) as the second. Certified information. The user registers his identification name, the modulus n, and the public index e at the system workstation.

參考第6-1圖,此圖為實施第1圖程序的一個詳細流程說明。元件601為一位使用者用來向一部系統工作站發出登入請求的一部使用者工作站,元件602表示為該系統工作站。在一個網路環境中,一個系統識別稱呼必須被用來識別該系統工作站,同樣的,一個使用者識別稱呼也必須用來識別該使用者。步驟610,該使用者工作站從該使用者處接收一個使用者識別稱呼(605)、一個系統識別稱呼(607)和一個通行碼之輸入PWD(603),並且從該使用者提供的一個持久性記憶體中,取得一組密碼金鑰三元件之組合(n,e,v)(608);步驟615,該使用者工作站傳送一個登入之請求到一部系統工作站,此系統工作站是以該識別稱呼所識別決定的;步驟620,該系統工作站產生一個挑戰訊息C,此挑戰訊息能藉由隨機方式產生;步驟625,該系統工作站傳送該挑戰訊息C到該使用者工作站;步驟630,該使用者工作站接收到該挑戰訊息C;步驟640,該使用者工作站對所收到的挑戰訊息C計算出一個數位簽章:SGN(C)≡hash(C)f 1 ( P W D ) ×hash(C)v mod n;步驟660,該使用者工作站藉由驗證同餘相等hash(C)≡((SGN(C)e )mod n來確認該數位簽章是否正確;步驟662,若該驗證結果為正確的,則繼續執行步驟665之程序,否則視情況需要重複步驟610的輸入;步驟665,該使用者工作站將正確的數位簽章與該使用者識別稱呼(605)包含於一個回應訊息;步驟670,該使用者工作站傳送該回應訊息到該系統工作站;步驟680,該系統工作站以所收到的回應訊息中的使用者識別稱呼作為索引,從一個認證資料庫675中搜尋取得相對應的一個已註冊的公開金鑰;步驟685,該系統工作站藉由驗證同餘相等hash(C)≡((SGN(C)e )mod n,來驗證該回應訊息內的數位簽章是否正確,其中(n,e)為該已註冊的公開金鑰,它是密碼金鑰三元件之組合(n,e,v)(608)中的公開模數n和公開指數e;步驟690,該系統工作站根據驗證結果來授權或拒絕登入之請求並通知該使用者工作站;步驟695,該使用者工作站接收該登入請求之決定,並依此決定執行後續的工作。Refer to Figure 6-1, which is a detailed flow description of the procedure for implementing Figure 1. Element 601 is a user workstation used by a user to issue a login request to a system workstation, and component 602 is represented as the system workstation. In a network environment, a system identification name must be used to identify the system workstation. Similarly, a user identification name must also be used to identify the user. Step 610, the user workstation receives a user identification name (605), a system identification name (607), and a pass code input PWD (603) from the user, and provides a persistence from the user. In the memory, a combination of a set of cryptographic key components (n, e, v) is obtained (608); in step 615, the user workstation transmits a login request to a system workstation, and the system workstation identifies the system Referring to the identified decision; in step 620, the system workstation generates a challenge message C, which can be generated in a random manner; in step 625, the system workstation transmits the challenge message C to the user workstation; step 630, the use The workstation receives the challenge message C; in step 640, the user workstation calculates a digital signature for the received challenge message C: SGN(C)≡hash(C) f 1 ( P W D ) ×hash( C) v mod n; Step 660, the user workstation confirms whether the digital signature is correct by verifying the congruence equal hash (C) ≡ ((SGN(C) e ) mod n; step 662, if the verification result If it is correct, proceed to step 665 The program, otherwise the input of step 610 needs to be repeated as needed; in step 665, the user workstation includes the correct digital signature and the user identification name (605) in a response message; in step 670, the user workstation transmits the Responding to the system workstation; step 680, the system workstation searches for a corresponding registered public key from an authentication database 675 by using the user identification name in the received response message as an index; 685. The system workstation verifies whether the digital signature in the response message is correct by verifying the equivalence equivalent hash(C)≡((SGN(C) e ) mod n, where (n, e) is the registered Public key, which is the public modulus n and the public index e in the combination of the cryptographic key three components (n, e, v) (608); in step 690, the system workstation authorizes or denies the login based on the verification result. The user workstation is requested and notified; in step 695, the user workstation receives the decision of the login request and decides to perform subsequent work accordingly.

在根據第6-1圖之流程圖的某一實施案中,該使用者工作站以自動化的方式接收密碼金鑰認證資料件,換言之,該使用者工作站被程式化,使之從持久性記憶體中接收密碼金鑰三元件之組合,不需要使用者給予任何的指示。此實施案創造了一個通行碼系統,它類似於傳統的通行碼系統,就使用者的觀點來看,此一通行碼方法是由前文所描述的二個認證資料件方法所演繹出來的。該通行碼方法包含了下列步驟:當要求登入系統時,接收一個輸入作為一通行碼;使用該輸入產生一個數位簽章;使用一個公開金鑰來驗證該數位簽章的正確性;如該數位簽章被驗證為正確的,則確認該輸入符合該通行碼,並以此結果授權該登入之請求。In an embodiment according to the flow chart of Figure 6-1, the user workstation receives the cryptographic key authentication data piece in an automated manner, in other words, the user workstation is programmed to be from persistent memory. The combination of receiving the cryptographic key three components does not require any indication from the user. This embodiment creates a passcode system that is similar to a conventional passcode system. From a user's point of view, this passcode method is derived from the two authentication datagram methods described above. The passcode method includes the steps of: receiving an input as a passcode when asked to log in to the system; generating a digital signature using the input; using a public key to verify the correctness of the digital signature; such as the digit If the signature is verified to be correct, then the input is confirmed to conform to the passcode and the request for the login is authorized with the result.

第6-2圖說明了第6-1圖中步驟640的一個變化。在此變化中,該使用者工作站601使用了一個主動式處理器651及一個被動式處理器652來執行步驟640,第6-2圖所描述的所有步驟可用來取代步驟640,在此假設該三元件之組合(n,e,v)(608)被存放於該被動式處理器內的持久性記憶體中。步驟641,該主動式處理器計算hash(C),其中C為步驟630中所接收到的挑戰訊息,隨後送出hash(C)給該被動式處理器;步驟642,該被動式處理器接收到hash(C);步驟643,該被動式處理器從持久性記憶體中取得該三元件之組合(n,e,v),並傳送公開金鑰(n,e)給該主動式處理器;步驟644,該主動式處理器接收到(n,e),並藉由計算DS1≡hash(C)f 1 ( P W D ) mod n產生一個第一部份數位簽章DS1;步驟645,該被動式處理器藉由計算DS2≡hash(C)v mod n產生一個第二部份數位簽章DS2,並將此計算結果傳送給主動式處理器;步驟646,該主動式處理器對C計算SGN(C)≡DS1×DS2 mod n產生一個數位簽章,並繼續執行第6-1圖中步驟660後續的工作。第6-1圖中的所有步驟,除步驟640外,皆在該主動式處理器上執行,而該二個處理器以上述協同合作的方式執行步驟640。Figure 6-2 illustrates a variation of step 640 in Figure 6-1. In this variation, the user workstation 601 uses an active processor 651 and a passive processor 652 to perform step 640, and all of the steps described in FIG. 6-2 can be used in place of step 640, assuming that the three The combination of components (n, e, v) (608) is stored in persistent memory within the passive processor. Step 641, the active processor calculates a hash (C), where C is the challenge message received in step 630, and then sends a hash (C) to the passive processor; and in step 642, the passive processor receives the hash ( C); Step 643, the passive processor obtains the combination of the three components (n, e, v) from the persistent memory, and transmits the public key (n, e) to the active processor; The active processor receives (n, e) and generates a first partial digital signature DS1 by computing DS1≡hash(C) f 1 ( P W D ) mod n; step 645, the passive processor Generating a second partial digital signature DS2 by computing DS2≡hash(C) v mod n and transmitting the calculation result to the active processor; in step 646, the active processor calculates SGN(C) for C ≡DS1×DS2 mod n generates a digital signature and continues to perform the subsequent operations in step 660 of Figure 6-1. All of the steps in Figure 6-1, except for step 640, are performed on the active processor, and the two processors perform step 640 in a cooperative manner as described above.

根據第6-1圖與6-2的實施案,一個通行碼之輸入,例如使用者由鍵盤所鍵入的通行碼輸入,並沒有藉由通行碼的衍生值如該通行碼的赫序值來對該通行碼輸入之正確與否進行驗證。在此實施案中,直到步驟662才以其結果來確認一個通行碼的輸入是否符合預先選擇的通行碼。若步驟662之結果是錯誤的,則表示該通行碼的輸入或所提供的密碼金鑰認證資料件是錯誤的,由於密碼金鑰認證資料件並非是由人工所輸入的,故通行碼輸入錯誤的可能性較高。According to the embodiments of Figures 6-1 and 6-2, the input of a pass code, such as a pass code entered by the user by the keyboard, is not derived from the derived value of the pass code, such as the Hertz value of the pass code. Verify the correctness of the passcode input. In this embodiment, it is not until step 662 that the result of the passcode is confirmed to match the pre-selected passcode. If the result of step 662 is erroneous, it indicates that the input of the passcode or the provided cryptographic key authentication data piece is erroneous. Since the cryptographic key authentication data piece is not manually input, the pass code input error is incorrect. The possibility is higher.

在第6-1圖所說明的範例程序中,密碼金鑰認證資料件可被儲存於成本較低的儲存裝置中,如記憶卡、USB(Universal Serial Bus)隨身碟、或是一個無線射頻識別標籤(RFID tag)。In the example program illustrated in Figure 6-1, the cryptographic key authentication data can be stored in a lower cost storage device such as a memory card, a USB (Universal Serial Bus) flash drive, or a radio frequency identification. Label (RFID tag).

第6-2圖中的被動式處理器652包含了內建的持久性記憶體,用來儲存n、e與v,而且有能力以v計算出部分的數位簽章,其中,主動式處理器引導所有步驟的執行。在第6-2圖中的被動式處理器可能被建置於IC密碼卡(IC crypto card)中,此密碼卡有個優於傳統IC密碼卡的優點:傳統IC密碼卡存放了一對「公開、私密金鑰對」,而存放在其中的秘密便是私密金鑰,必須被嚴密的保持機密,遺失了這類的密碼卡將會對安全產生重大的威脅;相對的,第6-2圖中的被動式處理器密碼卡,存有公開金鑰與私密金鑰相關指數v,v僅是一半的秘密,因此遺失這一半的秘密對安全的威脅是比較低的。The passive processor 652 in Figure 6-2 includes built-in persistent memory for storing n, e, and v, and has the ability to calculate a partial digital signature with v, where the active processor boots Execution of all steps. The passive processor in Figure 6-2 may be built into an IC crypto card. This cipher card has the advantage over the traditional IC PIN card: the traditional IC PIN card stores a pair of "public" , the secret key pair, and the secret stored in it is the private key, which must be kept strictly confidential. Losing such a password card will pose a major threat to security; in contrast, Figure 6-2 In the passive processor cipher card, there is a secret between the public key and the private key v, v is only half of the secret, so the loss of the secret of this half is relatively low.

私密金鑰相關指數v是與公開金鑰相關,然而,以公開金鑰(n,e)很難推導出「隱藏的私密金鑰d」,在此前提之下,不論是從系統端或是使用者端揭露公開金鑰(n,e)並無助於成功地推導出v,這是前文所定義的第二轉換式f2的一個結果。The private key correlation index v is related to the public key. However, it is difficult to derive the "hidden private key d" by the public key (n, e). Under this premise, whether from the system side or The disclosure of the public key (n, e) by the client does not help to successfully derive v, which is a result of the second transition f2 defined above.

在此來討論另一半祕密的安全性,即通行碼的安全性。在系統端中的公開金鑰(n,e)是用來驗證用的資訊,而這公開金鑰的揭露並不會洩漏通行碼的任何資訊,因為通行碼的選擇是使用者在獨立的情況下隨意地選擇的。而在本專利申請案所設計的更新程序中,允許使用者在公開金鑰不變的情況下,可以變更使用者所選擇的通行碼,同時也改變了私密金鑰相關指數。使用者在變更通行碼的過程中,系統工作站並不需要與使用者工作站聯繫,因此系統工作站並沒有得到任何相關資訊有助於通行碼的猜測。Here we discuss the security of the other half of the secret, namely the security of the passcode. The public key (n, e) in the system side is the information used for verification, and the disclosure of the public key does not reveal any information of the pass code, because the choice of the pass code is the user's independent situation. Feel free to choose. In the update procedure designed by the patent application, the user is allowed to change the pass code selected by the user while the public key is unchanged, and also changes the private key correlation index. The system workstation does not need to contact the user workstation during the process of changing the passcode, so the system workstation does not get any relevant information to facilitate the guess of the passcode.

系統工作站與使用者工作站利用挑戰與回應的方法來通訊。一個挑戰訊息的回應訊息包含對此挑戰訊息計算的數位簽章,只要當「隱藏的私密金鑰」是安全的,則此通訊也會是安全的。System workstations and user workstations communicate using challenge and response methods. A challenge message response message contains a digital signature calculated for this challenge message. This communication is also secure as long as the "hidden private key" is secure.

在使用者端,通行碼之輸入並不直接以該通行碼的衍生值進行驗證,而是間接地經由驗證該輸入產生的數位簽章之正確性,來確認每一個通行碼之輸入的正確與否。因此,通行碼與它的衍生值,如通行碼的赫序值或加密值,並不會為了驗證通行碼輸入的正確與否而保存起來。在本專利申請案中,所謂通行碼的衍生值是一個轉換式的一個輸出,此轉換式以該通行碼為單一的輸入。At the user end, the input of the pass code is not directly verified by the derivative value of the pass code, but indirectly confirms the correctness of the input of each pass code by verifying the correctness of the digital signature generated by the input. no. Therefore, the passcode and its derived values, such as the H-order value or the encrypted value of the passcode, are not saved for verifying the correctness of the passcode input. In the present patent application, the derivative value of the pass code is an output of a conversion type with the pass code as a single input.

廣義的來說,私密金鑰相關指數v是通行碼的一個衍生值。但v是經由f2轉換式的輸出值,其中除了通行碼外,f2在轉換過程中還接收三個輸入值p、q與d:v=f2(f1(通行碼),p,q,d)=c×LCM(p-1,q-1)+d+((-f1(通行碼))mod LCM(p-1,q-1))或v=f2(f1(通行碼),p,q,d)=c×Φ(n)+d+((-f1(通行碼)))mod Φ(n)。由上述的推導過程可知,當不知道p、q與d之值時,揭露v值仍無法得知該通行碼。Broadly speaking, the private key correlation index v is a derivative of the pass code. But v is the output value via the f2 conversion type, in which f2 receives three input values p, q and d: v=f2 (f1 (pass code), p, q, d) in addition to the pass code. =c×LCM(p-1,q-1)+d+((-f1(passcode))mod LCM(p-1,q-1)) or v=f2(f1(passcode),p,q, d) = c × Φ (n) + d + ((-f1 (pass code))) mod Φ (n). It can be seen from the above derivation process that when the values of p, q and d are not known, the pass code cannot be known by exposing the v value.

破解通行碼的其中一種方法為窮舉式的搜尋或字典攻擊,即以猜測的方式進行攻擊。為了決定某一猜測是否正確,攻擊者必須被迫去計算一個數位簽章並驗證該數位簽章是否正確,因此,每一次猜測都需要模數n之下的指數計算,而這樣子的猜測比起傳統的通行碼系統,其猜測所需之計算比較耗時。One of the methods of cracking a passcode is an exhaustive search or dictionary attack, that is, attacking in a guessing manner. In order to determine whether a certain guess is correct, the attacker must be forced to calculate a digital signature and verify that the digital signature is correct. Therefore, each guess requires an exponential calculation under the modulus n, and the guess ratio is such With conventional passcode systems, the calculations required for guessing are time consuming.

資訊安全專家一直努力發掘使用者認證的新方法,其部分原因是因為常用的通行碼認證方法似乎不夠安全而無法防止未經授權的登入。雙因子鑑別(two-factor authentication)提供了一個新的方向。本專利申請案所提出的方法可以說是雙因子鑑別的一種但具有新的特色。雙因子鑑別方法通常使用一個使用者選擇的通行碼當作一個鑑別因子,並且使用生物特徵像是指紋當作另一個鑑別因子,有些人認為此種型態的雙因子鑑別會違反個人的隱私。其他的雙因子鑑別方法則是使用一個實體的物件(a physical token)與一個個人識別碼(a Personal ldentification Number)作為兩個鑑別因子,在這種型態的方法中,所謂的個人識別碼並非是認證秘密的一半,而是用來取得「真實的認證秘密」的一個完整的秘密,而真實的認證秘密如密碼學的私密金鑰則是儲存於實體的物件中。本專利申請案所描述的方法,是把私密金鑰拆成兩部分作為兩鑑別因子,如第3圖所描述的程序,秘密的私密金鑰在產生密碼金鑰認證資料件後予以銷毀且在往後的計算過程中不會再出現。Information security experts have been working hard to discover new ways of user authentication, in part because popular passcode authentication methods seem to be less secure and prevent unauthorized logins. Two-factor authentication provides a new direction. The method proposed in this patent application can be said to be one of two-factor authentication but has new features. Two-factor authentication methods typically use a user-selected passcode as an identification factor and use biometrics like fingerprints as another discriminating factor, and some believe that this type of two-factor authentication violates individual privacy. Other two-factor authentication methods use a physical token and a personal identification number as two discriminating factors. In this type of method, the so-called PIN is not It is half of the authentication secret, but a complete secret used to obtain the "real authentication secret", and the real authentication secret, such as the cryptographic private key, is stored in the entity's object. The method described in this patent application is to split the private key into two parts as two identification factors. As shown in Fig. 3, the secret private key is destroyed after generating the cryptographic key authentication data and It will not appear again in the calculation process in the future.

根據前文所描述的實施案,密碼金鑰認證資料件被存放於一個裝置中。第一認證資料件,即通行碼,則可以不被存放於任何裝置中,只要使用者能夠記住即可。如前所述,通行碼的赫序值或其加密值皆不需要為了確認輸入的正確與否而存放於持久性記憶體中,而是藉由確認該輸入所產生之數位簽章之正確與否來驗證該通行碼之輸入。此種組合兩個認證資料件的獨特方式,是與其他雙因子鑑別機制有所差別的。According to the embodiment described above, the cryptographic key authentication data piece is stored in a device. The first authentication data item, that is, the pass code, may not be stored in any device as long as the user can remember. As mentioned above, the heuristic value of the passcode or its encrypted value does not need to be stored in the persistent memory in order to confirm the correctness of the input, but by confirming the correctness of the digital signature generated by the input. No to verify the entry of the passcode. This unique way of combining two certified data pieces is different from other two-factor authentication mechanisms.

回到第1圖與6-1中的挑戰與回應之程序。在此程序中,對數位簽章之驗證重複進行了兩次:在使用者工作站,數位簽章在被包含於回應訊息之前被驗證一次,而在另一端,系統工作站對其所接收的回應訊息內之數位簽章又驗證了一次。由於這精巧的設計,系統工作站有能力區分經過授權的登入者與未經授權的侵入者,因為經過授權的登入者總是以有效的數位簽章來回應挑戰。為了讓這精巧的設計更有效率,在挑戰與回應的程序上作以下的修改是有助益的:被包含於回應訊息內的使用者識別稱呼也一併檢查。對於此種修改有幾種可行的方法,例如增加一個檢查位元或一個檢查碼作為使用者識別稱呼的一部份,或是使用赫序值當作驗證資訊。根據以上的設計,系統工作站便有能力在任何線上的猜測攻擊開始時即發現其攻擊。Go back to the procedures in Figure 1 and Challenges and Responses in 6-1. In this procedure, the verification of the digital signature is repeated twice: at the user workstation, the digital signature is verified once before being included in the response message, and at the other end, the system workstation receives the response message from it. The digital signature inside has been verified again. Thanks to this ingenious design, the system workstation has the ability to distinguish between authorized logged in and unauthorized hackers, as authorized registrants always respond to challenges with a valid digital signature. In order to make this ingenious design more efficient, it is helpful to make the following modifications to the challenge and response process: the user identification name included in the response message is also checked. There are several possible ways to modify this, such as adding a check bit or a check code as part of the user's identification, or using the he-order value as the verification information. Based on the above design, the system workstation has the ability to detect attacks on any online guessing attack.

公開金鑰(n,e)被註冊於系統工作站,而系統工作站利用該公開金鑰來驗證使用者工作站傳來的回應是否正確。系統端有責任確保公開金鑰的真確性,而公開金鑰憑證是用來滿足這個需要的傳統方法,依據這個方法,被註冊的公開金鑰是一張憑證的一部分,而憑證是由憑證機構(Certification Authority,簡稱為CA)所簽發的。換言之,系統端依賴憑證機構來保證被註冊公開金鑰的真確性。The public key (n, e) is registered with the system workstation, and the system workstation uses the public key to verify that the response from the user workstation is correct. The system side is responsible for ensuring the authenticity of the public key, and the public key certificate is the traditional method used to meet this need. According to this method, the registered public key is part of a voucher, and the voucher is the voucher body. (Certification Authority, referred to as CA) issued. In other words, the system relies on the credential mechanism to guarantee the authenticity of the registered public key.

由於系統端和憑證機構兩者共同承擔公開金鑰真確性之責任,所以傳統的CA方法可讓使用者得到好處。除非系統端與CA共謀,否則系統端接受到錯誤的數位簽章是會被檢驗出來的;因此,利用CA的方法保護了使用者免於受到系統端不當行為的傷害。Since both the system side and the credential organization share responsibility for the authenticity of the public key, the traditional CA method can benefit the user. Unless the system side colludes with the CA, the wrong digital signature will be checked on the system side; therefore, the CA method is used to protect the user from the system misbehavior.

由於系統端安全控管的缺失,系統端的不當行為是有可能發生的,事實上,這是已發生的資訊安全事件的主要原因之一。如前文之背景知識所描述的,目前的通行碼認證系統中存在了若干技術上的缺點,例如,系統管理者或其他內部的員工可以自系統的認證資料庫中盜取使用者識別稱呼及其相對應的赫序值,而在未經授權的情況下登入該使用者帳號;這類未經授權的登入可用的技術包括離線的字典攻擊,也可以用一種特製的軟體以接收通行碼的赫序值為輸入而非接收通行碼的輸入。Due to the lack of system-side security controls, system-side misconduct is likely to occur. In fact, this is one of the main causes of information security incidents that have occurred. As described in the background above, there are several technical disadvantages in current passcode authentication systems. For example, system administrators or other internal employees can steal user identification names from the system's authentication database. Corresponding he-order value, and unauthorized login to the user account; such unauthorized login technology available includes offline dictionary attacks, or a special software to receive the pass code. The ordinal value is an input rather than an input to receive a passcode.

因此,本專利申請案所說明的使用者認證方法是一種利用通行碼的認證方法,但藉由CA簽證的公開金鑰之真確性加強了系統的安全。Therefore, the user authentication method described in this patent application is an authentication method using a pass code, but the security of the system is enhanced by the authenticity of the public key of the CA visa.

使用傳統的憑證機構方法來保護公開金鑰的真確性,增加了相當程度的複雜度。資訊安全專家已經明白這個複雜度的缺點,而本專利申請案所提出的通行碼認證方法可簡化此一複雜程度,這是由於秘密分割加強了安全性所帶來的好處;遺失被保護秘密的任一半比起遺失整個的秘密所引起的安全上的顧慮會比較少。如果有所遺失,另外一半的秘密仍然提供相當程度的安全保護,故使用者無須立即地要求廢止其公開金鑰憑證。免除了向憑證機構報告遺失並要求廢止公開金鑰憑證的需要,取而代之的則是使用者可在系統工作站註冊一個新的公開金鑰,並要求系統工作站拒絕被舊的公開金鑰驗證通過的數位簽章;如此,因為廢止公開金鑰憑證所造成的複雜度可以大幅的降低。The use of traditional credential mechanisms to protect the authenticity of public keys adds considerable complexity. Information security experts have understood the shortcomings of this complexity, and the passcode authentication method proposed in this patent application can simplify this complexity because secret segmentation enhances the benefits of security; loss of protected secrets Any one half of the security concerns caused by the loss of the entire secret will be less. If lost, the other half of the secret still provides a considerable degree of security, so users do not need to immediately request the abolition of their public key certificate. Eliminating the need to report the loss to the voucher and requesting the abolition of the public key voucher, the user can register a new public key at the system workstation and ask the system workstation to reject the digits that were verified by the old public key. Signature; this way, the complexity caused by the abolition of the public key certificate can be greatly reduced.

本專利申請案也提出了一個商業方法,以取代憑證機構的角色,這個商業方法詳述如下。This patent application also proposes a commercial method to replace the role of the credential institution, which is described in detail below.

使用者在系統工作站註冊一個公開金鑰,其實是系統端與使用者端雙方的一項協議。系統工作站接受了公開金鑰之註冊,系統工作站就有義務接受正確的數位簽章並拒絕不正確的數位簽章;另一方面,若使用已註冊的公開金鑰當作是驗證用資料證明了數位簽章的有效性時,則使用者不能否認其有效性。The user registers a public key on the system workstation, which is actually an agreement between the system side and the user side. The system workstation accepts the registration of the public key, and the system workstation is obliged to accept the correct digital signature and reject the incorrect digital signature; on the other hand, if the registered public key is used as the verification data. When the validity of the digital signature is obtained, the user cannot deny its validity.

因此,註冊的公開金鑰之合約書可作為雙方解決爭議的一個方法。第7圖是一位使用者在某一系統端所註冊的一把公開金鑰之合約書的範例。根據該合約書上所承載的條款,若系統端所接受的數位簽章經合約書上之公開金鑰驗證為不正確,則使用者有權拒絕被系統端錯誤接受之不正確的數位簽章;同樣,根據該合約書上的條文,若系統端所接受的數位簽章經合約書上的公開金鑰證明為正確,則使用者有義務承認該數位簽章之有效性。Therefore, the contract of the registered public key can be used as a method for both parties to resolve the dispute. Figure 7 is an example of a contract for a public key registered by a user on a system side. According to the terms of the contract, if the digital signature accepted by the system is verified as incorrect by the public key on the contract, the user has the right to reject the incorrect digital signature accepted by the system. Similarly, according to the provisions of the contract, if the digital signature accepted by the system is proved to be correct by the public key on the contract, the user is obliged to acknowledge the validity of the digital signature.

註冊合約書提供了一個方法,以解決有關數位簽章之有效性的爭議。憑藉著合約書上的保證,使用者可以信任系統端使用正確的公開金鑰,因而以憑證來查核公開金鑰之正確性便不再需要。The registration contract provides a means to resolve disputes regarding the validity of the digital signature. With the guarantee in the contract, the user can trust the system to use the correct public key, so it is no longer necessary to use the credentials to check the correctness of the public key.

註冊合約書的方法提供了保證公開金鑰真確性的新方向,它是以商業的方法來取代技術的手段。這樣的方法也符合傳統的商業習慣,即在日常的商業交易行為中通常並不需要第三者的介入,使用者可以信任系統方會保護註冊的公開金鑰之真確性但保有註冊合約書作為一項保證,以備發生爭議時可用來解決爭議。The method of registering a contract provides a new direction to ensure the authenticity of the public key, which is a means of replacing technology with a commercial method. This method is also in line with the traditional business habits, that is, in the daily business transaction behavior, it is usually not necessary for the third party to intervene. The user can trust the system to protect the authenticity of the registered public key but retain the registration contract as A guarantee that can be used to resolve a dispute in the event of a dispute.

利用註冊合約書的商業方法可通用於非對稱密碼系統上,不必受限於RSA系統。The commercial method of using the registration contract can be applied to an asymmetric cryptosystem without being limited to the RSA system.

參考第8圖,此圖說明了允許一位使用者檢查一把正確的公開金鑰是否可以在一部系統工作站上被取用的一個程序。當使用者向系統工作站發出登入之請求的同時,此檢查程序可同步執行,因此,此程序可進一步說服使用者信任系統端,並且可被視為使用公開金鑰註冊合約書的一種輔助方法。Referring to Figure 8, this figure illustrates a procedure that allows a user to check if a correct public key can be accessed on a system workstation. While the user issues a request for login to the system workstation, the checker can be executed concurrently, so the program can further convince the user to trust the system side and can be considered as an auxiliary method of using the public key registration contract.

上述之公開金鑰連線檢查是以對稱式密碼學為基礎的一個挑戰與回應之程序。步驟810,一部使用者工作站(801)從一位使用者處接收一個系統識別稱呼(803)及一個使用者識別稱呼(804);步驟815,該使用者工作站隨機產生一個訊息,並將此隨機訊息與該使用者識別稱呼包含於一個挑戰訊息中;步驟820,該使用者工作站將該挑戰訊息傳送到對應於該系統識別稱呼的一部系統工作站(802);步驟830,該系統工作站使用所接受到之挑戰訊息中的使用者識別稱呼作為一個索引,從系統端的認證資料庫(825)中檢索取得一把在系統端使用的公開金鑰;步驟835,該系統工作站從該公開金鑰推導出一把在系統端使用的對稱式密碼金鑰;步驟840,該系統工作站以該對稱式密碼金鑰作為一把加密金鑰將該挑戰訊息中的隨機訊息加密成密文;步驟845,該系統工作站將該密文包含於一個回應訊息中;步驟850,該系統工作站將該回應訊息傳送給該使用者工作站;步驟852,該使用者工作站接收到該回應訊息,並且從一個持久性記憶體中取得一把在使用者端使用的公開金鑰;步驟855,該使用者工作站從在使用者端使用的公開金鑰推導出一把在使用者端使用的對稱式密碼金鑰;步驟860,該使用者工作站以使用者端使用的對稱式密碼金鑰作為一把解密金鑰將接收到的回應訊息內之密文解密;步驟865,若解密的結果符合步驟815之隨機訊息,則該使用者工作站決定在系統端使用的公開金鑰符合在使用者端使用的公開金鑰,並視其為正確的。The public key connection check described above is a challenge and response process based on symmetric cryptography. Step 810, a user workstation (801) receives a system identification name (803) and a user identification name (804) from a user; in step 815, the user workstation randomly generates a message and The random message and the user identification name are included in a challenge message; in step 820, the user station transmits the challenge message to a system workstation (802) corresponding to the system identification name; and step 830, the system workstation uses The user identification name in the received challenge message is used as an index to retrieve a public key used on the system side from the authentication database (825) on the system side; in step 835, the system workstation receives the public key from the public key. Deriving a symmetric cryptographic key used on the system side; in step 840, the system workstation encrypts the random message in the challenge message into ciphertext by using the symmetric cryptographic key as an encryption key; step 845, The system workstation includes the ciphertext in a response message; in step 850, the system workstation transmits the response message to the user workstation; Step 852, the user workstation receives the response message, and obtains a public key used by the user from a persistent memory; and step 855, the user workstation uses the public gold used by the user. The key derives a symmetric cryptographic key used at the user end; in step 860, the user workstation uses the symmetric cryptographic key used by the user as a decryption key to receive the received response message. If the result of the decryption meets the random message of step 815, the user workstation determines that the public key used on the system side complies with the public key used at the user end and regards it as correct.

在第8圖所說明的流程圖中,步驟835使用了一個第一轉換式來推導出一把在系統端使用的對稱式密碼金鑰,而步驟855則使用了一個第二轉換式來推導出一把在使用者端使用的對稱式密碼金鑰,此二個轉換式必須相同。由連接公開模數n與公開指數e的二位元字串截取適當長度之函數可作為此相同的轉換式,其他型式的函數也是可能的。In the flow diagram illustrated in Figure 8, step 835 uses a first conversion formula to derive a symmetric cryptographic key for use on the system side, and step 855 uses a second conversion formula to derive A symmetric cryptographic key used on the consumer side. The two conversions must be the same. A function of intercepting an appropriate length from a binary string connecting the public modulus n and the public index e can be used as the same conversion, and other types of functions are also possible.

第3圖所描述的產生兩個認證資料件之程序,允許使用者可自主性地任意選擇通行碼。即使使用者繼續使用同一的通行碼,他仍可以變更已註冊的公開金鑰。The procedure for generating two pieces of authentication data as described in FIG. 3 allows the user to arbitrarily select the pass code autonomously. Even if the user continues to use the same passcode, he can still change the registered public key.

變更一把已註冊的公開金鑰之程序,與第4圖、第5圖所描述的更新程序有所不同,在該更新程序中,公開金鑰總是保持不變。變更一把已註冊的公開金鑰需再次利用第3圖所描述的金鑰產生程序。若是以CA來保護公開金鑰的真確性,則公開金鑰的變更需要重新簽發新的公開金鑰憑證並廢止被遺棄的公開金鑰之憑證。而如同上文所描述的,利用註冊合約書的方法可完全移除CA的角色。The procedure for changing a registered public key is different from the update procedure described in Figures 4 and 5, in which the public key is always the same. Changing the registered public key requires reusing the key generation procedure described in Figure 3. If the CA is used to protect the authenticity of the public key, the change of the public key requires reissuing the new public key voucher and abolishing the voucher of the abandoned public key. As described above, the method of registering a contract can completely remove the role of the CA.

下文假設使用者需在一個網路環境中登入多數個系統工作站。在此情況下,常見的資訊安全守則是要求使用者選擇不同的通行碼來登入不同的系統工作站,但這會造成一般使用者在記憶上的負擔。應用本專利申請案的方法,此一安全守則是沒有必要的,因為使用者於系統工作站註冊的是一把公開金鑰,而此公開金鑰並沒有洩漏關於通行碼的任何資訊。The following assumes that users need to log in to a number of system workstations in a single network environment. In this case, the common information security code requires users to select different passcodes to log in to different system workstations, but this will cause a general user's memory burden. Applying the method of this patent application, this security code is not necessary because the user registers with the system workstation a public key, and the public key does not disclose any information about the pass code.

如前文所描述,註冊合約書的方法可免除CA的需要,大幅地簡化了管理公開金鑰的複雜度,如此可允許使用者註冊不同的公開金鑰於不同的系統工作站,或註冊一把相同的公開金鑰於若干系統工作站中。這樣的彈性來自於以下兩個理由:(1)由相對應的公開金鑰來推導私密金鑰在計算上的困難;(2)公開金鑰管理的簡化。As described earlier, the method of registering a contract eliminates the need for CA and greatly simplifies the complexity of managing public keys, thus allowing users to register different public keys on different system workstations, or register the same The public key is in several system workstations. This flexibility comes from two reasons: (1) the difficulty in deriving the private key from the corresponding public key; and (2) the simplification of public key management.

本專利申請案以通行碼所設計的使用者認證方法,利用了兩個認證因子:(1)通行碼;(2)由公開模數、公開指數和私密金鑰相關指數三者所組成的密碼金鑰認證資料件(crypto-key authenticator)。當使用者註冊不同的公開金鑰於眾多的系統工作站時,其密碼金鑰認證資料件的個數會隨之增加,乍看之下這是使用不同公開金鑰的一個缺點,但註冊不同的公開金鑰於不同的系統工作站有一項優點:因某一把「隱藏的私密金鑰」被瓦解時,其所造成的風險可被侷限於所對應的公開金鑰註冊之系統;除此之外,下文所提供的解決方法允許使用者擁有多把公開金鑰但可克服其缺點。The user authentication method designed by the pass code of the patent application utilizes two authentication factors: (1) a pass code; (2) a combination of a public modulus, a public index, and a private key correlation index. A crypto-key authenticator. When a user registers a different public key on a number of system workstations, the number of cryptographic key authentication data pieces will increase. At first glance, this is a disadvantage of using different public keys, but the registration is different. The public key has the advantage of different system workstations: when a "hidden private key" is disintegrated, the risk caused by it can be limited to the corresponding public key registration system; The solution provided below allows the user to have multiple public keys but overcomes their shortcomings.

在擁有多數個系統工作站的一個網路環境中,當使用者請求登入系統時,他必須在使用者工作站上提出所欲登入的系統之識別稱呼,而該系統識別稱呼可被當作一個索引資訊來搜尋取得與其對應的密碼金鑰認證資料件;換言之,一個密碼金鑰認證資料件可以連結於一個系統識別稱呼,而這樣的連結可被收集記錄在單一個檔案中,如此,此檔案與通行碼兩者可視為使用者認證過程所用到的輸入。此一集合系統識別稱呼與密碼金鑰認證資料件及其連結所形成的檔案,簡化了登入過程的輸入程序,它被稱為「集合式認證資料件」(collective authenticator)。In a network environment with a plurality of system workstations, when the user requests to log in to the system, he must present the identification name of the system to be logged in on the user workstation, and the system identification name can be used as an index information. To search for the corresponding cryptographic key authentication data; in other words, a cryptographic key authentication data piece can be linked to a system identification name, and such a link can be collected and recorded in a single file, so that the file and the access Both codes can be considered as inputs used by the user authentication process. This collection system identifies the file formed by the title and password key authentication data pieces and their links, which simplifies the input procedure of the login process. It is called a "collective authenticator".

集合式認證資料件是其使用者所擁有的數位檔案,可以被存放在一個可攜式的裝置裡,例如USB隨身碟(USB storage device)、記憶卡(memory card)、IC密碼卡(IC crypto card)或是行動電話(cell phone)等。使用者攜帶這樣的裝置並記住其通行碼,即可漫遊於網路上來登入任何其已註冊的系統。The aggregated authentication data piece is a digital file owned by the user and can be stored in a portable device such as a USB storage device, a memory card, and an IC password card (IC crypto). Card) or cell phone. By carrying such a device and remembering its passcode, the user can roam on the network to log in to any of their registered systems.

參考第9圖,此圖說明了一個集合式認證資料件中的所有元件。Referring to Figure 9, this figure illustrates all of the components in a collective authentication profile.

如第9圖所示,一個集合式認證資料件是由多個個別的認證資料件之記錄的集合。每個個別的認證資料件之記錄由下述3個項目所組成:(1)欲登入的一部系統工作站的一個系統識別稱呼;(2)一個密碼金鑰三元件之組合;(3)此位使用者的一個識別稱呼。每個密碼金鑰三元件之組合又包含三個元件:(1)一個公開模數;(2)一個公開指數;(3)一個私密金鑰相關指數。集合中的每一個個別的認證資料件之記錄指出此位使用者在某一部系統工作站上註冊了他的一個使用者識別稱呼及一把公開金鑰。在此集合中,每一個使用者識別稱呼可以是唯一的或是重複的,而公開金鑰亦然。在此圖例中,擁有此一集合式檔案的使用者在不同的系統中分別註冊了電子郵件帳號、銀行帳號、學生學號和身份證字號等作為他個人的使用者識別稱呼,而此集合式檔案內的每筆個別的記錄中的系統識別稱呼識別了唯一的系統工作站,同時也作為一個索引資訊,用來從此集合式檔案中,搜尋取得密碼金鑰三元件之組合及對應的使用者識別稱呼。As shown in Fig. 9, a collective authentication data piece is a collection of records of a plurality of individual authentication data pieces. The record of each individual certification data item consists of the following three items: (1) a system identification name of a system workstation to be logged in; (2) a combination of three components of a cryptographic key; (3) A recognized name for a user. Each cryptographic key three component combination contains three components: (1) a public modulus; (2) a public index; and (3) a private key correlation index. The record of each individual authentication data item in the collection indicates that the user has registered one of his user identification names and a public key on a certain system workstation. In this collection, each user identification name can be unique or repetitive, as is the public key. In this illustration, the user who owns this collection file registers the email account, bank account number, student number and ID number, etc. as their personal user identification names in different systems, and this collective file The system identification name in each individual record identifies the unique system workstation, and also serves as an indexing information for searching and obtaining the combination of the three components of the cryptographic key and the corresponding user identification name from the collective file. .

在第9圖中,編號910、920、930分別代表一個系統識別稱呼、一個密碼金鑰三元件之組合、及一個使用者識別稱呼,編號940為一筆個別的認證資料件之記錄,而編號922、924、926則分別代表一個公開模數、一個公開指數、及一個私密金鑰相關指數。In Fig. 9, numbers 910, 920, and 930 represent a system identification name, a combination of a cryptographic key three elements, and a user identification name, and number 940 is a record of an individual authentication data item, and number 922 924 and 926 represent a public modulus, a public index, and a private key correlation index, respectively.

集合式認證資料件是等同於管理識別資訊與登入資料的個人用資料管理夾。依據註冊合約書的方法,將不需要公開金鑰憑證,因此使用者識別稱呼與註冊於系統內相對應的公開金鑰並沒有被一張CA所簽署的憑證連結在一起,而可以分別地予以變更。The collective authentication data piece is a personal data management folder equivalent to the management identification information and the login data. According to the method of registration of the contract, the public key certificate will not be required, so the user identification name and the public key corresponding to the registration in the system are not linked by a certificate signed by a CA, but can be separately change.

上述的特性讓使用者可以有彈性且簡單的管理自己的集合式認證資料件,並且允許他在一個網路環境中註冊多數個系統工作站,而且安全又方便地登入其中的系統。The above features allow users to flexibly and easily manage their own collection of authentication data, and allow him to register a large number of system workstations in a network environment, and securely and conveniently log into the system.

第10圖說明了在一個擁有多數個系統工作站的一個網路環境中,實行使用者認證的一個實施案。此圖所描述的工作流程幾乎與第6-1圖的工作流程相同,其差別在於:第10圖中使用了一個集合式認證資料件(1008),而第6-1圖則是使用了一個單一的密碼金鑰認證資料件(608)。第10圖的實施細節將於下文描述。Figure 10 illustrates an implementation of user authentication in a network environment with a majority of system workstations. The workflow described in this figure is almost the same as the workflow in Figure 6-1. The difference is that Figure 10 uses a collective authentication data piece (1008), while Figure 6-1 uses a A single password key authentication data piece (608). The implementation details of Fig. 10 will be described below.

元件1001為一位使用者用來登入系統的一部使用者工作站,元件1002則是該使用者欲登入的一部系統工作站。步驟1010,該使用者工作站從該使用者處接收到一個使用者識別稱呼(1005)、一個系統識別稱呼(1007)、以及一個通行碼的輸入PWD(1003),並進一步由使用者所提供的儲存設備中接收一個集合式認證資料件(1008);步驟1012,該使用者工作站利用該系統識別稱呼作為一個索引資訊,從集合式認證資料件中搜尋取得相對應的密碼金鑰三元件之組合;步驟1015,該使用者工作站向經由該系統識別稱呼決定的系統工作站發出登入之請求;步驟1020,該系統工作站產生一挑戰訊息C,該挑戰訊息C能夠以隨機方式產生;步驟1025,該系統工作站傳送該挑戰訊息C到該使用者工作站;步驟1040,該使用者工作站接收到該挑戰訊息C,並對所收到的訊息C計算出一數位簽章,計算公式如下:SGN(C)≡hash(C)f 1 ( P W D ) ×hash(C)v mod n;步驟1060,該使用者工作站藉由驗證同餘相等hash(C)≡((SGN(C)e )mod n,來驗證該數位簽章是否有效;步驟1062,若驗證結果是有效的,則繼續執行步驟1065,否則視情況需要重複回到步驟1010;步驟1065,該使用者工作站將該有效的數位簽章及該使用者識別稱呼(1005)包含於一個回應訊息中;步驟1070,該使用者工作站傳送該回應訊息到該系統工作站;步驟1080,該系統工作站以接收到之回應訊息中的該使用者識別稱呼作為一個索引資訊,從一個認證資料庫1075中搜尋取得一把已註冊的公開金鑰;步驟1085,該系統工作站藉由驗證同餘相等hash(C)≡((SGN(C)e )mod n,來驗證該回應訊息中的數位簽章是否有效,其中(n,e)是該已註冊的公開金鑰;步驟1090,該系統工作站根據驗證的結果授權或拒絕該登入之請求,並將此決定通知該使用者工作站;步驟1095,該使用者工作站接收到該登入請求之結果,並據此執行後續程序。在此實施案,步驟1080中該系統工作站所獲得之已註冊的公開金鑰,與步驟1012中該使用者工作站所取得的密碼金鑰三元件之組合(n,e,v)中的公開模數n與公開指數e所組成的公開金鑰相同。The component 1001 is a user workstation used by a user to log into the system, and the component 1002 is a system workstation that the user wants to log in to. Step 1010, the user workstation receives a user identification name (1005), a system identification name (1007), and a pass code input PWD (1003) from the user, and is further provided by the user. The storage device receives a collective authentication data piece (1008); in step 1012, the user workstation uses the system to identify the title as an index information, and searches for the corresponding combination of the three components of the cryptographic key from the collective authentication data piece. In step 1015, the user workstation sends a request for login to the system workstation identified by the system to identify the title; in step 1020, the system workstation generates a challenge message C, which can be generated in a random manner; step 1025, the system The workstation transmits the challenge message C to the user workstation; in step 1040, the user workstation receives the challenge message C and calculates a digital signature for the received message C, and the calculation formula is as follows: SGN(C)≡ Hash(C) f 1 ( P W D ) ×hash(C) v mod n; Step 1060, the user workstation verifies the congruence equal hash(C)≡((SGN(C) e ) mod n, to verify whether the digital signature is valid; step 1062, if the verification result is valid, continue to step 1065, otherwise it is necessary to repeat back to step 1010 as needed; in step 1065, the user workstation will be valid The digital signature and the user identification name (1005) are included in a response message; in step 1070, the user workstation transmits the response message to the system workstation; in step 1080, the system workstation receives the response message. The user identifies the title as an index information, and searches for a registered public key from an authentication database 1075; in step 1085, the system workstation equals the hash (C) by verifying the congruence ((SGN(C) e ) mod n to verify whether the digital signature in the response message is valid, where (n, e) is the registered public key; in step 1090, the system workstation authorizes or denies the login based on the result of the verification. Requesting, and notifying the user workstation of the decision; in step 1095, the user workstation receives the result of the login request and performs subsequent procedures accordingly. In step 1080, the registered public key obtained by the system workstation, and the public modulus n and the public index in the combination (n, e, v) of the three components of the cryptographic key obtained by the user workstation in step 1012. The public key composed of e is the same.

在第10圖所描述的流程所獲得的另一個實施案中,該集合式認證資料件可以用自動化的方式供使用者工作站存取,換言之,使用者工作站不需要來自使用者明確的指示便可取得個別的認證資料件之記錄。一般的使用者可能無法區分此一實施案與一般傳統通行碼系統間的差別,然而,如同前文所詳細說明的,在技術上確實有相當程度的差異。In another embodiment obtained by the process depicted in FIG. 10, the collective authentication profile can be accessed by the user workstation in an automated manner, in other words, the user workstation does not require explicit instructions from the user. Obtain a record of individual certified documents. A typical user may not be able to distinguish the difference between this embodiment and the conventional conventional passcode system, however, as explained in detail above, there is indeed a considerable degree of technical difference.

對於熟悉此技術領域的人來說,做出不背離本專利申請案之設計範圍或精神的各項修改或變化是可能的,這類的修改或變化將被視為本專利申請案的一部份,只要其修改或變化等同於本專利申請案中之說明。It is possible for those skilled in the art to make various modifications or variations that do not depart from the scope or spirit of the design of the patent application. Such modifications or variations will be considered as a part of this patent application. And, as long as the modification or change is equivalent to the description in this patent application.

唯以上所述之實施例,僅為本專利申請書中所描述到的方法與技術之較佳實施例而已,並非用來限定本專利申請案所能實施之範圍。故即凡依本申請案之申請範圍所述之形狀、構造、特徵及精神所為之均等變化或修飾,均應包括於本申請案之申請專利範圍內。The embodiments described above are merely preferred embodiments of the methods and techniques described in this patent application, and are not intended to limit the scope of the application. Therefore, any change or modification of the shape, structure, characteristics and spirit described in the application scope of the present application is intended to be included in the scope of the patent application of the present application.

110...步驟110. . . step

120...步驟120. . . step

130...步驟130. . . step

140...步驟140. . . step

150...步驟150. . . step

160...步驟160. . . step

170...步驟170. . . step

180...步驟180. . . step

210...公開、私密金鑰對210. . . Public, private key pair

220...公開金鑰220. . . Public key

230...表達元件之關聯性的連結線230. . . a connecting line that expresses the relevance of components

240...表達元件之關聯性的連結線240. . . a connecting line that expresses the relevance of components

250...第一認證資料件,即個人化秘密,以符號s表示之250. . . The first certified data piece, that is, the personalized secret, is represented by the symbol s

260...第二認證資料件,即密碼金鑰認證資料件260. . . The second authentication data piece, that is, the password key authentication data piece

270...更新程序270. . . Update program

280...新的第一認證資料件,以符號s’表示之280. . . New first certified data piece, represented by the symbol s’

300...第二認證資料件產生程序300. . . Second certified data piece generation program

305...個人化秘密,以符號s表示之305. . . Personalized secret, represented by the symbol s

310...步驟310. . . step

312...質數p312. . . Prime number p

314...質數q314. . . Prime number q

330...步驟330. . . step

332...暫時值,以符號u表示之332. . . Temporary value, represented by the symbol u

340...產生RSA公開、私密金鑰對的計算程序340. . . Generate RSA public, private key pair calculation program

342...私密金鑰,以符號d表示之342. . . Private key, represented by the symbol d

344...公開模數,以符號n表示之344. . . Expose the modulus, denoted by the symbol n

346...公開指數,以符號e表示之346. . . Public index, represented by the symbol e

350...步驟350. . . step

355...私密金鑰相關指數,以符號v表示之355. . . Private key correlation index, represented by the symbol v

360...步驟360. . . step

370...步驟370. . . step

375...密碼金鑰三元件之組合,視為第二認證資料件375. . . The combination of the three components of the cryptographic key is regarded as the second certified data piece.

380...步驟380. . . step

385...持久性記憶體385. . . Persistent memory

402...個人化秘密,以符號s表示之402. . . Personalized secret, represented by the symbol s

404...公開模數,以符號n表示之404. . . Expose the modulus, denoted by the symbol n

406...公開指數,以符號e表示之406. . . Public index, represented by the symbol e

408...私密金鑰相關指數,以符號v表示之408. . . Private key correlation index, represented by the symbol v

409...持久性記憶體409. . . Persistent memory

410...步驟410. . . step

420...步驟420. . . step

430...確認被驗證的數位簽章是否有效430. . . Confirm that the verified digital signature is valid

440...步驟440. . . step

445...新的個人化秘密,以符號s’表示之445. . . New personalization secret, represented by the symbol s’

450...步驟450. . . step

460...步驟460. . . step

470...步驟470. . . step

501...處理器執行的工作501. . . The work performed by the processor

502...處理器執行的工作502. . . The work performed by the processor

503...個人化秘密,以符號s表示之503. . . Personalized secret, represented by the symbol s

504...公開模數,以符號n表示之504. . . Expose the modulus, denoted by the symbol n

506...公開指數,以符號e表示之506. . . Public index, represented by the symbol e

508...私密金鑰相關指數,以符號v表示之508. . . Private key correlation index, represented by the symbol v

509...存有密碼金鑰三元件之組合的持久性記憶體509. . . Persistent memory with a combination of three components of a cryptographic key

510...步驟510. . . step

512...步驟512. . . step

514...步驟514. . . step

516...步驟516. . . step

520...步驟520. . . step

525...步驟525. . . step

528...步驟528. . . step

530...步驟530. . . step

535...步驟535. . . step

540...步驟540. . . step

542...步驟542. . . step

545...步驟545. . . step

550...步驟550. . . step

560...確認被驗證的數位簽章是否有效560. . . Confirm that the verified digital signature is valid

565...新的個人化秘密,以符號s’表示之565. . . New personalization secret, represented by the symbol s’

570...步驟570. . . step

575...步驟575. . . step

580...步驟580. . . step

585...步驟585. . . step

590...步驟590. . . step

595...步驟595. . . step

601...使用者工作站執行的工作601. . . Work performed by the user's workstation

602...系統工作站執行的工作602. . . Work performed by the system workstation

603...通行碼之輸入,以符號PWD表示之603. . . Enter the pass code, represented by the symbol PWD

605...使用者識別稱呼605. . . User identification

607...系統識別稱呼607. . . System identification

608...存有密碼金鑰三元件之組合的持久性記憶體608. . . Persistent memory with a combination of three components of a cryptographic key

610...步驟610. . . step

615...步驟615. . . step

620...步驟620. . . step

625...步驟625. . . step

630...步驟630. . . step

640...步驟640. . . step

641...步驟641. . . step

642...步驟642. . . step

643...步驟643. . . step

644...步驟644. . . step

645...步驟645. . . step

646...步驟646. . . step

651...處理器執行的工作651. . . The work performed by the processor

652...處理器執行的工作652. . . The work performed by the processor

660...步驟660. . . step

662...確認被驗證的數位簽章是否有效662. . . Confirm that the verified digital signature is valid

665...步驟665. . . step

670...步驟670. . . step

675...使用者認證資料庫675. . . User authentication database

680...步驟680. . . step

685...步驟685. . . step

690...步驟690. . . step

695...步驟695. . . step

801...使用者工作站執行的工作801. . . Work performed by the user's workstation

802...系統工作站執行的工作802. . . Work performed by the system workstation

803...系統識別稱呼803. . . System identification

804...使用者識別稱呼804. . . User identification

810...步驟810. . . step

815...步驟815. . . step

820...步驟820. . . step

825...使用者認證資料庫825. . . User authentication database

830...步驟830. . . step

835...步驟835. . . step

840...步驟840. . . step

845...步驟845. . . step

850...步驟850. . . step

852...步驟852. . . step

855...步驟855. . . step

860...步驟860. . . step

865...步驟865. . . step

900...集合式認證資料件900. . . Collective certified data piece

910...系統識別稱呼910. . . System identification

920...密碼金鑰三元件之組合920. . . Combination of three components of cryptographic key

922...公開模數,以符號n表示之922. . . Expose the modulus, denoted by the symbol n

924...公開指數公開指數,以符號e表示之924. . . Public index public index, represented by the symbol e

926...私密金鑰相關指數,以符號v表示之926. . . Private key correlation index, represented by the symbol v

930...使用者識別稱呼930. . . User identification

940...集合式認證資料件中的一筆記錄,此記錄包含一個系統識別稱呼、一個密碼金鑰三元件之組合、及一個使用者識別稱呼940. . . A record in a collective authentication document, the record containing a system identification name, a combination of three components of a cryptographic key, and a user identification name

1001...使用者工作站執行的工作1001. . . Work performed by the user's workstation

1002...系統工作站執行的工作1002. . . Work performed by the system workstation

1003...通行碼之輸入,以符號PWD表示之1003. . . Enter the pass code, represented by the symbol PWD

1005...使用者識別稱呼1005. . . User identification

1007...系統識別稱呼1007. . . System identification

1008...存有集合式認證資料件的儲存設備1008. . . Storage device with aggregated authentication data

1010...步驟1010. . . step

1012...步驟1012. . . step

1015...步驟1015. . . step

1020...步驟1020. . . step

1025...步驟1025. . . step

1040...步驟1040. . . step

1060...步驟1060. . . step

1062...確認被驗證的數位簽章是否有效1062. . . Confirm that the verified digital signature is valid

1065...步驟1065. . . step

1070...步驟1070. . . step

1075...使用者認證資料庫1075. . . User authentication database

1080...步驟1080. . . step

1085...步驟1085. . . step

1090...步驟1090. . . step

1095...步驟1095. . . step

本文件中的附圖是為了提供對本專利申請案更進一步的瞭解所繪製,且合併於本專利申請案中,作為其一部分。在附圖中:第1圖描述了本專利申請案所利用的「挑戰與回應」之程序,作為使用者端與系統端之間的通訊架構,在此,一位使用者在使用者端提出兩個認證因子來請求登入該系統端,而系統端使用一把公開金鑰來驗證;第2圖是一個觀念性的架構圖,說明了一對「公開、私密金鑰」(apublic/private key pair)的連結角色,連結使用者端的二個認證因子與系統端的一個驗證用資料,且進一步說明了一個更新程序,此更新程序允許使用者在保持系統端之驗證用資料不變的情況下,更新其所持有的二個認證因子;第3圖描述了產生第1圖與第2圖中所述的二個認證因子之程序,此程序來自前文所謂的第一公開案;第4圖描述了一個更新程序,以更新第3圖之程序所產生的兩個認證因子,此程序同樣來自前文所謂的第一公開案;第5-1圖與第5-2圖描述了第4圖所述更新程序的一個變化;第6-1圖是一個流程圖,描述了第1圖中所述「挑戰與回應」之程序的實施案範例;第6-2圖是一個流程圖,描述了在第6-1圖中當使用者工作站使用一個主動式處理器與一個被動式處理器時,其中的一個特定步驟之變化;第7圖描述了一份使用者公開金鑰合約書的範例,表達了使用者與某一系統端對公開金鑰使用上之協議,其目的是實現一個商業方法以取代傳統上使用的公開金鑰憑證(public-key certificate);第8圖描述了一個公開金鑰連線檢查程序,為第7圖中公開金鑰合約書之商業方法的一種補強方法;第9圖描述了集合式認證資料件之範例及其組成之元件,用於在一個擁有多個系統的網路環境中之使用者認證;第10圖描述了一個範例實施案,此實施案利用了第9圖之集合式認證資料件。The drawings in the present document are drawn to provide a further understanding of the present patent application and are incorporated herein by reference. In the drawings: Figure 1 depicts the "challenge and response" procedure used in this patent application as a communication architecture between the user and the system. Here, a user presents at the user end. Two authentication factors are requested to log in to the system, and the system uses a public key to verify; Figure 2 is a conceptual architecture diagram showing a pair of "public, private keys" (a public/private key) Pair), the link between the two authentication factors on the user side and a verification data on the system side, and further describes an update program that allows the user to keep the verification data on the system side unchanged. Updating the two authentication factors it holds; Figure 3 depicts the procedure for generating the two authentication factors described in Figures 1 and 2, which is from the so-called first disclosure; Figure 4 depicts An update procedure to update the two authentication factors generated by the procedure of Figure 3, which is also from the so-called first disclosure; the 5-1 and 5-2 depict the description of Figure 4. Update process A change in Figure 6-1 is a flow chart depicting an example of the implementation of the "challenge and response" procedure described in Figure 1; Figure 6-2 is a flow chart depicting the 6th Figure 1 shows a change in a specific step when the user workstation uses a proactive processor and a passive processor; Figure 7 depicts an example of a user public key contract that expresses the user and A system-side agreement on the use of public keys, the purpose of which is to implement a commercial method to replace the public-key certificate that is traditionally used; Figure 8 depicts a public key connection check procedure. , a reinforcement method for the business method of the public key contract in Figure 7; Figure 9 depicts an example of a collective authentication data piece and its components for use in a network environment with multiple systems User authentication; Figure 10 depicts an example implementation that utilizes the collective authentication data of Figure 9.

210...公開、私密金鑰對210. . . Public, private key pair

220...公開金鑰220. . . Public key

230...表達元件之關聯性的連結線230. . . a connecting line that expresses the relevance of components

240...表達元件之關聯性的連結線240. . . a connecting line that expresses the relevance of components

250...第一認證資料件,即個人化秘密,以符號s表示之250. . . The first certified data piece, that is, the personalized secret, is represented by the symbol s

260...第二認證資料件,即密碼金鑰認證資料件260. . . The second authentication data piece, that is, the password key authentication data piece

270...更新程序270. . . Update program

280...新的第一認證資料件,以符號s’表示之280. . . New first certified data piece, represented by the symbol s’

Claims (10)

一種以非對稱式密碼學為基礎的使用者認證方法,包含:一位使用者請求登入一部電腦系統時,提供一個第一輸入與一個第二輸入;當所提供的第一輸入與一個個人化秘密符合,且所提供的第二輸入與一個密碼金鑰認證資料件符合時,授權此位使用者登入此電腦系統,在此的密碼金鑰認證資料件包含一個公開模數、一個公開指數、一個與私密金鑰相關的指數,該密碼金鑰認證資料係由該第一輸入與兩個質數所產生;以及在沒有變更此公開模數與此公開指數的情況下,變更原個人化秘密為一個新的秘密且更新私密金鑰相關指數。 A user authentication method based on asymmetric cryptography, comprising: providing a first input and a second input when a user requests to log in to a computer system; and providing a first input and an individual The secret is met, and when the second input provided is consistent with a password key authentication data, the user is authorized to log into the computer system, where the password key authentication data piece includes a public modulus and a public index. An index associated with the private key, the cryptographic key authentication data is generated by the first input and the two prime numbers; and the original personalized secret is changed without changing the public modulo and the public index Be a new secret and update the private key correlation index. 如申請專利範圍第1項所述的方法中,其個人化秘密包含了一個使用者所選擇的通行碼。 In the method of claim 1, the personalization secret includes a pass code selected by the user. 如申請專利範圍第1項所述的方法,進一步包含:利用該個人化秘密和兩個奇質數在一個密碼金鑰產生的程序中產生該公開模數、公開指數、與私密金鑰相關的指數。 The method of claim 1, further comprising: generating the public modulus, the public index, and the index associated with the private key in a program generated by a cryptographic key using the personalized secret and two odd prime numbers . 如申請專利範圍第1項所述的方法中,更進一步的使用挑戰與回應的程序來授權登入系統。 In the method described in claim 1, the challenge and response procedure is further used to authorize the login system. 如申請專利範圍第4項所述的方法中,挑戰與回應的程序包含使用第一和第二輸入所產生的一個數位簽章來回應從電腦系統端傳來的挑戰。 In the method of claim 4, the challenge and response procedure includes responding to a challenge from the computer system using a digital signature generated by the first and second inputs. 如申請專利範圍第5項所述的方法,進一步包含在使用者端和電腦系統端兩者皆進行該數位簽章之驗證。 The method of claim 5, further comprising performing verification of the digital signature on both the user end and the computer system end. 一種以非對稱式密碼學為基礎的使用者認證方法,包含:藉由驗證數位簽章來允許登入的要求;以及使用一份註冊合約書上的一把公開金鑰來推翻被錯誤驗證為有效的一個數位簽章之效力。 A user authentication method based on asymmetric cryptography, including: requesting permission to log in by verifying a digital signature; and using a public key on a registration contract to overturn the error verification to be valid The effectiveness of a digital signature. 如申請專利範圍第7項所述的方法中,進一步包含使用該註冊合約書上的該公開金鑰,以解決有關數位簽章之有效性的爭議。 The method of claim 7, further comprising using the public key on the registration contract to resolve the dispute regarding the validity of the digital signature. 如申請專利範圍第7項所述的方法中,進一步包含檢查一把正確的公開金鑰是否可以在一部電腦系統工作站上被取用的程序。 The method of claim 7, further comprising the step of checking whether a correct public key can be accessed on a computer system workstation. 如申請專利範圍第9項所述的方法中,該公開金鑰之檢查程序包含:在一台使用者工作站,傳送一個隨機訊息給該電腦系統工作站;在該電腦系統工作站,由一把系統端的公開金鑰來推導出一把系統端的對稱式密碼金鑰;在該電腦系統工作站,使用該系統端的對稱式密碼金鑰當作一把加密金鑰,來加密該隨機訊息以得到一密文;在該電腦系統工作站,將該密文傳送給該使用者工作站;在該使用者工作站,由一把使用者端的公開金鑰推導出一把使用者端的對稱式密碼金鑰;在該使用者工作站,使用該使用者端的對稱式密碼金鑰當作一把解密金鑰,將該密文解密;以及在該使用者工作站,當其解密結果符合原隨機訊息時,決定該系統端的公開金鑰符合該使用者端的公開金鑰,也因此是正確的。In the method of claim 9, the public key checking program comprises: transmitting a random message to the computer system workstation at a user workstation; and at the computer system workstation, by a system end The public key is used to derive a symmetric cryptographic key on the system side; at the computer system workstation, the symmetric cryptographic key of the system is used as an encryption key to encrypt the random message to obtain a ciphertext; Transmitting the ciphertext to the user workstation at the computer system workstation; at the user workstation, a symmetric cryptographic key of the user end is derived from a public key of the user end; at the user workstation Using the symmetric cryptographic key of the user end as a decryption key to decrypt the ciphertext; and at the user workstation, when the decrypted result conforms to the original random message, it is determined that the public key of the system end is met. The public key of the user side is therefore correct.
TW95143961A 2006-10-06 2006-11-28 Authentication based on asymmetric cryptography utilizing rsa with personalized secret TWI381696B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/543,875 US7958362B2 (en) 2005-10-11 2006-10-06 User authentication based on asymmetric cryptography utilizing RSA with personalized secret

Publications (2)

Publication Number Publication Date
TW200818835A TW200818835A (en) 2008-04-16
TWI381696B true TWI381696B (en) 2013-01-01

Family

ID=44769595

Family Applications (1)

Application Number Title Priority Date Filing Date
TW95143961A TWI381696B (en) 2006-10-06 2006-11-28 Authentication based on asymmetric cryptography utilizing rsa with personalized secret

Country Status (1)

Country Link
TW (1) TWI381696B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831911B2 (en) 2017-12-19 2020-11-10 Industrial Technology Research Institute Method, computer program product and processing system for generating secure alternative representation
US10909261B2 (en) 2018-12-12 2021-02-02 Industrial Technology Research Institute Method and computer program product for generating secure alternative representation for numerical datum

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201042487A (en) * 2009-05-22 2010-12-01 Univ Chaoyang Technology Remote identity authentication method for verification based on biometrics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010858A1 (en) * 1997-06-18 2002-01-24 Hidemi Moribatake Method and apparatus for registration of information with plural institutions and recording medium with registration program stored thereon
US7083089B2 (en) * 2004-01-20 2006-08-01 Hewlett-Packard Development Company, L.P. Off-line PIN verification using identity-based signatures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010858A1 (en) * 1997-06-18 2002-01-24 Hidemi Moribatake Method and apparatus for registration of information with plural institutions and recording medium with registration program stored thereon
US7083089B2 (en) * 2004-01-20 2006-08-01 Hewlett-Packard Development Company, L.P. Off-line PIN verification using identity-based signatures

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831911B2 (en) 2017-12-19 2020-11-10 Industrial Technology Research Institute Method, computer program product and processing system for generating secure alternative representation
US10909261B2 (en) 2018-12-12 2021-02-02 Industrial Technology Research Institute Method and computer program product for generating secure alternative representation for numerical datum
TWI743457B (en) * 2018-12-12 2021-10-21 財團法人工業技術研究院 Method and computer program product for generating secure alternative representation for numerical datum

Also Published As

Publication number Publication date
TW200818835A (en) 2008-04-16

Similar Documents

Publication Publication Date Title
US7958362B2 (en) User authentication based on asymmetric cryptography utilizing RSA with personalized secret
JP4833489B2 (en) System, method and software for remote password authentication using multiple servers
US10797879B2 (en) Methods and systems to facilitate authentication of a user
Das et al. An improved and effective secure password-based authentication and key agreement scheme using smart cards for the telecare medicine information system
Li et al. Applying biometrics to design three‐factor remote user authentication scheme with key agreement
US8589693B2 (en) Method for two step digital signature
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
US8195951B2 (en) Data processing system for providing authorization keys
US9531540B2 (en) Secure token-based signature schemes using look-up tables
JP7259868B2 (en) system and client
Dong et al. Cryptographic Protocol
Frymann et al. Asynchronous remote key generation: An analysis of yubico's proposal for W3C webauthn
JP7231023B2 (en) Verification system, client and server
Odelu et al. A secure and efficient ECC‐based user anonymity preserving single sign‐on scheme for distributed computer networks
Giri et al. A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices
Das A secure and robust password-based remote user authentication scheme using smart cards for the integrated epr information system
Shakiba Security analysis for chaotic maps-based mutual authentication and key agreement using smart cards for wireless networks
WO2022076352A1 (en) zkMFA: ZERO-KNOWLEDGE BASED MULTI-FACTOR AUTHENTICATION SYSTEM
TWI381696B (en) Authentication based on asymmetric cryptography utilizing rsa with personalized secret
Tapiador et al. Cryptanalysis of Song's advanced smart card based password authentication protocol
Vogt et al. How Quantum Computers threat security of PKIs and thus eIDs
Paillier Paillier Encryption and Signature Schemes.
WO2022050833A1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
Kiefer Advancements in password-based cryptography
Murdoch et al. A Forward-secure Efficient Two-factor Authentication Protocol

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees