KR20230094252A - Method of creating account for electronic signature by secure multi-party computation - Google Patents

Method of creating account for electronic signature by secure multi-party computation Download PDF

Info

Publication number
KR20230094252A
KR20230094252A KR1020210183254A KR20210183254A KR20230094252A KR 20230094252 A KR20230094252 A KR 20230094252A KR 1020210183254 A KR1020210183254 A KR 1020210183254A KR 20210183254 A KR20210183254 A KR 20210183254A KR 20230094252 A KR20230094252 A KR 20230094252A
Authority
KR
South Korea
Prior art keywords
secure computing
user
private key
party secure
server
Prior art date
Application number
KR1020210183254A
Other languages
Korean (ko)
Inventor
배경일
장중혁
정우현
Original Assignee
주식회사 아톰릭스랩
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
Application filed by 주식회사 아톰릭스랩 filed Critical 주식회사 아톰릭스랩
Priority to KR1020210183254A priority Critical patent/KR20230094252A/en
Publication of KR20230094252A publication Critical patent/KR20230094252A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Abstract

본 발명은 사용자가 서비스 제공자의 서비스 가입을 위하여 계정의 인증 정보를 생성하고 이를 이용하여 서비스 사용권한과 사용자 데이터 접근권한을 인가받는 인증 시스템에 관한 것으로서, 사용자가 별도의 소프트웨어를 사전에 설치하지 않고 웹 브라우저 상에서 실행되는 소프트웨어 모듈로 작성된 다자 간 보안 컴퓨팅 모듈을 통해 비대칭키 암호 시스템을 위한 프라이빗키의 비밀 정보 조각을 서버와의 협력 연산을 통해 생성하고, 서비스 시스템에 공개키를 사용자 인증을 위한 식별자로 제공함으로써, 사용자가 비대칭키 암호 전자서명을 서비스 이용을 위한 인증 체계로 사용할 수 있도록 하는 방법에 있어, 사용자가 웹 브라우저로 특정 URL에 접속하여 다자 간 보안 컴퓨팅을 위한 web assembly 모듈을 사용자 단말에 다운로드하여 실행하는 단계, 사용자가 웹 브라우저에 계정 생성을 위한 사용자 ID와 패스워드를 입력하는 단계, 사용자 ID와 패스워드를 입력받은 다자 간 보안 컴퓨팅을 위한 클라이언트 소프트웨어가 다자 간 보안 컴퓨팅 서버와 접속하여 협력 연산을 통해 비대칭키 암호시스템을 위한 프라이빗키 비밀 정보 조각을 다자 간 보안 컴퓨팅을 위한 클라이언트 소프트웨어와 다자 간 보안 컴퓨팅 서버에 각각 생성하는 단계, 각자의 프라이빗키 비밀 정보 조각을 보유한 다자 간 보안 컴퓨팅을 위한 클라이언트 소프트웨어와 다자 간 보안 컴퓨팅 서버가 협력 연산하여 계정 공개키를 생성하는 단계, 다자 간 보안 컴퓨팅을 위한 클라이언트 소프트웨어가 사용자 단말에서 생성된 프라이빗키 비밀 정보 조각을 사용자가 입력한 패스워드를 암호키로 하여 암호화하여 원격의 저장소에 계정의 공개키와 사용자 입력 ID의 해시값과 함께 조합을 이루어 저장하는 단계, 계정 공개키와 사용자가 입력한 ID의 해시값을 서비스 계정 등록을 위한 저장 장치에 전달하여 사용자 계정의 식별자로 저장하는 단계를 포함하는 다자 간 보안컴퓨팅을 이용한 비대칭 암호시스템 기반 인증이 가능한 계정 생성 방법을 제공함으로써, 웹 기반 온라인 서비스의 사용자 단말에 별도의 비대칭키 암호시스템을 위한 클라이언트 소프트웨어를 사전에 설치하지 않고도 비대칭키 암호시스템 전자서명을 이용한 인증이 가능한 서비스 계정을 생성할 수 있게 함으로써 사용자가 단순한 ID, 패스워드로 가입하는 것과 같이 편리하면서도 안전하게 비대칭키 암호시스템 기반의 인증을 사용하는 서비스 계정을 생성하여 단순 ID 패스워드 기반의 인증 시스템이 가진 보안 취약점을 제거하고 서비스 시스템 내에서 사용자가 전자서명 서비스를 이용할 수 있게 만드는 효과를 얻을 수 있다.
또한, 본 발명에 따른 다자 간 보안 컴퓨팅(Secure Multi-party Computation, 이하 SMPC) 방식의 인증 시스템은 사용자에게 프라이빗키를 이용한 전자서명에 대한 통제력을 완전하게 제공하면서도, 사용자가 사용자 단말에 평문 또는 암호화된 프라이빗키를 보관하고 사용하는 상황에서 발생할 수 있는 보안 위협을 제거해 줌으로써 프라이빗키 관리로 인한 어려움 없이 전자서명을 통한 인증을 필요로 하는 서비스를 이용할 수 있게 해주고, 프라이빗키 탈취를 방어하기 위해 투입하는 사용자와 서비스 제공자의 비용을 매우 작게 만들어주는 효과가 있다.
The present invention relates to an authentication system in which a user creates account authentication information for subscribing to a service of a service provider and uses it to obtain permission to use services and access to user data, without requiring the user to install separate software in advance. Through a multi-party secure computing module written as a software module running on a web browser, secret information fragments of private keys for asymmetric key cryptosystems are generated through cooperative operation with the server, and public keys in the service system are used as identifiers for user authentication. In a method that allows users to use asymmetric key cryptographic digital signatures as an authentication system for service use, users connect to a specific URL with a web browser and install a web assembly module for multilateral secure computing on the user terminal. Step of downloading and executing, Step of the user entering a user ID and password for creating an account in a web browser, client software for multi-party secure computing receiving the user ID and password connects to the multi-party secure computing server for cooperative calculation Step of generating pieces of private key secret information for the asymmetric key cryptosystem in the client software for multi-party secure computing and the multi-party secure computing server respectively, Clients for multi-party secure computing holding their own pieces of private key secret information The software and the multi-party secure computing server cooperate to generate the account public key, and the client software for multi-party secure computing encrypts the private key secret information fragment generated from the user terminal using the password entered by the user as the encryption key. Storing the combination of the public key of the account and the hash value of the ID input by the user in a remote storage, transferring the public key of the account and the hash value of the ID input by the user to the storage device for registering the service account, By providing an account creation method capable of authentication based on an asymmetric cryptographic system using multi-party secure computing including storing as an identifier, client software for a separate asymmetric key cryptographic system is pre-installed in a user terminal of a web-based online service. It is possible to create a service account that can be authenticated using an asymmetric key cryptographic system digital signature without having to create a service account that uses an asymmetric key cryptographic system-based authentication as convenient and safe as a user signing up with a simple ID and password. It is possible to obtain the effect of removing the security weakness of the authentication system based on simple ID and password and enabling the user to use the digital signature service within the service system.
In addition, the authentication system of the Secure Multi-party Computation (SMPC) method according to the present invention completely provides the user with control over the digital signature using the private key, while allowing the user to send plain text or encrypted text to the user terminal. By eliminating security threats that may occur in the case of storing and using the stored private key, it is possible to use services that require authentication through digital signatures without difficulties due to private key management, and to protect the theft of the private key. There is an effect of making the cost of users and service providers very small.

Description

다자 간 보안 컴퓨팅을 이용한 온라인 전자서명 계정 생성 방법 {Method of creating account for electronic signature by secure multi-party computation}Method of creating an online electronic signature account using multi-party secure computing {Method of creating account for electronic signature by secure multi-party computation}

본 발명은 온라인 서비스에 접속하는 웹브라우저를 실행할 수 있는 클라이언트 단말에서 브라우저 상에서 실행되는 소프트웨어 모듈을 이용하여 서버와의 협력 연산을 통해 다자 간 보안 컴퓨팅을 수행함으로써 클라이언트 단말 내에 완전한 형태의 프라이빗키를 생성하지 않은 상태에서 클라이언트 단말과 서버가 나누어 생성한 프라이빗키 조각을 이용한 협력 연산 과정을 통해 완전한 프라이빗키를 가진 하나의 단말이 특정한 연산을 수행한 것과 같은 결과를 생산하는 다자 간 보안 컴퓨팅 방식의 연산을 위한 프라이빗키 비밀 정보 조각을 클라이언트 단말과 서버에 각각 생성하여 이를 이용하여 계정을 생성하여 등록하고 이를 백업하는 방법에 관한 것으로서, 보다 자세하게는 웹 브라우저 상에서 실행되는 소프트웨어 모듈이 접근할 수 있는 단말 내 저장소가 다자 간 보안 컴퓨팅에 의해 생성한 프라이빗키 비밀 정보 조각을 안정적으로 저장하기 어려운 상황에도 불구하고 이 프라이빗키 비밀 정보 조각을 원격의 서버에 안전하게 저장하고 ID와 패스워드 입력 수준의 사용자 인증을 통해 이를 임의의 브라우저에서 쉽게 재로딩하여 사용할 수 있게 하여, 별도의 비대칭키 암호시스템의 키쌍 생성과 보관을 위한 비대칭키 암호 시스템을 위한 사용자 단말용 소프트웨어를 설치하지 않고도 다자 간 보안 컴퓨팅 지갑을 웹사이트 접속만으로 사용하여 서비스 사용자가 전자서명을 이용할 수 있는 계정을 생성하고 등록할 수 있게 만드는 방법에 대한 것이다.The present invention generates a complete private key in a client terminal by performing multilateral security computing through cooperative calculation with a server using a software module running on a browser in a client terminal capable of executing a web browser accessing an online service. Multilateral secure computing method operation that produces the same result as if a single terminal with a complete private key performed a specific operation through a cooperative operation process using private key fragments generated by dividing the client terminal and the server without It relates to a method of creating and registering an account by creating pieces of private key secret information on a client terminal and a server, respectively, and backing them up. More specifically, a storage in a terminal that can be accessed by software modules running on a web browser. Despite the situation where it is difficult to reliably store pieces of private key secret information generated by multilateral secure computing, this piece of private key secret information is safely stored on a remote server and randomly accessed through user authentication at the level of ID and password input. It can be easily reloaded and used in the browser of a separate asymmetric key cryptosystem for key pair generation and storage of asymmetric key cryptosystem, without installing software for user terminals, using multi-party secure computing wallet only by accessing the website This is how to enable service users to create and register accounts that can use digital signatures.

어떤 온라인 서비스에 대한 접근의 권한을 온라인에서 확인하기 위해서는, 미리 등록된 '계정'과 그 계정에 접근할 권한을 가진 사용자임을 확인할 수 있는 '인증 정보'를 필요로 한다. 대개 그 '인증 정보'는 패스워드나 그것의 해시값과 같이 권한을 가진 사람이 생성하여 등록하였기 때문에 다른 사람들은 알 수 없는 정보가 사용된다.In order to verify the right to access an online service online, a pre-registered 'account' and 'authentication information' to confirm that a user has the right to access the account are required. Usually, the 'authentication information' is created and registered by a person with authority, such as a password or its hash value, so information that others cannot know is used.

그러나 사용자가 입력한 정보를 평문 또는 해시함수에 의해 해시된 값의 형태로 서비스 제공자의 단말에 저장하고 이를 사용자가 보내오는 인증 요청에 포함된 인증 정보와 비교하여 접근 허용 여부를 결정하는 시스템은, 이 정보가 탈취되는 상황에 비인가자의 접근에 노출되는 문제점을 안고 있다.However, a system that stores the information entered by the user in the form of plain text or hashed values by a hash function in the terminal of the service provider and compares it with the authentication information included in the authentication request sent by the user to determine whether to allow access, In the situation where this information is stolen, it has a problem of being exposed to unauthorized persons' access.

이러한 문제를 해결하기 위해 서비스 제공자들은 인증 시스템이 비인가자의 접근에 노출되지 않도록 하기 위해, 사용자 인증을 서로 독립적인 두 개 이상의 방법으로 하여 보안성을 높이거나, 인증 정보의 탈취를 막기 위해 사용자 단말과 서비스 제공자의 인증 정보 관리 체계에 다양한 보안 기술들을 적용함으로써 많은 비용을 부담하여 이 문제에 대응하고 있다.In order to solve this problem, service providers increase security by using two or more independent methods for user authentication to prevent the authentication system from being exposed to unauthorized access, or to prevent stealing of authentication information by using user terminals and By applying various security technologies to the service provider's authentication information management system, it is responding to this problem at a high cost.

여기에 적용되는 보안 기술 시스템 중 하나가 비대칭키 암호시스템을 이용한 공개키 기반 구조로서, 사용자와 서비스 제공자가 모두 신뢰할 수 있는 공개키 등록 절차와 보관소, 공개키 조회를 통한 전자서명 검증에 의한 사용자 및 거래 인증 시스템이 그것이다.One of the security technology systems applied here is a public key infrastructure using an asymmetric key cryptosystem, which is a public key registration procedure and storage that both users and service providers can trust, users and users by digital signature verification through public key inquiry. It is a transaction authentication system.

일반적으로 비대칭키 암호시스템 상에서 프라이빗키와 공개키의 쌍을 생성하여 사용자가 공개키를 아이덴티티로 하여 암호화나 전자서명에 사용하기 위해서는 사용자의 단말에서 프라이빗키와 공개키 쌍을 생성하여 공개키를 정해진 방식으로 공개함으로써, 프라이빗키를 이용한 암호화나 전자서명을 수행하는 방법으로 공개키와 쌍을 이루는 프라이빗키를 통제하는 주체임을 인증하는 방식을 사용한다. 이러한 비대칭키 암호를 이용한 인증을 위해서는 사용자가 해커 등의 인가받지 않은 제3자에게 자신의 프라이빗키를 노출시키지 않고 보관 및 사용을 할 수 있다는 것을 전제로 하여야 한다. 그러나 사용자의 단말은 사용자의 관리 능력 부족이나 소프트웨어의 보안 취약성 등으로 인해 쉽게 해커의 공격에 노출되므로 자신의 단말에 대한 보안 관리 능력을 갖지 못한 일반 사용자가 비대칭키 암호를 이용한 인증 또는 전자서명을 이용하는 것은 쉽지 않다.In general, in order to generate a pair of private key and public key on an asymmetric key cryptosystem and use the public key as an identity for encryption or digital signature, the user's terminal generates a pair of private key and public key and determines the public key. By disclosing it in a way, it uses a method of authenticating that it is the subject controlling the private key paired with the public key by performing encryption or electronic signature using the private key. For authentication using such asymmetric key cryptography, it must be premised that the user can store and use his private key without exposing his private key to an unauthorized third party such as a hacker. However, since the user's terminal is easily exposed to hacker attacks due to the user's lack of management ability or security vulnerability of software, general users who do not have the security management ability of their own terminal use authentication using asymmetric key cryptography or digital signature. It's not easy.

그러나 이러한 공개키 기반 구조는 등록 기관이나 인증 기관을 전제로 하므로 비용이 높고 사용자 편의성을 해칠 뿐 아니라, 사용자가 보유하게 되는 공개키와 프라이빗키의 탈취에 의한 위험이 인증서 암호의 보안 강도에 의존하고 있을 뿐이어서, 비인가자에 의한 서비스 접근의 결과로 발생하는 책임을 사용자에게 전가하는 효과 이상의 충분한 보안성을 제공하지 못하는 문제가 지적되고 있다.However, since this public key infrastructure is premised on a registration authority or a certification authority, it is expensive and harms user convenience, and the risk of stealing the public and private keys held by the user depends on the security strength of the certificate password. However, the problem of not providing sufficient security beyond the effect of shifting the responsibility arising as a result of service access by unauthorized persons to the user has been pointed out.

이러한 문제를 해결하기 위해, 사용자의 편의성은 높이면서도 공개키 기반 구조가 가진 전자 서명 가능한 키 분배 기능을 유지하고, 사용자 단말에서 키 관리 부담이 적은 간편 인증 기술에 대한 연구개발이 이루어져 왔고, 이는 사용자 단말이 USIM이나 ICCard, Trustzone과 같은 안전 저장 공간이 있는 경우 사용자 단말에서 개인키를 보관하고, 그렇지 않은 경우에는 사용자 단말에 개인키를 보관하지 않고 사용자가 입력한 패스워드와 서비스 서버에서 제공되는 난수 시드를 이용하여 생성한 개인키를 서버에 보관하여 전자서명을 위임하여 처리하는 간편 인증 기반 전자서명 기술의 등장으로 귀결되었다.In order to solve this problem, research and development have been conducted on simple authentication technology that increases user convenience while maintaining the digital signature key distribution function of the public key infrastructure and reducing the burden of key management in user terminals. If the terminal has a safe storage space such as USIM, ICCard, or Trustzone, the user terminal stores the private key. Otherwise, the user terminal does not store the private key, and the password entered by the user and the random number seed provided by the service server This led to the emergence of simple authentication-based digital signature technology that stores the private key generated using the server in the server and delegates and processes the digital signature.

이러한 문제를 해결하기위한 수단으로 사용할 수 있는 기술이 다자간 보안컴퓨팅(Secure Multi-party Computation, 이하 SMPC)이다. SMPC는 복수의 참여자가 각자의 비밀 정보 조각을 가지고 협력 연산에 참여하지만 서로에게 자신이 보유한 비밀 정보 조각을 노출시키지 않은채로 연산의 결과를 만들 수 있기 때문에, N명 중에 t 명의 비밀 정보 조각이 있으면 복구할 수 있는 비밀 정보를 입력값으로 하는 연산을 각자의 비밀 정보 조각을 노출하여 합쳐서 비밀 정보를 만들지 않고도 계산할 수 있게 해준다. 특히 이러한 연산 중에 연산 결과를 가지고 입력값을 추론하기 어려운 연산에 적용할 경우, 연산 결과가 공개되더라도 비밀 정보가 노출되지 않기 때문에, 비밀 정보의 노출없이 반복적으로 여러번 협력 연산을 수행할 수 있고 사용자에게 다양한 복구 시나리오를 제공하면서도 보안성을 유지할 수 있는 장점이 있다.A technology that can be used as a means to solve this problem is Secure Multi-party Computation (SMPC). In SMPC, multiple participants participate in cooperative computation with their own secret information pieces, but can produce the result of the operation without exposing their secret information pieces to each other, so if there are t pieces of secret information among N people, It allows operations that take recoverable secret information as input to be computed without creating secret information by exposing and combining individual pieces of secret information. In particular, when applied to an operation in which it is difficult to deduce an input value with an operation result during such an operation, since secret information is not exposed even if the operation result is disclosed, cooperative operation can be repeatedly performed many times without exposing secret information, and the user can be informed. It has the advantage of maintaining security while providing various recovery scenarios.

그러나 사용자 단말 이러한 다자 간 보안 컴퓨팅을 이용한 분산키 생성이나 분산 서명을 사용하기 위해서는, 사용자 단말에 다자 간 보안 컴퓨팅을 위한 소프트웨어가 사전에 설치되어야 하고, 사용자 단말에 설치된 다자 간 보안 컴퓨팅 소프트웨어와 다자 간 보안 컴퓨팅 서버 간에 협력 연산을 통해 생성한 프라이빗키 비밀 정보 조각의 유실 시에 이를 복구하기 위해 니모닉 키워드 조합을 백업하여 복구 방법을 확보하여야 하므로 일반 사용자가 이를 사용하는데 어려움이 있다.However, in order to generate a distributed key or use a distributed signature using such multi-party secure computing at the user terminal, software for multi-party secure computing must be installed in the user terminal in advance, and the multi-party secure computing software installed on the user terminal and the multi-party secure computing software It is difficult for general users to use it because it is necessary to secure a recovery method by backing up the mnemonic keyword combination in order to recover the private key secret information fragment generated through cooperative operation between secure computing servers.

본 발명은, 사용자가 온라인 서비스에 가입하려는 상황에서 보안적 취약성이 큰 ID, 패스워드 방식이 아닌 비대칭키 암호시스템을 이용한 전자서명 방식을 사용하면서도, 자신의 패스워드나 ID, 프라이빗키 등을 서비스 시스템이나 그 관리자 또는 사용자 단말을 장악한 제3자에게 노출시키지 않고 서비스 시스템이나 그 시스템 관리자에게 계정 복구의 권한을 위임하는 방식의 계정 복구 방식이 아닌 본인이 기억하고 있는 ID, 패스워드만으로 계정의 프라이빗키에 대한 통제권을 복구하는 복구 방식을 제공하여, 보안성이 높은 인증 수단과 전자서명 수단을 사용자 편의성이 높고 서비스 제공자 비용이 낮게 제공하는 것을 목적으로 한다.In the present invention, in a situation where a user intends to subscribe to an online service, a digital signature method using an asymmetric key encryption system is used instead of an ID and password method, which have a large security vulnerability, and a user's password, ID, private key, etc. It is not an account recovery method in which the account recovery authority is delegated to the service system or the system administrator without exposing the administrator or user terminal to a third party who has taken control of the user's terminal. Its purpose is to provide a highly secure authentication method and digital signature method with high user convenience and low cost to service providers by providing a recovery method that restores control over the system.

상기와 같은 목적을 달성하기 위해, Yahuda Lindell이 고안한 곱셈 복원가능 비밀 정보 조각을 이용한 다자간 보안컴퓨팅 기술(Lindell, Y.: Fast secure two-party ecdsa signing. In: Annual International Cryptology Conference. pp. 613-644. Springer (2017))을 이용하여 사용자 단말의 브라우저 상에서 실행되는 다자 간 보안 컴퓨팅 클라이언트 소프트웨어가 다자 간 보안 컴퓨팅 서버에게 자신의 패스워드나 개인키를 노출시키지 않고, 프라이빗키의 비밀 정보 조각을 곱셈 복원가능 정보 조각의 형태로 다자 간 보안 컴퓨팅 클라이언트 소프트웨어와 다자 간 보안 컴퓨팅 서버가 협력하여 생성하고, 각자 자신이 생성한 프라이빗키 비밀 정보 조각을 보관하고, 각자가 보유한 프라이빗키 비밀 정보 조각을 서로에게 노출시키지 않고 안전한 통신 채널을 이용하여 부분 연산 결과를 주고 받으며 협력하여 서명 가능하고, 사용자가 ID, 패스워드 입력만으로 임의의 단말에서 해당 서비스에 접속하여 원격에 보관된 프라이빗키 비밀 정보 조각을 ID, 패스워드 입력만으로 획득하여 프라이빗키를 이용한 전자 서명 통제권을 복구하여 사용하는 방법을 제공한다. In order to achieve the above purpose, multilateral secure computing technology (Lindell, Y.: Fast secure two-party ecdsa signing. In: Annual International Cryptology Conference. pp. 613 -644. Using Springer (2017)), the multi-party secure computing client software running on the browser of the user terminal multiplies the secret information fragment of the private key without exposing its password or private key to the multi-party secure computing server. In the form of restorable information fragments, the multi-party secure computing client software and the multi-party secure computing server cooperate to create pieces of private key secret information generated by each party, and share private key secret information fragments held by each other with each other. It is possible to send and receive partial operation results using a secure communication channel without exposing them, and to sign them in cooperation. Users access the service from any terminal by simply entering their ID and password, and the private key secret information stored remotely is stored in the ID and password. It provides a way to recover and use the electronic signature control right using the private key by acquiring it only by inputting it.

본 발명의 실시예에서는, 상술한 바와 같이, 본 발명에 따른 인증 정보 생성이 이루어지게 함으로써, 사용자 단말에 저장된 인증 정보의 보안 위험을 낮추고 서비스 제공자가 보관하는 인증 정보의 보안 위험을 동시에 낮추면서도 사용자에게 다양한 상황에서 편리한 계정 복구 시나리오를 제공할 수 있도록 하여, 사용자에게는 인증정보 및 개인키 관리 부담을 경감시키면서 전자서명 인증 서비스를 이용할 수 있게 하고, 서비스 제공자에게는 서비스 이용자의 인증 정보 보안을 위한 비용을 절감시키는 방법을 제공할 것이다.In the embodiment of the present invention, as described above, by generating authentication information according to the present invention, the security risk of authentication information stored in the user terminal is lowered and the security risk of authentication information stored by the service provider is lowered at the same time. By providing convenient account recovery scenarios in various situations, users can use digital signature authentication services while reducing the burden of managing authentication information and private keys, and service providers are free from costs for securing authentication information of service users. We will provide you with a way to save money.

도 1은 본 발명의 실시예에 따른 ID, 패스워드 기반의 비대칭키 암호 계정 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 ID, 패스워드 설정을 통한 비대칭키 암호 계정 생성 방법의 동작흐름도이다.
1 is a block diagram of an asymmetric key cryptographic account system based on ID and password according to an embodiment of the present invention.
2 is an operation flowchart of a method for generating an asymmetric key password account through ID and password settings according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated.

다자간 보안 컴퓨팅 기술을 이용하여 ECDSA 비대칭키 암호알고리즘을 사용하는 암호 시스템을 기초로 사용자 단말의 웹 브라우저에서 실행되는 소프트웨어 모듈과 서비스 제공 단말 간에 곱셈 복원가능 비밀 정보 조각을 인증 정보 생성하여 사용하는 사용자 인증 시스템으로, 이를 구성하는 방법을 설명하기로 한다. User authentication that generates and uses authentication information pieces that can be multiplied and restored between the software module running in the web browser of the user terminal and the service providing terminal based on the encryption system using the ECDSA asymmetric key cryptographic algorithm using multilateral security computing technology As a system, we will explain how to configure it.

도 1은 본 발명의 실시예에 따른 ECDSA 비대칭키 암호알고리즘을 사용하는 프라이빗키의 Secure Multi Party Computation(이하 'SMPC'라 한다) 비밀 정보조각 생성을 사용하는 ID, 패스워드 기반의 비대칭키 암호 계정 시스템의 구성도이다.1 is an ID and password-based asymmetric key cryptographic account system using Secure Multi Party Computation (hereinafter referred to as 'SMPC') secret information fragment generation of a private key using the ECDSA asymmetric key cryptographic algorithm according to an embodiment of the present invention. is the composition of

먼저, 사용자는 사용자 단말(100)의 브라우저를 이용하여 가입하려는 서비스의 URL(U)에 접속한다. 이때 서비스 서버(200)는 자바스크립트나 web assembly와 같이 브라우저에서 실행 가능한 다자 간 보안 컴퓨팅 소프트웨어를 고객의 단말에 전달하고 그 소프트웨어의 실행을 통해 사용자가 해당 서비스에 등록하려는 ID와 패스워드를 입력받는다. 필요에 따라서는 해당 세션의 보안을 강화하거나 전자 서명 단계에서 보안을 강화하기 위한 추가 인증을 위한 방법인 Google Authenticator와 같은 보안 수단을 등록할 수도 있다.First, the user accesses the URL (U) of the service to be subscribed to using the browser of the user terminal 100 . At this time, the service server 200 delivers multilateral security computing software executable in a browser, such as JavaScript or web assembly, to the customer's terminal, and receives an ID and password that the user intends to register for the corresponding service through execution of the software. If necessary, you can also register security measures such as Google Authenticator, which is a method for strengthening the security of the session or for additional authentication to enhance security at the electronic signature stage.

이렇게 서비스 가입을 위한 정보가 입력된 상태에서, 사용자는 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)과 다자 간 보안 컴퓨팅 서버(300) 간의 협력 연산을 통해, 클라이언트용 프라이빗키 비밀 정보 조각과 서버용 프라이빗키 비밀 정보 조각, 두 프라이빗키 비밀 정보 조각의 대수적 곱으로 정의된 프라이빗키에 대응되는 공개키의 생성과 이 정보들을 이용한 계정의 생성을 요청할 수 있다. 이때 프라이빗키 비밀 정보 조각 생성 방법을 설명하면 다음과 같다.In the state in which information for service subscription is entered in this way, the user obtains a piece of private key secret information for the client and a private key for the server through a cooperative operation between the multi-party secure computing client software module 110 and the multi-party secure computing server 300. It is possible to request generation of a public key corresponding to a private key defined as an algebraic product of a secret information fragment, two private key secret information fragments, and an account creation using this information. At this time, the method of generating private key secret information fragments is as follows.

도 2를 참조하면, 사용자의 웹 브라우저에서 실행되는 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)은 다자 간 보안 컴퓨팅 서버(300)와의 통신을 통해, 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)과 다자 간 보안 컴퓨팅 서버(210)에 각각 랜덤값 R1, R2를 생성한다. 이때 프라이빗키(SK)는 각자의 랜덤 값의 곱인 R1 * R2로 정의되나 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)이 실행되는 사용자 단말 내의 정보만으로는 프라이빗키를 알 수 없고 마찬가지로 다자 간 보안 컴퓨팅 서버(300) 내의 정보만으로는 프라이빗키를 알 수 없다. Referring to FIG. 2 , the multi-party secure computing client software module 110 running in the user's web browser communicates with the multi-party secure computing server 300, and the multi-party secure computing client software module 110 and the multi-party secure computing server 300 communicate with each other. Random values R1 and R2 are generated in the secure computing server 210, respectively. At this time, the private key (SK) is defined as R1 * R2, which is the product of each random value, but the private key cannot be known only with information in the user terminal where the multi-party secure computing client software module 110 is executed, and similarly, the multi-party secure computing server ( 300), the private key cannot be known with only the information in it.

이 상태에서 프라이빗키(SK)에 대응하는 공개키(PK)를 생성하는 방법은 다음과 같다. In this state, a method of generating a public key (PK) corresponding to the private key (SK) is as follows.

다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)이 다자 간 보안 컴퓨팅 서버(300)와 협력 연산하여, 클라이언트용 프라이빗키 비밀 정보 조각(R1)과 서버용 프라이빗키 비밀 정보 조각(R2)의 곱(R1*R2)을 프라이빗키로 하는 공개키를 생성하기 위해, 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)은 다자 간 보안 컴퓨팅 서버(300)와의 암호화된 통신 채널을 통해 클라이언트 프라이빗키 비밀 정보 조각에 미리 정해진 타원곡선 암호 알고리즘의 제너레이터 G를 곱해서 나온 값(R1*G)을 다자 간 보안 컴퓨팅 서버(300)로 전송하고, 다자 간 보안 컴퓨팅 서버(300)는 서버용 프라이빗키 비밀 정보 조각(R2)에 미리 정해진 타원곡선 암호 알고리즘의 제너레이터 G를 곱한 값(R2*G)을 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)로 전송하며, 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)은 다자 간 보안 컴퓨팅 서버(300)로부터 받은 값(R2*G)에 자신이 보유한 클라이언트용 프라이빗키 비밀 정보 조각(R1)을 곱하여 공개키(PubKey=R1*R2*G=SK*G)를 생성하고, 다자 간 보안 컴퓨팅 서(300)버는 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈(110)로부터 받은 값(R1*G)에 자신의 서버용 프라이빗키 비밀 정보 조각(R2)을 곱하여 공개키(PubKey=R1*R2*G=SK*G)를 생성한다.The multi-party secure computing client software module 110 cooperates with the multi-party secure computing server 300 to calculate the product (R1*R2) of the private key secret information fragment (R1) for the client and the private key secret information fragment (R2) for the server. ) as a private key, the multi-party secure computing client software module 110 transmits a predetermined elliptic curve encryption to a piece of client private key secret information through an encrypted communication channel with the multi-party secure computing server 300. The value (R1*G) obtained by multiplying the generator G of the algorithm is transmitted to the multi-party secure computing server 300, and the multi-party secure computing server 300 transmits a predetermined elliptic curve password to the private key secret information piece (R2) for the server. The value (R2*G) multiplied by the generator G of the algorithm is transmitted to the multi-party secure computing client software module 110, and the multi-party secure computing client software module 110 receives the value received from the multi-party secure computing server 300 ( A public key (PubKey = R1 * R2 * G = SK * G) is generated by multiplying R2 * G) by the private key secret information fragment (R1) for the client, and the multi-party secure computing server 300 The public key (PubKey = R1 * R2 * G = SK * G) is generated by multiplying the value (R1 * G) received from the secure computing client software module 110 by the private key secret information piece (R2) for the server.

이 상태에서 다자간 보안 컴퓨팅 클라이언트 모듈(110)이 서비스 서버(300)에 계정을 등록하는 방법은 다음과 같다.In this state, a method for the multilateral secure computing client module 110 to register an account with the service server 300 is as follows.

다자간 보안 컴퓨팅 클라이언트 모듈(110)은 접속한 서비스 서버(300)의 URL(U)과 사용자 단말(100)로부터 입력받은 ID와 랜덤하게 생성한 클라이언트용 프라이빗키 비밀 정보 조각(R1), 다자간 보안 컴퓨팅 서버(200)와 협력 연산으로 생성한 공개키(PK)를 이용하여, 서비스 서버(300)에 URL(U)과 ID를 해시한 값(Hash(ID))과 공개키(PK)로 구성된 계정 정보를 등록한다.The multi-party secure computing client module 110 includes the URL (U) of the connected service server 300, the ID input from the user terminal 100, the randomly generated piece of private key secret information for the client (R1), and the multi-party secure computing An account composed of the hash value (Hash(ID)) of the URL (U) and ID in the service server 300 and the public key (PK) by using the public key (PK) generated by the server 200 and cooperative operation. register information

이 상태에서 다자간 보안 컴퓨팅 클라이언트 모듈(110)이 인증정보 백업서버(400)에 클라이언트용 프라이빗키 비밀 정보 조각(R1)을 암호화한 값(Enc(R1, PW))을 저장하는 방법은 다음과 같다.In this state, the multiparty secure computing client module 110 stores the encrypted value (Enc(R1, PW)) of the private key secret information fragment (R1) for the client in the authentication information backup server 400 as follows. .

다자간 보안 컴퓨팅 클라이언트 모듈(110)은 접속한 서비스 서버(300)의 URL(U)과 사용자 단말(100)로부터 입력받은 ID, 패스워드(PW)와 랜덤하게 생성한 클라이언트용 프라이빗키 비밀 정보 조각(R1), 다자간 보안 컴퓨팅 서버(200)와 협력 연산으로 생성한 공개키(PK)를 이용하여, 인증정보 백업서버(400)에 서비스 서버(300)에 URL(U)과 ID를 해시한 값(Hash(ID))과 공개키, 암호화된 R1(Enc(R1, PW))를 저장한다.The multilateral security computing client module 110 includes the URL (U) of the connected service server 300, the ID and password (PW) input from the user terminal 100, and a randomly generated private key secret information piece (R1) for the client. ), a hash value (Hash (ID)), public key, and encrypted R1 (Enc(R1, PW)) are stored.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not implemented only through devices and methods, and may be implemented through a program that realizes functions corresponding to the configuration of the embodiments of the present invention or a recording medium on which the program is recorded. Implementation can be easily implemented by an expert in the technical field to which the present invention belongs based on the description of the above-described embodiment.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also included in the scope of the present invention. that fall within the scope of the right.

Claims (2)

사용자 단말의 웹 브라우저 내에서 실행된 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈과 다자 간 보안 컴퓨팅 서버가 보안 통신 채널로 연결된 상태에서, 사용자가 등록하기를 원하는 ID(ID)와 패스워드(PW)를 입력하면 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈과 다자 간 보안 컴퓨팅 서버가 협력 연산을 통해 Lindell 2 Party 다자 간 보안 컴퓨팅 분산키 알고리즘을 이용하여 다자 간 보안 컴퓨팅 클라이언트에 클라이언트용 프라이빗키 비밀 정보 조각을 다자 간 보안 컴퓨팅 서버 단말에 서버용 프라이빗키 비밀 정보 조각을 생성하고 이로부터 협력 연산을 통해 공개키를 생성하여 사용자가 입력한 ID의 해시값과 공개키를 다자 간 보안 컴퓨팅 서버에 서버용 프라이빗키 비밀 정보 조각의 식별자로 등록하는 계정 생성 단계,
상기 생성된 클라이언트용 프라이빗키 비밀 정보 조각을 사용자가 입력한 패스워드를 암호키로 하는 대칭키 암호화 방식을 이용하여 암호화하여 인증정보 백업서버에 사용자가 입력한 ID의 해시값과 함께 쌍을 이루어 저장하는 클라이언트용 프라이빗키 비밀 정보 조각 백업 단계를 포함하는 것을 특징으로 하는,
사용자의 ID와 패스워드 입력만으로 다자 간 보안 컴퓨팅(SMPC : Secure Multi-party Computation) 방식의 비대칭키 암호를 이용한 인증 시스템의 사용자 계정을 등록하는 방법

In a state where the multi-party secure computing client software module executed in the web browser of the user terminal and the multi-party secure computing server are connected through a secure communication channel, when the user inputs the desired ID and password (PW) to register, the multi-party secure computing server is connected to the multi-party secure computing server. Through cooperative operation between the inter-secure computing client software module and the multi-party secure computing server, the private key secret information for the client is distributed to the multi-party secure computing client using the Lindell 2 Party multi-party secure computing distributed key algorithm. Creates a piece of private key secret information for the server, generates a public key from it through cooperative operation, and registers the hash value of the ID entered by the user and the public key as an identifier of the piece of private key secret information for the server in the multi-party secure computing server. account creation steps,
A client that encrypts the generated piece of private key secret information for the client using a symmetric key encryption method using the password entered by the user as the encryption key and stores it in pairs with the hash value of the ID entered by the user in the authentication information backup server. Characterized in that it comprises a step of backing up the private key secret information fragment for
A method of registering a user account in an authentication system using an asymmetric key cryptography based on Secure Multi-party Computation (SMPC) only by entering the user's ID and password.

상기 계정 생성 단계에서,
다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈이 다자 간 보안 컴퓨팅 서버와 협력 연산하여, 클라이언트용 프라이빗키 비밀 정보 조각(R1)과 서버용 프라이빗키 비밀 정보 조각(R2)의 곱(R1*R2)을 프라이빗키로 하는 공개키를 생성하기 위해, 다자 간 보안 컴퓨팅 클라이언트 소프트웨어 모듈은 다자 간 보안 컴퓨팅 서버와의 암호화된 통신 채널을 통해 클라이언트 프라이빗키 비밀 정보 조각에 미리 정해진 타원곡선 암호 알고리즘의 제너레이터 G를 곱해서 나온 값(R1*G)을 다자 간 보안 컴퓨팅 서버로 전송하고, 다자 간 보안 컴퓨팅 서버는 서버용 프라이빗키 비밀 정보 조각(R2)에 미리 정해진 타원곡선 암호 알고리즘의 제너레이터 G를 곱한 값(R2*G)을 다자 간 보안 컴퓨팅 클라이언트 소프트웨어로 전송하여, 다자 간 보안 컴퓨팅 클라이언트 소프트웨어는 다자 간 보안 컴퓨팅 서버로부터 받은 값(R2*G)에 자신이 보유한 클라이언트용 프라이빗키 비밀 정보 조각(R1)을 곱하여 공개키(PubKey=R1*R2*G=SK*G)를 생성하고, 다자 간 보안 컴퓨팅 서버는 다자 간 보안 컴퓨팅 클라이언트 소프트웨어로부터 받은 값(R1*G)에 자신의 서버용 프라이빗키 비밀 정보 조각(R2)을 곱하여 공개키(PubKey=R1*R2*G=SK*G)를 생성하고, 다자 간 보안 컴퓨팅 클라이언트 소프트웨어는 사용자 ID의 해시값(Hash(ID))과 클라이언트용 프라이빗키 비밀 정보 조각을 패스워드를 암호키로 하여 암호화한 값(Enc_R1=Enc(PW,R1))과 공개키를 하나의 레코드로 저장하고, 다자 간 보안 컴퓨팅 서버는 사용자 ID의 해시값(Hash(ID))과 서버용 프라이빗키 비밀 정보 조각(R2)과 공개키(PubKey)를 하나의 레코드로 저장하는 것을 특징으로 하는 계정 생성 단계

In the account creation step,
The multi-party secure computing client software module cooperates with the multi-party secure computing server to calculate, and discloses the product (R1*R2) of the private key secret information fragment (R1) for the client and the private key secret information fragment (R2) for the server as the private key. To generate a key, the multi-party secure computing client software module multiplies a fragment of the client private key secret by the generator G of a predetermined elliptic curve cryptographic algorithm through an encrypted communication channel with the multi-party secure computing server (R1* G) is transmitted to the multi-party secure computing server, and the multi-party secure computing server multiplies the private key secret information fragment (R2) for the server by the generator G of the predetermined elliptic curve cryptographic algorithm (R2*G). Transmitted to the client software, the multi-party secure computing client software multiplies the value (R2*G) received from the multi-party secure computing server by the private key secret information fragment (R1) for the client it holds, and then the public key (PubKey=R1*R2 *G=SK*G), and the multi-party secure computing server multiplies the value (R1*G) received from the multi-party secure computing client software by the private key secret information fragment (R2) for its own server to generate the public key (PubKey= R1*R2*G=SK*G), and the multi-party secure computing client software encrypts the hash value of the user ID (Hash(ID)) and the secret information piece of the private key for the client with the password as the encryption key ( Enc_R1=Enc(PW,R1)) and the public key are stored as one record, and the multi-party secure computing server has the hash value of the user ID (Hash(ID)), the private key for the server, the secret information piece (R2) and the public key Account creation step characterized by storing (PubKey) as one record

KR1020210183254A 2021-12-20 2021-12-20 Method of creating account for electronic signature by secure multi-party computation KR20230094252A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210183254A KR20230094252A (en) 2021-12-20 2021-12-20 Method of creating account for electronic signature by secure multi-party computation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210183254A KR20230094252A (en) 2021-12-20 2021-12-20 Method of creating account for electronic signature by secure multi-party computation

Publications (1)

Publication Number Publication Date
KR20230094252A true KR20230094252A (en) 2023-06-28

Family

ID=86994129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210183254A KR20230094252A (en) 2021-12-20 2021-12-20 Method of creating account for electronic signature by secure multi-party computation

Country Status (1)

Country Link
KR (1) KR20230094252A (en)

Similar Documents

Publication Publication Date Title
US10164965B2 (en) Distributed single sign-on
US10211981B2 (en) System and method for generating a server-assisted strong password from a weak secret
Limbasiya et al. Advanced formal authentication protocol using smart cards for network applicants
US8370638B2 (en) Derivative seeds
US7359507B2 (en) Server-assisted regeneration of a strong secret from a weak secret
JP5619019B2 (en) Method, system, and computer program for authentication (secondary communication channel token-based client-server authentication with a primary authenticated communication channel)
US20180034810A1 (en) A system and methods for protecting keys in computerized devices operating versus a server
US9185111B2 (en) Cryptographic authentication techniques for mobile devices
Chattaraj et al. A new two-server authentication and key agreement protocol for accessing secure cloud services
CN107920052B (en) Encryption method and intelligent device
CN111355591A (en) Block chain account safety management method based on real-name authentication technology
Odelu et al. A secure and efficient ECC‐based user anonymity preserving single sign‐on scheme for distributed computer networks
Mishra et al. A provably secure content distribution framework for portable DRM systems
Nishimura et al. Secure authentication key sharing between personal mobile devices based on owner identity
KR20230094252A (en) Method of creating account for electronic signature by secure multi-party computation
KR20230094253A (en) Method of creating account for 2FA authenticaed electronic signature by secure multi-party computation
Kumari et al. Hacking resistance protocol for securing passwords using personal device
Goodrich et al. Notarized federated ID management and authentication
Dauterman et al. Accountable authentication with privacy protection: The Larch system for universal login
US20240121083A1 (en) Secure restoration of private key
RU2771928C2 (en) Secure data exchange ensuring direct secrecy
Corella et al. Strong and convenient multi-factor authentication on mobile devices
Braun et al. iPIN and mTAN for Secure eID Applications
CN117527185A (en) Block chain-based high-security identity authentication method and system
Hunt et al. Theoretical Analysis of using Identity Based PKI as the Authentication method in SQL