WO2021212378A1 - 数据处理方法、装置、研发端工具及产线端工具 - Google Patents

数据处理方法、装置、研发端工具及产线端工具 Download PDF

Info

Publication number
WO2021212378A1
WO2021212378A1 PCT/CN2020/086195 CN2020086195W WO2021212378A1 WO 2021212378 A1 WO2021212378 A1 WO 2021212378A1 CN 2020086195 W CN2020086195 W CN 2020086195W WO 2021212378 A1 WO2021212378 A1 WO 2021212378A1
Authority
WO
WIPO (PCT)
Prior art keywords
order
processing
data
code
mac address
Prior art date
Application number
PCT/CN2020/086195
Other languages
English (en)
French (fr)
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 CN202080040963.8A priority Critical patent/CN113994631B/zh
Priority to PCT/CN2020/086195 priority patent/WO2021212378A1/zh
Publication of WO2021212378A1 publication Critical patent/WO2021212378A1/zh

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/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Definitions

  • This application relates to the field of data security, and in particular to a data processing method, device, R&D end tool, and production line end tool.
  • encryption algorithms are used in the prior art to store data to ensure data security.
  • the software solution needs to be encrypted by an encryption algorithm before being delivered to the production line, and then the encrypted software solution is provided to the production line.
  • the attacker obtains the encrypted software solution, he can generally obtain the source program of the software solution by traversing all the decryption algorithms corresponding to all encryption algorithms on any computer. It may cause the source program of the software solution to be easily leaked to the attacker, and the security of the data cannot be guaranteed. Therefore, this problem needs to be solved urgently.
  • this application provides a data processing method, device, R&D end tool, production line end tool, R&D end computer, production line end computer, and storage medium.
  • the out-of-sequence data is transmitted to the computer on the production line, and the MAC address is the MAC address of the computer on the production line.
  • performing out-of-order processing on source data according to the MAC address includes:
  • the source data is processed out of order according to the disorder code, which is part or all of the MAC address.
  • it further includes: performing out-of-order processing according to the out-of-order scheme corresponding to the out-of-order codes; and out-of-order corresponding to different out-of-order codes The scheme is different.
  • the out-of-sequence scheme includes moving the i-th symbol in the source data to the position of the j-th symbol.
  • it further includes establishing an out-of-order library, and the out-of-order library includes an out-of-order scheme corresponding to the out-of-order code.
  • it further includes: performing multiple out-of-order processing on the source data according to the out-of-order code; in the multiple out-of-order processing, based on the above For every M bytes after an out-of-order processing, perform the next out-of-order processing on every P bytes in every M bytes after the out-of-order processing.
  • the scrambled code includes the first scrambled code, the second scrambled code, and the third scrambled code; according to the scrambled code
  • Multiple out-of-order processing of source data includes:
  • the first scrambled code is the first a byte in the MAC address; the second scrambled code is the first a byte in the MAC address The middle b bytes; the third random code is the last c bytes in the MAC address.
  • N is an integer multiple of M
  • M is an integer multiple of P
  • P is an integer multiple of Q
  • performing out-of-order processing on the source data according to the MAC address to obtain the out-of-order data includes: encrypting the out-of-order data according to the MAC address Obtain encrypted out-of-order data;
  • Transmitting the out-of-order data to the computer on the production line includes transmitting the encrypted out-of-order data to the computer on the production line.
  • the second aspect of the embodiments of the present application provides a data processing method, including:
  • the out-of-order data is obtained by out-of-order processing of the source data according to the MAC address of the computer on the production line;
  • the out-of-order data is reversed out-of-order processing.
  • the method before performing the reverse out-of-order processing on the out-of-order data according to the local MAC address, the method further includes:
  • the local MAC address is obtained through automatic query
  • the out-of-order data will be reversed out-of-order according to the local MAC address.
  • performing reverse out-of-order processing on out-of-order data according to a local MAC address includes:
  • Reverse out-of-order processing is performed on out-of-order data according to the out-of-order code, and the out-of-order code is part or all of the local MAC address.
  • it also includes performing reverse disorder processing according to the disorder scheme corresponding to the disorder code; the disorder corresponding to different disorder codes The scheme is different.
  • the out-of-order data is subjected to multiple inverse out-of-order processing according to the out-of-order code; in the multiple inverse out-of-order processing, based on the above For every P bytes obtained after the reverse disorder processing is performed on every Q bytes at a time, the next reverse disorder processing is performed on each P bytes after the reverse disorder processing.
  • the scrambled code includes a first scrambled code, a second scrambled code, and a third scrambled code; according to the scrambled code Performing multiple reverse out-of-order processing on out-of-order data includes:
  • the first scrambled code is the first a byte in the local MAC address; the second scrambled code is the local MAC address The middle b bytes in the middle; the third random code is the last c bytes in the local MAC address.
  • N is an integer multiple of M
  • M is an integer multiple of P
  • P is an integer multiple of Q
  • receiving out-of-order data includes receiving encrypted out-of-order data; after receiving encrypted out-of-order data, it includes:
  • performing reverse out-of-order processing on the out-of-order data according to the local MAC address further includes:
  • a third aspect of the embodiments of the present application provides a data processing device, including:
  • the out-of-order processing module is used to perform out-of-order processing on the source data according to the MAC address to obtain out-of-order data;
  • the data transmission module is used to transmit out-of-sequence data to the computer on the production line, and the MAC address is the MAC address of the computer on the production line.
  • the out-of-order processing module is specifically configured to perform out-of-order processing on the source data according to the out-of-order code, and the out-of-order code is part of the MAC address Or all.
  • the out-of-order processing module performs out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code;
  • the sequence scheme is different.
  • the out-of-sequence scheme includes moving the i-th symbol in the source data to the position of the j-th symbol.
  • the library building module is used to build a disordered library; the disordered library includes the disordered program corresponding to the disordered code.
  • the out-of-order processing module is specifically configured to perform multiple out-of-order processing on the source data according to the out-of-order code; multiple out-of-order processing , The out-of-order processing module performs the next out-of-order processing on every P bytes of every M bytes after the out-of-order processing based on every M bytes after the last out-of-order processing.
  • the scrambled code includes the first scrambled code, the second scrambled code, and the third scrambled code;
  • the disordered processing module include:
  • the M byte processing module is used to perform out-of-order processing on every M bytes of every N bytes in the source data according to the first out-of-order code;
  • the P byte processing module is used to perform out-of-order processing on every P bytes of every M bytes after the out-of-order processing according to the second out-of-order code;
  • the Q byte processing module is used to perform out-of-order processing on every Q bytes in each P bytes after out-of-order processing according to the third out-of-order code.
  • the first random sequence code is the first a byte in the MAC address; the second random sequence code is the first a byte in the MAC address The middle b bytes; the third random code is the last c bytes in the MAC address; N is an integer multiple of M, M is an integer multiple of P, and P is an integer multiple of Q.
  • an encryption module is further included, and the encryption module is used to encrypt the out-of-order data according to the MAC address to obtain encrypted out-of-order data; data transmission The module is specifically used to transmit encrypted out-of-sequence data to the computer on the production line.
  • a fourth aspect of the embodiments of the present application provides a data processing device, which is characterized in that it includes:
  • the receiving module the receiving module is used to receive out-of-order data, the out-of-order data is obtained by out-of-order processing of the source data according to the MAC address of the computer at the production line;
  • the reverse disorder processing module is used to perform reverse disorder processing on the disorder data.
  • Judgment module the judgment module is used to judge whether the local MAC address is equal to the MAC address of the production line computer.
  • the local MAC address is obtained through automatic query; if the local MAC address is equal to the MAC address of the production line computer, the reverse disorder processing module is based on The local MAC address performs reverse out-of-order processing on out-of-order data.
  • another implementation manner of the fourth aspect further includes a prompt module. If the local MAC address is not equal to the MAC address of the computer at the production line, the prompt module outputs an error prompt.
  • the reverse disorder processing module is specifically configured to perform reverse disorder processing on the disorder data according to the disorder code, and the disorder code is Part or all of the local MAC address.
  • the inverse disorder processing module is specifically configured to perform inverse disorder processing according to the disorder scheme corresponding to the disorder code; different disorder
  • the sequence codes correspond to different out-of-sequence schemes.
  • the inverse disorder processing module is specifically configured to perform multiple inverse disorder processing on the disorder data according to the disorder code; multiple times;
  • the reverse disorder processing is based on the P bytes after the reverse disorder processing obtained after the reverse disorder processing on every Q bytes last time, and the reverse disorder processing is performed on each P bytes after the reverse disorder processing. The bytes undergo the next reverse out-of-order processing.
  • the scrambled code includes the first scrambled code, the second scrambled code, and the third scrambled code; reverse disorderly processing
  • the modules include:
  • the Q byte inverse processing module is used to perform reverse disorder processing on every Q bytes after disorder processing according to the third disorder code to obtain every P bytes after reverse disorder processing;
  • the P byte reverse processing module is used to perform reverse shuffle processing on every P bytes after reverse shuffle processing according to the second shuffle code to obtain every M bytes after reverse shuffle processing;
  • the M byte reverse processing module is used to perform reverse disorder processing on every M bytes after reverse disorder processing according to the first disorder code.
  • the first random code is the first a byte in the MAC address; the second random code is the first byte in the MAC address The middle b bytes; the third random code is the last c bytes in the MAC address; N is an integer multiple of M, M is an integer multiple of P, and P is an integer multiple of Q.
  • the fourth aspect further includes a decryption module; the receiving module is specifically used to receive encrypted out-of-sequence data; the decryption module is used to encrypt data according to the local MAC address The out-of-order data is decrypted.
  • firmware processing module in another implementation manner of the fourth aspect, it further includes: a firmware processing module, where the firmware processing module is used to encrypt source data to obtain encrypted firmware; the firmware processing module also uses To load the encrypted firmware into the chip.
  • the fifth aspect of the embodiments of the present application provides a research and development tool for implementing the data processing method of the first aspect described above.
  • the research and development tool includes an interface for inputting the MAC address of the production line computer.
  • the sixth aspect of the embodiments of the present application provides a production-end tool for implementing the data processing method of the second aspect described above, which is characterized in that it includes an interface for automatically calling a local MAC address.
  • the seventh aspect of the embodiments of the present application provides a R&D end computer, which is characterized in that it includes a memory and a processor;
  • the memory is coupled to the processor
  • Memory used to store program instructions
  • the processor is used to call the program instructions stored in the memory, so that the R&D computer executes the data processing method of the first aspect.
  • the eighth aspect of the embodiments of the present application provides a production-line end computer, which is characterized in that it includes a memory and a processor;
  • the memory is coupled to the processor
  • Memory used to store program instructions
  • the processor is used to call the program instructions stored in the memory to make the computer on the production line execute the data processing method of the second aspect.
  • a ninth aspect of the embodiments of the present application provides a computer-readable storage medium, including a computer program stored thereon, and the computer program implements the data processing method of the first aspect when the computer program is executed by a processor.
  • a tenth aspect of the embodiments of the present application provides a computer-readable storage medium, including a computer program stored thereon, and the computer program implements the data processing method of the second aspect when the computer program is executed by a processor.
  • the beneficial effect of the embodiments of the present application is that the embodiments of the present application provide a data processing method, device, R&D end tools, production line end tools, R&D end computers, production line end computers, and storage media.
  • the source data is out-of-order processed according to the MAC address of the production line to obtain out-of-order data, so that it is difficult for third parties to obtain the source data, which improves the security of the data.
  • FIG. 1 is a flowchart of a data processing method according to an embodiment of the application
  • FIG. 2 is a schematic diagram of a MAC address according to an embodiment of the application
  • FIG. 3 is a flowchart of a method for out-of-order processing of source data according to an out-of-order code according to an embodiment of the application;
  • FIG. 5 is a flowchart of another data processing method according to an embodiment of the application.
  • FIG. 6 is a flowchart of a data processing method of a research and development tool according to an embodiment of the application
  • FIG. 7 is a flowchart of a data processing method of a tool on the production line according to an embodiment of the application.
  • FIG. 8 is a flowchart of a data processing method according to an embodiment of the application.
  • FIG. 9 is a flowchart of another data processing method according to an embodiment of the application.
  • FIG. 10 is a flowchart of multiple inverse out-of-order processing for out-of-order data according to the out-of-order code according to an embodiment of the application;
  • FIG. 11 is a flowchart of performing reverse out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code according to an embodiment of the application;
  • FIG. 12 is a flowchart of yet another data processing method according to an embodiment of the application.
  • FIG. 13 is a flowchart of yet another data processing method according to an embodiment of the application.
  • FIG. 14 is a schematic diagram of a data processing device according to an embodiment of the application.
  • 15 is a schematic diagram of another data processing device according to an embodiment of the application.
  • FIG. 16 is a schematic diagram of an out-of-order processing module according to an embodiment of the application.
  • FIG. 17 is a schematic diagram of still another data processing device according to an embodiment of the application.
  • FIG. 18 is a schematic diagram of a data processing device according to an embodiment of the application.
  • 19-20 are schematic diagrams of another data processing device according to an embodiment of the application.
  • FIG. 21 is a schematic diagram of a reverse disorder processing module according to an embodiment of the application.
  • 22-23 are schematic diagrams of yet another data processing device according to an embodiment of the application.
  • FIG. 24 is a schematic diagram of a research and development end computer according to an embodiment of the application.
  • FIG. 25 is a schematic diagram of a production line end computer according to an embodiment of the application.
  • the embodiment of the application provides a data processing method, which can be used to improve the security of the software solution and prevent the software solution from being stolen on any third-party computer.
  • the software solution can also be referred to as a software achievement solution
  • This method can be run on the R&D side, such as on the R&D personnel’s computer.
  • the R&D personnel’s computer can be a personal computer (PC), such as a desktop computer, a small laptop or a tablet computer, etc.
  • This method can also be used Run on mobile phone or server.
  • the R&D end computer can execute the method shown in Figure 1, or the R&D staff can develop a R&D end tool, which is loaded on the R&D end.
  • the R&D end tool It can be a plug-in loaded on the computer of the R&D end, and the method shown in Figure 1 can be realized through the tools of the R&D end.
  • the R&D tool can be understood as a software development kit (Software Development Kit, SDK). As shown in Figure 1, the method includes the following steps:
  • S101 Perform out-of-order processing on source data according to the MAC address to obtain out-of-order data;
  • S102 Transmit out-of-order data to the computer at the production line end, and the MAC address is the MAC address of the computer at the production line end.
  • the source data can be understood as the data representing the software solution, that is, the representation of the user's software achievements in hexadecimal numbers, or can be understood as the code program, and the form of its existence can be any hexadecimal data.
  • Processing the source data out of order according to the Media Access Control Address (MAC address) can improve the security of the source data, because the MAC address is the MAC address of the production line computer, and according to the MAC address
  • the source data is processed out of order. Therefore, assuming that any third party obtains the out-of-order data, but any third party does not know the MAC address, the source data cannot be obtained. Even through the possible reverse out-of-order scheme, the first It is also difficult for the three parties to obtain source data.
  • MAC address Media Access Control Address
  • customer B may use multiple sets of known data as source data, and use the R&D tool according to The preset MAC address performs out-of-order processing on the multiple sets of known data to obtain multiple sets of out-of-order data, and then through the mathematical relationship between the multiple sets of known data and the multiple sets of out-of-order data obtained, customer B may The out-of-order scheme will be derived, but the out-of-order scheme deduced by client B is based on the pre-set MAC address.
  • client B uses the out-of-order scheme derived from the pre-set MAC address to derive client A If the out-of-order data corresponds to the source data of client A, the wrong source data will be obtained, because B has not deduced the out-of-order scheme corresponding to the MAC address used by client A.
  • the out-of-order data can be successfully reversed out-of-order processing to obtain the source data.
  • a third-party computer that is, any attacker’s computer, because its MAC address is not the MAC address of the production-line computer, the reverse disorder processing cannot be performed or the third-party computer’s MAC address is incorrectly processed after reverse disorder processing.
  • Source data Therefore, even if a third party obtains the out-of-order data, the third party cannot obtain the source data, which improves the security of the source data.
  • the third party can also be referred to as an attacker, which can be understood as a plagiarism who intends to steal the source data.
  • out-of-order processing has a shorter processing time, so that the response speed is faster, and there is no need to use a third-party encryption library.
  • Safety The source data is processed out of order based on the MAC address, and it is difficult for a third party to reversely deduce the source data.
  • the out-of-order processing of the source data according to the MAC address can realize that the source data is not stored in plain text. Even if the out-of-order data is obtained by a third party, since it is not in plain text, the security of the source data can be improved to a certain extent.
  • the MAC address may also be referred to as a local area network address (LAN Address), Ethernet address (Ethernet Address), or physical address (Physical Address), and it is an address used to confirm the location of a network device.
  • LAN Address local area network address
  • Ethernet address Ethernet address
  • Physical Address physical address
  • the position of any symbol can be adjusted according to the MAC address.
  • the position of any symbol in the source data can be exchanged according to the MAC address, and the number of arbitrary symbols can be exchanged. There is no restriction, nor is there any restriction on the number of exchanges.
  • the MAC address is the MAC address of the computer at the production line, and the MAC address can be input by the R&D personnel on the computer at the R&D end. Specifically, after the R&D knows the MAC address of the computer used on the production line, the MAC address can be input to the R&D computer. For example, the MAC address can be written in the code, or through the R&D end on the R&D computer The tool writes the MAC address to perform out-of-sequence processing based on the MAC address. After the out-of-order data is transmitted to the production line, the production line can perform reverse out-of-order processing to obtain the source data. Later, the source data can also be loaded into the chip through serial communication so that the chip can realize the source.
  • the chip may be a Bluetooth chip, for example, a Bluetooth low energy chip.
  • the specific transmission form for transmitting out-of-order data to the production-line end computer is not limited.
  • the R&D end computer may send the out-of-order data to the production line end computer through a third-party software, for example, mail , WeChat, Netdisk, etc.
  • the out-of-order data can also be sent to the production-line computer through R&D tools
  • the out-of-order data can also be sent to the production-line computer through a storage device such as a U disk.
  • the out-of-sequence data can be transmitted to the computer on the production line through wired or wireless transmission.
  • the computer on the production line is disconnected from the network, and the out-of-order data can be transmitted to the computer on the production line through a temporary storage device such as a U disk.
  • the embodiment of the application provides a data processing method.
  • the source data is out-of-order processed according to the MAC address to obtain out-of-order data.
  • the MAC address is the MAC address of the production line computer, so that a third party cannot arbitrarily steal the source data. , Improve the security of data.
  • performing out-of-order processing on source data according to the MAC address includes: performing out-of-order processing on the source data according to the out-of-order code, where the out-of-order code is part or all of the MAC address.
  • the MAC address is shown in Figure 2. Take the MAC address of the PC as an example. The MAC address consists of 6 bytes. The random code can be any one or more of these 6 bytes. It can also be any nibble of the 6 bytes or any number of digits in the 6 bytes. After the disorder code is determined, every N bytes of the source data can be disorderly processed according to the disorder code. In this embodiment, N is less than or equal to all the bytes of the source data.
  • the method further includes performing out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code, and different out-of-order codes correspond to different out-of-order schemes.
  • the disorder plan is also determined. The one-to-one correspondence between the disorder code and the disorder plan makes it easy to determine which disorder processing and reverse disorder processing to perform according to the disorder code. If the disorder code used by the third party is wrong, if the inverse disorder processing corresponding to the disorder code is set under the premise of the disorder code error, the third party will obtain the wrong source data after the inverse disorder processing. In addition, the source data can not be obtained after the reverse disorder processing.
  • the query corresponding to the disorder code will be rejected
  • Out-of-order solutions do not perform reverse out-of-order processing, and output error prompts.
  • the error prompts can be output from the pop-up window on the PC side or displayed on the interface of the tool on the production line.
  • different out-of-order codes correspond to different out-of-order schemes, which can save memory space for storing out-of-order schemes. This is beneficial to both the R&D and production lines.
  • the memory space of the R&D computer is small, and it is convenient to transfer the correspondence between the disorder code and the disorder program to the production-line computer. At the same time, the production-line computer will occupy the memory of the production-line computer after receiving the correspondence. The space is also small.
  • the out-of-sequence scheme includes moving the i-th symbol in the source data to the position of the j-th symbol.
  • Different out-of-sequence schemes may have different numbers of symbols to be moved.
  • the out-of-sequence scheme may also include moving the j-th symbol to the position of the i-th symbol, that is, the i-th symbol and the j-th symbol are swapped; for different out-of-sequence schemes, the exchanged code
  • the meta number can be different.
  • the source data can be composed of multiple code elements, which can be any number such as binary number, octal number, decimal number, hexadecimal number, etc.
  • the present embodiment does not limit the hexadecimal form of the source data, where the i-th bit is The code element and the j-th code element can be any one-bit code element in the source data in any hexadecimal form.
  • the out-of-sequence scheme of position swapping is taken as an example to illustrate. It is possible to adjust only the positions of one pair of symbols or the positions of multiple pairs of symbols. .
  • the method further includes: establishing an out-of-order library, and the out-of-order library includes an out-of-order scheme corresponding to the out-of-order code.
  • the out-of-order library can conveniently manage out-of-order schemes corresponding to out-of-order codes, for example, modifying out-of-order schemes, deleting and adding out-of-order schemes, etc.
  • the software solution provider will provide the out-of-order library to the production line end.
  • the out-of-order library can be obtained by the R&D end tool and the production line end tool.
  • the out-of-order library can be written as a function package, and the out-of-order library can be called when R&D tools or production line tools need to access the out-of-order library; another way is that the out-of-order library is written directly to the R&D tool In this way, when the software solution is delivered to the production line, there is no need to separately transmit the out-of-sequence library. It is enough to directly transmit the R&D end tools and the production-line end tools. In addition, write the out-of-sequence library to the R&D The security of end tools and production line end tools can be further increased to avoid the out-of-order library from being easily obtained by third parties.
  • the method further includes: performing multiple out-of-order processing on the source data according to the out-of-order code.
  • Performing multiple out-of-order processing on the source data can increase the complexity of the out-of-order processing, so that the security of the source data is further improved.
  • the out-of-order schemes used for multiple out-of-order processing can be different.
  • the MAC address of the computer on the production line can be divided into two parts, namely the first half of the random code and the second half of the random code, which can be based on the first half.
  • the out-of-order scheme corresponding to the partial out-of-order code performs an out-of-order processing to obtain every M bytes after the out-of-order processing, and then according to the out-of-order scheme corresponding to the second half of the out-of-order code, each P of every M bytes
  • the out-of-sequence processing is performed on the bytes again. It can be understood that P is less than or equal to M in this embodiment.
  • each out-of-order processing is performed again on the basis of the previous out-of-order processing. In this way, after multiple out-of-order processing, the order of as many symbols as possible can be changed to further improve Data security.
  • each out-of-order processing is performed again on the basis of the previous out-of-order processing, and the complexity of out-of-order processing increases.
  • the third party obtains the tools and out-of-order data on the production line, the third party cannot obtain the source data. For example, suppose that the SDK supplier provides both R&D tools and production line tools to customer A and customer B.
  • Customer A and customer B develop software solutions A and B respectively, and both commission the production line end C to make their own
  • customer A will send the out-of-order A software solution and production line end tools to the production line end C
  • the B customer will send the out-of-order B software solution and production line end tools to the production line
  • customer B may use multiple sets of known data as source data.
  • Use the R&D tool to perform out-of-order processing on the multiple sets of known data according to the pre-set MAC address to obtain multiple sets of out-of-order data.
  • client B may derive the out-of-order scheme, but the out-of-order scheme deduced by client B is based on the pre-set MAC address. If client B uses the out-of-order scheme derived from the pre-set MAC address If the solution is to derive the source data of customer A corresponding to the out-of-order data of customer A, the wrong source data will be obtained, because B has not introduced the out-of-sequence scheme corresponding to the MAC address of the production line used by customer A. After the complexity of the out-of-sequence scheme increases, it becomes more difficult for client B to derive the out-of-order scheme corresponding to any MAC address.
  • client B can obtain the basis through this method.
  • Each MAC address obtains multiple sets of known data and multiple sets of out-of-order data, but when the complexity of the out-of-order scheme corresponding to any MAC address increases, client B must derive the out-of-order scheme corresponding to each MAC address The difficulty is also greatly increased. Even if customer B can derive the out-of-order scheme corresponding to each MAC address, it is difficult for customer B to determine which out-of-order scheme used by customer A. Therefore, it is basically impossible for customer B to obtain the source of customer A. Data, therefore, the source data is more secure.
  • the scrambled code includes the first scrambled code, the second scrambled code, and the third scrambled code; as shown in Figure 3, the source data is multiplied according to the scrambled code.
  • the method of secondary out-of-order processing includes the following steps:
  • S301 Perform out-of-order processing on every M bytes of every N bytes in the source data according to the first out-of-order code
  • S302 Perform out-of-order processing on every P bytes of every M bytes after the out-of-order processing according to the second out-of-order code;
  • S303 Perform out-of-order processing on every Q bytes of every P bytes after the out-of-order processing according to the third out-of-order code.
  • M is less than or equal to N.
  • N can be an integer multiple of M.
  • N is an integer multiple of M, all N bytes are out-of-order processed according to the out-of-order code, which can make out-of-order processing. More fully, and further increase the security of the data.
  • N is not an integer multiple of M, some of the bytes in the N bytes may not be out-of-order processing, that is, some of the data in the N bytes are out-of-order processing, and some of the data remains intact. Retaining part of the data as it is and not performing out-of-order processing can achieve the purpose of reducing the amount of data calculations while improving security, so as to achieve the purpose of reducing power consumption.
  • the first random code is the first two bytes 10E7 in the MAC address, that is, every M bytes of every N bytes are processed out of order according to 10E7.
  • N is an integer multiple of M
  • the complexity of out-of-order processing increases. Even if customer B obtains the out-of-order data and R&D tools corresponding to the software solution of customer A, it is more difficult for customer B to derive the out-of-sequence solution corresponding to any MAC address. Even if customer B is operating the R&D tools, it can be traversed. All MAC addresses, but when the complexity of the out-of-sequence scheme corresponding to any MAC address increases, the difficulty for client B to derive the out-of-order scheme corresponding to each MAC address is also greatly increased. Therefore, the source data is more secure .
  • step S302 P is less than or equal to M.
  • M can be an integer multiple of P.
  • M is an integer multiple of P
  • the M bytes are all out-of-order processed according to the out-of-order code. The order processing is more sufficient, further increasing the security of the data.
  • M is not an integer multiple of P
  • some of the bytes in the M bytes may not be processed out of order, that is, some of the data in the M bytes are processed out of order, and part of the data is left as it is. Retaining part of the data as it is and not performing out-of-order processing can achieve the purpose of reducing the amount of data calculations while improving security, so as to achieve the purpose of reducing power consumption.
  • the second random code is the middle two bytes C61C in the MAC address, that is, every Q byte of every P bytes after the disorder processing is out of order according to C61C deal with.
  • step S303 Q is less than or equal to P.
  • P can be an integer multiple of Q.
  • P is an integer multiple of Q
  • the P bytes are all out-of-order processed according to the out-of-order code. The order processing is more sufficient, further increasing the security of the data.
  • P is not an integer multiple of Q
  • some of the bytes in the P bytes may not be out of order, that is, some of the data in the P bytes are out of order, and some of the data is left intact. Retaining part of the data as it is and not performing out-of-order processing can achieve the purpose of reducing the amount of data calculations while improving security, so as to achieve the purpose of reducing power consumption.
  • the third random code is the middle two bytes 9CB0 in the MAC address, that is, every Q byte of the P bytes after the out-of-order processing is processed according to 9CB0. .
  • three out-of-order processing is used for the source data.
  • the next out-of-order processing is performed on the basis of the out-of-order data obtained in the previous out-of-order processing, and the unit of the next out-of-order processing can be smaller.
  • N is an integer multiple of M
  • M is an integer multiple of P
  • P is an integer multiple of Q.
  • integer multiples generally refer to multiples greater than or equal to 2, which increases to a certain extent.
  • the complexity of out-of-order processing makes the source data more secure.
  • the first random code is the first a byte in the MAC address; the second random code is the middle b byte in the MAC address; The third random code is the last c bytes in the MAC address.
  • a, b, and c are all positive integers that are not 0.
  • the first random code can be MAC
  • the first two bytes in the address are 10E7
  • the second disorder code can be the middle two bytes C61C in the MAC address
  • the third disorder code is the last two bytes 9CB0 in the MAC address.
  • the first disordered code, the second disordered code, and the third disordered code are different from each other.
  • the three disordered codes correspond to different disordering schemes, and the source data is performed three times with different disordered sequences. Out of order further increases the complexity of out of order and improves the security of source data.
  • the sum of a, b, and c can be less than 6, that is, only part of the MAC address can be used as the random code.
  • the first random code can be 10
  • the second random code can be E7
  • the first The three random code can be 9C.
  • the first disorder code, the second disorder code, and the third disorder code may also be in units of nibble, and the first disorder code, the second disorder code, and the third disorder code are also It can be a nibble.
  • the first scrambled code can be 1, the second scrambled code can be 0, the third scrambled code can be E, the fourth scrambled code can be 7C6, the fifth scrambled code can be 1C9, and the sixth scrambled code can be 1C9.
  • M is less than N
  • P is less than M
  • Q is less than P.
  • the object of the first out-of-order processing is every M bytes
  • the object of the second out-of-order processing is every P bytes in every M bytes after the out-of-order processing
  • the object of the third out-of-order processing is every Q bytes in every P bytes after the out-of-order processing.
  • Step S401 perform out-of-order processing on every 16 bytes of the 4K bytes according to 10E7;
  • Step S402 Perform out-of-order processing on every 8 bytes of every 16 bytes after the out-of-order processing according to C61C;
  • Step S402 Perform out-of-order processing on every 4 bytes of every 8 bytes after the out-of-order processing according to 9CB0;
  • each symbol in the source data is used One byte represents. It is understandable that in other application scenarios, each symbol in the source data can also be represented by half a byte, which is not limited in this embodiment.
  • the corresponding disorder scheme of the disorder code 10E7 is: the first symbol moves to the position of the 16th symbol, and the 16th symbol moves to the position of the first symbol, that is, the first symbol and the first symbol
  • the 16 bytes will be F1 2 3 4 5 6 7 8 9A B C D E 0 according to the out-of-sequence scheme corresponding to 10E7.
  • the remaining bytes in the 4K bytes can be processed according to this method, and every other 16 bytes are processed out of order according to the out-of-order scheme corresponding to the out-of-order code 10E7.
  • the 16 bytes after the out-of-order processing are processed according to the out-of-order scheme corresponding to the out-of-order code C61C to obtain 2 1F 3 4 5 6 7A 9 8B C D E 0.
  • the remaining bytes in the 4K bytes can follow this method, and every other 16 bytes are based on the previous out-of-order processing.
  • the 16 bytes are Out-of-order processing is performed on every 8 bytes.
  • each symbol in this embodiment occupies one byte as an example for description, that is, the execution of the out-of-order scheme is performed in units of bytes, so that the out-of-order processing speed is faster.
  • the out-of-order scheme corresponding to the out-of-order code is to adjust the symbols of the nibble, it is necessary to obtain the high four bits and low four bits of a byte, which can increase the complexity of the out-of-order processing.
  • the disorder scheme corresponding to the disorder code is to adjust any number of binary symbols, for example, three binary symbols, two binary symbols, or one binary symbol, which can further increase the complexity of the disorder processing Increased, the source data is more secure. For example, for the first out-of-order processing, you can perform out-of-order processing on every M symbols in every N symbols according to the first out-of-order code, and when you perform out-of-order processing on M symbols, you can swap the three.
  • each P symbol in every M symbols after the out-of-order processing can be processed out of order according to the second out-of-order code.
  • the position of the two binary symbols can be adjusted.
  • each Q symbol in every P symbols after the out-of-order processing can be shuffled according to the third out-of-order code. Sequence processing, when processing Q symbols, the position of a binary symbol can be reversed.
  • the out-of-order processing of the 16-byte source data is only an exemplary description, and those skilled in the art can also select any byte for out-of-order processing without creative work.
  • the source data is processed out of order every 4K bytes, and the 4K byte data is processed out of order in 256 bytes using the first two bytes of the MAC address as the random code.
  • each The 256-byte data after out-of-order processing takes 16 bytes as the unit and uses the middle two bytes of the MAC address as the out-of-order code to perform the second out-of-order processing, and each of the 16 words after out-of-order processing
  • the section uses 1 byte as a unit to use the last two bytes of the MAC address as a disorder code for the third disorder processing.
  • out-of-sequence scheme of this embodiment is described by taking the position of the modulation symbol as an example. It should be noted that the out-of-order scheme corresponding to the out-of-order code can also exchange the positions of multiple symbols, and is not limited to swapping. It is an arbitrary adjustment sequence between each code element.
  • the out-of-order code is 4, the source data that needs to be out-of-order processing is 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16, then it is OK Use the 4th out-of-order scheme in the out-of-order library to perform out-of-order processing on the source data, for example, move the original 2, 3, and 4 digits to the 9th, 4th, and 5th digits , Move the original 5th, 6th, and 7th digits to the 10th, 16th, and 6th digits, and move the original 8th, 9th, and 10th digits to the 11th and 7th digits , The position of the 12th bit symbol, move the original 11th, 12th, and 13th bit symbols to the 15th, 2nd, and 3rd bit positions, and move the original 14th, 15th, and 16th bit symbols To the positions of the 8th, 13th, and 14th symbols, the out-of-order data processed according to this out-of-order scheme can be 1
  • step S501 is to perform out-of-order processing on the source data according to the MAC address to obtain out-of-order data. After step S501, it includes:
  • Step S502 Encrypt the out-of-order data according to the MAC address to obtain encrypted out-of-order data.
  • the encryption method which may be asymmetric encryption or symmetric encryption.
  • step S102 transmitting the out-of-sequence data to the computer on the production line includes:
  • Step S503 Transmit the encrypted out-of-sequence data to the computer on the production line.
  • step S501 is the same as or similar to step S101 in the foregoing embodiment, and will not be repeated here.
  • the R&D tool is taken as an example for description.
  • the R&D tool is an executable file as an example.
  • EbinTool.exe can encrypt the source data to obtain the encrypted source data.
  • the encrypted source data can be named user.ebin.
  • the source data can be understood as a software product. After obtaining the user.ebin, you can send the user.ebin to the product.
  • the end of the line is processed by the tool at the end of the production line, and user.ebin can be understood as the storage file of the software achievement at the end of the production line.
  • the production line end tool is generally provided by the software solution provider to the production line end.
  • the production line end tool can be used for decryption or reverse disorder processing, etc.
  • the production line end tool can be understood as a kind of software development Toolkit (Software Development Kit, SDK), the production line end tool runs on the production line end computer, and the production line end tool can be used to process the user.ebin to obtain the software results.
  • EbinTool.exe uses the MAC address as the random code to shuffle the order of the software results to generate user_tmp.bin, where the order shuffle can be understood as disorderly order according to the random code.
  • the running process of EbinTool.exe can be understood as the steps executed by the R&D computer. As shown in Figure 6, the running process of EbinTool.exe includes the following steps:
  • Step S601 Input the MAC address of the computer on the production line
  • Step S602 According to the MAC address of the computer on the production line, the software result user.bin provided by the solution factory is processed out of order according to the out-of-order scheme corresponding to the MAC address to obtain user_tmp.bin;
  • Step S603 Encrypt user_tmp.bin according to the MAC address to generate user.ebin.
  • the production line end tool runs on the production line end computer, and the production line end tool has a protective effect on data.
  • the production line end tool can be named PLT.exe
  • the production line tool (Product Line Tool, PLT) can also be called the production line end tool.
  • PLT.exe runs on the production line end computer, and its running process can be understood as the steps executed by the production line end computer, as shown in Figure 7.
  • the running process of PLT.exe includes the following steps:
  • Step S701 Obtain the local MAC address automatically
  • Step S702 Decrypt user.ebin according to the MAC address to obtain user_tmp.bin;
  • Step S703 According to the MAC address, the user_tmp.bin is reversed out of order to obtain user.bin.
  • the steps executed by PLT.exe can be understood as the inverse processing of the steps executed by EbinTool.exe.
  • S601 and S701 are different.
  • the steps of S701 run on the production line computer, and what it obtains is the computer that is currently running PLT.exe.
  • MAC address for example, when starting PLT.exe, the MAC address of the computer currently running PLT.exe can be collected by default, that is, when the production line tool is started, the production line tool will automatically call the MAC address of the computer running the production line tool address.
  • the steps of S601 run on the R&D computer, and the R&D personnel can input the MAC address of the production line computer.
  • PLT.exe it can integrate encryption methods and out-of-sequence solutions.
  • the production line tool PLT.exe is provided to the production line by the software solution provider.
  • steps S603 and S702 are optional, and steps S603 and S702 are mutually corresponding operations, and it can be understood that S603 and S702 are mutually inverse processes.
  • user.bin can also be understood as firmware.
  • the firmware can be written into the chip to enable the chip to implement the specific function corresponding to the source data.
  • the user.bin can also be encrypted. In order to write the encrypted user.bin into the chip, the security of the user.bin can be improved.
  • the embodiment of the present application may also provide a data processing method, which can be used on the production line side, for example, on the production line side computer, can be used on any production line side computer that needs to download firmware chips, or A production line end tool can be developed.
  • the production line end tool is loaded on the production line end computer.
  • the production line end tool can be a plug-in installed on the production line end computer.
  • the method shown in FIG. 8, as shown in FIG. 8, the method includes the following steps:
  • Step S801 receiving out-of-order data, the out-of-order data is obtained by performing out-of-order processing on the source data according to the MAC address of the computer at the production line;
  • Step S802 Perform reverse out-of-order processing on the out-of-order data according to the local MAC address.
  • step S801 the out-of-order data is obtained by the R&D end computer performing out-of-order processing on the source data according to the MAC address of the production line end computer. Assuming that any third party obtains the out-of-order data, but any third party does not know the MAC address of the computer on the production line, it cannot obtain the source data through reverse out-of-order processing. It is also difficult to obtain source data. In addition, the out-of-order data is reversed and out-of-order processed according to the local MAC address.
  • the reverse Out-of-order processing may not be executed or wrong source data may be obtained after reverse out-of-order processing.
  • the method before performing reverse out-of-order processing on the out-of-order data according to the local MAC address, the method further includes:
  • Step S901 receiving out-of-sequence data
  • Step S902 Determine whether the local MAC address is equal to the MAC address of the computer on the production line; if the local MAC address is equal to the MAC address of the computer on the production line, perform step S902A;
  • S902A Perform reverse out-of-order processing on out-of-order data according to the local MAC address
  • the local MAC address can be obtained through automatic query.
  • the tool on the production line can automatically query the local MAC address.
  • the MAC address of the computer is compared.
  • the local MAC address can also be referred to as the local MAC address.
  • the local MAC address is obtained through automatic query instead of input by the user, so that the production-line tool can obtain the real local MAC address, so that only the production-line computer can perform anti-chaos based on the local MAC address. Sequence processing to get the source data.
  • step S901 is the same as or similar to step S801 in the foregoing embodiment
  • step S902A is the same as or similar to step S802 in the foregoing embodiment, and will not be repeated here.
  • the out-of-order data be successfully reversed out-of-order processing to obtain the source data.
  • the third party cannot obtain the source data.
  • the security of the source data is improved.
  • out-of-order processing has a shorter processing time, so that the response speed is faster.
  • the third party can understand that in addition to Any third party other than the R&D side and the production line side.
  • step S902 if the local MAC address is equal to the MAC address of the computer on the production line, after receiving the out-of-order data, perform reverse out-of-order processing according to the MAC address to obtain the source data, and subsequently, the source data can be passed through the serial port
  • the communication is loaded into the chip, or the source data obtained by the reverse out-of-order processing is encrypted and then loaded into the chip through serial communication, which is not limited in this embodiment.
  • the local MAC address is obtained through automatic query, if the local MAC address is equal to the MAC address of the production line computer, it means that the method is running on the production line computer.
  • step S902B output an error message is executed.
  • a pop-up box may pop up on the display screen, and the content of the pop-up box may be an illegal computer, or an error, or a prohibited operation.
  • the error message can be output from the pop-up window on the PC or displayed on the interface of the tool on the production line.
  • the reverse disorder processing will not succeed, and an error message will be received to further improve the security of the source data.
  • the local MAC address is not equal to the MAC address of the computer on the production line, the reverse disorder processing cannot be performed, and even the wrong source data cannot be obtained by a third party.
  • performing reverse out-of-order processing on the out-of-order data according to the local MAC address includes: performing reverse out-of-order processing on the out-of-order data according to the out-of-order code, and the out-of-order code is the local MAC address. Part or all. Assuming that the local MAC address of the PC is shown in Figure 2, take this as an example for description.
  • the local MAC address consists of 6 bytes.
  • the random code can be any one or more of these 6 bytes.
  • the random code can also be any nibble of 6 bytes or a binary number of any number of 6 bytes.
  • every N bytes of the disorder data can be reversed and disordered according to the disorder code.
  • the disorder code used in the disorder processing is the same as the disorder code used in the reverse disorder processing, so that the reverse disorder processing can be successfully performed.
  • the method further includes performing reverse out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code; different out-of-order codes correspond to different out-of-order schemes. Different out-of-order codes correspond to different out-of-order schemes, which can save memory space for storing out-of-order schemes. This kind of one-to-one correspondence between disordered codes and disordered programs is convenient for determining which reverse disordered processing should be performed according to the corresponding disordered codes.
  • the disordered codes used by the third party are wrong, if the disordered codes are set under the premise that the disordered codes are wrong If the inverse out-of-order processing corresponding to the out-of-order code is still performed, the inverse out-of-order processing performed according to the out-of-order scheme will also be wrong, and the third party will also obtain the wrong source data.
  • the source data may not be obtained after the reverse disorder processing. For example, when the disorder code is wrong, it can be set to refuse to query the disorder plan corresponding to the disorder code, and the reverse disorder processing is not performed, and an error message is output.
  • performing inverse out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code includes: performing an inverse operation of the out-of-order scheme corresponding to the out-of-order code. For example, assuming that the out-of-order scheme corresponding to the out-of-order code is to move the i-th symbol in the source data to the position of the j-th symbol, then the corresponding inverse out-of-order scheme corresponding to the out-of-order code is to move the source data to the position of the j-th symbol. The j-th symbol of is moved to the position of the i-th symbol.
  • the reverse out-of-order scheme may be to move the positions of multiple symbols in the reverse direction.
  • the processing can be: swapping the positions of the i-th symbol and the j-th symbol of the disordered data, or swapping the positions of the j-th symbol and the i-th symbol of the disordered data.
  • the reverse out-of-order processing also performs position exchange on the multiple pairs of symbols to restore the source data.
  • performing the inverse out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code can also be directly performing the inverse operation of the out-of-order scheme corresponding to the out-of-order code.
  • the method further includes performing multiple reverse out-of-order processing on the out-of-order data according to the out-of-order code.
  • Each reverse disorder processing is performed based on the result of the previous reverse disorder processing. For example, if the reverse disorder processing was performed on every Q bytes last time, every P bytes after the reverse disorder processing were obtained. Then for the next reverse out-of-order processing, the P bytes are processed.
  • Performing multiple out-of-order processing on the source data can increase the complexity of the out-of-order processing, so that the security of the source data is further improved. Therefore, at the end of the production line, multiple reverse out-of-order processing is required to restore the source data.
  • the out-of-order scheme used between multiple out-of-order processing can be different.
  • the MAC address of the computer on the production line can be divided into two parts, namely the first half of the random code and the second half of the random code.
  • the disordered code includes a first disordered code, a second disordered code, and a third disordered code; as shown in FIG. 10, according to the disordered code pair
  • the data is processed multiple times in reverse order, including the following steps:
  • S1001 Perform reverse disorder processing on every Q bytes after disorder processing according to the third disorder code to obtain every P bytes after reverse disorder processing.
  • S1002 Perform reverse disorder processing on every P bytes after reverse disorder processing according to the second disorder code to obtain every M bytes after reverse disorder processing;
  • S1003 Perform reverse disorder processing on every M bytes after reverse disorder processing according to the first disorder code.
  • step S1001 when P is an integer multiple of Q, every P bytes are shuffled according to the disorder code. At the production line, the corresponding P bytes after the disorder can be processed according to The disorder code is processed in reverse disorder order to obtain the source data.
  • P is not an integer multiple of Q
  • some of the bytes in the P bytes may not be out of order, that is, some of the data in the P bytes are out of order, and some of the data is left intact. Retaining part of the data as it is and not performing out-of-order processing can improve security while reducing the amount of data calculations to achieve the purpose of reducing power consumption.
  • the data that is out of order in the P bytes can be processed in reverse order, and the data that is not out of order in the P bytes may not be processed in reverse order.
  • the third scrambled code is the last two bytes 9CB0 in the MAC address, that is, every Q byte of every P bytes after the disordered order is processed according to 9CB0. Order processing.
  • step S1002 when M is an integer multiple of P, every M bytes are out-of-order processed according to the out-of-order code, then at the production line side, correspondingly, every M bytes after out-of-order processing can be According to the disorder code, reverse disorder processing is performed to obtain the source data.
  • M is not an integer multiple of P
  • some of the bytes in the M bytes may not be processed out of order, that is, some of the data in the M bytes are processed out of order, and part of the data is left as it is. A part of the data is left as it is without out-of-order processing, which can improve security while reducing the amount of data calculations to reduce power consumption.
  • the out-of-order processing in M bytes The data can be processed in reverse order, and the data in the M bytes that are not processed in order may not be processed in reverse order.
  • the second scrambled code is the middle two bytes C61C in the MAC address, that is, every P byte of every M bytes after the disordered order is processed according to C61C. Order processing.
  • step S1003 when N is an integer multiple of M, every N bytes are out-of-order processed according to the out-of-order code, then at the production line, every N bytes of the corresponding out-of-order data can be processed according to the The disorder code performs reverse disorder processing to obtain the source data.
  • N is not an integer multiple of M, some of the bytes in the N bytes may not be out of order, that is, some of the data in the N bytes are out of order, and some of the data is left intact.
  • Out-of-order processing among N bytes can be reversed out-of-order processing, and out-of-order processing among N bytes is not processed in reverse out-of-order processing.
  • the first disorder code is the first two bytes 10E7 in the MAC address, that is, every M bytes of the N bytes are processed in reverse disorder according to 10E7.
  • three out-of-order processing is applied to the source data, which increases the complexity of out-of-order processing to a certain extent, and the security of the source data is higher.
  • the first random code is the first a byte in the local MAC address; the second random code is the middle b byte in the local MAC address; The third random sequence code is the last c bytes in the local MAC address.
  • the first random code can be the first two bytes 10E7 in the MAC address, and the second random code can be MAC
  • the middle two bytes in the address are C61C, and the third random code is the last two bytes in the MAC address, 9CB0.
  • the first disordered code, the second disordered code, and the third disordered code are different from each other, and the three disordered codes correspond to different disordering schemes.
  • the source data is disordered three times by using different disordered sequences, and further The complexity of disorder is increased, and the security of source data is improved.
  • reverse disorder processing is performed according to the disorder scheme corresponding to the third disorder code, the second disorder code, and the first disorder code to obtain the source data.
  • M is less than N
  • P is less than M
  • Q is less than P.
  • the next out-of-order processing is performed on the basis of the out-of-order data obtained in the previous out-of-order processing, and the unit of the next out-of-order processing can be smaller, for example, N is M Integer multiples, M is an integer multiple of P, and P is an integer multiple of Q.
  • N is M Integer multiples
  • M is an integer multiple of P
  • P is an integer multiple of Q.
  • the inverse disorder processing can include:
  • S1101 Perform reverse disorder processing on every 4 bytes after the disorder processing according to 9CB0 to obtain every 8 bytes after the disorder disorder processing;
  • S1102 Perform reverse shuffle processing on every 8 bytes after the reverse shuffle processing according to C61C to obtain every 16 bytes after reverse shuffle processing;
  • S1103 Perform reverse shuffling processing on every 16 bytes after reverse shuffling processing according to 10E7.
  • the out-of-order scheme corresponding to the out-of-order code 9CB0 is: the position of the first symbol and the fourth symbol are swapped, 4 of the 8 bytes after the out-of-order processing are 3 1F 2, then the 4 bytes are 2 1F 3 after being inversely shuffled according to the corresponding out-of-order scheme; in the same way, every 4 bytes after the out-of-order processing are reversed and shuffled, and the 16 A byte of out-of-sequence data is 2 1F 3 4 5 6 7A 9 8B C D E 0 after reverse out-of-sequence processing.
  • 8 of the 16 bytes after reverse out-of-order processing are 2 1F 3 4 5 6 7, the out-of-order scheme corresponding to the out-of-order code C61C: If the position of the 3rd bit is swapped, the 8 bytes will be F 1 2 3 4 5 6 7 after being reversed out of order according to the corresponding out-of-order scheme; in the same way, out of the 16 bytes after reverse out-of-order processing The last 8 bytes of A 9 8B C D E 0, which are 8 9A B C D E 0 after reverse out of order processing according to the out of order scheme corresponding to the out of order code C61C. Then the 16 bytes are processed according to the out-of-sequence scheme corresponding to the out-of-sequence code C61C to obtain F 1 2 3 4 5 6 7 8 9A B C D E 0.
  • the 16 bytes after reverse out-of-order processing are F1 2 3 4 5 6 7 8 9A B C D E 0, the out-of-order scheme corresponding to the out-of-order code 10E7 is: the first symbol If the position of the 16th bit symbol is exchanged, the reverse disorder processing is performed for every M bytes after the reverse disorder processing, and the reverse disorder processing is performed to obtain 1 2 3 4 5 6 7 8 9A B C D E F.
  • the 16-byte out-of-order data undergoes three reverse out-of-order processing to obtain one of the 16 bytes of the 4K bytes of source data. Take the other 16 bytes in the source data as an example, and finally the source data can be obtained after reverse out-of-order processing.
  • This embodiment corresponds to the out-of-order processing solution in the previous embodiment.
  • 16 bytes of source data are taken as an example for description. These 16 bytes are 1 2 3 4 5 6 7 8 9A B C D E F, 3 1F 2 7 5 6 4B 9 8A 0D E C is obtained after 3 out-of-order processing.
  • the out-of-sequence data 3 1F 2 7 5 6 4B 9 8A 0D E C is used as an example, and the out-of-sequence is performed three times to obtain 16 bytes of source data 1 2 3 4 5 6 7 8 9A B C D E F.
  • step S901 receiving out-of-order data includes step S1201: receiving encrypted out-of-order data; step S1201 after receiving encrypted out-of-order data includes:
  • S1202 Decrypt the encrypted out-of-sequence data according to the local MAC address.
  • the production line will receive the encrypted out-of-order data sent by the R&D PC, that is, encrypted out-of-order data. After receiving the encrypted out-of-order data at the production line end, it needs to be decrypted.
  • the PC at the R&D end is encrypted according to the MAC address of the production line end computer. Therefore, at the production line end, the out-of-order data can be encrypted according to the local MAC address. For decryption, when the local MAC address is equal to the MAC address of the computer on the production line, the out-of-sequence data can be successfully decrypted, so that the production line can continue to perform the steps:
  • S1203 Perform reverse out-of-order processing on the out-of-order data according to the out-of-order scheme corresponding to the out-of-order code.
  • step S1203 is similar to step S802 in the foregoing embodiment, which will not be repeated in this embodiment.
  • encryption and decryption processing was added to the R&D end and the production line end to further improve the security of the source data and make it more difficult for third parties to crack.
  • performing reverse out-of-order processing on the out-of-order data according to the local MAC address after obtaining the source data further includes the following steps:
  • Step S1301 and step S1302 in this embodiment are the same as or similar to step S801 and step S802 in the foregoing embodiment, and will not be repeated here.
  • the source data can be loaded into the chip.
  • the production-line The source data can be encrypted to obtain encrypted firmware, and then the encrypted firmware can be loaded into the chip. In this way, even if a third party obtains the encrypted firmware, the specific content of the firmware cannot be obtained.
  • the source data obtained by the reverse disorder processing can be loaded into the chip through serial communication after being encrypted. Encrypting the source data to obtain the encrypted firmware and then loading it into the chip can realize the transmission of the source data in a non-plain text manner, so that the source data to the chip is in a non-plain text form to further improve the security of the source data.
  • the embodiment of the present application may also provide a data processing device, which may be located on the R&D end, specifically, for example, may be located on the R&D end computer. As shown in FIG. 14, the device 1400 includes:
  • An out-of-order processing module 1401, configured to perform out-of-order processing on the source data according to the MAC address to obtain out-of-order data;
  • the data transmission module 1402 is used to transmit out-of-order data to the computer on the production line, and the MAC address is the MAC address of the computer on the production line.
  • the out-of-order processing module is specifically configured to perform out-of-order processing on the source data according to the out-of-order code, and the out-of-order code is part or all of the MAC address.
  • the out-of-order processing module performs out-of-order processing according to the out-of-order scheme corresponding to the out-of-order code; different out-of-order codes correspond to different out-of-order schemes.
  • the out-of-sequence scheme includes moving the i-th symbol in the source data to the position of the j-th symbol.
  • the device further includes:
  • the library establishment module 1501 is used to establish an out-of-order library; the out-of-order library includes an out-of-order scheme corresponding to the out-of-order code.
  • the out-of-order processing module is specifically used to perform multiple out-of-order processing on the source data according to the out-of-order code; in the multiple out-of-order processing, the out-of-order processing module is based on the previous out-of-order processing. For every M bytes after processing, perform the next out-of-order processing for every P bytes in every M bytes after the out-of-order processing.
  • the disorder code includes a first disorder code, a second disorder code, and a third disorder code; as shown in FIG. 16, the disorder processing module 1401 includes:
  • the M byte processing module 1601 is configured to perform out-of-order processing on every M bytes of every N bytes in the source data according to the first disorder code;
  • a P byte processing module 1602 configured to perform out-of-order processing on every P bytes of every M bytes after the out-of-order processing according to the second out-of-order code;
  • the Q byte processing module 1603 is configured to perform out-of-order processing on each Q bytes of each P bytes after the out-of-order processing according to the third out-of-order code.
  • the first random code is the first a byte in the MAC address; the second random code is the middle b byte in the MAC address; and the third random code is the middle b byte in the MAC address.
  • the code is the last c bytes in the MAC address; N is an integer multiple of M, M is an integer multiple of P, and P is an integer multiple of Q.
  • the device 1400 further includes an encryption module 1701, which is used to encrypt the out-of-order data according to the MAC address to obtain encrypted out-of-order data; a data transmission module It is specifically used to transmit encrypted out-of-sequence data to the computer on the production line.
  • an encryption module 1701 which is used to encrypt the out-of-order data according to the MAC address to obtain encrypted out-of-order data
  • a data transmission module It is specifically used to transmit encrypted out-of-sequence data to the computer on the production line.
  • the embodiment of the present application may also provide a data processing device, which may be located at the production line end, specifically, for example, may be located at the production line end computer, as shown in FIG. 18, the device 1800 includes:
  • the receiving module 1801 the receiving module is used to receive out-of-order data, the out-of-order data is obtained by performing out-of-order processing on the source data according to the MAC address of the computer at the production line;
  • the inverse disorder processing module 1802 the inverse disorder processing module is used to perform inverse disorder processing on out of order data.
  • the device 1800 may further include: a judging module 1901, which is used to judge whether the local MAC address is equal to the MAC address of the computer at the production line, and the local MAC The address is obtained through automatic query; if the local MAC address is equal to the MAC address of the computer on the production line, the inverse disorder processing module performs reverse disorder processing on the disorder data according to the local MAC address.
  • a judging module 1901 which is used to judge whether the local MAC address is equal to the MAC address of the computer at the production line, and the local MAC The address is obtained through automatic query; if the local MAC address is equal to the MAC address of the computer on the production line, the inverse disorder processing module performs reverse disorder processing on the disorder data according to the local MAC address.
  • the device 1800 may further include: a prompt module 2001, if the local MAC address is not equal to the MAC address of the computer on the production line, the prompt module outputs an error prompt .
  • the reverse disorder processing module is specifically configured to perform reverse disorder processing on the disorder data according to the disorder code, and the disorder code is a part or all of the local MAC address.
  • the inverse disorder processing module is specifically configured to perform inverse disorder processing according to the disorder scheme corresponding to the disorder code; different disorder codes correspond to different disorder solutions.
  • the inverse disorder processing module is specifically used to perform multiple inverse disorder processing on the disordered data according to the disorder code; in the multiple inverse disorder processing, the inverse disorder processing module Based on each P bytes obtained after the reverse disorder processing is performed on every Q bytes last time, the next reverse disorder processing is performed on each P bytes after the reverse disorder processing.
  • the scrambled code includes a first scrambled code, a second scrambled code, and a third scrambled code; as shown in Figure 21, the inverse scrambled processing module 1802 may include:
  • the Q byte inverse processing module 2101 is configured to perform reverse disorder processing on every Q bytes after disorder processing according to the third disorder code to obtain every P bytes after reverse disorder processing;
  • the P byte reverse processing module 2102 is configured to perform reverse shuffle processing on every P bytes after reverse shuffle processing according to the second shuffle code to obtain every M bytes after reverse shuffle processing;
  • the M byte reverse processing module 2103 is used to perform reverse disorder processing on every M bytes after reverse disorder processing according to the first disorder code.
  • the first random code is the first a byte in the MAC address; the second random code is the middle b byte in the MAC address; and the third random code is the middle b byte in the MAC address.
  • the code is the last c bytes in the MAC address; N is an integer multiple of M, M is an integer multiple of P, and P is an integer multiple of Q.
  • the device 1800 further includes a decryption module 2201; the receiving module is specifically used to receive encrypted out-of-order data; The sequence data is decrypted.
  • the device 1800 further includes: a firmware processing module 2301, the firmware processing module is used to encrypt source data to obtain encrypted firmware; the firmware processing module is also used to Load the encrypted firmware into the chip.
  • the embodiment of the application may also provide a research and development tool for executing the data processing method proposed in the above embodiment; the research and development tool includes an interface for inputting the MAC address of the production line computer.
  • the embodiment of the present application may also provide a production line end tool for executing the data processing method proposed in the foregoing embodiment; the production line end tool includes an interface for automatically calling the local MAC address.
  • This embodiment may also provide a R&D computer for executing the data processing method proposed in the foregoing embodiment; as shown in FIG. 24, the R&D computer 2400 includes a memory 2401 and a processor 2402;
  • the memory 2401 is coupled with the processor 2402;
  • the memory 2401 is used to store program instructions
  • the processor 2402 is configured to call the program instructions stored in the memory, so that the R&D computer executes the data processing method proposed in any of the above embodiments.
  • the R&D computer may include the R&D tools in the foregoing embodiments, for example, the R&D tools can be installed On the R&D computer.
  • the embodiment of the present application may also provide a production-line end computer for executing the data processing method proposed in the foregoing embodiment.
  • the production line end computer 2500 includes a memory 2501 and a processor 2502;
  • the memory 2501 is coupled with the processor 2502;
  • the memory 2501 is used to store program instructions
  • the processor 2502 is configured to call program instructions stored in the memory, so that the computer on the production line side executes the data processing method proposed in any of the above embodiments.
  • the production-line computer may include the production-line-end tools in the foregoing embodiments, for example, the production line The end tool can be installed on the computer at the end of the production line.
  • the embodiments of the present application may also provide a computer-readable storage medium, including: a computer program stored thereon, which when executed by a processor, implements the data processing method of any one of the above-mentioned embodiments, and its specific implementation process See the above and the beneficial effects, which will not be repeated here.
  • the foregoing method embodiments of the present application may be applied to a processor or implemented by a processor.
  • the processor may be an integrated circuit chip with signal processing capabilities.
  • the steps of the foregoing method embodiments may be completed by hardware integrated logic circuits in the processor or instructions in the form of software.
  • the above-mentioned processor may be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (ASIC), a ready-made programmable gate array (field programmable gate array, FPGA) or other Programming logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • Programming logic devices discrete gates or transistor logic devices, discrete hardware components.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory can be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically accessible memory. Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • static random access memory static random access memory
  • dynamic RAM dynamic RAM
  • DRAM dynamic random access memory
  • synchronous dynamic random access memory synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous connection dynamic random access memory serial DRAM, SLDRAM
  • direct rambus RAM direct rambus RAM
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B based on A does not mean that B is determined only based on A, and B can also be determined based on A and/or other information.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及数据安全领域,尤其涉及一种数据处理方法、装置、研发端工具及产线端工具。一种提升数据处理方法,包括:根据MAC地址对源数据进行乱序处理得到乱序数据;将乱序数据传输给产线端电脑,MAC地址为产线端电脑的MAC地址。本方案可以使得第三方很难获取到该源数据,提升了数据的安全性。

Description

数据处理方法、装置、研发端工具及产线端工具 技术领域
本申请涉及数据安全领域,尤其涉及一种数据处理方法、装置、研发端工具及产线端工具。
背景技术
为了保证数据的安全性,现有技术中会使用到加密算法存储数据以保证数据的安全性。例如,为了保证软件方案源程序的安全性,软件方案在给到产线之前,都需要经过加密算法加密,然后提供加密后的软件方案给到产线。但是对于这种用加密算法加密后的软件方案,攻击者获取到该加密后的软件方案后,在任意电脑上通过遍历完所有加密算法对应的解密算法,一般可以获取到软件方案的源程序,可能导致软件方案的源程序被轻易泄露给攻击者,数据的安全性得不到保障,因此,该问题亟待解决。
发明内容
针对现有技术中的存在的数据的安全性问题,本申请提供了一种数据处理的方法、装置、研发端工具、产线端工具、研发端电脑、产线端电脑及存储介质。
本申请的实施例的第一方面提供了一种数据处理方法包括:
根据MAC地址对源数据进行乱序处理得到乱序数据;
将乱序数据传输给产线端电脑,MAC地址为产线端电脑的MAC地址。
另外,结合第一方面,在第一方面的一种实现方式中,根据MAC地址对源数据进行乱序处理包括:
根据乱序码对源数据进行乱序处理,乱序码为MAC地址的一部分或者全部。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,还包括:根据乱序码对应的乱序方案进行乱序处理;不同的乱序码对应的乱序方案不 同。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,乱序方案包括将源数据中第i位码元移动到第j位码元的位置。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,还包括建立乱序库,乱序库包括乱序码对应的乱序方案。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,还包括:根据乱序码对源数据进行多次乱序处理;多次乱序处理中,基于上一次乱序处理后的每M个字节对乱序处理后的每M个字节中的每P个字节进行下一次乱序处理。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,乱序码包括第一乱序码、第二乱序码、第三乱序码;根据乱序码对源数据进行多次乱序处理包括:
根据第一乱序码对源数据中的每N个字节中的每M个字节进行乱序处理;
根据第二乱序码对乱序处理后的每M个字节中的每P个字节进行乱序处理;
根据第三乱序码对乱序处理后的每P个字节中的每Q个字节进行乱序处理。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,第一乱序码为MAC地址中的前a个字节;第二乱序码为MAC地址中的中间的b个字节;第三乱序码为MAC地址中的最后c个字节。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,N为M的整数倍,M为P的整数倍,P为Q的整数倍。
另外,结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,根据MAC地址对源数据进行乱序处理得到乱序数据后包括:根据MAC地址对乱序数据进行加密得到加密乱序数据;
将乱序数据传输给产线端电脑包括将加密乱序数据传输给产线端电脑。
本申请的实施例的第二方面提供了一种数据处理方法,包括:
接收乱序数据,乱序数据为根据产线端电脑的MAC地址对源数据进行乱序处理得到;
根据本地MAC地址对乱序数据进行逆乱序处理。
另外,结合第二方面及其上述实现方式,在第二方面的一种实现方式中,根据本地MAC地址对乱序数据进行逆乱序处理之前,还包括:
判断本地MAC地址是否等于产线端电脑的MAC地址,本地MAC地址通过自动查询获取到;
若本地MAC地址等于产线端电脑的MAC地址,则根据本地MAC地址对乱序数据进行逆乱序处理。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,若本地MAC地址不等于产线端电脑的MAC地址,则输出错误提示。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,根据本地MAC地址对乱序数据进行逆乱序处理包括:
根据乱序码对乱序数据进行逆乱序处理,乱序码为本地MAC地址的一部分或者全部。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,还包括根据乱序码对应的乱序方案进行逆乱序处理;不同的乱序码对应的乱序方案不同。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,根据乱序码对乱序数据进行多次逆乱序处理;多次逆乱序处理中,基于上一次对每Q个字节进行逆乱序处理后得到的逆乱序处理后的每P个字节,对逆乱序处理后的每P个字节进行下一次逆乱序处理。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,乱序码包括第一乱序码、第二乱序码、第三乱序码;根据乱序码对乱序数据进行多次逆乱序处理包括:
根据第三乱序码对乱序处理后的每Q个字节进行逆乱序处理得到逆乱序处理后的每P个字节;
根据第二乱序码对逆乱序处理后的每P个字节进行逆乱序处理得到逆乱序处理后的每M个字节;
根据第一乱序码对逆乱序处理后的每M个字节进行逆乱序处理。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,第一乱序码为本地MAC地址中的前a个字节;第二乱序码为本地MAC地址中的中间的b个字节;第三乱序码为本地MAC地址中的最后c个字节。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,N为M的整数倍,M为P的整数倍,P为Q的整数倍。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,接收乱序数据包括接收加密乱序数据;接收加密乱序数据后包括:
根据本地MAC地址对加密乱序数据进行解密。
另外,结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,根据本地MAC地址对乱序数据进行逆乱序处理后还包括:
对源数据进行加密得到加密固件;
将加密固件加载到芯片中。
本申请的实施例的第三方面提供了一种数据处理装置,包括:
乱序处理模块,用于根据MAC地址对源数据进行乱序处理得到乱序数据;和
数据传输模块,用于将乱序数据传输给产线端电脑,MAC地址为产线端电脑的MAC地址。
另外,结合第三方面及其上述实现方式,在第三方面的一种实现方式中,乱序处理模块具体用于根据乱序码对源数据进行乱序处理,乱序码为MAC地址的一部分或者全部。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,乱序处理模块根据乱序码对应的乱序方案进行乱序处理;不同的乱序码对应的乱序方案不同。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,乱序方案包括将源数据中第i位码元移动到第j位码元的位置。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,还包括:
库建立模块,用于建立乱序库;乱序库包括乱序码对应的乱序方案。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,乱序处理模块具体用于根据乱序码对源数据进行多次乱序处理;多次乱序处理中,乱序处理模块基于上一次乱序处理后的每M个字节对乱序处理后的每M个字节中的每P个字节进行下一次乱序处理。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,乱序码包括第一乱序码、第二乱序码、第三乱序码;乱序处理模块包括:
M字节处理模块,用于根据第一乱序码对源数据中的每N个字节中的每M个字节进行乱序处理;
P字节处理模块,用于根据第二乱序码对乱序处理后的每M个字节中的每P个字节进行乱序处理;和
Q字节处理模块,用于根据第三乱序码对乱序处理后的每P个字节中的每Q个字节进行乱序处理。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,第一乱序码为MAC地址中的前a个字节;第二乱序码为MAC地址中的中间的b个字节;第三乱序码为MAC地址中的最后的c个字节;N为M的整数倍,M为P的整数倍,P为Q的整数倍。
另外,结合第三方面及其上述实现方式,在第三方面的另一种实现方式中,还包括加密模块,加密模块用于根据MAC地址对乱序数据进行加密得到加密乱序数据;数据传输模块具体用于将加密乱序数据传输给产线端电脑。
本申请的实施例的第四方面提供了一种数据处理装置,其特征在于,包括:
接收模块,接收模块用于接收乱序数据,乱序数据为根据产线端电脑的MAC地址对源数据进行乱序处理得到;和
逆乱序处理模块,逆乱序处理模块用于对乱序数据进行逆乱序处理。
另外,结合第四方面及其上述实现方式,在第四方面的一种实现方式中,还包括:
判断模块,判断模块用于判断本地MAC地址是否等于产线端电脑的MAC地址,本地MAC地址通过自动查询获取到;若本地MAC地址等于产线端电脑的MAC地址,则逆乱序处理模块根据本地MAC地址对乱序数据进行逆乱序处理。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,还包括提示模块,若本地MAC地址不等于产线端电脑的MAC地址,则提示模块输出错误提示。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,逆乱序处理模块具体用于根据乱序码对乱序数据进行逆乱序处理,乱序码为本地MAC地址的一部分或者全部。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,逆乱序处理模块具体用于根据乱序码对应的乱序方案进行逆乱序处理;不同的乱序码对应的乱序方案不同。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,逆 乱序处理模块具体用于根据乱序码对乱序数据进行多次逆乱序处理;多次逆乱序处理中,逆乱序处理模块基于上一次对每Q个字节进行逆乱序处理后得到的逆乱序处理后的每P个字节,对逆乱序处理后的每P个字节进行下一次逆乱序处理。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,乱序码包括第一乱序码、第二乱序码、第三乱序码;逆乱序处理模块包括:
Q字节逆处理模块,用于根据第三乱序码对乱序处理后的每Q个字节进行逆乱序处理得到逆乱序处理后的每P个字节;
P字节逆处理模块,用于根据第二乱序码对逆乱序处理后的每P个字节进行逆乱序处理得到逆乱序处理后的每M个字节;
M字节逆处理模块,用于根据第一乱序码对逆乱序处理后的每M个字节进行逆乱序处理。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,第一乱序码为MAC地址中的前a个字节;第二乱序码为MAC地址中的中间的b个字节;第三乱序码为MAC地址中的最后c个字节;N为M的整数倍,M为P的整数倍,P为Q的整数倍。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,还包括解密模块;接收模块具体用于接收加密乱序数据;解密模块用于根据本地MAC地址对加密乱序数据进行解密。
另外,结合第四方面及其上述实现方式,在第四方面的另一种实现方式中,还包括:固件处理模块,固件处理模块用于对源数据进行加密得到加密固件;固件处理模块还用于将加密固件加载到芯片中。
本申请的实施例的第五方面提供了一种研发端工具,用于实现上述第一方面的数据处理方法,研发端工具包括一接口,接口用来输入产线端电脑的MAC地址。
本申请的实施例的第六方面提供了一种产线端工具,用于实现上述第二方面的数据处理方法,其特征在于,包括一接口,接口用来自动调用本地MAC地址。
本申请的实施例的第七方面提供了一种研发端电脑,其特征在于,包括存储器和处理器;
存储器与处理器耦合;
存储器,用于存储程序指令;
处理器,用于调用存储器存储的程序指令,使得研发端电脑执行上述第一方面 的数据处理方法。
本申请的实施例的第八方面提供了一种产线端电脑,其特征在于,包括存储器和处理器;
存储器与处理器耦合;
存储器,用于存储程序指令;
处理器,用于调用存储器存储的程序指令,使得产线端电脑执行上述第二方面的数据处理方法。
本申请的实施例的第九方面提供了一种计算机可读存储介质,包括:其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的数据处理方法。
本申请的实施例的第十方面提供了一种计算机可读存储介质,包括:其上存储有计算机程序,计算机程序被处理器执行时实现上述第二方面的数据处理方法。
与现有技术相比,本申请实施例的有益效果在于,本申请实施例提供了一种数据处理方法、装置、研发端工具、产线端工具、研发端电脑、产线端电脑及存储介质,根据产线端MAC地址对源数据进行乱序处理得到乱序数据,以使得第三方很难获取到该源数据,提升了数据的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种数据处理方法的流程图;
图2为本申请实施例的MAC地址的示意图;
图3为本申请实施例的根据乱序码对源数据乱序处理的方法的流程图;
图4为本申请实施例的根据所述乱序码对应的乱序方案进行乱序处理的流程图;
图5为本申请实施例的又一数据处理方法的流程图;
图6为本申请实施例的研发端工具的数据处理方法的流程图;
图7为本申请实施例的产线端工具的数据处理方法的流程图;
图8为本申请实施例的一数据处理方法的流程图;
图9为本申请实施例的又一数据处理的方法的流程图;
图10为本申请实施例的根据所述乱序码对乱序数据的多次逆乱序处理的流程图;
图11为本申请实施例的根据乱序码对应的乱序方案进行逆乱序处理的流程图;
图12为本申请实施例的再一数据处理方法的流程图;
图13为本申请实施例的再一数据处理方法的流程图;
图14为本申请实施例的数据处理装置的示意图;
图15为本申请实施例的又一数据处理装置的示意图;
图16为本申请实施例的乱序处理模块的示意图;
图17为本申请实施例的再一数据处理装置的示意图;
图18为本申请实施例的一种数据处理装置的示意图;
图19-20为本申请实施例的又一数据处理装置的示意图;
图21为本申请实施例的逆乱序处理模块的示意图;
图22-23为本申请实施例的再一数据处理装置的示意图;
图24为本申请实施例的研发端电脑的示意图;
图25为本申请实施例的产线端电脑的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的部分实施例采用举例的方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在各例子中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本申请实施例提供了一种数据处理方法,该数据传输方法可以用于提升软件方案的安全性,避免软件方案在任意第三方电脑上被盗取,该软件方案也可以称之为软件成果方案,该方法可以运行在研发端,例如运行在研发人员的电脑上,研发人员的电脑可以是个人计算机(Personal Computer,PC),例如台式机、大小型笔记本电脑或者平板电脑等,该方法也可以运行在手机或者服务器上。以研发端电脑为例进行说明,研发端电脑可以执行如图1所示的方法,或者是研发人员可以开发一个研发端工具,该研发端工具装载在研发端,示例性地,该研发端工具可以为装载在研发端电脑上的插件,通过研发端工具实现如图1所示的方法。该研发端工具可以理解为一种软件开发工具包(Software Development Kit,SDK)。如图1所示,该方 法包括以下步骤:
S101,根据MAC地址对源数据进行乱序处理得到乱序数据;
S102,将乱序数据传输给产线端电脑,MAC地址为产线端电脑的MAC地址。
在步骤S101中,源数据可以理解为表示软件方案的数据,即用户的软件成果的进制数表示,也可以理解为代码程序,其存在的形式可以是任何进制数据。根据媒体存取控制位址(Media Access Control Address,MAC地址)对该源数据进行乱序处理可以提升该源数据的安全性,因为MAC地址为产线端电脑的MAC地址,并且根据该MAC地址对源数据进行了乱序处理,因此,假设任意第三方获取到了该乱序数据,但是任意第三方不清楚该MAC地址,也就不能得到源数据,即使通过遍历可能的逆乱序方案,第三方也很难得到源数据。例如,假设B客户获取到了该研发端工具和A客户的乱序数据,B客户想要得到A客户的源数据,则B客户可能用多组已知数据作为源数据,利用该研发端工具根据预先设定的MAC地址对该多组已知数据进行乱序处理得到多组乱序数据,则通过该多组已知数据和其得到的多组乱序数据之间的数学关系,B客户可能会推导出该乱序方案,但是B客户推导出的乱序方案是基于预先设定的MAC地址的得到的,如果B客户利用通过预先设定的MAC地址推导出的乱序方案去推导A客户的乱序数据对应的A客户的源数据,则会得到错误的源数据,因为B并没有推导出A客户使用的MAC地址对应的乱序方案。
在产线端具有该MAC地址的电脑上可以成功的对该乱序数据进行逆乱序处理而得到源数据。对于第三方电脑,即任意攻击者的电脑,由于其MAC地址不是产线端电脑的MAC地址,则该逆乱序处理不能进行或者根据该第三方电脑的MAC地址逆乱序处理之后得到错误的源数据,因此,即使第三方获取到该乱序数据,第三方也不能获取到该源数据,从而使得源数据的安全性得到提高,
本实施例中,第三方也可以称之为攻击者,可以理解为意图窃取源数据的抄袭者。另外,乱序处理相较于其他加密算法,例如非对称加密算法或者椭圆曲线加密等算法来说,其处理时间更短,以使得响应速度更快,而且不需要使用第三方的加密库,更安全。根据MAC地址对源数据进行乱序处理,第三方很难逆向推导出源数据。根据MAC地址对源数据进行乱序处理可以实现不以明文的方式存储源数据,即使乱序数据被第三方获取到,由于不是明文的,在一定程度上可以提高源数据的安全性。
本实施例中,MAC地址也可以称为局域网地址(LAN Address)、以太网地址 (Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。本实施例对具体的乱序处理方法不作限制,可以是根据MAC地址调整任意码元的位置,例如,可以是根据MAC地址调换源数据中任意码元的位置,对调换任意码元的个数不作限制,对调换的次数也不作限制。
在步骤S102中,MAC地址为产线端电脑的MAC地址,该MAC地址可以由研发人员在研发端电脑上输入。具体地,研发了解到产线端使用的电脑的MAC地址后,可以将该MAC地址输入到研发端电脑,例如,可以将该MAC地址写在代码中,或者,通过研发端电脑上的研发端工具写入该MAC地址,以根据该MAC地址进行乱序处理。将乱序数据传输给产线端之后,可以由产线端进行逆乱序处理以得到源数据,后续,还可以将该源数据通过串口通信加载到芯片中,以使得该芯片可以实现该源数据对应的功能,示例性的,该芯片可以是蓝牙芯片,例如,低功耗蓝牙芯片。本实施例中,对将乱序数据传输给产线端电脑的具体传输形式不做限定,例如,可以是研发端电脑通过第三方软件将该乱序数据发送到产线端电脑,例如,邮件、微信、网盘等,也可以是通过研发端工具将该乱序数据发送到产线端电脑,另外,也可以通过U盘等存储器件将乱序数据给到产线端电脑。该乱序数据可以通过有线传输或者无线传输给到产线端电脑。在一些应用场景下,例如,为了提高安全性,产线端的电脑处于断开网络的状态,则可以通过U盘这种临时存储器件来将乱序数据传输到产线端电脑。
本申请实施例提供了一种数据处理的方法,根据MAC地址对源数据进行乱序处理得到乱序数据,该MAC地址为产线端电脑的MAC地址,以使得第三方不能任意窃取到源数据,提升了数据的安全性。
基于上述实施例公开的内容,本实施例中,根据MAC地址对源数据进行乱序处理包括:根据乱序码对源数据进行乱序处理,乱序码为MAC地址的一部分或者全部。假设MAC地址如图2所示,以PC端的MAC地址为例,该MAC地址由6个字节组成,乱序码可以是这6个字节中的任意一个或者多个字节,乱序码也可以是6个字节中的任意半字节或者是6个字节中的任意位数的进制数。乱序码确定后,可以根据该乱序码对源数据的每N个字节进行乱序处理,本实施例中,N小于或者等于源数据的全部字节。
基于上述实施例公开的内容,本实施例中,该方法还包括根据乱序码对应的乱序方案进行乱序处理,不同的乱序码对应的乱序方案不同。当乱序码确定了之后, 乱序方案也确定了,这种乱序码与乱序方案一一对应的关系便于方便地确定根据乱序码对应的执行何种乱序处理以及逆乱序处理,如果第三方使用的乱序码错误,若在乱序码错误的前提下设置依然进行乱序码对应的逆乱序处理,则逆乱序处理后第三方就会获取到错误的源数据。另外,逆乱序处理后也可以获取不到源数据,例如,可以设置当乱序码错误后,即本地MAC地址不等于产线端电脑的MAC地址,则拒绝查询与该乱序码对应的乱序方案,不进行逆乱序处理,输出错误提示,该错误提示可以由PC端的弹窗输出,或者是在产线端工具的界面上显示。另外,不同的乱序码对应不同的乱序方案,可以节省存储乱序方案的内存空间,这对于研发端和产线端都是有益的,如果存储乱序方案的内存空间缩小,则占用的研发端电脑的内存空间较小,也便于将乱序码与乱序方案的对应关系传输到产线端电脑,同时,产线端电脑接收到该对应关系后,占用的产线端电脑的内存空间也较小。
基于上述实施例公开的内容,本实施例中,乱序方案包括将源数据中的第i位码元移动到第j位码元的位置。不同的乱序方案,被移动的码元编号可以不同。另外,乱序方案还可以包括将第j位码元移动到第i位码元的位置,即第i位码元和第j位码元对调;不同的所述乱序方案,被调换的码元编号可以不同。源数据可以由多个码元组成,其可以是二进制数、八进制数、十进制数、十六进制数等任意进制数,本实施例对源数据的进制形式不作限定,其中第i位码元和第j位码元可以是任意进制形式的源数据中的任意一位的码元。本实施例中,对被进行乱序处理的码元数量不做限制,以位置对调的乱序方案为例进行说明,可以仅仅对调一对码元的位置,也可以对调多对码元的位置。
基于上述实施例公开的内容,本实施例中,该方法还包括:建立乱序库,乱序库包括乱序码对应的乱序方案。当乱序码有多个时,例如,MAC地址有6个字节,则可以分为6个乱序码,或者3个乱序码等。建立乱序库,能方便的对乱序码对应的乱序方案进行管理,例如,修改乱序方案,删除以及增加乱序方案等。一般而言,软件方案提供商会将该乱序库提供给产线端,该乱序库可以被研发端工具和产线端工具获取到,其获取方式包括两种,例如通过函数调用实现,该乱序库可以被写成一个函数包,在研发端工具或者产线端工具需要访问该乱序库时,可以调用该函数包;另外一种方式是该乱序库被直接写入到研发端工具和产线端工具中,这样在将软件方案给到产线端时,不需要单独传输乱序库,直接传输研发端工具和产线端工具即可,另外,将乱序库写入到研发端工具和产线端工具中可以进一步增加其安全 性,以避免乱序库轻易被第三方获取到。
基于上述实施例公开的内容,本实施例中,该方法还包括:根据乱序码对源数据进行多次乱序处理。对于该多次乱序处理,可以设置每次乱序处理都是在上一次乱序处理的基础上再次进行乱序处理,如果上一次乱序处理后得到乱序处理后的每M个字节,则可以对该乱序处理后的每M个字节中的每P个字节进行下一次乱序处理。对源数据进行多次乱序处理,可以增加乱序处理的复杂度,以使得源数据的安全性进一步提高。本实施例中,多次乱序处理采用的乱序方案可以不同,例如,产线端电脑的MAC地址可以分为两部分,即前半部分乱序码和后半部分乱序码,可以根据前半部分乱序码对应的乱序方案进行一次乱序处理得到乱序处理后的每M个字节,然后根据后半部分乱序码对应的乱序方案对该每M个字节中的每P个字节再进行一次乱序处理,可以理解的是,本实施例中P小于或者等于M。本实施例中,每次乱序处理都是在上一次乱序处理的基础上再次进行乱序处理,这样,多次乱序处理之后可以使得尽可能多的码元顺序发生改变,以进一步提高数据的安全性。
本实施例中,每次乱序处理都是在上一次乱序处理的基础上再次进行乱序处理,乱序处理的复杂度增加。即使第三方获取到了产线端工具和乱序数据,则第三方也获取不到源数据。例如,假设SDK供应商同时给A客户和B客户提供了研发端工具和产线端工具,A客户和B客户分别开发了A软件方案和B软件方案,并且都委托产线端C将各自的软件方案加载到芯片中,则A客户将该乱序后的A软件方案和产线端工具发给产线端C,B客户将乱序后的B软件方案和产线端工具发给产线端C,若假设A客户和B客户的芯片供应商是同一家,在此场景下,若B客户想要获取到A客户的源数据,则B客户可能用多组已知数据作为源数据,利用该研发端工具根据预先设定的MAC地址对该多组已知数据进行乱序处理得到多组乱序数据,则通过该多组已知数据和其得到的多组乱序数据之间的关系,B客户可能会推导出该乱序方案,但是B客户推导出的乱序方案是基于预先设定的MAC地址的得到的,如果B客户利用通过预先设定的MAC地址推导出的乱序方案去推导A客户的乱序数据对应的A客户的源数据,则会得到错误的源数据,因为B并没有推出A客户使用的产线端MAC地址对应的乱序方案。在乱序方案复杂度增后,B客户推导出任一MAC地址对应的乱序方案的难度增大,即使B客户通过该方法可以遍历完所有的MAC地址,即B客户可以通过该方法获取到根据每个MAC地址得到的多组已知数据和多组乱序数据,但是在任一MAC地址对应的乱序方案复杂度增加的情况下,B客户要 推导出每个MAC地址对应的乱序方案的难度也大大增加,即使B客户可以推导出每个MAC地址对应的乱序方案,B客户也很难确定A客户使用的何种乱序方案,因此,B客户基本不可能获取到A客户的源数据,因此,源数据安全性更高。
基于上述实施例公开的内容,本实施例中,乱序码包括第一乱序码、第二乱序码、第三乱序码;如图3所示,根据乱序码对源数据进行多次乱序处理的方法包括以下步骤:
S301,根据第一乱序码对源数据中的每N个字节中的每M个字节进行乱序处理;
S302,根据第二乱序码对乱序处理后的每M个字节中的每P个字节进行乱序处理;
S303,根据第三乱序码对乱序处理后的每P个字节中的每Q个字节进行乱序处理。
在步骤S301中,M小于等于N,另外,N可以为M的整数倍,当N为M的整数倍时,N个字节都根据乱序码进行了乱序处理,这样可以使得乱序处理更为充分,进一步增加数据的安全性。当N不为M的整数倍时,N个字节中部分字节可以不进行乱序处理,即N个字节中部分数据进行了乱序处理,部分数据保留原样。一部分数据保留原样不进行乱序处理可以实现在提升安全性的同时,减少数据运算量,以达到减小功耗的目的。结合图2所示的MAC地址,假设第一乱序码为MAC地址中的前两个字节10E7,即每N个字节中的每M个字节根据10E7进行乱序处理。
本实施例中,当N为M的整数倍时,N个字节都根据乱序码进行了乱序处理时,乱序处理的复杂度增加。即使B客户获取到A客户软件方案对应的乱序数据以及研发端工具,B客户推导出任一MAC地址对应的乱序方案的难度增大,即使B客户在操作研发端工具的时候,可以遍历完所有的MAC地址,但是在任一MAC地址对应的乱序方案复杂度增加的情况下,B客户要推导出每个MAC地址对应的乱序方案的难度也大大增加,因此,源数据安全性更高。
在步骤S302中,P小于等于M,另外,M可以为P的整数倍,当M为P的整数倍时,所述M个字节都根据乱序码进行了乱序处理,这样可以使得乱序处理更为充分,进一步增加数据的安全性。当M不为P的整数倍时,M个字节中部分字节可以不进行乱序处理,即M个字节中部分数据进行了乱序处理,部分数据保留原样。一部分数据保留原样不进行乱序处理可以实现在提升安全性的同时,减少数据运算量,以达到减小功耗的目的。结合图2所示的MAC地址,假设第二乱序码为MAC 地址中的中间的两个字节C61C,即乱序处理后的每P个字节中每Q个字节根据C61C进行乱序处理。
本实施例中,当M为P的整数倍时,M个字节都根据乱序码进行了乱序处理时,乱序处理的复杂度增加。即使B客户获取到A客户软件方案对应的乱序数据以及研发端工具,B客户推导出任一MAC地址对应的乱序方案的难度增大,即使B客户在操作研发端工具的时候,可以遍历完所有的MAC地址,但是在任一MAC地址对应的乱序方案复杂度增加的情况下,B客户要推导出每个MAC地址对应的乱序方案的难度也大大增加,因此,源数据安全性更高。
在步骤S303中,Q小于等于P,另外,P可以为Q的整数倍,当P为Q的整数倍时,所述P个字节都根据乱序码进行了乱序处理,这样可以使得乱序处理更为充分,进一步增加数据的安全性。当P不为Q的整数倍时,P个字节中部分字节可以不进行乱序处理,即P个字节中部分数据进行了乱序处理,部分数据保留原样。一部分数据保留原样不进行乱序处理可以实现在提升安全性的同时,减少数据运算量,以达到减小功耗的目的。结合图2所示的MAC地址,假设第三乱序码为MAC地址中的中间的两个字节9CB0,即乱序处理后的P个字节中每Q个字节根据9CB0进行乱序处理。
本实施例中,对源数据采用了三次乱序处理,下一次乱序处理是在上一次乱序处理得到的乱序数据的基础上进行的,并且,下一次乱序处理的单元可以更小,例如,N为M的整数倍,M为P的整数倍,P为Q的整数倍,本实施例中,整数倍一般指的是大于或者等于2的倍数,这样,在一定程度上增加了乱序处理的复杂度,源数据的安全性更高。即使B客户获取到A客户软件方案对应的乱序数据以及研发端工具,B客户推导出任一MAC地址对应的乱序方案的难度增大,即使B客户在操作研发端工具的时候,可以遍历完所有的MAC地址,但是在任一MAC地址对应的乱序方案复杂度增加的情况下,B客户要推导出每个MAC地址对应的乱序方案的难度也大大增加,因此,源数据安全性更高。
基于上述实施例公开的内容,本实施例中,第一乱序码为MAC地址中的前a个字节;所述第二乱序码为MAC地址中的中间的b个字节;所述第三乱序码为MAC地址中的后面的c个字节。本实施例中a、b、c均是不为0的正整数,结合图2所示的MAC地址,以a、b、c均等于2为例进行说明,即第一乱序码可以为MAC地址中的前两个字节10E7,第二乱序码可以为MAC地址中的中间的两个字节C61C,第 三乱序码为MAC地址中的后面的两个字节9CB0。本实施例中,第一乱序码、第二乱序码、第三乱序码互不相同,该三个乱序码对应的乱序方案不同,采用不同的乱序方案对源数据进行三次乱序,进一步增加了乱序的复杂度,提升了源数据的安全性。在其他实施例中,a、b、c的和可以小于6,即可以仅仅使用部分MAC地址作为乱序码,例如,第一乱序码可以为10,第二乱序码可以为E7,第三乱序码可以为9C。在其他实施例中,第一乱序码、第二乱序码、第三乱序码也可以以半字节为单位,第一乱序码、第二乱序码、第三乱序码也可以是半字节,这样,对于一个MAC地址,可以确定尽可能多的乱序码,以得到尽可能多的乱序方案,以进行多次乱序处理时增加源数据的安全性,例如,第一乱序码可以为1,第二乱序码可以为0,第三乱序码可以为E,第四乱序码可以为7C6,第五乱序码可以为1C9,第六乱序码可以为CB0。
基于上述实施例公开的内容,本实施例中,M小于N,P小于M,Q小于P。对于进行三次乱序处理的方案,第一次乱序处理的对象是每M个字节,第二次乱序处理的对象是乱序处理后的每M个字节中的每P个字节,第三次乱序处理的对象是乱序处理后的每P个字节中的每Q个字节,这样,每次乱序处理的对象不同,以使得乱序处理的复杂度增加,进一步提高源数据的安全性。
以图2所示的MAC地址为例,假设源数据一共有8K字节,以每4K字节使用MAC地址进行乱序处理为例进行说明。即以N=4K字节为单元举例说明,另外4K字节可以按照本实施例的方案以此类推。如图4所示,根据乱序码采用乱序码对应的乱序方案进行乱序处理可以包括:
步骤S401,根据10E7对4K字节中每16个字节进行乱序处理;
步骤S402,根据C61C对该乱序处理后的每16字节中的每8个字节进行乱序处理;
步骤S402,根据9CB0对该乱序处理后的每8字节中的每4个字节进行乱序处理;
S401中,M=16,假设4K字节中的其中一个16个字节为0 1 2 3 4 5 6 7 8 9A B C D E F,本实施例中,源数据中的每一个码元用一个字节表示,可以理解的是,在其他应用场景下,源数据中的每一个码元也可以用半个字节表示,本实施例对此不作限定。假设乱序码10E7对应的乱序方案为:第1位码元移动到第16位码元的位置,第16位码元移动到第1位码元的位置,即第1位码元和第16位码元位置调换,则 该16个字节根据10E7对应的乱序方案进行乱序处理后为F 1 2 3 4 5 6 7 8 9A B C D E 0。该4K字节中的其余的字节可以按照该方法,其余的每16个字节都根据乱序码10E7对应的乱序方案进行乱序处理。
S402中,P=8,乱序处理后的16个字节中的其中8个字节为F 1 2 3 4 5 6 7,假设乱序码C61C对应的乱序方案为:将第1位码元移动到第3位码元的位置,将第3位码元移动到第1位码元的位置,即第1位码元和第3位码元位置调换,则该8个字节根据C61C对应的乱序方案进行乱序处理后为2 1F 3 4 5 6 7;同理,乱序处理后的16个字节中的后8个字节8 9A B C D E 0根据乱序码C61C对应的乱序方案进行乱序处理后为A 9 8B C D E 0。则该乱序处理后的16个字节均根据乱序码C61C对应的乱序方案进行乱序处理后得到2 1F 3 4 5 6 7A 9 8B C D E 0。该4K字节中的其余的字节可以按照该方法,其余的每16个字节都在上次乱序处理的基础上,根据乱序码C61C对应的乱序方案对该16个字节中的每8个字节进行乱序处理。
S403中,Q=4,乱序处理后的8个字节中的其中4个字节为2 1F 3,假设乱序码9CB0对应的乱序方案为:将第1位码元移动到第4位码元的位置,将第4位码元移动到第1位码元的位置,即第1位码元和第4位码元位置调换,则该乱序处理后的4个字节根据9CB0对应的乱序方案进行乱序处理后为3 1F 2;同理,乱序处理后的8个字节中的后4个字节4 5 6 7根据乱序码9CB0对应的乱序方案进行乱序处理后为7 5 6 4。则对于该已经乱序处理过的16个字节,其中每4个字节根据乱序码9CB0对应的乱序方案进行乱序处理后得到3 1F 2 7 5 6 4B 9 8A 0D E C。该4K字节中的其余的字节可以按照该方法,其余的每8个字节都在上次乱序处理的基础上,根据乱序码C61C对应的乱序方案对该8个字节中的每4个字节进行乱序处理。
本实施例中具体码元为例进行说明,可以理解的是,源数据可以为任意进制的数据,源数据中每个码元所占的字节数也可以根据应用场景或者用户需求进行调整,本实施例中乱序码对应的乱序方案仅为示例性说明,本领域技术人员在不付出创造性劳动的情况下还可以采用其他乱序码以及其对应的乱序方案,本实施例对此不作限制。本实施例中以每个码元占用一个字节为例进行说明,即乱序方案的执行是以字节为单位进行的,这样乱序处理速度更快。
在其他应用场景中,当乱序码对应的乱序方案是调整半字节的码元时,则需要获取一个字节的高四位和低四位,这样可以增加乱序处理的复杂度,以进一步增加源数据的安全性。或者是乱序码对应的乱序方案是调整任意位数的二进制码元,例 如,三位二进制码元、两位二进制码元或者一位二进制码元,这样可以使得乱序处理的复杂度进一步增加,源数据更加安全。例如,对于第一次乱序处理,可以根据第一乱序码对每N个码元中的每M个码元进行乱序处理,在对M个码元进行乱序处理时,可以对调三位二进制码元的位置,对于第二次乱序处理,可以根据第二乱序码对乱序处理后的每M个码元中的每P个码元进行乱序处理,在对P个码元进行处理时,可以对调两位二进制码元的位置,对于第三次乱序处理,可以根据第三乱序码对乱序处理后的每P个码元中的每Q个码元进行乱序处理,在对Q个码元进行处理时,可以对调一位二进制码元的位置。
需要说明的是,该16个字节的源数据的乱序处理仅仅是示例性说明,本领域技术人员在不付出创造性劳动的情况下也可以选择任意字节进行乱序处理。例如,根据MAC地址对源数据以每4K字节进行乱序处理,4K字节数据以256字节为单元使用MAC地址的前两个字节作为乱序码进行乱序处理,其中,每一个乱序处理后的该256个字节数据以16个字节为单元使用MAC地址的中间两个字节作为乱序码进行第二次乱序处理,其中每一个乱序处理后的该16字节以1字节为单元使用MAC地址的后两个字节作为乱序码进行第三次乱序处理。
另外,本实施例的乱序方案以对调码元的位置为例进行说明,需要说明的是,乱序码对应的乱序方案也可以是调换多个码元的位置,不仅仅限于对调,可以是各个码元之间的任意调整次序,例如,假设乱序码为4,源数据需要进行乱序处理的源数据为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16,则可以采用乱序库中的第4种乱序方案对源数据进行乱序处理,例如,将原来第2、3、4位码元移动到第9位、第4位、第5位码元的位置,将原来第5、6、7位码元移动到第10位、第16位、第6位码元的位置,将原来第8、9、10位码元移动到第11位、第7位、第12位码元的位置,将原来第11、12、13位码元移动到第15位、第2位、第3位码元的位置,将原来第14、15、16位码元移动到第8位、第13位、第14位码元的位置,按照这样的乱序方案处理后的乱序数据可以为1 12 13 3 4 7 9 14 2 5 8 10 15 16 11 6。本实施例中,位置发生变化的码元越多,则表示乱序方案越复杂,则源数据的安全性更高。
基于上述实施例公开的内容,本实施例中,如图5所示,步骤S501,根据MAC地址对源数据进行乱序处理得到乱序数据,步骤S501后包括:
步骤S502,根据MAC地址对乱序数据进行加密得到加密乱序数据。这样,只有知道了该MAC地址,产线端才能完成解密,从而获取到源数据,因此,对乱序后 的源数据进行加密可以进一步提高提安全性。本实施例对加密方法不作限制,可以是非对称加密,也可以是对称加密。对应地,步骤S102将所乱序数据传输给产线端电脑包括:
步骤S503:将所述加密乱序数据传输给产线端电脑。
将加密乱序数据传输给产线端之后,可以由产线端进行解密和逆乱序处理以得到源数据。本实施例中,步骤S501与上述实施例中的步骤S101相同或者近似,此处不再赘述。
具体地,以研发端工具为例进行说明,本实施例中,以研发端工具为一可执行文件为例进行说明,假设研发端工具命名为EbinTool.exe,该研发端工具可以运行在研发端电脑上,可以用于加密或者乱序等处理。EbinTool.exe可以将源数据加密得到加密后的源数据,加密后的源数据可以命名为user.ebin,源数据可以理解为软件成果,获取该user.ebin后可以将该user.ebin发给产线端由产线端工具进行处理,user.ebin可以理解为软件成果在产线端的存储文件。可以理解的是,该产线端工具一般是由软件方案提供商提供给产线端,产线端工具可以用于解密或者逆乱序处理等,该产线端工具可以理解为一种软件开发工具包(Software Development Kit,SDK),该产线端工具运行在产线端电脑上,可以利用产线端工具处理该user.ebin得到该软件成果。当使用MAC地址对软件成果进行乱序加密时,EbinTool.exe使用MAC地址作为乱序码将软件成果的顺序打乱生成user_tmp.bin,此处顺序打乱可以理解为根据乱序码进行乱序处理,然后使用该MAC地址作为加密密钥将user_tmp.bin加密得到user.ebin。该MAC地址是由研发人员输入到研发端电脑上的,该MAC地址是产线端电脑的MAC地址。在乱序处理的基础上再利用MAC地址进行加密,可以使得产线端只能看到加密后的软件成果,以进一步提高该软件成果的安全性。EbinTool.exe的运行流程可以理解为研发端电脑执行的步骤,如图6所示,EbinTool.exe的运行流程包括以下步骤:
步骤S601:输入产线端电脑的MAC地址;
步骤S602:根据产线端电脑的MAC地址将方案厂提供的软件成果user.bin按照该MAC地址对应的乱序方案进行乱序处理得到user_tmp.bin;
步骤S603:根据该MAC地址将user_tmp.bin加密生成user.ebin。
对应地,产线端工具运行在产线端电脑上,产线端工具对数据有保护作用,以产线端工具为一可执行文件为例进行说明,产线端工具可以命名为PLT.exe,生产线 工具(Product Line Tool,PLT)也可以称之为产线端工具,PLT.exe运行在产线端电脑上,其运行流程可以理解为产线端电脑执行的步骤,如图7所示,PLT.exe的运行流程包括以下步骤:
步骤S701:自动获取本地MAC地址;
步骤S702:根据该MAC地址将user.ebin解密得到user_tmp.bin;
步骤S703:根据该MAC地址将user_tmp.bin逆乱序处理得到user.bin。
PLT.exe执行的步骤可以理解为是EbinTool.exe执行的步骤的逆处理,S601和S701是不同的,S701的步骤运行在产线端电脑上,它获取的是当前运行PLT.exe的电脑的MAC地址,例如,当启动PLT.exe时,可以默认采集当前运行PLT.exe的电脑的MAC地址,即,产线端工具启动时,产线端工具自动调用运行产线端工具的电脑的MAC地址。而S601的步骤是运行在研发端电脑上的,可以由研发人员输入产线端电脑的MAC地址。对于产线端工具PLT.exe,它可以集成加密方法和乱序方案,产线端工具PLT.exe由软件方案提供商提供给到产线端。结合上述实施例公开的方案,需要说明的是,步骤S603和S702是可选的,步骤S603和S702是相互对应的操作,可以理解为S603和S702互为逆过程。本实施例中,user.bin也可以理解为固件,该固件可以写入到芯片中以使得芯片实现该源数据对应的特定的功能,在产线端,该user.bin还可以进行加密处理,以便于将加密后的user.bin写入芯片中,该user.bin的安全性得以提高。
本申请实施例还可提供一种数据处理的方法,该方法可以用于产线端,例如,用于产线端电脑上,可以用于任意需要下载固件的芯片的产线端电脑,或者是可以开发一个产线端工具,该产线端工具装载在产线端电脑上,示例性地,该产线端工具可以为装载在产线端电脑上的插件,可以通过产线端工具实现如图8所示的方法,如图8所示,该方法包括以下步骤:
步骤S801:接收乱序数据,乱序数据为根据产线端电脑的MAC地址对源数据进行乱序处理得到;
步骤S802:根据本地MAC地址对乱序数据进行逆乱序处理。
在步骤S801中,乱序数据为研发端电脑根据产线端电脑的MAC地址对源数据进行乱序处理得到。假设任意第三方获取到了该乱序数据,但是任意第三方不清楚该产线端电脑的MAC地址,也就不能通过逆乱序处理得到源数据,即使通过遍历可能的逆乱序方案,第三方也很难得到源数据。另外,根据本地MAC地址对乱序数据 进行逆乱序处理,当该本地MAC地址不等于产线端电脑的MAC地址时,即逆乱序处理不是在产线端电脑上进行时,则该逆乱序处理可能不能执行或者是逆乱序处理后得到错误的源数据。
基于上述实施例公开的内容,本实施例中,如图9所示,根据本地MAC地址对所述乱序数据进行逆乱序处理之前,还包括:
步骤S901:接收乱序数据;
步骤S902:判断本地MAC地址是否等于产线端电脑的MAC地址;若本地MAC地址等于产线端电脑的MAC地址,则执行步骤S902A;
S902A:根据本地MAC地址对乱序数据进行逆乱序处理;
本实施例中,本地MAC地址可以通过自动查询获取到,例如,产线端工具可以自动查询本地MAC地址,可以通过自动调用本地MAC地址获取到,然后与产线端工具中存储的产线端电脑的MAC地址进行比较。可以理解的是,本地MAC地址也可以称之为本机MAC地址。本实施例中,本地MAC地址通过自动查询获取到,而不是由用户输入,可以使得产线端工具获取到真实的本地MAC地址,以使得只有具有产线端电脑才能根据本地MAC地址进行逆乱序处理得到源数据。本实施例中,步骤S901和前述实施例中的S801相同或者相类似,步骤S902A与前述实施例中的步骤S802相同或者类似,此处不再赘述。
本实施例中,只有本地MAC地址等于产线端电脑的MAC地址时,才可以成功的对该乱序数据进行逆乱序处理而得到源数据。对于第三方电脑,由于其本地MAC地址不是产线端电脑的MAC地址,根据该第三方电脑的MAC地址逆乱序处理之后得到错误的源数据,因此,第三方不能获取到该源数据,从而该源数据的安全性得到提高。另外,乱序处理相较于其他加密算法,例如非对称加密算法或者椭圆曲线加密等算法来说,其处理时间更短,以使得响应速度更快,本实施例中,第三方可以理解为除了研发端和产线端以外的任意第三方。
在步骤S902中,如果本地MAC地址等于产线端电脑的MAC地址,则接收该乱序数据之后,根据该MAC地址进行逆乱序处理以得到源数据,后续,还可以将该源数据通过串口通信加载到芯片中,或者是将逆乱序处理得到的源数据加密后再通过串口通信加载到芯片中,本实施例对此不作限制。需要说明的是,本实施例中,由于本地MAC地址通过自动查询获取到,若本地MAC地址等于产线端电脑的MAC地址,则说明该方法运行在产线端电脑上,
基于上述实施例公开的内容,本实施例中,对于步骤S902,若本地MAC地址不等于产线端电脑的MAC地址,则执行步骤S902B:输出错误提示。例如,可以在显示屏上跳出弹框,该弹框内容可以为不合法电脑,或者是错误,或者是禁止操作。该错误提示可以由PC端的弹窗输出,或者是在产线端工具的界面上显示。在本实施例中,若第三方在非产线端电脑尝试逆乱序处理,则该逆乱序处理不会成功,会收到错误提示,以进一步提高源数据的安全性。当本地MAC地址不等于产线端电脑的MAC地址时,逆乱序处理不能进行执行,即使是错误的源数据,第三方也无法获取到。
基于上述实施例公开的内容,本实施例中,根据本地MAC地址对乱序数据进行逆乱序处理包括:根据乱序码对乱序数据进行逆乱序处理,乱序码为本地MAC地址的一部分或者全部。假设PC端的本地MAC地址如图2所示,以此为例进行说明,该本地MAC地址由6个字节组成,乱序码可以是这6个字节中的任意一个或者多个字节,乱序码也可以是6个字节中的任意半字节或者是6个字节中的任意位数的二进制。乱序码确定后,可以根据该乱序码对乱序数据的每N个字节进行逆乱序处理。当本地MAC地址等于产线端电脑的MAC地址时,乱序处理所用的乱序码跟逆乱序处理所用的乱序码相同,这样,可以成功进行逆乱序处理。
基于上述实施例公开的内容,本实施例中,该方法还包括根据乱序码对应的乱序方案进行逆乱序处理;不同的乱序码对应的乱序方案不同。不同的乱序码对应不同的乱序方案,可以节省存储乱序方案的内存空间。这种乱序码与乱序方案一一对应的关系便于确定根据乱序码对应的执行何种逆乱序处理,如果第三方使用的乱序码错误,若在乱序码错误的前提下设置依然进行乱序码对应的逆乱序处理,则根据该乱序方案执行的逆乱序处理也会错误,第三方也就获取到错误的源数据。另外,逆乱序处理后也可以获取不到源数据,例如,可以设置当乱序码错误后,拒绝查询与该乱序码对应的乱序方案,不进行逆乱序处理,输出错误提示。
基于上述实施例公开的内容,本实施例中,根据乱序码对应的乱序方案进行逆乱序处理包括:执行乱序码对应的乱序方案的逆操作。例如,假设根据乱序码对应的乱序方案为将源数据中第i位码元移动到第j位码元的位置,则对应的根据乱序码对应的逆乱序方案为将源数据中的第j位码元移动到第i位码元的位置。当乱序方案为移动多个码元的位置时,相应的,逆乱序方案可以为反向移动多个码元的位置。再例如,假设根据乱序码对应的乱序方案为调换所述源数据中第i位码元与第j位码 元的位置;则根据乱序码对应的乱序方案进行所述逆乱序处理可以为:调换乱序数据的第i位码元与第j位码元的位置,或者是调换乱序数据的第j位码元与第i位码元的位置。当乱序处理是对多对码元进行位置调换时,逆乱序处理也对该多对码元执行位置调换,以恢复源数据。本实施例中,根据乱序码对应的乱序方案进行逆乱序处理也可以直接为执行乱序码对应的乱序方案的逆操作。
基于上述实施例公开的内容,本实施例中,该方法还包括根据乱序码对乱序数据进行多次逆乱序处理。每一次逆乱序处理都是基于上一次逆乱序处理的结果进行的,例如,若上一次是对每Q个字节进行逆乱序处理得到逆乱序处理后的每P个字节,则对于下一次逆乱序处理,是对该每P个字节进行的。对源数据进行多次乱序处理,可以增加乱序处理的复杂度,以使得源数据的安全性进一步提高。因而在产线端,需要进行多次逆乱序处理以恢复源数据。本实施例中,多次乱序处理之间采用的乱序方案可以不同,例如,产线端电脑的MAC地址可以分为两部分,即前半部分乱序码和后半部分乱序码,可以根据前半部分乱序码对应的乱序方案进行一次乱序处理,然后根据后半部分乱序码对应的乱序方案对已经乱序处理过一次的乱序数据再进行一次乱序处理。则在对应的产线端,可以根据后半部分乱序码对应的乱序方案进行一次逆乱序处理,然后根据前半部分乱序码对应的乱序方案在上一次逆乱序处理的基础上再进行一次逆乱序处理以得到源数据。
基于上述实施例公开的内容,本实施例中,乱序码包括第一乱序码、第二乱序码、第三乱序码;如图10所示,根据所述乱序码对乱序数据进行多次逆乱序处理包括如下步骤:
S1001:根据第三乱序码对乱序处理后的每Q个字节进行逆乱序处理得到逆乱序处理后的每P个字节。
S1002:根据第二乱序码对逆乱序处理后的每P个字节进行逆乱序处理得到逆乱序处理后的每M个字节;
S1003:根据第一乱序码对逆乱序处理后的每M个字节进行逆乱序处理。
在步骤S1001中,当P为Q的整数倍时,每P个字节都根据乱序码进行了乱序处理,在产线端,对应的该乱序处理后的每P个字节可以根据该乱序码进行逆乱序处理以获取到源数据。当P不为Q的整数倍时,P个字节中部分字节可以不进行乱序处理,即P个字节中部分数据进行了乱序处理,部分数据保留原样。一部分数据保留原样不进行乱序处理可以在提升安全性的同时,减少数据运算量,以达到减小 功耗的目的。则在产线端,对应的,P个字节中乱序处理后的数据可以进行逆乱序处理,P个字节中没有进行乱序处理的数据可以不进行逆乱序处理。结合图2所示的MAC地址,假设第三乱序码为MAC地址中的最后的两个字节9CB0,即乱序处理后的每P个字节中每Q个字节根据9CB0进行逆乱序处理。
在步骤S1002中,当M为P的整数倍时,每M个字节都根据乱序码进行了乱序处理,则在产线端,对应的,乱序处理后的每M个字节可以根据该乱序码进行逆乱序处理以获取到源数据。当M不为P的整数倍时,M个字节中部分字节可以不进行乱序处理,即M个字节中部分数据进行了乱序处理,部分数据保留原样。一部分数据保留原样不进行乱序处理可以在提升安全性的同时,减少数据运算量,以达到减小功耗的目的,则在产线端,对应的,M个字节中乱序处理后的数据可以进行逆乱序处理,M个字节中没有进行乱序处理的数据可以不进行逆乱序处理。结合图2所示的MAC地址,假设第二乱序码为MAC地址中的中间的两个字节C61C,即乱序处理后的每M个字节中每P个字节根据C61C进行逆乱序处理。
在步骤S1003中,当N为M的整数倍时,每N个字节都根据乱序码进行了乱序处理,则在产线端,对应的乱序数据的每N个字节可以根据该乱序码执行逆乱序处理以获取到源数据。当N不为M的整数倍时,N个字节中部分字节可以不进行乱序处理,即N个字节中部分数据进行了乱序处理,部分数据保留原样,则在产线端,N个字节中进行了乱序处理的可以进行逆乱序处理,N个字节中没有进行乱序处理的不进行逆乱序处理。一部分数据保留原样不进行乱序处理可以在提升安全性的同时,减少数据运算量,以达到减小功耗的目的。结合图2所示的MAC地址,假设第一乱序码为MAC地址中的前两个字节10E7,即N个字节中每M个字节根据10E7进行逆乱序处理。本实施例中,对源数据采用了三次乱序处理,在一定程度上增加了乱序处理的复杂度,源数据的安全性更高。
基于上述实施例公开的内容,本实施例中,第一乱序码为本地MAC地址中的前a个字节;所述第二乱序码为本地MAC地址中的中间的b个字节;所述第三乱序码为本地MAC地址中的最后的c个字节。结合图2所示的MAC地址,以a、b、c均等于2为例进行说明,即第一乱序码可以为MAC地址中的前两个字节10E7,第二乱序码可以为MAC地址中的中间的两个字节C61C,第三乱序码为MAC地址中的后面的两个字节9CB0。第一乱序码、第二乱序码、第三乱序码互不相同,则该三个乱序码对应的乱序方案不同,采用不同的乱序方案对源数据进行三次乱序,进一步 增加了乱序的复杂度,提升了源数据的安全性。在产线端,分别根据该第三乱序码、第二乱序码、第一乱序码对应的乱序方案进行逆乱序处理,以得到源数据。
基于上述实施例公开的内容,本实施例中,M小于N,P小于M,Q小于P。这样,每次乱序处理的单位都有不同,以使得乱序处理的复杂度增加,进一步提高源数据的安全性。对应的,在产线端,每次逆乱序处理的单位也不同。
基于上述实施例公开的内容,下一次乱序处理是在上一次乱序处理得到的乱序数据的基础上进行的,并且,下一次乱序处理的单元可以更小,例如,N为M的整数倍,M为P的整数倍,P为Q的整数倍,这样,在一定程度上增加了乱序处理的复杂度,源数据的安全性更高。即使B客户获取到A客户软件方案对应的乱序数据以及研发端工具,B客户推导出任一MAC地址对应的乱序方案的难度增大,即使B客户在操作研发端工具的时候,可以遍历完所有的MAC地址,但是在任一MAC地址对应的乱序方案复杂度增加的情况下,B客户要推导出每个MAC地址对应的乱序方案的难度也大大增加,因此,源数据安全性更高。
以图2所示的MAC地址为例,结合前述实施例,假设乱序数据一共有8K字节,每4K字节根据MAC地址进行的乱序处理。即N=4K,如图11所示,根据乱序码采用乱序码对应的乱序方案进行逆乱序处理可以包括:
S1101:根据9CB0对该乱序处理后的每4个字节进行逆乱序处理得到逆乱序处理后的每8个字节;
S1102:根据C61C对该逆乱序处理后的每8个字节进行逆乱序处理得到逆乱序处理后的每16个字节;
S1103:根据10E7对逆乱序处理后的每16个字节进行逆乱序处理。
S1101中,Q=4,假设乱序处理后的4K字节中的其中一个16个字节为3 1F 2 75 6 4B 9 8A 0D E C。结合前述实施例的内容,乱序码9CB0对应的乱序方案为:第1位码元和第4位码元位置调换,乱序处理后的8个字节中的其中4个字节为3 1F 2,则该4个字节根据对应的乱序方案进行逆乱序处理后为2 1F 3;同理,对该乱序处理后的每4个字节进行逆乱序处理,对该16个字节的乱序数据进行逆乱序处理后为2 1F 3 4 5 6 7A 9 8B C D E 0。
S1102中,P=8,逆乱序处理后的16个字节中的其中8个字节为2 1F 3 4 5 6 7,乱序码C61C对应的乱序方案为:第1位码元和第3位码元位置调换,则该8个字节根据对应的乱序方案进行逆乱序处理后为F 1 2 3 4 5 6 7;同理,逆乱序处理后的16 个字节中的后8个字节A 9 8B C D E 0,根据乱序码C61C对应的乱序方案进行逆乱序处理后为8 9A B C D E 0。则该16个字节均根据乱序码C61C对应的乱序方案进行逆乱序处理后得到F 1 2 3 4 5 6 7 8 9A B C D E 0。
S1103中,M=16,逆乱序处理后的16个字节为F 1 2 3 4 5 6 7 8 9A B C D E 0,乱序码10E7对应的乱序方案为:第1位码元和第16位码元位置调换,则该逆乱序处理后的每M个字节进行所述逆乱序处理后得到1 2 3 4 5 6 7 8 9A B C D E F。综上,对该16个字节的乱序数据经过三次逆乱序处理后得到源数据4K字节中的其中一个16个字节。该源数据中的其他16个字节以此为例,最后可以逆乱序处理之后得到源数据。
本实施例对应前述实施例中的乱序处理的方案,前述实施例中以16个字节的源数据为例进行说明,这16个字节为1 2 3 4 5 6 7 8 9A B C D E F,经过3次乱序处理后得到3 1F 2 7 5 6 4B 9 8A 0D E C。本实施例以该乱序数据3 1F 2 7 5 6 4B 9 8A 0D E C为例,进行了三次逆乱序,得到16个字节的源数据1 2 3 4 5 6 7 8 9A B C D E F。
基于上述实施例公开的内容,本实施例中,如图12所示,步骤S901接收乱序数据包括步骤S1201:接收加密乱序数据;步骤S1201接收加密乱序数据后包括:
S1202:根据本地MAC地址对加密乱序数据进行解密。
在研发端电脑上,如果对乱序数据进行了加密,则在产线端会收到研发端PC发送的加密后的乱序数据,即加密乱序数据。产线端收到该加密乱序数据后,还需要进行解密,研发端的PC是根据产线端电脑的MAC地址进行的加密,因此,在产线端,可以根据本地MAC地址对加密乱序数据进行解密,当本地MAC地址等于产线端电脑的MAC地址时,可以成功解密得到乱序数据,从而产线端可以继续执行步骤:
S1203:根据乱序码对应的乱序方案对该乱序数据进行逆乱序处理。
本实施例中,步骤S1203与上述实施例中的步骤S802相似,本实施例对此不再赘述。在乱序处理的基础上,在研发端和产线端又分别增加了加解密处理,以进一步提高源数据的安全性,给第三方破解进一步增加难度。
基于上述实施例公开的内容,本实施例中,如图13所示,根据本地MAC地址对乱序数据进行逆乱序处理得到源数据后还包括以下步骤:
S1303:对源数据进行加密得到加密固件;
S1304:将加密固件加载到芯片中。
本实施例中步骤S1301与步骤S1302与前述实施例中的步骤S801和步骤S802相同或者近似,此处不再赘述。产线端对乱序数据进行逆乱序处理得到源数据后,可以将源数据加载到芯片中,为了避免第三方获取到该源数据,产线端在将源数据加载到芯片中之前,还可以对该源数据进行加密处理得到加密固件,然后再将该加密固件加载到芯片中,这样,即使第三方获取到该加密固件,也无法获取到该固件的具体内容。逆乱序处理得到的源数据加密后可以通过串口通信加载到芯片中。对源数据进行加密得到加密固件再加载到芯片中,可以实现不以明文的方式传输源数据,这样给到芯片的源数据就是非明文形式,以进一步提高源数据的安全性。
本申请实施例还可提供一种数据处理装置,该装置可以位于研发端,具体地,例如,可以位于研发端电脑,如图14所示,该装置1400包括:
乱序处理模块1401,用于根据MAC地址对源数据进行乱序处理得到乱序数据;和
数据传输模块1402,用于将乱序数据传输给产线端电脑,MAC地址为产线端电脑的MAC地址。
基于上述实施例公开的内容,本实施例中,乱序处理模块具体用于根据乱序码对源数据进行乱序处理,乱序码为MAC地址的一部分或者全部。
基于上述实施例公开的内容,本实施例中,乱序处理模块根据乱序码对应的乱序方案进行乱序处理;不同的乱序码对应的乱序方案不同。
基于上述实施例公开的内容,本实施例中,乱序方案包括将源数据中第i位码元移动到第j位码元的位置。
基于上述实施例公开的内容,本实施例中,如图15所示,该装置还包括:
库建立模块1501,用于建立乱序库;乱序库包括乱序码对应的乱序方案。
基于上述实施例公开的内容,本实施例中,乱序处理模块具体用于根据乱序码对源数据进行多次乱序处理;多次乱序处理中,乱序处理模块基于上一次乱序处理后的每M个字节对乱序处理后的每M个字节中的每P个字节进行下一次乱序处理。
基于上述实施例公开的内容,本实施例中,乱序码包括第一乱序码、第二乱序码、第三乱序码;如图16所示,乱序处理模块1401包括:
M字节处理模块1601,用于根据第一乱序码对源数据中的每N个字节中的每M个字节进行乱序处理;
P字节处理模块1602,用于根据第二乱序码对乱序处理后的每M个字节中的每 P个字节进行乱序处理;和
Q字节处理模块1603,用于根据第三乱序码对乱序处理后的每P个字节中的每Q个字节进行乱序处理。
基于上述实施例公开的内容,本实施例中,第一乱序码为MAC地址中的前a个字节;第二乱序码为MAC地址中的中间的b个字节;第三乱序码为MAC地址中的最后的c个字节;N为M的整数倍,M为P的整数倍,P为Q的整数倍。
基于上述实施例公开的内容,本实施例中,如图17所示,该装置1400还包括加密模块1701,加密模块用于根据MAC地址对乱序数据进行加密得到加密乱序数据;数据传输模块具体用于将加密乱序数据传输给产线端电脑。
本申请实施例还可提供一种数据处理装置,该装置可以位于产线端,具体的,例如,可以位于产线端电脑,如图18所示,该装置1800包括:
接收模块1801,接收模块用于接收乱序数据,乱序数据为根据产线端电脑的MAC地址对源数据进行乱序处理得到;和
逆乱序处理模块1802,逆乱序处理模块用于对乱序数据进行逆乱序处理。
基于上述实施例公开的内容,本实施例中,如图19所示,该装置1800还可以包括:判断模块1901,判断模块用于判断本地MAC地址是否等于产线端电脑的MAC地址,本地MAC地址通过自动查询获取到;若本地MAC地址等于产线端电脑的MAC地址,则逆乱序处理模块根据本地MAC地址对乱序数据进行逆乱序处理。
基于上述实施例公开的内容,本实施例中,如图20所示,该装置1800还可以包括:提示模块2001,若本地MAC地址不等于产线端电脑的MAC地址,则提示模块输出错误提示。
基于上述实施例公开的内容,本实施例中,逆乱序处理模块具体用于根据乱序码对乱序数据进行逆乱序处理,乱序码为本地MAC地址的一部分或者全部。
基于上述实施例公开的内容,本实施例中,逆乱序处理模块具体用于根据乱序码对应的乱序方案进行逆乱序处理;不同的乱序码对应的乱序方案不同。
基于上述实施例公开的内容,本实施例中,逆乱序处理模块具体用于根据乱序码对乱序数据进行多次逆乱序处理;多次逆乱序处理中,逆乱序处理模块基于上一次对每Q个字节进行逆乱序处理后得到的逆乱序处理后的每P个字节,对逆乱序处理后的每P个字节进行下一次逆乱序处理。
基于上述实施例公开的内容,本实施例中,乱序码包括第一乱序码、第二乱序 码、第三乱序码;如图21所示,逆乱序处理模块1802可以包括:
Q字节逆处理模块2101,用于根据第三乱序码对乱序处理后的每Q个字节进行逆乱序处理得到逆乱序处理后的每P个字节;
P字节逆处理模块2102,用于根据第二乱序码对逆乱序处理后的每P个字节进行逆乱序处理得到逆乱序处理后的每M个字节;
M字节逆处理模块2103,用于根据第一乱序码对逆乱序处理后的每M个字节进行逆乱序处理。
基于上述实施例公开的内容,本实施例中,第一乱序码为MAC地址中的前a个字节;第二乱序码为MAC地址中的中间的b个字节;第三乱序码为MAC地址中的最后c个字节;N为M的整数倍,M为P的整数倍,P为Q的整数倍。
基于上述实施例公开的内容,本实施例中,如图22所示,该装置1800还包括解密模块2201;接收模块具体用于接收加密乱序数据;解密模块用于根据本地MAC地址对加密乱序数据进行解密。
基于上述实施例公开的内容,本实施例中,如图23所示,该装置1800还包括:固件处理模块2301,固件处理模块用于对源数据进行加密得到加密固件;固件处理模块还用于将加密固件加载到芯片中。
本申请实施例还可提供一种研发端工具,用于执行上述实施例提出的数据处理方法;该研发端工具包括一接口,所述接口用来输入产线端电脑的MAC地址。
本申请实施例提供的研发端工具其具体的实现过程及有益效果参见上述,在此不再赘述。
本申请实施例还可提供一种产线端工具,用于执行上述实施例提出的数据处理方法;该产线端工具包括一接口,所述接口用来自动调用本地MAC地址。
本申请实施例提供的产线端工具其具体的实现过程及有益效果参见上述,在此不再赘述。
本实施例还可提供一种研发端电脑,用于执行上述实施例提出的数据处理方法;如图24所示,该研发端电脑2400包括包括存储器2401和处理器2402;
存储器2401与处理器2402耦合;
存储器2401,用于存储程序指令;
处理器2402,用于调用存储器存储的程序指令,使得研发端电脑执行上述任一实施例提出的数据处理方法。
本申请实施例提供的研发端电脑其具体的实现过程及有益效果参见上述,在此不再赘述,另外,该研发端电脑可以包括前述实施例中的研发端工具,例如,研发端工具可以安装在研发端电脑上。
本申请实施例还可提供一种产线端电脑,用于执行上述实施例提出的数据处理方法。如图25所示,该产线端电脑2500包括存储器2501和处理器2502;
存储器2501与处理器2502耦合;
存储器2501,用于存储程序指令;
处理器2502,用于调用存储器存储的程序指令,使得产线端电脑执行上述任一实施例提出的数据处理方法。
本申请实施例提供的产线端电脑其具体的实现过程及有益效果参见上述,在此不再赘述,另外,该产线端电脑可以包括前述实施例中的产线端工具,例如,产线端工具可以安装在产线端电脑上。
本申请实施例还可提供一种计算机可读存储介质,包括:其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中任一项的数据处理方法,其具体的实现过程及有益效果参见上述,在此不再赘述。
应注意,本申请上述方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器 (read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略, 或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (46)

  1. 一种数据处理方法,其特征在于,包括:
    根据MAC地址对源数据进行乱序处理得到乱序数据;
    将所述乱序数据传输给产线端电脑,所述MAC地址为所述产线端电脑的所述MAC地址。
  2. 根据权利要求1所述的数据传输方法,其特征在于,所述根据MAC地址对源数据进行乱序处理包括:
    根据乱序码对所述源数据进行所述乱序处理,所述乱序码为所述MAC地址的一部分或者全部。
  3. 根据权利要求2所述的数据处理方法,其特征在于,还包括:根据所述乱序码对应的乱序方案进行所述乱序处理;不同的所述乱序码对应的所述乱序方案不同。
  4. 根据权利要求3所述的数据处理的方法,其特征在于,所述乱序方案包括将所述源数据中第i位码元移动到第j位码元的位置。
  5. 根据权利要求3或4所述的数据处理的方法,其特征在于,还包括建立乱序库,所述乱序库包括所述乱序码对应的所述乱序方案。
  6. 根据权利要求2至5中任一项所述的数据处理方法,其特征在于,还包括:根据所述乱序码对所述源数据进行多次所述乱序处理;所述多次所述乱序处理中,基于上一次乱序处理后的每M个字节对所述乱序处理后的每M个字节中的每P个字节进行下一次乱序处理。
  7. 根据权利要求6所述的数据处理方法,其特征在于,所述乱序码包括第一乱序码、第二乱序码、第三乱序码;所述根据所述乱序码对所述源数据进行多次所述乱序处理包括:
    根据所述第一乱序码对所述源数据中的每N个字节中的每M个字节进行所述乱序处理;
    根据所述第二乱序码对所述乱序处理后的每M个字节中的每P个字节进行所述乱序处理;
    根据所述第三乱序码对所述乱序处理后的每P个字节中的每Q个字节进行所述乱序处理。
  8. 根据权利要求7所述的数据处理方法,其特征在于,所述第一乱序码为所述 MAC地址中的前a个字节;所述第二乱序码为所述MAC地址中的中间的b个字节;所述第三乱序码为所述MAC地址中的最后c个字节。
  9. 根据权利要求7或8所述的数据处理方法,其特征在于,所述N为所述M的整数倍,所述M为所述P的整数倍,所述P为所述Q的整数倍。
  10. 根据权利要求1至9中任一项所述的数据处理方法,其特征在于,所述根据MAC地址对源数据进行乱序处理得到乱序数据后包括:根据所述MAC地址对所述乱序数据进行加密得到加密乱序数据;
    所述将所述乱序数据传输给产线端电脑包括将所述加密乱序数据传输给所述产线端电脑。
  11. 一种数据处理方法,其特征在于,包括:
    接收乱序数据,所述乱序数据为根据产线端电脑的MAC地址对源数据进行乱序处理得到;
    根据本地MAC地址对所述乱序数据进行逆乱序处理。
  12. 根据权利要求11所述的数据处理方法,其特征在于,根据本地MAC地址对所述乱序数据进行逆乱序处理之前,还包括:
    判断所述本地MAC地址是否等于所述产线端电脑的MAC地址,所述本地MAC地址通过自动查询获取到;
    若所述本地MAC地址等于所述产线端电脑的MAC地址,则根据所述本地MAC地址对所述乱序数据进行逆乱序处理。
  13. 根据权利要求12所述的数据处理方法,其特征在于,若所述本地MAC地址不等于所述产线端电脑的MAC地址,则输出错误提示。
  14. 根据权利要求11至13中任一项所述的数据处理方法,其特征在于,所述根据本地MAC地址对所述乱序数据进行逆乱序处理包括:
    根据乱序码对所述乱序数据进行所述逆乱序处理,所述乱序码为所述本地MAC地址的一部分或者全部。
  15. 根据权利要求14所述的数据处理方法,其特征在于,还包括根据所述乱序码对应的乱序方案进行所述逆乱序处理;不同的所述乱序码对应的所述乱序方案不同。
  16. 根据权利要求14或15所述的数据处理方法,其特征在于,还包括:根据所述乱序码对所述乱序数据进行多次所述逆乱序处理;所述多次所述逆乱序处理中, 基于上一次对每Q个字节进行逆乱序处理后得到的逆乱序处理后的每P个字节,对所述逆乱序处理后的每P个字节进行下一次逆乱序处理。
  17. 根据权利要求16所述的数据处理方法,其特征在于,所述乱序码包括第一乱序码、第二乱序码、第三乱序码;所述根据所述乱序码对所述乱序数据进行多次所述逆乱序处理包括:
    根据所述第三乱序码对乱序处理后的每Q个字节进行所述逆乱序处理得到逆乱序处理后的每P个字节;
    根据所述第二乱序码对所述逆乱序处理后的每P个字节进行所述逆乱序处理得到逆乱序处理后的每M个字节;
    根据所述第一乱序码对所述逆乱序处理后的每M个字节进行所述逆乱序处理。
  18. 根据权利要求17所述的数据处理方法,其特征在于,所述第一乱序码为所述本地MAC地址中的前a个字节;所述第二乱序码为所述本地MAC地址中的中间的b个字节;所述第三乱序码为所述本地MAC地址中的最后c个字节。
  19. 根据权利要求17或18所述的数据处理方法,其特征在于,所述N为所述M的整数倍,所述M为所述P的整数倍,所述P为所述Q的整数倍。
  20. 根据权利要求11至19中任一项所述的数据处理方法,其特征在于,所述接收乱序数据包括接收加密乱序数据;接收所述加密乱序数据后包括:
    根据所述本地MAC地址对所述加密乱序数据进行解密。
  21. 根据权利要求11至20中任一项所述的数据处理方法,其特征在于,所述根据本地MAC地址对所述乱序数据进行逆乱序处理后还包括:
    对所述源数据进行加密得到加密固件;
    将所述加密固件加载到芯片中。
  22. 一种数据处理装置,其特征在于,包括:
    乱序处理模块,用于根据MAC地址对源数据进行乱序处理得到乱序数据;和
    数据传输模块,用于将所述乱序数据传输给产线端电脑,所述MAC地址为所述产线端电脑的所述MAC地址。
  23. 根据权利要求22所述的数据处理装置,其特征在于,所述乱序处理模块具体用于根据乱序码对所述源数据进行所述乱序处理,所述乱序码为所述MAC地址的一部分或者全部。
  24. 根据权利要求23所述的数据处理装置,其特征在于,所述乱序处理模块根 据所述乱序码对应的乱序方案进行所述乱序处理;不同的所述乱序码对应的所述乱序方案不同。
  25. 根据权利要求24所述的数据处理装置,其特征在于,所述乱序方案包括将所述源数据中第i位码元移动到第j位码元的位置。
  26. 根据权利要求24或25所述的数据处理装置,其特征在于,还包括:
    库建立模块,用于建立乱序库;所述乱序库包括所述乱序码对应的所述乱序方案。
  27. 根据权利要求23至26中任一项所述的数据处理装置,其特征在于,所述乱序处理模块具体用于根据所述乱序码对所述源数据进行多次所述乱序处理;所述多次所述乱序处理中,所述乱序处理模块基于上一次乱序处理后的每M个字节对所述乱序处理后的每M个字节中的每P个字节进行下一次乱序处理。
  28. 根据权利要求27所述的数据处理装置,其特征在于,所述乱序码包括第一乱序码、第二乱序码、第三乱序码;所述乱序处理模块包括:
    M字节处理模块,用于根据所述第一乱序码对所述源数据中的每N个字节中的每M个字节进行所述乱序处理;
    P字节处理模块,用于根据所述第二乱序码对所述乱序处理后的每M个字节中的每P个字节进行所述乱序处理;和
    Q字节处理模块,用于根据所述第三乱序码对所述乱序处理后的每P个字节中的每Q个字节进行所述乱序处理。
  29. 根据权利要求28所述的数据处理装置,其特征在于,所述第一乱序码为所述MAC地址中的前a个字节;所述第二乱序码为所述MAC地址中的中间的b个字节;所述第三乱序码为所述MAC地址中的最后的c个字节;所述N为所述M的整数倍,所述M为所述P的整数倍,所述P为所述Q的整数倍。
  30. 根据权利要求22至29中任一项所述的数据处理装置,其特征在于,还包括加密模块,所述加密模块用于根据所述MAC地址对所述乱序数据进行加密得到加密乱序数据;所述数据传输模块具体用于将所述加密乱序数据传输给所述产线端电脑。
  31. 一种数据处理装置,其特征在于,包括:
    接收模块,所述接收模块用于接收乱序数据,所述乱序数据为根据产线端电脑的MAC地址对源数据进行乱序处理得到;和
    逆乱序处理模块,所述逆乱序处理模块用于对所述乱序数据进行逆乱序处理。
  32. 根据权利要求31所述的数据处理装置,其特征在于,还包括:
    判断模块,所述判断模块用于判断所述本地MAC地址是否等于所述产线端电脑的MAC地址,所述本地MAC地址通过自动查询获取到;若所述本地MAC地址等于所述产线端电脑的MAC地址,则所述逆乱序处理模块根据所述本地MAC地址对所述乱序数据进行逆乱序处理。
  33. 根据权利要求32所述的数据处理装置,其特征在于,还包括提示模块,若所述本地MAC地址不等于所述产线端电脑的MAC地址,则所述提示模块输出错误提示。
  34. 根据权利要求31至33中任一项所述的数据处理装置,其特征在于,所述逆乱序处理模块具体用于根据乱序码对所述乱序数据进行所述逆乱序处理,所述乱序码为所述本地MAC地址的一部分或者全部。
  35. 根据权利要求34所述的数据处理装置,其特征在于,所述逆乱序处理模块具体用于根据所述乱序码对应的乱序方案进行所述逆乱序处理;不同的所述乱序码对应的所述乱序方案不同。
  36. 根据权利要求34或35所述的数据处理装置,其特征在于,所述逆乱序处理模块具体用于根据所述乱序码对所述乱序数据进行多次所述逆乱序处理;所述多次所述逆乱序处理中,所述逆乱序处理模块基于上一次对每Q个字节进行逆乱序处理后得到的逆乱序处理后的每P个字节,对所述逆乱序处理后的每P个字节进行下一次逆乱序处理。
  37. 根据权利要求36所述的数据处理装置,其特征在于,所述乱序码包括第一乱序码、第二乱序码、第三乱序码;所述逆乱序处理模块包括:
    Q字节逆处理模块,用于根据所述第三乱序码对乱序处理后的每Q个字节进行所述逆乱序处理得到逆乱序处理后的每P个字节;
    P字节逆处理模块,用于根据所述第二乱序码对所述逆乱序处理后的每P个字节进行所述逆乱序处理得到逆乱序处理后的每M个字节;
    M字节逆处理模块,用于根据所述第一乱序码对所述逆乱序处理后的每M个字节进行所述逆乱序处理。
  38. 根据权利要求37所述的数据处理装置,其特征在于,所述第一乱序码为MAC地址中的前a个字节;所述第二乱序码为MAC地址中的中间的b个字节;所述 第三乱序码为MAC地址中的最后c个字节;所述N为所述M的整数倍,所述M为所述P的整数倍,所述P为所述Q的整数倍。
  39. 根据权利要求31至38中任一项所述的数据处理装置,其特征在于,还包括解密模块;所述接收模块具体用于接收加密乱序数据;所述解密模块用于根据所述本地MAC地址对所述加密乱序数据进行解密。
  40. 根据权利要求31至39中任一项所述的数据处理装置,其特征在于,还包括:固件处理模块,所述固件处理模块用于对所述源数据进行加密得到加密固件;所述固件处理模块还用于将所述加密固件加载到芯片中。
  41. 一种研发端工具,用于实现上述权利要求1至10中任一项所述的数据处理方法,其特征在于,所述研发端工具包括一接口,所述接口用来输入所述产线端电脑的MAC地址。
  42. 一种产线端工具,用于实现上述权利要求11至21中任一项所述的数据处理方法,其特征在于,包括一接口,所述接口用来自动调用所述本地MAC地址。
  43. 一种研发端电脑,其特征在于,包括存储器和处理器;
    所述存储器与所述处理器耦合;
    所述存储器,用于存储程序指令;
    所述处理器,用于调用所述存储器存储的程序指令,使得所述研发端电脑执行上述权利要求1至10中任一项所述的数据处理方法。
  44. 一种产线端电脑,其特征在于,包括存储器和处理器;
    所述存储器与所述处理器耦合;
    所述存储器,用于存储程序指令;
    所述处理器,用于调用所述存储器存储的程序指令,使得所述产线端电脑执行上述权利要求11至21中任一项所述的数据处理方法。
  45. 一种计算机可读存储介质,其特征在于,包括:其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述权利要求1至10中任一项所述的数据处理方法。
  46. 一种计算机可读存储介质,其特征在于,包括:其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述权利要求11至21中任一项所述的数据处理方法。
PCT/CN2020/086195 2020-04-22 2020-04-22 数据处理方法、装置、研发端工具及产线端工具 WO2021212378A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080040963.8A CN113994631B (zh) 2020-04-22 2020-04-22 数据处理方法、装置、研发端工具及产线端工具
PCT/CN2020/086195 WO2021212378A1 (zh) 2020-04-22 2020-04-22 数据处理方法、装置、研发端工具及产线端工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/086195 WO2021212378A1 (zh) 2020-04-22 2020-04-22 数据处理方法、装置、研发端工具及产线端工具

Publications (1)

Publication Number Publication Date
WO2021212378A1 true WO2021212378A1 (zh) 2021-10-28

Family

ID=78270957

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/086195 WO2021212378A1 (zh) 2020-04-22 2020-04-22 数据处理方法、装置、研发端工具及产线端工具

Country Status (2)

Country Link
CN (1) CN113994631B (zh)
WO (1) WO2021212378A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126622A1 (en) * 2004-12-13 2006-06-15 Electronics And Telecommunications Research Institute Apparatus for changing MAC address to identify subscriber and method thereof
CN105791296A (zh) * 2016-03-08 2016-07-20 浪潮集团有限公司 一种网络报文快速加解扰的方法
CN108449316A (zh) * 2018-02-06 2018-08-24 麒麟合盛网络技术股份有限公司 一种反爬虫方法、服务器和客户端
CN110493227A (zh) * 2019-08-20 2019-11-22 上海集成电路研发中心有限公司 一种数据帧传输方法及系统
CN110650148A (zh) * 2019-09-30 2020-01-03 广西科技大学 一种基于随机加密的信息安全传输系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004080070A1 (ja) * 2003-03-07 2004-09-16 Matsushita Electric Industrial Co., Ltd. 暗号化装置、逆暗号化装置およびデータ再生装置
JP6512990B2 (ja) * 2015-08-05 2019-05-15 アラクサラネットワークス株式会社 転送装置及び転送システム
CN108377319B (zh) * 2018-03-15 2020-04-17 北京顶象技术有限公司 图片传输方法及装置
CN110096851B (zh) * 2019-05-13 2021-02-09 北京奇艺世纪科技有限公司 一种字节码的加密方法及系统
CN110880965A (zh) * 2019-09-29 2020-03-13 苏州浪潮智能科技有限公司 一种外发电子文档加密方法、系统、终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060126622A1 (en) * 2004-12-13 2006-06-15 Electronics And Telecommunications Research Institute Apparatus for changing MAC address to identify subscriber and method thereof
CN105791296A (zh) * 2016-03-08 2016-07-20 浪潮集团有限公司 一种网络报文快速加解扰的方法
CN108449316A (zh) * 2018-02-06 2018-08-24 麒麟合盛网络技术股份有限公司 一种反爬虫方法、服务器和客户端
CN110493227A (zh) * 2019-08-20 2019-11-22 上海集成电路研发中心有限公司 一种数据帧传输方法及系统
CN110650148A (zh) * 2019-09-30 2020-01-03 广西科技大学 一种基于随机加密的信息安全传输系统

Also Published As

Publication number Publication date
CN113994631B (zh) 2023-08-15
CN113994631A (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
CN101196855B (zh) 移动加密存储设备及密文存储区数据加解密处理方法
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
CN100524265C (zh) 在便携式存储装置和数字装置之间运行多个应用的设备和方法
US10230697B2 (en) User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages
US9667608B2 (en) Enhanced two-factor verification for device pairing
US9323943B2 (en) Decrypt and encrypt data of storage device
CN107612683A (zh) 一种加解密方法、装置、系统、设备和存储介质
KR20210078437A (ko) 안전한 중복 제거를 위한 방법, 장치, 및 시스템
CN106991061A (zh) 一种sata硬盘密码模块及其工作方法
CN104063672A (zh) 数据安全存储方法
CN107315966A (zh) 固态硬盘数据加密方法及系统
WO2023046207A1 (zh) 一种数据传输方法、装置及计算机非易失性可读存储介质
JP2002351742A (ja) データ保護装置
CN113595722B (zh) 量子安全密钥同步方法、装置、电子设备和存储介质
US11569979B2 (en) Cryptographic systems with variable layout cryptography
WO2021212378A1 (zh) 数据处理方法、装置、研发端工具及产线端工具
US9946662B2 (en) Double-mix Feistel network for key generation or encryption
CN112887297A (zh) 保护隐私的差异数据确定方法、装置、设备及系统
US20230259926A1 (en) Address generation method, blockchain information processing method, and related device
CN112636916A (zh) 数据处理方法、装置、存储介质及电子设备
US11101824B2 (en) Encryption device and decryption device, and operation method thereof
US20040111626A1 (en) Security processing of unlimited data size
WO2021024250A1 (en) System and method of cryptographic key management in a plurality of blockchain based computer networks
CN105373735A (zh) 具有账号密码分散储存防侧录功能的计算机系统
KR102380107B1 (ko) 암호화 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20931956

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20931956

Country of ref document: EP

Kind code of ref document: A1