Method for Securely Distributing Private Electronic Files

Through identity authentication, multiple encryption and decryption and timestamp signature technology, combined with USBKEY and password machine hardware, the security weak problem of the existing electronic file issuing system is solved, and high security transmission and reception of private electronic files is achieved.

CN115276977BActive Publication Date: 2025-08-05SICHUAN DIGITAL CERTIFICATE AUTHENTICATION MANAGEMENT CENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210879087.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-25
Publication Date
2025-08-05
Estimated Expiration
2042-07-25

AI Technical Summary

Technical Problem

The existing electronic file distribution system has weak links in the security protection of sensitive data, including the lack of enhanced identity authentication and data encryption and decryption methods, and insufficient protection of cloud data isolation and privacy data encryption, resulting in susceptibility to illegal theft and data leakage.

Method used

Identity authentication, data encryption and decryption, timestamp signature and dynamic cryptography technology are adopted, combined with USBKEY digital certificate and password machine hardware encryption, to realize multiple encryption and decryption of private electronic files, ensuring that only the receiving user can decrypt it, transmission through HTTPS secure channel, and the server side stores hash values instead of plain text information.

Benefits of technology

It greatly enhances the security of sending and receiving private electronic files, ensuring that only the receiving user can decrypt, prevent data leakage, and protect sensitive information when a network attack or the database is dragged into the database.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115276977B_ABST
    Figure CN115276977B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for securely distributing private electronic files, which relates to the field of information security technology. The method comprises: a sending end user securely loads a private electronic file, wherein the private electronic file includes basic information of each receiving end and private data corresponding to the basic information; a client encrypts the private electronic file and uploads it to a server; the server receives, re-encrypts and stores the private electronic file; the server sends a private electronic file viewing message to the receiving end user; the receiving end user receives the message and decrypts and views the private electronic file. The present invention greatly enhances the security of sending and receiving private electronic files.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information security technology, and in particular to a method for securely distributing private electronic files. Background Art

[0002] With the deepening of digital transformation, the widespread adoption of the internet, and the vigorous promotion of the paperless office concept in recent years, electronic documents have gradually replaced traditional paper documents. While there are a number of electronic document distribution products currently in widespread use, most overlook the high security requirements for sensitive data. Addressing data security in electronic document distribution has become a key concern for businesses today.

[0003] Several mainstream electronic file systems currently on the market have obvious weaknesses in protecting sensitive data, as shown in the following:

[0004] (1) Most systems do not use enhanced identity authentication and data encryption and decryption methods. Receiving users can query the plain text information of private electronic files by simply entering their name, work number, or using their email address, which makes it easy for illegal theft and data leakage;

[0005] (2) Some systems are deployed on Alibaba Cloud servers, and their data security relies solely on Alibaba Cloud's basic security protection. Cloud tenant data isolation and privacy data encryption protection measures are weak, making it easy for cloud system operation and maintenance personnel to leak information or for data to be leaked due to network attacks.

[0006] (3) Although some systems are deployed locally at the employer, private electronic files are not encrypted or do not use one-time pad technology that is strongly associated with the recipient, making it easy for system operators to spy on them, or for sensitive data to be leaked after the local server system is attacked by a network attack. Summary of the Invention

[0007] In order to solve the problems existing in the prior art, the purpose of the present invention is to provide a method for securely distributing private electronic files. The present invention greatly enhances the security of sending and receiving private electronic files.

[0008] To achieve the above-mentioned purpose, the present invention adopts a technical solution: a method for securely distributing private electronic files, comprising the following steps:

[0009] S100: A sending user securely loads a private electronic file, where the private electronic file includes basic information of each receiving user and private data corresponding to the basic information.

[0010] S200, the client encrypts the private electronic file and uploads it to the server;

[0011] S300, the server receives, re-encrypts and stores the private electronic file;

[0012] S400, the server sends a private electronic file access message to the receiving user;

[0013] S500: The receiving user receives the message and decrypts and reads the private electronic file.

[0014] As a further improvement of the present invention, step S100 specifically includes the following steps:

[0015] S101, Identity Authentication: First, deploy the SSL server certificate of the trusted website on the server side. The sending user inserts the USBKEY digital certificate on the PC side, accesses the server management system through HTTPS, signs and logs into the system. The server backend confirms the legal identity of the logged-in user. If the identity is legal, proceed to the next step.

[0016] S102, data parsing: The sending user loads a local private electronic file, calls the browser JavaScript code to parse the data in the private electronic file, and presents the parsed data in the private electronic file on the HTML interface. After the sending user confirms that it is correct, the next step is entered.

[0017] As a further improvement of the present invention, step S200 specifically includes the following steps:

[0018] S201. The client browser extracts the first identity ID of the basic information of the receiving end user from the private electronic file, which is recorded as ID1, and calculates the hash value of ID1 using the SM3 hash algorithm. The result is recorded as HA1, where HA1=SM3(ID1);

[0019] S202. The client browser extracts the second identity ID of the recipient user's basic information from the private electronic file, which is recorded as ID2, and calculates a hash value for ID2 using the SM3 hash algorithm. The result is recorded as HA2, where HA2 = SM3(ID2).

[0020] S203: The client browser generates a random number, recorded as ID3, and sends it to the corresponding receiving user as the query password for the private electronic file;

[0021] S204, the client browser concatenates the ID1, ID2, and ID3 strings, and records the result as ID4, where ID4 = ID1||ID2||ID3;

[0022] S205. The client browser uses the SM3 hash algorithm to calculate a hash value for ID4. The result is recorded as HA3, where HA3 = SM3 (ID4).

[0023] S206. The client browser uses the HA3 value as a symmetric key to perform SM4 symmetric encryption on the private data in the private electronic file, recorded as PlainText. The result is recorded as CipherText, CipherText = SM4_Enc(PlainText, HA3);

[0024] S207, the client browser concatenates the ID2 and ID3 strings and records the result as ID5, ID5=ID2||ID3;

[0025] S208. The client browser sends the basic information of each receiving user's private electronic file and the generated HA1, HA2, CipherText, and ID5 to the server.

[0026] As a further improvement of the present invention, step S300 specifically includes the following steps:

[0027] S301, the server receives the data fields of each receiving user's private electronic file: basic information, HA1, HA2, CipherText, ID5;

[0028] S302. After receiving the data, the server calls the symmetric key in the cipher machine, recorded as HKey, and performs SM4 symmetric encryption on CipherText and ID5. The results are recorded as CipherText2 and ID6 respectively; CipherText2 = SM4_Enc (CipherText, HKey); ID6 = SM4_Enc (ID5, HKey);

[0029] S303. The server generates a unique value ID7 for each receiving end's private electronic file data query;

[0030] S304. The server concatenates the CipherText2, ID6, and ID7 strings, and records the result as ID8, where ID8 = CipherText2 | | ID6 | | ID7.

[0031] S305. The server calls a third-party timestamp signature service, takes ID8 as a parameter, and performs a timestamp signature on it. The signature result is recorded as TSString, TSString = TimeStampSign(ID8);

[0032] S306. The server stores the data fields of the private electronic file of each receiving end as follows: basic information, HA1, HA2, CipherText2, ID6, ID7, TSString. After storage is completed, the client browser displays a successful submission.

[0033] As a further improvement of the present invention, step S400 specifically includes the following steps:

[0034] S401: The sending user sends a private electronic file access notification to each receiving user via the client browser and selects a notification method;

[0035] S402. The server uses the symmetric key HKey in the cipher machine to perform SM4 symmetric decryption on ID6, resulting in ID5, ID5 = SM4_Dec (ID6, HKey), and extracts ID2 and ID3 from ID5.

[0036] S403. The server calls the corresponding interface to send a file access notification to the receiving user with ID 2 according to the notification sending method selected by the sending user. The file access notification includes the basic information of the receiving user, the random number ID 3 serving as the private electronic file query password, and the query link URL address generated using the unique value ID 7.

[0037] As a further improvement of the present invention, step S500 specifically includes the following steps:

[0038] S501: The receiving user clicks the query link URL in the notification message;

[0039] S502: The receiving user enters ID1 and ID2 on the HTML page for identity authentication. After the authentication is passed, the user proceeds to the next step.

[0040] S503. The server extracts the corresponding HA1 and HA2 from the database based on ID7, and uses the SM3 hash algorithm to calculate the hash values of ID1 and ID2 input by the receiving user, respectively. The results are recorded as HA1' and HA2', where HA1'=SM3(ID1) and HA2'=SM3(ID2). HA1' and HA2' are compared with HA1 and HA2 in the database respectively to see if they are equal. If they are equal, the process proceeds to the next step.

[0041] S504. The server extracts CipherText2, ID6, ID7, and TSString from the database according to ID7, concatenates the CipherText2, ID6, and ID7 strings, and records the result as ID8, where ID8 = CipherText2||ID6||ID7.

[0042] S505. The server calls a third-party timestamp verification service to perform timestamp verification on ID8 and TSString. The verification result is recorded as VerifyResult, where VerifyResult = TimeStampSignVerify(ID8, TSString). If the verification is successful, VerifyResult is True, indicating that the CipherText2, ID6, ID7, and TSString data are complete and valid, and the process proceeds to the next step.

[0043] S506. The server extracts the signature time from TSString and records it as SendTime, SendTime = GetTimeFromTimeStampSign(TSString). This time is the time of the third-party timestamp service agency when the timestamp is signed, and serves as the third-party notarization time for issuing the private electronic document.

[0044] S507, the server extracts CipherText2 from the database according to ID7;

[0045] S508. The server calls the symmetric key HKey in the cipher machine to perform SM4 symmetric decryption on CipherText2 to obtain CipherText, CipherText=SM4_Dec(CipherText2, HKey);

[0046] S509, the receiving end user enters the query password ID3 on the HTML page;

[0047] S510, concatenate ID1, ID2, and ID3 strings on the HTML page, and record the result as ID4, where ID4 = ID1||ID2||ID3;

[0048] S511. The HTML page calculates a hash value for ID4 using the SM3 hash algorithm. The result is recorded as HA3, where HA3 = SM3(ID4).

[0049] S512. The HTML page uses the HA3 value as the symmetric key to perform SM4 symmetric decryption on the private data CipherText in S508 to obtain the plaintext data PlainText of the private data, i.e., PlainText = SM4_Dec(CipherText, HA3);

[0050] S513. The HTML page presents the basic information of the receiving user, the plain text data PlainText of the private data, and the sending time SendTime of the private electronic file.

[0051] As a further improvement of the present invention, the private file is a pay slip presented in the form of an Excel file.

[0052] The beneficial effects of the present invention are:

[0053] This invention fully integrates the recipient's personal secret information with a one-time dynamic password to implement encryption and decryption, ensuring that only the recipient can decrypt their private files. Different recipients, and private files received by the same recipient at different times, use different encryption keys, significantly enhancing the security of sending and receiving private electronic files. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 A system structure block diagram of an embodiment of the present invention;

[0055] Figure 2 Flowchart of a method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0056] The embodiments of the present invention are described in detail below with reference to the accompanying drawings. Example

[0057] This embodiment uses the secure distribution of electronic pay slips as an example. It integrates PKI-based digital signatures, timestamps, data encryption, dynamic passwords, SMS authentication, and facial recognition information security technologies to provide employers with a highly secure and convenient pay slip distribution system. Workers can access their pay slips through convenient methods such as SMS, email, and WeChat official accounts. After SMS and facial recognition authentication, they must enter a combination of secret information and a dynamic password to decrypt and access their pay slips. The secret information is private and unique to the worker, known only to the worker and not stored in the system. The dynamic password is a one-time password that is unique to each user and each time, significantly enhancing the security of sending and receiving sensitive pay slip data.

[0058] like Figure 1 and Figure 2 As shown, this embodiment consists of four components: PC client browser, USBKEY, server management system, and cryptographic machine. The secure distribution of electronic salary slips specifically includes the following steps:

[0059] S100. The sending user (i.e., the employer's HR) securely loads the payroll Excel file as a private electronic file:

[0060] S101, Identity Authentication: First, deploy the SSL server certificate of the trusted website on the server side. HR inserts the USBKEY digital certificate of the employer on the PC side, accesses the server management system through HTTPS, signs and logs into the system, and the server backend verifies the signature and certificate to confirm the legal identity of the logged-in user. If the identity is legal, proceed to the next step.

[0061] S102. Data parsing: HR loads the local payslip Excel file on the payslip sending page, calls the browser JavaScript code to parse the data in the Excel file row by row (the Excel file must include: name, employee number, email address, year, month, ID number, mobile phone number, salary, etc.), and presents the parsed payslip data of each receiving user (i.e., worker) on the HTML interface. After HR confirms that it is correct, click "Submit" to proceed to the next step.

[0062] S200, client encrypts Excel data and uploads it:

[0063] The client browser performs the following processing on each worker's pay slip data to generate corresponding encrypted data:

[0064] S201. The client browser extracts the first identity ID from the pay slip. In this embodiment, the first identity ID is the last 6 digits of the ID number (IdentityNumber) of the receiving user (i.e., the worker), recorded as ID1. The IdentityNumber is hashed using the SM3 hash algorithm. The result is recorded as HA1, where HA1 = SM3(IdentityNumber).

[0065] S202. The client browser extracts the second identity ID from the pay slip. In this embodiment, the second identity ID is the last 6 digits of the mobile phone number (PhoneNumber) of the receiving user (i.e., the worker), recorded as ID2. The SM3 hash algorithm is used to calculate the hash value of the PhoneNumber, and the result is recorded as HA2, where HA2 = SM3(PhoneNumber).

[0066] S203: The client browser generates an 8-digit random number (recorded as ID3), which is subsequently sent to the employee as a salary slip query password;

[0067] S204, the client browser concatenates the above ID1, ID2, and ID3 strings, and records the result as ID4, where ID4 = ID1||ID2||ID3;

[0068] S205. The client browser uses the SM3 hash algorithm to calculate a hash value for ID4. The result is recorded as HA3, where HA3 = SM3 (ID4).

[0069] S206. The client browser uses the HA3 value as the symmetric key to perform SM4 symmetric encryption on the employee's salary in the pay slip (recorded as PayPlainText). The result is recorded as PayCipherText. PayCipherText = SM4_Enc(PayPlainText, HA3).

[0070] S207, the client browser concatenates the PhoneNumber and ID3 strings, and records the result as ID5, ID5=PhoneNumber||ID3;

[0071] S208. The client browser sends the name, employee number, email address, year, month, and HA1, HA2, PayCipherText, and ID5 generated in the above steps to the server.

[0072] S300, server receives, re-encrypts, and stores Excel data:

[0073] S301. The server receives the Excel data of each worker's salary slip, which includes the following fields: name, employee number, email address, year, month, HA1, HA2, PayCipherText, and ID5.

[0074] S302. After receiving the data, the server uses the symmetric key in the cipher (denoted as HKey) to perform SM4 symmetric encryption on PayCipherText and ID5. The results are recorded as PayCipherText2 and ID6 respectively; PayCipherText2 = SM4_Enc(PayCipherText, HKey); ID6 = SM4_Enc(ID5, HKey);

[0075] S303. The server generates a unique value ID7 for each worker's salary slip Excel data query;

[0076] S304. The server concatenates the PayCipherText2, ID6, and ID7 strings, and records the result as ID8, where ID8 = PayCipherText2 | | ID6 | | ID7.

[0077] S305. The server calls a third-party timestamp signature service, takes ID8 as a parameter, and performs a timestamp signature on it. The signature result is recorded as TSString, TSString = TimeStampSign(ID8);

[0078] S306. The server stores the Excel data fields of each worker's pay slip as follows: name, employee number, email address, year, month, HA1, HA2, PayCipherText2, ID6, ID7, TSString. After storage is completed, the client browser displays a successful submission.

[0079] S400: The server sends a payslip inquiry message:

[0080] S401. HR goes to the pay slip notification page in the client browser, selects the notification method: SMS / email / WeChat, and clicks "Send".

[0081] S402. The server uses the symmetric key HKey in the cipher machine to perform SM4 symmetric decryption on ID6, resulting in ID5, ID5 = SM4_Dec(ID6, HKey), and extracts PhoneNumber and ID3 from ID5.

[0082] S403. The server calls the corresponding SMS platform / email system / WeChat public account interface to send the following message based on the notification sending method selected by the HR:

[0083]

***Company

[0084] S500. The worker receives the message and checks the pay slip:

[0085] S501. The worker clicks the link in the notification message: https: / / www.***.com / *** / ***uid={ID7};

[0086] S502: The worker accesses the pay slip system and first performs mobile phone number verification (entering the mobile phone number and obtaining a verification code), real-name authentication (entering the name and ID number to invoke identity source authentication), and face recognition authentication on the HTML page. After passing the authentication, the worker proceeds to the next step.

[0087] S503. The server extracts the corresponding HA1 and HA2 from the database based on ID7, and uses the SM3 hash algorithm to calculate the hash values of the input ID number (IdentityNumber) and mobile phone number (PhoneNumber). The results are recorded as HA1' and HA2', HA1'=SM3(IdentityNumber), HA2'=SM3(PhoneNumber). HA1' and HA2' are compared with HA1 and HA2 in the database respectively to see if they are equal. If they are equal, the process proceeds to the next step.

[0088] S504. The server extracts CipherText2, ID6, ID7, and TSString from the database according to ID7, concatenates the CipherText2, ID6, and ID7 strings, and records the result as ID8, where ID8 = CipherText2||ID6||ID7.

[0089] S505. The server calls a third-party timestamp verification service to perform timestamp verification on ID8 and TSString. The verification result is recorded as VerifyResult, where VerifyResult = TimeStampSignVerify(ID8, TSString). If the verification succeeds (VerifyResult is True), it means that the CipherText2, ID6, ID7, and TSString data are complete and valid, and the server can proceed to the next step.

[0090] S506. The server extracts the signature time from TSString and records it as SendTime, SendTime = GetTimeFromTimeStampSign(TSString). This time is the time of the third-party timestamp service agency when the timestamp is signed, and can be used as the third-party notarization time for salary slip issuance.

[0091] S507. The server extracts PayCipherText2 from the database according to ID7.

[0092] S508. The server uses the symmetric key (HKey) in the cipher machine to perform SM4 symmetric decryption on PayCipherText2 to obtain PayCipherText, PayCipherText = SM4_Dec(PayCipherText2, HKey);

[0093] S509. The employee enters the "last 6 digits of their ID number (ID1), the last 6 digits of their mobile phone number (ID2), and their pay slip inquiry password (ID3)" on the HTML page and clicks "Inquire Pay Slip";

[0094] S510, HTML page splices the above ID1, ID2, and ID3 strings, and the result is recorded as ID4, ID4=ID1||ID2||ID3;

[0095] S511. The HTML page calculates a hash value for ID4 using the SM3 hash algorithm. The result is recorded as HA3, where HA3 = SM3(ID4).

[0096] S512. The HTML page uses the HA3 value as the symmetric key to perform SM4 symmetric decryption on the salary ciphertext PayCipherText in S508 to obtain the salary plaintext data PayPlainText, that is, PayPlainText = SM4_Dec(PayCipherText, HA3);

[0097] S513. The HTML page presents the worker's personal pay slip information: name, work number, year, month, salary plain text data PayPlainText, and pay slip payment time SendTime.

[0098] S514. After the worker finishes reading, the HTML page may provide a button for selecting whether to save the record. If the user chooses to save the record, the record will not be deleted and the user can continue to access the record through the verification code in the SMS / email. If the user chooses not to retain the record, the record will be deleted directly.

[0099] This embodiment confirms the authenticity of the server system identity by deploying a trusted website server SSL certificate on the server side; uses a USBKEY digital certificate to log in to the system on the client side to confirm the authenticity of the HR identity; and uses SMS, real-name information and face recognition verification to ensure the authenticity of the identity of the electronic pay slip recipient for workers.

[0100] This embodiment uses third-party timestamp signature technology to solidify electronic data storage when storing encrypted pay slip data on the server side. When workers check their pay slips, data integrity is ensured by verifying whether the timestamp signature is valid. At the same time, the time of the third-party timestamp service agency in the timestamp is used to ensure the fairness and non-tamperability of the electronic pay slip issuance time.

[0101] This embodiment uses a variety of enhancement measures in data confidentiality, and uses PKI cryptographic technology in data collection, transmission, storage, and distribution.

[0102] First, a combination of software and hardware encryption is employed to achieve double encryption from data collection to storage. The first encryption factor is synthesized using multiple employee secrets and a randomly generated one-time pad. This encryption is performed locally on the HR client before the encrypted ciphertext is transmitted over the network to the server. The second encryption occurs on the server, where the ciphertext data is further encrypted using a hardware cipher. This prevents the leakage of confidential salary information if the server database is compromised. Accordingly, pay slip distribution requires two decryptions before workers can access the plaintext information.

[0103] Second, the server database does not store workers' secret information or plain text information of one-time passwords. It only stores the HASH value of the workers' secret information. The HASH value is irreversible and is used for secondary comparison of identity information to prevent the mistaken issuance of salary slips. It can also prevent the database from being dragged or the server administrator from leaking sensitive information.

[0104] Third, the network transmission process also uses HTTPS secure channel encryption, which further ensures the security of the encrypted data of the pay slip uploaded by the client.

[0105] The above-described embodiments merely represent specific implementations of the present invention. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the spirit of the present invention, and all such variations and improvements fall within the scope of protection of the present invention.

Claims

1. A method for securely distributing private electronic files, characterized in that: The following steps are involved: S100: A sending user securely loads a private electronic file, where the private electronic file includes basic information of each receiving user and private data corresponding to the basic information. S200, the client encrypts the private electronic file and uploads it to the server; The step S200 specifically includes the following steps: S201. The client browser extracts the first identity ID of the basic information of the receiving end user from the private electronic file, which is recorded as ID1, and calculates the hash value of ID1 using the SM3 hash algorithm. The result is recorded as HA1, where HA1=SM3(ID1); S202. The client browser extracts the second identity ID of the recipient user's basic information from the private electronic file, which is recorded as ID2, and calculates a hash value for ID2 using the SM3 hash algorithm. The result is recorded as HA2, where HA2 = SM3(ID2). S203: The client browser generates a random number, recorded as ID3, and sends it to the corresponding receiving user as the query password for the private electronic file; S204, the client browser concatenates the ID1, ID2, and ID3 strings, and records the result as ID4, where ID4 = ID1||ID2||ID3; S205. The client browser uses the SM3 hash algorithm to calculate a hash value for ID4. The result is recorded as HA3, where HA3 = SM3 (ID4). S206. The client browser uses the HA3 value as a symmetric key to perform SM4 symmetric encryption on the private data in the private electronic file, recorded as PlainText. The result is recorded as CipherText, CipherText = SM4_Enc(PlainText, HA3); S207, the client browser concatenates the ID2 and ID3 strings, and the result is recorded as ID5, ID5 = ID2 | | ID3; S208, the client browser sends the basic information of each receiving user's private electronic file and the generated HA1, HA2, CipherText, and ID5 to the server; S300, the server receives, re-encrypts and stores the private electronic file; The step S300 specifically includes the following steps: S301, the server receives the data fields of each receiving user's private electronic file: basic information, HA1, HA2, CipherText, ID5; S302. After receiving the data, the server calls the symmetric key in the cipher machine, recorded as HKey, and performs SM4 symmetric encryption on CipherText and ID5. The results are recorded as CipherText2 and ID6 respectively; CipherText2 = SM4_Enc (CipherText, HKey); ID6 = SM4_Enc (ID5, HKey); S303. The server generates a unique value ID7 for each receiving end's private electronic file data query; S304. The server concatenates the CipherText2, ID6, and ID7 strings, and records the result as ID8, where ID8 = CipherText2 | | ID6 | | ID7. S305. The server calls a third-party timestamp signature service, takes ID8 as a parameter, and performs a timestamp signature on it. The signature result is recorded as TSString, TSString = TimeStampSign(ID8); S306. The server stores the data fields of each recipient's private electronic file: basic information, HA1, HA2, CipherText2, ID6, ID7, TSString. After storage is completed, the client browser displays "submission successful"; S400, the server sends a private electronic file access message to the receiving user; The step S400 specifically includes the following steps: S401: The sending user sends a private electronic file access notification to each receiving user via the client browser and selects a notification method; S402. The server uses the symmetric key HKey in the cipher machine to perform SM4 symmetric decryption on ID6, resulting in ID5, ID5 = SM4_Dec (ID6, HKey), and extracts ID2 and ID3 from ID5. S403: The server calls the corresponding interface to send a file access notification to the receiving user (ID2) based on the notification delivery method selected by the sending user. The file access notification includes the receiving user's basic information, the random number ID3 serving as the private electronic file access password, and the query link URL generated using the unique value ID7. S500: The receiving user receives the message and decrypts and reads the private electronic file; The step S500 specifically includes the following steps: S501: The receiving user clicks the query link URL in the notification message; S502: The receiving user enters ID1 and ID2 on the HTML page for identity authentication. After the authentication is passed, the user proceeds to the next step. S503. The server extracts the corresponding HA1 and HA2 from the database based on ID7, and uses the SM3 hash algorithm to calculate the hash values of ID1 and ID2 input by the receiving user, respectively. The results are recorded as HA1' and HA2', where HA1'=SM3(ID1) and HA2'=SM3(ID2). HA1' and HA2' are compared with HA1 and HA2 in the database respectively to see if they are equal. If they are equal, the process proceeds to the next step. S504. The server extracts CipherText2, ID6, ID7, and TSString from the database according to ID7, concatenates the CipherText2, ID6, and ID7 strings, and records the result as ID8, where ID8 = CipherText2||ID6||ID7. S505. The server calls a third-party timestamp verification service to perform timestamp verification on ID8 and TSString. The verification result is recorded as VerifyResult, where VerifyResult = TimeStampSignVerify(ID8, TSString). If the verification is successful, VerifyResult is True, indicating that the CipherText2, ID6, ID7, and TSString data are complete and valid, and the process proceeds to the next step. S506. The server extracts the signature time from TSString and records it as SendTime, SendTime = GetTimeFromTimeStampSign(TSString). This time is the time of the third-party timestamp service agency when the timestamp is signed, and serves as the third-party notarization time for issuing the private electronic document. S507, the server extracts CipherText2 from the database according to ID7; S508. The server calls the symmetric key HKey in the cipher machine to perform SM4 symmetric decryption on CipherText2 to obtain CipherText, CipherText=SM4_Dec(CipherText2, HKey); S509, the receiving end user enters the query password ID3 on the HTML page; S510, concatenate ID1, ID2, and ID3 strings on the HTML page, and record the result as ID4, where ID4 = ID1||ID2||ID3; S511. The HTML page calculates a hash value for ID4 using the SM3 hash algorithm. The result is recorded as HA3, where HA3 = SM3(ID4). S512. The HTML page uses the HA3 value as the symmetric key to perform SM4 symmetric decryption on the private data CipherText in S508 to obtain the plaintext data PlainText of the private data, i.e., PlainText = SM4_Dec(CipherText, HA3); S513. The HTML page presents the basic information of the receiving user, the plain text data PlainText of the private data, and the sending time SendTime of the private electronic file.

2. The method for securely distributing private electronic files according to claim 1, characterized in that: The step S100 specifically includes the following steps: S101, Identity Authentication: First, deploy the SSL server certificate of the trusted website on the server side. The sending user inserts the USBKEY digital certificate on the PC side, accesses the server management system through HTTPS, signs and logs into the system. The server backend confirms the legal identity of the logged-in user. If the identity is legal, proceed to the next step. S102, data parsing: The sending user loads a local private electronic file, calls the browser JavaScript code to parse the data in the private electronic file, and presents the parsed data in the private electronic file on the HTML interface. After the sending user confirms that it is correct, the next step is entered.

3. The method for securely distributing private electronic files according to claim 1 or 2, characterized in that: The private electronic file is a pay slip presented in the form of an Excel file.

Citation Information

Patent Citations

  • Attribute encryption access control method and system for Internet of Things and storage medium

    CN112565223A