USPatent applicationPatented

Password-based key derivation without changing key

Granted 30 Aug 2016 · 2 office actions

Life of the application

10 dated events
⤢ drag to zoom20142016201820202022202420262028203020322034ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A data securing method, a data securing system and a data carrier are provided. The data securing method comprises an encryption procedure for encrypting a data or performing an authentication procedure. The encryption procedure includes the following steps. A first personal identification number is obtained. A first random number is generated. A first key is obtained according to the first personal identification number and the first random number. A first secure checksum is obtained according to the first key. The first random number and part of the first secure checksum are stored. The data is encrypted. The authentication procedure is performed according to the first key.

Description

7 parts
›TECHNICAL FIELD

The disclosure relates in general to a data processing method, a data processing system and a data carrier, and more particularly to a data securing method, a data securing system and a data carrier.

›BACKGROUND

Accompanying advancements in technologies, various digital data can be stored in a storage device. People may store or communicate confidential information in the storage device. Once the storage device is lost, the confidential information may be stolen.

Nowadays, the information security is more and more important. The storage device can store an encrypted data instead of the original data for preventing from stealing. If someone wants to take out the original data, it is needed to decrypt the encrypted data according a key. Once a hacker gets the key, he can take out the original data easily. Today, network and smart phone application programs are widely used. If the key is stored in the program or a non-volatile memory, the hacker or researcher can obtain the key. Therefore, how to keep the key in secret is a challenge in the information security.

›SUMMARY

The disclosure is directed to a data securing method, a data securing system and a data carrier. A personal identification number and a key are not stored in the data carrier. Even if a hacker gets the data carrier, he cannot obtain the personal identification number and the key. Therefore, the encrypted data will not be decrypted by the hacker and the hacker cannot pass the authentication procedure.

According to one embodiment, a data securing method is provided. The data securing method comprises an encryption procedure for encrypting a data or performing an authentication procedure. The encryption procedure including the following steps. A first personal identification number is obtained. A first random number is generated. A first key is obtained according to the first personal identification number and the first random number. A first secure checksum is obtained according to the first key. The first random number and part of the first secure checksum are stored. The data is encrypted. The authentication procedure is performed according to the first key.

According to another embodiment, a data securing system is provided. The data securing system comprises an inputting unit, a random number generating unit, a key generating unit, and a storage unit. The inputting unit is for inputting a first personal identification number. The random number generating unit is for generating a first random number. The key generating unit is for obtaining a first key according to the first personal identification number and the first random number. The storage unit is for storing the first random number.

According to an alternative embodiment, a data carrier is provided. The data carrier is for storing and encrypting a data. A first secure checksum is obtained according to a first key. The data is encrypted according to the first key. The data carrier comprises a storage unit. The storage unit is for storing a first random number, part of the first secure checksum and the encrypted data. The first key is obtained according to a first personal identification number and the first random number.

›BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A shows an architecture of a data securing system.

FIG. 1B shows an architecture of another data securing system.

FIG. 1C shows an architecture of another data securing system.

FIG. 2 shows a flow chart of the encryption procedure of the data securing method.

FIG. 3 shows a logic diagram of FIG. 2 .

FIG. 4 shows another embodiment of FIG. 3 .

FIG. 5 shows a flow chart of the decryption procedure of the data securing method.

FIG. 6 shows a logic diagram of FIG. 5 .

FIG. 7 shows a flow chart of the personal identification number changing procedure of the data securing method.

FIG. 8 shows a logic diagram of FIG. 7 .

In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing.

›DETAILED DESCRIPTION · 1 of 3

Preferred embodiments are disclosed below for elaborating the invention. A personal identification number and a key are not stored in the data carrier. Even if a hacker gets the data carrier, he cannot know the personal identification number or the key. Therefore, the encrypted data will not be decrypted by the hacker. The following embodiments are for the purpose of elaboration only, not for limiting the scope of protection of the invention. Besides, secondary elements are omitted in the following embodiments to highlight the technical features of the invention.

Please referring to FIG. 1A , FIG. 1A shows an architecture of a data securing system 1000 . The data securing system 1000 is used for encrypting a data or decrypting the encrypted data. The data securing system 1000 includes an inputting unit 110 , a random number generating unit 120 , a key generating unit 130 , a crypto unit 140 and a storage unit 150 .

The inputting unit 110 is used for inputting varied data or information by a user. For example, the inputting unit 110 can be a touch panel, a keyboard, a scanner, a communication line connected to an inputting device, or a circuit having a function for receiving varied data or information.

The random number generating unit 120 is used for generating a random number. For example, the random number generating unit 120 can be a chip, a circuit board having a program firmware, a storage medium storing a plurality of program codes, or a circuit having a function for generating a random number.

The key generating unit 130 is used for obtaining a key by performing an algorithm. For example, the key generating unit 130 can be a chip, a circuit board having a program firmware, a storage medium storing a plurality of program codes, or a circuit having a function for obtaining a key.

The crypto unit 140 is used for encrypting, decrypting or verifying data. The crypto unit 140 performs an authentication procedure according to a first key KEY 1 . For example, the server and the user or the APP and the NFC SE can performs the authentication procedure to verify whether the first key KEY 1 is correct or not. For example, the crypto unit 140 can be a chip, a circuit board having a program firmware, a storage medium storing a plurality of program codes, or a circuit having a function for encrypting, decrypting or verifying data.

The storage unit 150 is used for storing varied data. For example, the storage unit 150 can be a memory, a register or a hard disk.

In FIG. 1A , the inputting unit 110 and the random number generating unit 120 can be configured in a host 200 or a controller 310 of a data carrier 300 . The key generating unit 130 , the crypto unit 140 can be configured in the controller 310 of the data carrier 300 . For example, the host 200 can be a smart phone, a tablet computer, a desktop computer, or a server computer. The data carrier 300 can be a USB disk, a portable hard disk, or a memory card.

Please referring to FIG. 1B , FIG. 1B shows an architecture of another data securing system 1000 ′. In another embodiment, the inputting unit 110 , the random number generating unit 120 , the key generating unit 130 and the crypto unit 140 can be configured in a host 200 ′. The storage unit 150 can be configured in a data carrier 300 ′. That is to say, the inputting unit 110 , the random number generating unit 120 , the key generating unit 130 and the crypto unit 140 can be configured in a host, such as the host 200 of FIG. 1A , or in a data carrier, such as the data carrier 300 ′ of FIG. 1B .

Please referring to FIG. 10 , FIG. 10 shows an architecture of another data securing system 1000 ″. In another embodiment, the random number generating unit 120 , the key generating unit 130 , the crypto unit 140 and the storage unit 150 can be configured in a near field communication secure element (NFC SE) 210 .

The invention is not limited to FIGS. 1A to 1C . For example, the crypto unit 140 can be configured in the data carrier 300 , 300 ′ or the host 200 , 200 ′. The algorithm performed in the crypto unit 140 is not limited to be stored in a device where the crypto unit 140 is configured. The algorithm performed in the crypto unit 140 can be stored in the host 200 , 200 ′ or the data carrier 300 , 300 ′.

On the other hand, the algorithm performed in the key generating unit 130 is not limited to be stored in a device where the key generating unit 130 is configured. The algorithm performed in the key generating unit 130 can be stored in the host 200 , 200 ′ or the data carrier 300 , 300 ′.

The above elements of the data securing system 1000 , 1000 ′, 1000 ″ are described with a data securing method in detail. The data securing method includes an encryption procedure, a decryption procedure and a personal identification number changing procedure.

Please referring to FIGS. 2 and 3 , FIG. 2 shows a flow chart of the encryption procedure of the data securing method, and FIG. 3 shows a logic diagram of FIG. 2 . In step S 201 , the inputting unit 110 obtains a first personal identification number PIN 1 from the user. The first personal identification number PIN 1 can be inputted by keying in, by clicking a virtual keyboard having a random arrangement on a screen, or by scanning a one dimension bar code or a two dimension bar code. For example, the first personal identification number PIN 1 is “0x3132333435363738393a3b3c3d3e3f30.”

In step S 202 , the random number generating unit 120 generates a first random number RN 1 . The first random number RN 1 can be stored in the storage unit 150 of the data carrier 300 , 300 ′ or be stored in a non-volatile memory of the host 200 , 200 ′. For example, the first random number RN 1 is “0xC4F87A6290AEE1ACFC1F26083974CE94.” In step S 202 , the first random number RN 1 can be generated by the host 200 or the data carrier 300 in FIG. 1A .

In step S 203 , the key generating unit 130 obtains a first key KEY 1 according to the first personal identification number PIN 1 and the first random number RN 1 . In step S 203 , the first key KEY 1 can be obtained by performing a many-to-one algorithm or a one-to-one algorithm. The many-to-one algorithm may be an exclusive-OR operation. The one-to-one algorithm may be a linear function algorithm. Taking the exclusive-OR operation as an example, the first key KEY 1 can be obtained by the following equation (1). After calculating, the first key KEY 1 is “0xF5CA4956A598D694C5251D34044AF1A4.

›DETAILED DESCRIPTION · 2 of 3

PIN1⊕RN1=KEY1  (1)

In step S 204 , the crypto unit 140 obtains a first secure checksum SC 1 according to the first key KEY 1 . In step S 104 , the first secure checksum SC 1 can be obtained according to the first key KEY 1 and a predetermined number PN, such as “0X00 . . . 00”. The first secure checksum SC 1 can be obtained by performing a many-to-one algorithm or a one-to-one algorithm. For example, the first secure checksum SC 1 can be obtained by performing Hash algorithm, a symmetric encryption algorithm, an asymmetric algorithm or a CRC32 algorithm. For example, the first secure checksum SC 1 can be obtained by the following equation (2) which is AES128 encrypting algorithm. After calculating, the first secure checksum SC 1 is “0xED56716F3B78D8741758ED0B34E3A2DD.”

SC1=AES_ENC(KEY1,PN)  (2)

In step S 205 , the first random number RN 1 and part of the first secure checksum SC 1 are stored in the storage unit 150 . In step S 205 , a predetermined number of bytes of the first secure checksum SC 1 can be stored. For example, “ED56716F3B78D874” which is first 8 bytes of the first secure checksum SC 1 can be stored in the storage unit 150 .

In step S 206 , the crypto unit 140 encrypts the data D to be an encrypted data D′ according to the first key KEY 1 ; or the crypto unit 140 encrypts an authentication data AD to be an encrypted authentication data AD′.

Please referring to FIG. 3 , the first personal identification number PIN 1 and the first key KEY 1 are not stored in the storage unit 150 . Even if the hacker gets the data carrier 300 , 300 ′, he cannot obtain the first personal identification number PIN 1 and the first key KEY 1 . Therefore, the encrypted data D′ will not be decrypted by the hacker.

Please referring to FIG. 4 , another embodiment of FIG. 3 is shown. In another embodiment, the first key KEY 1 can be obtained according to a temporary number TN and the first random number RN 1 . The temporary number TN is obtained according to the first personal identification number PIN 1 by performing a many-to-one algorithm or a one-to-one algorithm. For example, the temporary number TN can be obtained by performing a Hash algorithm or identical to the first personal identification number PIN 1 , i.e. the embodiment of FIG. 3 .

Please referring to FIGS. 5 and 6 , FIG. 5 shows a flow chart of the decryption procedure of the data securing method, and FIG. 6 shows a logic diagram of FIG. 5 . In step S 501 , the inputting unit 110 obtains a second personal identification number PIN 2 from a user.

In step S 502 , the key generating unit 130 obtains a second key KEY 2 according to the second personal identification number PIN 2 and the first random number RN 1 . In step S 503 , the second key KEY 2 can be obtained by performing a many-to-one algorithm or a one-to-one algorithm. The many-to-one algorithm may be an exclusive-OR operation. The one-to-one algorithm may be a linear function algorithm. Taking the exclusive-OR operation as an example, the second key KEY 2 can be obtained by the following equation (3).

KEY2=PIN2⊕RN1  (3)

In step S 503 , the crypto unit 140 obtains a second secure checksum SC 2 according to the second key KEY 2 . In step S 503 , the second secure checksum SC 2 can be obtained according to the second key KEY 2 and the predetermined number PN described in the step S 204 , such as “0X00 . . . 00”. The second secure checksum SC 2 can be obtained by performing a many-to-one algorithm or a one-to-one algorithm. For example, the second secure checksum SC 2 can be obtained by performing Hash algorithm, a symmetric encryption algorithm, an asymmetric algorithm or a CRC32 algorithm. For example, the second secure checksum SC 2 can be obtained by the following equation (4).

AES_ENC(KEY2,PN)=SC2  (4)

In step S 504 , the crypto unit 140 determines whether part of the second secure checksum SC 2 is identical to part of the first secure checksum SC 1 . If part of the second secure checksum SC 2 is identical to part of the first secure checksum SC 1 , then the process proceeds to step S 505 ; if part of the second secure checksum SC 2 is not identical to part of the first secure checksum SC 1 , then the process proceeds to step S 501 .

In step S 505 , the crypto unit 140 decrypts the encrypted data D′ to be the original data D according to the second key KEY 2 .

Please referring to FIG. 6 , even if the first personal identification number PIN 1 and the first key KEY 1 are not stored in the storage unit 150 , the user still can take out the original data D by correctly inputting the second personal identification number PIN 2 .

Please referring to FIGS. 7 and 8 , FIG. 7 shows a flow chart of the personal identification number changing procedure of the data securing method, and FIG. 8 shows a logic diagram of FIG. 7 . In step S 701 , the inputting unit 110 obtains a third personal identification number PIN 3 from a user.

In step S 702 , the key generating unit 130 obtains a second random number RN 2 according to the first personal identification number PIN 1 , the third personal identification number PIN 3 and the first random number RN 1 . In step S 203 , referring to equation (5), the first key KEY 1 can be obtained according to the first personal identification number PIN 1 and the first random number RN 1 by performing a logic operation or an algorithm. In the equation (5), the symbol “@” represent a logic operation or an algorithm. Referring to equation (5), the first key KEY 1 can also be obtained according to the third personal identification number PIN 3 and a second random number RN 2 by performing the same logic operation or algorithm.

KEY1=PIN1@RN1=PIN3@RN2  (5)

According to equation (5), the second random number RN 2 can be obtained by the following equation (6).

RN2=PIN1@RN1@PIN3  (6)

In step S 703 , the second random number RN 2 is stored in the storage unit 150 to replace the first random number RN 1 . Afterward, the user can input the third personal identification number PIN 3 and then take out the original data D.

›DETAILED DESCRIPTION · 3 of 3

As illustrated in FIG. 8 , when the user replaces the first personal identification number PIN 1 by the third personal identification number PIN 3 , the first key KEY 1 does not changed. Therefore, the encrypted data D′ is not needed to be decrypted and encrypted again.

Moreover, according to another aspect, please referring to FIG. 10 , when a smart phone APP links NFC SE or other hardware, the first key KEY 1 obtained by the present method can be used as an authentication key of the NFC SE or other hardware.

It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiments. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims and their equivalents.

Claims as granted

23 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

2 codes
IPC · International Patent Classification
Section G — Physics
  • G09C1/00
Section H — Electricity
  • H04L9/08

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2014Apr 2014Jul 2014Oct 2014Jan 2015Apr 2015Jul 2015Oct 2015Jan 2016Apr 2016Jul 2016Oct 2016USPTOApplicantNon-final rejectionResponse after non-finalRequest for continued examinationNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
2.6 y
960 days filing → grant
Office actions
2
non-final + final
Responses
1
1 RCE
Examiner
Evans Desrosiers
art unit 2491 · TC 2400
Citations: 10 back · 2 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20142016201820202022202420262028203020322034Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock