CN105850074B - 生成一对私钥和公钥的智能卡芯片及其生成方法 - Google Patents

生成一对私钥和公钥的智能卡芯片及其生成方法 Download PDF

Info

Publication number
CN105850074B
CN105850074B CN201480070020.4A CN201480070020A CN105850074B CN 105850074 B CN105850074 B CN 105850074B CN 201480070020 A CN201480070020 A CN 201480070020A CN 105850074 B CN105850074 B CN 105850074B
Authority
CN
China
Prior art keywords
pair
public key
private key
intelligent card
card chip
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201480070020.4A
Other languages
English (en)
Other versions
CN105850074A (zh
Inventor
李政烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KEYPAIR CO Ltd
Original Assignee
KEYPAIR CO Ltd
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 KEYPAIR CO Ltd filed Critical KEYPAIR CO Ltd
Publication of CN105850074A publication Critical patent/CN105850074A/zh
Application granted granted Critical
Publication of CN105850074B publication Critical patent/CN105850074B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/47Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Credit Cards Or The Like (AREA)
  • Lock And Its Accessories (AREA)
  • Power Sources (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

本申请涉及一种生成一对私钥和公钥的智能卡芯片及其生成方法。本发明的一个形态的生成一对私钥和公钥的智能卡芯片包括:通信部,与外部装置执行接触式通信和近距离无线通信中的至少之一;控制部,通过所述通信部与外部装置进行通信,并生成一对私钥和公钥;以及存储部,存储生成的所述一对私钥和公钥,当从所述外部装置接收到生成一对私钥和公钥的指令时,所述控制部确认所述存储部中是否存储有预先生成的一对私钥和公钥,如果所述存储部中存储有预先生成的一对私钥和公钥,则读取预先生成的所述一对私钥和公钥。

Description

生成一对私钥和公钥的智能卡芯片及其生成方法
技术领域
本发明涉及一种生成一对私钥和公钥的智能卡芯片及其生成方法,更为详细地涉及利用待机时间来预先生成一对私钥和公钥的智能卡芯片及其生成方法。
背景技术
最近,韩国互联网络振兴院(KISA)正在推进公认认证书密码系统高度化事业。此项事业的核心目的在于,将数字签名算法的私钥(密钥)长度由1024比特(bit)上调至2048比特,从而增加电子签名算法的安全性。此外,存储于PC的硬盘中的公认认证书因黑客的攻击而安全事故频发,因此正在向如下方向促进事业:将公认认证书存储于如硬件安全模块(HSM;Hardware Security Module)那样的安全的存储介质。
硬件安全模块将智能卡芯片用作核心配件,众所周知所述智能卡芯片以目前的技术黑客无法入侵。智能卡芯片在公认认证书颁发过程中生成所需的一对私钥和公钥,在公认认证书登录(login)的过程中执行所需的数字签名等功能。
目前,公认认证书的数字签名算法使用RSA(Rivest Shamir Adleman)算法,如果将1024比特的RSA算法提高为2048比特,则理论上需要约四倍以上的运算时间。具体而言,目前智能卡芯片生成一对1024比特的私钥和公钥的时间为平均2~3秒,并且根据情况也可能需要6秒以上,密码系统提升的情况下,生成一对2048比特的私钥和公钥的时间为平均20~30秒,并且根据情况也可能需要60秒以上。
由此,使用硬件安全模块来颁发2048比特的公认认证书时,颁发过程可能需要1分钟以上,从而可能使得用户感到非常不便。对此,韩国互联网络振兴院(KISA)虽然希望将硬件安全模块生成一对2048比特的私钥和公钥的时间缩短在数秒之内,但是并未公开有能够以目前技术来解决的方法。
另外,智能卡芯片也可以利用近距离无线通信(NFC;Near Field Communication)来用作硬件安全模块。近距离无线通信是通过由无线终端发出的电磁波来使智能卡芯片直接生成电并进行通信的方式,具有如下优点:无需电池,且连接距离短,从而安全性显著。但是,无法生成智能卡芯片生成一对私钥和公钥所需的电力,事实上,利用目前的智能卡芯片,无法通过近距离无线通信生成一对1024比特的私钥和公钥。
为了解决所述问题,韩国注册专利第10-0651718号公开有如下方法:使得便携式终端机对USIM(Universal Subscriber Identification Module;全球用户识别卡)卡进行控制,预先生成一对私钥和公钥,如果请求生成一对私钥和公钥,则USIM卡应答预先生成的一对私钥和公钥。
但是,在类似于提供各种服务的智能手机的环境下,使得便携式终端机对智能卡芯片的待机时间进行判断并控制,从而预先生成一对私钥和公钥是非常困难的。尤其,只有当使用近距离无线通信的智能卡芯片在使用时才与终端机连接,因此待机时间并不充足,从而通过所述专利的方式对一对私钥和公钥进行预先生成是非常困难的。此外,使用硬件安全模块的最初过程就是智能卡芯片生成一对私钥和公钥并颁发公认认证书的过程,但是目前为止,智能卡芯片对一对私钥和公钥进行生成时间并不充足的情况是大部分。
因此,在主要使用近距离无线通信的智能卡芯片的情况下,也切实需要能够对一对私钥和公钥进行有效生成并使用的方案。
[现有技术文献(专利文献)]
韩国注册专利公报第10-0651718号
发明内容
技术课题
本发明为满足如上所述的要求而提出,本发明的目的在于提供一种不依赖于外部装置的控制而预先生成一对私钥和公钥的智能卡芯片及其生成方法。
本发明的另一目的在于提供一种利用近距离无线通信来预先生成一对私钥和公钥的智能卡芯片及其生成方法。
本发明的又另一目的在于提供一种利用近距离无线通信来实时生成一对私钥和公钥的智能卡芯片及其生成方法。
本发明的又另一目的在于提供一种能够如下生成一对私钥和公钥的智能卡芯片及其生成方法,通过将一对私钥和公钥的生成过程分为两个以上子过程来进行,即使通过电力较弱的近距离无线通信也能够生成一对私钥和公钥。
解决课题的手段
为达成所述目的,就本发明的一个形态的生成一对私钥和公钥的智能卡芯片而言,其包括:通信部,与外部装置执行接触式通信和近距离无线通信中的至少之一;控制部,通过所述通信部与外部装置进行通信,并生成一对私钥和公钥;以及存储部,存储生成的所述一对私钥和公钥,当从所述外部装置接收到生成一对私钥和公钥的指令时,所述控制部确认所述存储部中是否存储有预先生成的一对私钥和公钥,如果所述存储部中存储有预先生成的一对私钥和公钥,则读取预先生成的所述一对私钥和公钥。
另外,就本发明的另一个形态的生成一对私钥和公钥的智能卡芯片而言,其包括:通信部,与外部装置执行接触式通信和近距离无线通信中的至少之一;控制部,通过所述通信部与外部装置进行通信,并生成一对私钥和公钥;以及存储部,存储生成的所述一对私钥和公钥,当从所述外部装置接收到指令时,所述控制部在处理所述指令的期间生成一对私钥和公钥。
另外,就本发明的又另一个形态的生成一对私钥和公钥的智能卡芯片而言,其包括:通信部,与外部装置执行接触式通信和近距离无线通信中的至少之一;控制部,通过所述通信部与外部装置进行通信,并生成一对私钥和公钥;以及存储部,存储生成的所述一对私钥和公钥,当从所述外部装置接收到指令时,所述控制部在处理所述指令后,在待机模式期间生成一对私钥和公钥。
另外,就本发明的一个实施形态的智能卡芯片中生成一对私钥和公钥的方法而言,其包括如下步骤:所述智能卡芯片从外部装置接收指令;所述智能卡芯片在处理指令的同时生成一对私钥和公钥;以及当完成指令处理时,所述智能卡芯片向所述外部装置应答指令处理完成。
另外,就本发明的另一个形态的智能卡芯片中生成一对私钥和公钥的方法而言,其包括如下步骤:所述智能卡芯片从外部装置接收指令;所述智能卡芯片对指令进行处理;当完成指令处理时,所述智能卡芯片向所述外部装置应答指令处理完成;以及所述智能卡芯片在待机模式下生成一对私钥和公钥。
另外,优选地,还包括如下步骤:所述智能卡芯片从所述外部装置接收生成一对私钥和公钥的指令;所述智能卡芯片确认是否存在预先生成的一对私钥和公钥;以及如果存在预先生成的一对私钥和公钥,则所述智能卡芯片向所述外部装置应答所述一对私钥和公钥的生成。
发明效果
根据本发明,因为智能卡芯片利用待机时间来预先生成并存储一对私钥和公钥,所以效果在于能够使得基于一对私钥和公钥的生成请求的应答时间最小化。
另外,根据本发明,因为智能卡芯片将一对私钥和公钥的生成过程分为两个以上子过程来进行,所以效果在于即使通过电力较弱的近距离无线通信也能够生成一对私钥和公钥。
此外,根据本发明,使用内置有智能卡芯片的硬件安全模块,从而效果在于能够在数秒以内迅速颁发2048比特的公认认证书,并且能够安全地进行使用。
附图说明
图1是说明本发明的智能卡芯片在PC环境或智能手机环境的公认认证系统中使用的示意图。
图2是本发明的一个实施例的智能卡芯片的构成图。
图3是表示现有技术的智能卡芯片对一对私钥和公钥进行生成并使用的过程的流程图。
图4是表示本发明的一个实施例的智能卡芯片对一对私钥和公钥进行生成并使用的过程的流程图。
图5是表示图4步骤S410的详细过程的流程图。
图6是表示使用智能卡芯片的一般过程的流程图。
图7是表示本发明的一个实施例的智能卡芯片在待机模式下生成一对私钥和公钥的过程的流程图。
图8是表示本发明的一个实施例的智能卡芯片在处理指令的同时生成一对私钥和公钥的过程的流程图。
图9是表示常规的智能卡芯片在连接于非接触式外部装置并使用的情况下电力根据智能卡芯片的运算时间而变化的图表。
图10是表示本发明的一个实施例的智能卡芯片在连接于非接触式外部装置并使用的情况下执行生成一对私钥和公钥的子过程的期间电力根据智能卡芯片的运算时间而变化的图表。
具体实施方式
以下,参照附图及优选实施例对本发明进行详细说明。作为参考,在以下说明中对有可能混淆本发明的主旨的公知功能及构成的详细说明进行省略。
首先,图1是说明本发明的智能卡芯片在PC环境或智能手机环境的公认认证系统中使用的示意图。
参照图1,能够使用本发明的公认认证系统可包括:智能卡芯片100、计算机(computer)200、无线终端300、认证服务器400等。
就智能卡芯片100而言,可以实现为例如USB(Universal Serial Bus;通用串行总线)装置形态或塑料卡片(plastic card)形态的硬件安全模块(HSM;Hardware SecurityModule),并使用。在智能卡芯片100执行接触式通信的情况下,智能卡芯片100可与例如可接入认证服务器400的计算机200通过USB通信来执行一对私钥和公钥的生成、数字签名等,在智能卡芯片100执行非接触式通信的情况下,智能卡芯片100可与例如可接入认证服务器400的无线终端300通过近距离无线通信(NFC;Near Field Communication)来执行一对私钥和公钥的生成、数字签名等。
作为参考,在此,计算机200是指包括如个人计算机(PC;Personal Computer)、笔记本电脑(notebook)等那样具备USB端口(port)而可进行USB通信(接触式通信)或者通过有线无线网络能够与认证服务器400进行通信的所有种类的计算机,无线终端300是指包括如智能手机、平板电脑(tablet PC)等那样可进行近距离无线通信(非接触式通信)或者通过无线网络能够与认证服务器400进行通信的所有种类的无线终端。
图2是本发明的一实施例的智能卡芯片100的构成图。
参照图2,本发明的一实施例的智能卡芯片100包括控制部110、存储(memory)部120、通信部130等。
控制部110可实现为例如中央处理器(CPU;Central Processing Unit)、密码运算加速器(Crypto Accelerator)等,通过对存储部120和通信部130进行控制,执行一对私钥和公钥的生成、数字签名等。
存储部120可实现为例如EEPROM(;Electrically Erasable Programmable ReadOnly Memory;电可擦可编程只读存储器)等,存储用于驱动智能卡芯片的OS(OperatingSystem;操作系统)、一对私钥和公钥、数字签名等。
另外,通信部130具备内置式天线(antenna),从而接收由外部装置感应的电力,与外部装置执行近距离无线通信(非接触式通信),也可以选择性地实现为通过智能读卡器(Smartcard reader)或USB能够进行接触式通信。
以下参照图3至图10对本发明的一实施例的智能卡芯片生成一对私钥和公钥的过程进行说明。
首先,图3是表示现有技术的智能卡芯片对一对私钥和公钥进行生成并使用的过程的流程图。
参照图3,在现有技术的情况下,如果在步骤S310中,从外部装置向智能卡芯片输入生成一对私钥和公钥的指令,则在步骤S320中,智能卡芯片生成一对私钥和公钥。并且,在步骤S330中,智能卡芯片向外部装置应答一对私钥和公钥生成的完成。
如此,现有技术的智能卡芯片如果从外部装置被请求生成一对私钥和公钥,则从此时开始生成一对私钥和公钥,此时,如背景技术中所提及那样,生成一对私钥和公钥需要较多时间,尤其是生成2048比特的一对私钥和公钥的情况下,平均需要20~30秒,较长时间则也可能需要60秒以上,因此使用上具有不便性。
另一方面,图4是表示本发明的一实施例的智能卡芯片对一对私钥和公钥进行生成并使用的过程的流程图。另外,图5是表示图4的步骤S420的详细过程的流程图。
参照图4,本发明的情况下,如果在步骤S410中,从外部装置向智能卡芯片输入生成一对私钥和公钥的指令,则在步骤S420中,智能卡芯片生成一对私钥和公钥,或者读取预先生成的一对私钥和公钥。
参照图5对此进行详细说明的话,如果从外部装置向智能卡芯片请求生成一对私钥和公钥,则在步骤S422中,智能卡芯片的控制部110首先检索存储部120中是否存储有预先生成的一对私钥和公钥,如果不存在预先生成的一对私钥和公钥,则在步骤S424中,智能卡芯片的控制部110实时生成一对私钥和公钥。但是,如果存在预先生成的一对私钥和公钥,则在步骤S426中,智能卡芯片的控制部110不生成一对私钥和公钥,而是读取存储于存储部120中的一对私钥和公钥。
另外,在步骤S430中,智能卡芯片的控制部110通过通信部130向外部装置应答一对私钥和公钥生成的完成。
与此相关地,以下参照图6至图10对本发明的智能卡芯片预先生成一对私钥和公钥的方式进行说明。
首先,图6是表示使用智能卡芯片的一般过程的流程图。
参照图6,如果在步骤S610中,外部装置向智能卡芯片进行电源供应,则在步骤S612中,智能卡芯片执行初始化作业。初始化作业结束后,在步骤S614中,智能卡芯片将ATR(Answer To Reset;复位应答)信号向外部装置传送。之后,智能卡芯片转换为待机模式,等待至外部装置输入APDU(Application Protocol Data Unit;应用协议数据单元)指令为止。
如果在步骤S620中,外部装置向智能卡芯片传送APDU指令,则在步骤S622中,智能卡芯片离开待机模式而对指令进行处理。另外,在步骤S624中,智能卡芯片向外部装置传送APDU应答。此后,智能卡芯片再次转换为待机模式,待机至外部装置输入下一个APDU指令为止。
另外,如果在步骤S630中,外部装置再次向智能卡芯片传送APDU指令,则在步骤S632中,智能卡芯片离开待机模式而对指令进行处理。另外,在步骤S634中,智能卡芯片向外部装置传送APDU应答。此后,智能卡芯片再次转换为待机模式,待机至外部装置输入下一个APDU指令为止,反复这种过程的同时进行操作。
另一方面,就本发明的一实施例的智能卡芯片而言,在待机至从外部装置输入指令为止的期间,预先生成并存储一对私钥和公钥,以下参照图7进行详细说明。
图7是表示本发明的一实施例的智能卡芯片在待机模式下生成一对私钥和公钥的过程的流程图。
参照图7,如果在步骤S710中,外部装置向智能卡芯片进行电源供应,则在步骤S712中,智能卡芯片执行初始化作业。初始化作业结束后,在步骤S714中,智能卡芯片将ATR(Answer To Reset;复位应答)信号向外部装置传送。之后,在步骤S716中,智能卡芯片在为接收下一指令而待机的期间,预先生成并存储一对私钥和公钥。
如果在步骤S720中,外部装置向智能卡芯片传送APDU指令,则在步骤S722中,智能卡芯片对指令进行处理。另外,在步骤S724中,智能卡芯片向外部装置传送APDU应答。此后,在步骤S726中,智能卡芯片在为接收下一指令而待机的期间,预先生成并存储一对私钥和公钥。
另外,如果在步骤S730中,外部装置再次向智能卡芯片传送APDU指令,则在步骤S732中,智能卡芯片对指令进行处理。另外,在步骤S734中,智能卡芯片向外部装置传送APDU应答。此后,在步骤S736中,智能卡芯片在为接收下一指令而待机的期间,预先生成并存储一对私钥和公钥,反复这种过程的同时进行操作。
作为参考,如果对外部装置其本身向智能卡芯片传送的APDU指令,智能卡芯片在一定时间(通常为1秒)内未作应答,则外部装置识别为智能卡芯片发生错误,因此智能卡芯片在预先生成一对私钥和公钥的过程中,也需要能够对从外部装置输入的APDU指令进行处理。
由此,在图7中,如果智能卡芯片在预先生成一对私钥和公钥的期间(步骤S716、S726、S736),从外部装置被输入APDU指令,则智能卡芯片的控制部110将到目前为止的一对私钥和公钥的预先生成过程临时存储于存储部120,优先处理所被输入的指令且对结果进行应答。之后,智能卡芯片的控制部110重新继续进行临时存储于存储部120的一对私钥和公钥的预先生成过程。如果智能卡芯片难以将一对私钥和公钥的预先生成过程临时存储于存储部120,则智能卡芯片的控制部110取消一对私钥和公钥的预先生成过程,优先处理被输入的指令且对结果进行应答后,重新从头开始进行一对私钥和公钥的预先生成过程。
另一方面,在图7的待机模式下,一对私钥和公钥的预先生成过程具有需要持续向智能卡芯片供电的制约性。换句话说,只能在如下情况下实现:使得智能卡芯片利用接触式通信(例如,USB通信)来持续得到电源供应,或者即使是利用非接触式通信(例如,近距离无线通信)也能够使得智能卡芯片持续接收从外部的电磁波所感应的电力的供应。
智能卡芯片连接于类似于智能读卡器的接触式(Contact)外部装置而使用时,不仅外部电源充足,用于一对私钥和公钥的预先生成的待机模式的时间也充足。但是,智能卡芯片连接于类似于无线终端的非接触式(Contactless)外部装置而使用时,只有在执行近距离无线通信时无线终端才会产生电磁波,因此电源不充足,由此事实上,通过现有的智能卡芯片在待机模式期间无法生成一对1024比特的私钥和公钥。
为了解决这种制约性,本发明提出了在非接触式外部装置(例如,无线终端)的情况下,使智能卡芯片处理指令的同时生成一对私钥和公钥的方式。
与此相关地,图8是表示本发明的一实施例的智能卡芯片在处理指令的同时生成一对私钥和公钥的过程的流程图。
参照图8,如果在步骤S810中,外部装置向智能卡芯片进行电源供应,则在步骤S812中,智能卡芯片执行初始化作业。初始化作业结束后,在步骤S814中,智能卡芯片将ATR(Answer To Reset;复位应答)信号向外部装置传送。之后,智能卡芯片转换为待机模式,待机至外部装置输入APDU(Application Protocol Data Unit;应用协议数据单元)指令为止。
如果在步骤S820中,外部装置向智能卡芯片传送APDU指令,则在步骤S822中,智能卡芯片对指令进行处理。此时,智能卡芯片在处理指令的同时一起执行一对私钥和公钥的预先生成。另外,在步骤S824中,智能卡芯片向外部装置传送APDU应答。此后,智能卡芯片再次转换为待机模式,待机至外部装置输入下一个APDU指令为止。
另外,如果在步骤S830中,外部装置再次向智能卡芯片传送APDU指令,则在步骤S832中,智能卡芯片在处理指令的同时一起执行对一对私钥和公钥的预先生成。另外,在步骤S834中,智能卡芯片向外部装置传送APDU应答。此后,智能卡芯片再次转换为待机模式,待机至外部装置输入下一个APDU指令为止,反复这种过程的同时进行操作。
另一方面,就所述图8的一起执行指令处理和一对私钥和公钥预先生成的过程而言,存在如下制约性:需要向智能卡芯片持续供电,以便能够在一次的指令处理期间一起执行对一对私钥和公钥的生成。
如图9所示,使智能卡芯片连接于非接触式外部装置并使用的情况下,相比从外部装置所发出的电磁波所生成的电力,智能卡芯片运算所消耗的电力更多,因此智能卡芯片在处理指令的期间,电力逐渐下降,最终下降至能够驱动智能卡芯片的最小极限值以下而会复位(reset)
因此,需要在一次的指令处理期间无法完成一对私钥和公钥的生成的情况下,也使智能卡芯片以最大的效率能够生成一对私钥和公钥的替代方案,以下将对此进行详细说明。
根据本发明的优选实施例,智能卡芯片将一对私钥和公钥的生成过程分为两个以上子过程后,每当指令处理时一起执行一个以上子过程,反复这种过程而完成所有子过程,由此预先生成一对私钥和公钥。换句话说,本发明的智能卡芯片在处理一个指令的期间(例如,步骤S822)执行一个以上子过程,如果无法执行所有子过程,则将目前为止的作业内容存储于存储部120并临时中断,并且,在处理下一个指令的期间(例如,步骤S832),以执行剩余子过程的方式完成一对私钥和公钥的生成过程。
与此相关地,以下将对本发明的优选实施例的生成一对私钥和公钥的子过程进行说明。
在公认认证书中所使用的一对私钥和公钥是RSA(Rivest Shamir Adleman)算法的私钥D和公钥N、E。另外,以下是生成私钥D和公钥N、E的算法。
【RSA私钥D和公钥N、E的生成算法】
1)生成相同大小的彼此不同的大素数P和Q。
2)对N=P×Q,phi=(P-1)×(Q-1)进行计算。
3)对满足1<E<phi,GCD(E,phi)=1的E进行选择(GCD:最大公约数)。
4)使用扩展欧几里德(Extended Euclidean)算法,对满足1<D<phi,E×D≡1(modphi)的D进行计算。
5)私钥是D,公钥输出为N、E。
在所述RSA算法中占据大部分运算时间的是第一步骤生成大素数P和Q的时间。生成大素数的方法有多种,在本发明的一实施例中,使用如下方式:在选择任意的数后,通过米勒-拉宾(Miller Rabin)检验(test)来判断是素数还是合数。
【生成大素数的算法】
1)生成任意的大数Z。
2)执行米勒-拉宾(Miller Rabin)检验来判断是素数还是合数。
3)如果Z是合数,则从第一步骤重新开始。
4)如果Z是素数,则输出Z。
【针对大数Z的米勒-拉宾(Miller Rabin)检验】
1)Z-1=2S×R,R计算作为单数的S和R。
2)i从1到t为止,执行如下内容。在此,t作为安全参数(security parameter),当Z为1024比特的数时通常使用5。
2.1)选择满足1<A<Z–1的任意的数A。
2.2)计算Y=AR mod Z。
2.3)如果Y不等于1,也不等于Z-1,则执行如下内容。
2.3.1)j=1。
2.3.2)如果j小于S,Y不等于Z-1,则反复执行如下内容。
2.3.2.1)计算Y=Y2mod Z。
2.3.2.2)如果Y等于1,则输出为合数并完成算法。
2.3.2.3)j=j+1。
2.3.3)如果Y不等于Z-1,则输出为合数并完成算法。
3)输出为素数并完成算法。
在所述米勒-拉宾检验中,占据大部分运算时间的是2.2步骤的计算Y=AR mod Z的部分以及2.3.2.1步骤的计算Y=Y2mod Z的部分那样的模幂运算(ModularExponentiation)。
最终,就在公认认证书中所使用的一对私钥和公钥的生成而言,占据大部分运算时间的是模幂运算。
因此,在本发明的优选实施例中,以模幂运算为基准,将生成一对私钥和公钥的子过程分开,从而使得运算时间平均分布。例如,分配为如下:一对私钥和公钥的生成算法的第一子过程直到第一次模幂运算为止,第二子过程直到第二次模幂运算为止,第N-1子过程直到最后一次模幂运算为止,第N子过程为一对私钥和公钥的生成算法的剩余运算,由此近似分配子过程的运算时间。
另外,在本发明的优选的另一实施例中,也可以分配并实现为如下:一对私钥和公钥的生成算法的第一子过程直到生成第一素数P的运算为止,第二子过程直到生成第二素数Q的运算为止,第三子过程为一对私钥和公钥的生成运算的剩余运算。
另一方面,图10是本发明的一实施例的智能卡芯片在连接于非接触式外部装置而使用的情况下,执行生成一对私钥和公钥的子过程期间,电力根据智能卡芯片的运算时间而变化的图表。
参照图10,本发明的一实施例的智能卡芯片在执行用于一对私钥和公钥的生成运算的第一子过程后,对下一操作所需的电力进行充电。另外,在执行用于一对私钥和公钥的生成运算的第二子过程后,同样地,对下一操作所需的电力进行充电,反复这种方式,从而完成一对私钥和公钥的生成。
虽然到此为止参照优选实施例对本发明进行了详细说明,但是本发明所属技术领域的技术人员在不变更本发明的技术构想或必需的特征的前提下,可以以其他具体的各种形态进行实施,因此以上所记载的实施例应理解为不是所有方面的例示,也不是限定的例示。
另外,本发明的范围应理解为根据权利要求书来决定,而非所述详细说明来决定,从权利要求书的意义、范围、等同概念所推导出的全部变更或变形的形态包含于本发明的范围。

Claims (11)

1.一种智能卡芯片,生成一对私钥和公钥,其特征在于,所述智能卡芯片包括:
通信部,与外部装置执行接触式通信和近距离无线通信中的至少之一;
控制部,通过所述通信部与外部装置进行通信,并生成一对私钥和公钥;以及
存储部,存储生成的所述一对私钥和公钥,
当从所述外部装置接收到指令时,所述控制部在处理所述指令的期间生成一对私钥和公钥,
所述控制部将生成所述一对私钥和公钥的过程分为两个以上子过程来执行;
其中,所述控制部在执行生成所述一对私钥和公钥的各子过程的空档分配充电时间,且对下一操作所需的电力进行充电;
其中,在一次的指令处理期间无法完成一对私钥和公钥的生成的情况下,在处理一个指令的期间执行一个以上子过程,如果无法执行所有子过程,则将目前为止的作业内容存储于存储部并临时中断,并且,在处理下一个指令的期间,以执行剩余子过程的方式完成一对私钥和公钥的生成过程。
2.一种智能卡芯片,生成一对私钥和公钥,其特征在于,所述智能卡芯片包括:
通信部,与外部装置执行接触式通信和近距离无线通信中的至少之一;
控制部,通过所述通信部与外部装置进行通信,并生成一对私钥和公钥;以及
存储部,存储生成的所述一对私钥和公钥,
当从所述外部装置接收到指令时,所述控制部在处理所述指令后,在待机模式期间生成一对私钥和公钥,
所述控制部将生成所述一对私钥和公钥的过程分为两个以上子过程来执行;
其中,所述控制部在执行生成所述一对私钥和公钥的各子过程的空档分配充电时间,且对下一操作所需的电力进行充电;
其中,所述智能卡芯片在生成一对私钥和公钥的期间,如果从所述外部装置接收到指令,则将到目前为止的一对私钥和公钥的预先生成过程临时存储于所述存储部,并在处理所述指令且对结果进行应答后,重新继续进行临时存储于所述存储部的一对私钥和公钥的预先生成过程。
3.根据权利要求1或2所述的智能卡芯片,其特征在于,
所述控制部以模幂运算为基准,对生成所述一对私钥和公钥的子过程进行分割。
4.根据权利要求1或2所述的智能卡芯片,其特征在于,
所述控制部以素数生成运算为基准,对生成所述一对私钥和公钥的子过程进行分割。
5.一种硬件安全模块,其特征在于,
包括权利要求1或2所述的智能卡芯片。
6.一种智能卡芯片中生成一对私钥和公钥的方法,其特征在于,包括如下步骤:
所述智能卡芯片从外部装置接收指令;
所述智能卡芯片在处理指令的同时生成一对私钥和公钥;以及
当完成指令处理时,所述智能卡芯片向所述外部装置应答指令处理完成,
所述一对私钥和公钥的生成分为两个以上子过程来执行;
其中,在生成所述一对私钥和公钥的子过程的空档执行充电,且对下一操作所需的电力进行充电;
其中,在一次的指令处理期间无法完成一对私钥和公钥的生成的情况下,在处理一个指令的期间执行一个以上子过程,如果无法执行所有子过程,则将目前为止的作业内容存储于存储部并临时中断,并且,在处理下一个指令的期间,以执行剩余子过程的方式完成一对私钥和公钥的生成过程。
7.一种智能卡芯片中生成一对私钥和公钥的方法,其特征在于,包括如下步骤:
所述智能卡芯片从外部装置接收指令;
所述智能卡芯片对指令进行处理;
当完成指令处理时,所述智能卡芯片向所述外部装置应答指令处理完成;以及
所述智能卡芯片在待机模式下生成一对私钥和公钥,
所述一对私钥和公钥的生成分为两个以上子过程来执行;
其中,在生成所述一对私钥和公钥的子过程的空档执行充电,且对下一操作所需的电力进行充电;
其中,所述智能卡芯片在生成一对私钥和公钥的期间,如果从所述外部装置接收到指令,则将到目前为止的一对私钥和公钥的预先生成过程临时存储于存储部,并在处理所述指令且对结果进行应答后,重新继续进行临时存储于所述存储部的一对私钥和公钥的预先生成过程。
8.根据权利要求6或7所述的方法,其特征在于,
生成所述一对私钥和公钥的子过程以模幂运算为基准进行分割。
9.根据权利要求6或7所述的方法,其特征在于,
生成所述一对私钥和公钥的子过程以素数生成运算为基准进行分割。
10.根据权利要求6或7所述的方法,其特征在于,
所述方法还包括如下步骤:
所述智能卡芯片从所述外部装置接收生成一对私钥和公钥的指令;
所述智能卡芯片确认是否存在预先生成的一对私钥和公钥;以及
如果存在预先生成的一对私钥和公钥,则所述智能卡芯片向所述外部装置应答所述一对私钥和公钥的生成。
11.根据权利要求10所述的方法,其特征在于,
所述方法还包括如下步骤:
如果不存在预先生成的一对私钥和公钥,则所述智能卡芯片实时生成所述一对私钥和公钥,向所述外部装置应答。
CN201480070020.4A 2013-12-23 2014-12-23 生成一对私钥和公钥的智能卡芯片及其生成方法 Expired - Fee Related CN105850074B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020130161501A KR101507817B1 (ko) 2013-12-23 2013-12-23 개인키와 공개키 쌍을 생성하는 스마트카드 칩 및 그 생성 방법
KR10-2013-0161501 2013-12-23
PCT/KR2014/012759 WO2015099425A1 (ko) 2013-12-23 2014-12-23 개인키와 공개키 쌍을 생성하는 스마트카드 칩 및 그 생성 방법

Publications (2)

Publication Number Publication Date
CN105850074A CN105850074A (zh) 2016-08-10
CN105850074B true CN105850074B (zh) 2019-07-23

Family

ID=53053157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480070020.4A Expired - Fee Related CN105850074B (zh) 2013-12-23 2014-12-23 生成一对私钥和公钥的智能卡芯片及其生成方法

Country Status (4)

Country Link
US (1) US10263772B2 (zh)
KR (1) KR101507817B1 (zh)
CN (1) CN105850074B (zh)
WO (1) WO2015099425A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210009791A (ko) * 2019-07-18 2021-01-27 삼성전자주식회사 블록 체인을 이용한 전자 인증 장치 및 그 방법
JP2021026049A (ja) * 2019-07-31 2021-02-22 株式会社リコー 受信装置、情報処理システム、受信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060034070A (ko) * 2004-10-18 2006-04-21 한국전자통신연구원 Usim 카드의 공개키 생성과 갱신 제어 방법 및 장치
KR20090065415A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 플랫폼 장착용 모듈 및 플랫폼 장착용 모듈을 위한 기능변경 방법
CN101753310A (zh) * 2009-12-28 2010-06-23 苏盛辉 基于多变量排列难题和超对数难题的数字签名方法
CN101969640A (zh) * 2010-11-15 2011-02-09 成都信息工程学院 一种用于移动终端设备的计算密钥生成方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005167527A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd 証明書管理システムおよびその方法
US7689828B2 (en) * 2004-07-23 2010-03-30 Data Security Systems Solutions Pte Ltd System and method for implementing digital signature using one time private keys
KR100628332B1 (ko) * 2006-07-24 2006-09-27 한국전자통신연구원 Usim 카드의 공개키 생성과 갱신 제어 방법 및 장치
KR100976573B1 (ko) * 2008-06-13 2010-08-18 주식회사 드리머아이 공개키 기반 수신제한시스템 및 이를 이용한 수신제한서비스 방법
DE202008013415U1 (de) * 2008-10-10 2009-03-19 Compugroup Holding Ag Datenverarbeitungssystem zur Bereitstellung von Berechtigungsschlüsseln
US10032240B2 (en) * 2013-11-08 2018-07-24 International Business Machines Corporation Executing electronic contract on NFC enabled mobile devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060034070A (ko) * 2004-10-18 2006-04-21 한국전자통신연구원 Usim 카드의 공개키 생성과 갱신 제어 방법 및 장치
KR20090065415A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 플랫폼 장착용 모듈 및 플랫폼 장착용 모듈을 위한 기능변경 방법
CN101753310A (zh) * 2009-12-28 2010-06-23 苏盛辉 基于多变量排列难题和超对数难题的数字签名方法
CN101969640A (zh) * 2010-11-15 2011-02-09 成都信息工程学院 一种用于移动终端设备的计算密钥生成方法

Also Published As

Publication number Publication date
KR101507817B1 (ko) 2015-04-23
US20160315769A1 (en) 2016-10-27
CN105850074A (zh) 2016-08-10
WO2015099425A1 (ko) 2015-07-02
US10263772B2 (en) 2019-04-16

Similar Documents

Publication Publication Date Title
CN106462900A (zh) 用于公认认证的硬件安全模块及其驱动方法
CN102222390B (zh) 一种多功能智能密钥装置及其工作方法
CN104504563B (zh) 一种移动信息安全设备及其工作方法
US9679234B2 (en) Charging card using power harvested from reader
US8534564B2 (en) Integration of verification tokens with mobile communication devices
CN101159551B (zh) 多功能信息安全设备及其使用方法
CN102129592B (zh) 接触式智能卡
CN102867366B (zh) 一种便携式银行卡数据处理装置、系统及方法
WO2017161794A1 (zh) 一种nfc移动支付方法及其系统
WO2015085753A1 (zh) 一种智能读卡器的工作方法
CN105850074B (zh) 生成一对私钥和公钥的智能卡芯片及其生成方法
CN104021104A (zh) 一种基于双总线结构的协同系统及其通信方法
CN105405012A (zh) 智能ic卡及支付处理方法
CN101783040A (zh) 一种智能卡刷卡机及其信息交互方法
CN114846529A (zh) 电动工具装置的带外销售点激活
CN103345686A (zh) 一种移动支付设备
CN108183889A (zh) 身份认证方法及身份认证装置
CN207573357U (zh) 一种蓝牙卡
TWI590094B (zh) Portable device for personal online transaction with mobile device and its application method
CN203966188U (zh) 安全设备及终端
CN106886728A (zh) 一种智能卡的读取装置和方法
CN202838553U (zh) 一种电子支付终端
CN205068458U (zh) 智能卡的读卡器
CN205427936U (zh) 供个人以行动装置进行网络交易的携带装置
JP3214064U (ja) 保護スリーブ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190723

CF01 Termination of patent right due to non-payment of annual fee