Airborne software publishing system, method, device and storage medium

Through the on-board software release system, the system management module, software configuration management module and software management module are used to solve the safety and efficiency problems of traditional aircraft on-board software transmission methods, and achieve safer, more reliable and efficient software transmission and management.

CN119396424BActive Publication Date: 2025-04-15CIVIL AVIATION CHENGDU ELECTRONIC TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411987247.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-15
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

Traditional aircraft on-board software release and transmission methods have problems such as data being easily damaged or lost, high physical media transportation costs and low process efficiency, and cannot meet the increasingly complex and professional operation and maintenance management needs.

Method used

It provides an on-board software publishing system, including a system management module, a software configuration management module and a software management module. By receiving basic aircraft information and implementation configuration data, it determines the software loading task, and retrieves encrypted ciphertext data from the database and sends it to the user terminal.

Benefits of technology

It realizes safer, more reliable, efficient and convenient transmission of aircraft on-board software, reduces management costs, improves work efficiency, and meets complex operation and maintenance management needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119396424B_ABST
    Figure CN119396424B_ABST
Patent Text Reader

Abstract

The present application discloses an airborne software publishing system, method, device and storage medium. The system includes: a system management module, a software configuration management module and a software management module, wherein the system management module is used to receive basic aircraft information and installed configuration data of the aircraft sent by a user terminal; the software configuration management module is used to determine the software loading task of the aircraft according to the basic aircraft information and installed configuration data; the software management module is used to retrieve the corresponding ciphertext data from the database according to the software loading task, and send the ciphertext data to the user terminal, and the ciphertext data includes the encrypted airborne software data. In this way, the aircraft airborne software can be transmitted to the user more safely, reliably, efficiently and conveniently, reducing the transmission cost and improving the transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to an airborne software publishing system, method, device and storage medium. Background Art

[0002] At present, the release and transmission of aircraft onboard software are still carried out through traditional methods. For example, after receiving an order from an airline, the aircraft manufacturer manually releases the onboard software and uses physical media (such as floppy disks, CDs or USB flash drives) to provide it to the airline through logistics transportation. The airline then sends these physical media to the warehouse for management and storage. Finally, the staff takes out the physical media and reads it onboard to load it into the aircraft.

[0003] However, using this method, onboard software data is easily damaged or lost, and the transportation cost of physical media is high and the process efficiency is low. In addition, with the continuous development of aviation technology, the number and complexity of airborne software have increased significantly. This traditional offline airborne software management method can no longer meet the increasingly complex and professional operation and maintenance management needs. Summary of the invention

[0004] The main purpose of this application is to provide an airborne software publishing system, method, device and storage medium, so as to achieve a safer, more reliable, efficient and convenient transmission of aircraft airborne software to users, reduce transmission costs and improve transmission efficiency.

[0005] To achieve the above objectives, the present application provides an onboard software publishing system, comprising:

[0006] A system management module, used for receiving basic aircraft information and actual configuration data of the aircraft sent by a user terminal;

[0007] A software configuration management module, used to determine the software loading task of the aircraft according to the basic information of the aircraft and the actual configuration data;

[0008] The software management module is used to retrieve corresponding ciphertext data from the database according to the software loading task and send the ciphertext data to the user terminal, wherein the ciphertext data includes encrypted onboard software data.

[0009] Optionally, the system also includes a verification and encryption module; the software management module is also used to obtain at least one of the airborne software data; the verification and encryption module is used to, for any airborne software data, calculate the airborne software data using a first hash algorithm to obtain a first summary value, and calculate the airborne software data using a second hash algorithm to obtain a second summary value; the verification and encryption module is also used to encrypt the airborne software data using the first encryption algorithm to obtain the ciphertext data, encrypt the first summary value and the second summary value using the second encryption algorithm to obtain ciphertext summary data, and store the ciphertext data and the ciphertext summary data in the database.

[0010] Optionally, the onboard software data includes an onboard software part number, and the verification encryption module is specifically used to: generate a first subkey based on a pre-stored first master key and the onboard software part number; and use the first subkey to encrypt the onboard software data to obtain the ciphertext data.

[0011] Optionally, the verification encryption module is also used for: when the user terminal receives the ciphertext data, the user terminal uses the first hash algorithm and the second hash algorithm to calculate the onboard software data in the received ciphertext data, respectively, to obtain a first verification summary value and a second verification summary value, and the first verification summary value and the second verification summary value are used to compare with the first summary value and the second summary value to obtain a verification result.

[0012] Optionally, the basic aircraft information includes an aircraft model, and the software configuration management module is specifically used to: determine the corresponding permissible configuration data of the aircraft according to the aircraft model; compare the permissible configuration data with the actual installed configuration data to determine the software to be installed, and determine the software loading task according to the software to be installed.

[0013] Optionally, the system management module is further used to: perform management operations on the user account of the user terminal, the management operations including creation, deletion, modification and query; create roles for the user account, and set access rights of the user account according to the roles.

[0014] In addition, to achieve the above-mentioned purpose, the present application also provides an airborne software publishing method, which is applied to an airborne software publishing system, and the method includes: receiving basic information of an aircraft and actual installation configuration data of the aircraft sent by a user terminal; determining the software loading task of the aircraft based on the basic information of the aircraft and the actual installation configuration data; retrieving corresponding ciphertext data from a database based on the software loading task, and sending the ciphertext data to the user terminal, the ciphertext data including encrypted airborne software data.

[0015] Optionally, the method also includes: obtaining at least one of the airborne software data from the manufacturer system; for any airborne software data, calculating the airborne software data using a first hash algorithm to obtain a first summary value, and calculating the airborne software data using a second hash algorithm to obtain a second summary value; for any airborne software data, encrypting the airborne software data using a first encryption algorithm to obtain the ciphertext data, encrypting the first summary value and the second summary value using a second encryption algorithm to obtain ciphertext summary data, and storing the ciphertext data and the ciphertext summary data in the database.

[0016] The present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, an airborne software publishing method as described in any one of the above is implemented.

[0017] The present application also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the airborne software publishing method as described in any one of the above is implemented.

[0018] The airborne software publishing system provided by the present application receives the basic information of the aircraft and the actual configuration data of the aircraft sent by the user terminal through the system management module; the software configuration management module determines the software loading task of the aircraft according to the basic information of the aircraft and the actual configuration data; the software management module then retrieves the corresponding ciphertext data from the database according to the software loading task, and sends the ciphertext data to the user terminal. Therefore, through the airborne software publishing system, not only can the user quickly obtain the airborne software, but also the airborne software to be loaded can be recommended to the user according to the information of the aircraft, thereby realizing a safer, more reliable, efficient and convenient transmission of the aircraft's airborne software to the user, reducing management costs and improving work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 This is a scenario example of the airborne software publishing system provided by this application;

[0020] Figure 2 It is one of the structural diagrams of the airborne software publishing system of the embodiment of the present application;

[0021] Figure 3 This is the second structural diagram of the airborne software publishing system of the embodiment of the present application;

[0022] Figure 4 is a flow chart of the onboard software publishing method of an embodiment of the present application;

[0023] Figure 5 An example of a physical structure diagram of an electronic device is provided;

[0024] In the figure: 100, airborne software release system; 110, system management module; 111, aircraft information management unit; 112, account management unit; 113, role and authority management unit; 114, system log unit; 120, software configuration management module; 121, installed configuration unit; 122, configuration comparison unit; 123, factory configuration unit; 124, allowed configuration unit; 130, software management module; 131, software sending unit; 132, software upload unit; 133, software update unit; 134, software query unit; 135, software version log unit; 140, verification and encryption module; 141, verification unit; 142, encryption unit; 200, aircraft manufacturer system server; 300, user terminal; 510, processor; 520, communication interface; 530, memory; 540, communication bus.

[0025] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0026] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0027] Aircraft onboard software is an important part of the aircraft's onboard system. Aircraft onboard software covers multiple aspects such as flight control, navigation, communication, and automation systems. Therefore, aircraft onboard software not only needs to realize the basic functions of the aircraft, but also needs to have high reliability and security. This requires not only attention to the high reliability and high security of the onboard software itself, but also attention to the security and reliability of the onboard software during the release and transmission process.

[0028] At present, the main way for aircraft manufacturers to release and transmit onboard software to airlines is to use physical media and provide them to airlines through logistics and other means. However, this method has many defects, such as limited physical media capacity, easy damage or loss of onboard software data, high transportation costs, and low efficiency. In addition, with the continuous development of aviation technology in recent years, the number and complexity of onboard software on civil aircraft have increased significantly. Taking the new Airbus A350 as an example, the number of onboard software has exceeded one thousand. Therefore, it can be seen that the traditional offline onboard software management method can no longer meet the increasingly complex and professional operation and maintenance management needs.

[0029] To this end, the present application provides an airborne software publishing system, method, device and storage medium to enable the aircraft's airborne software to be transmitted to users more safely, reliably, efficiently and conveniently, ensure the security of the airborne software transmission process, reduce transmission costs and improve transmission efficiency.

[0030] For ease of understanding, this specification provides an example scenario of an onboard software publishing system. The example scenario is applied in Figure 1 In the application environment shown, there are an airborne software publishing system 100, an aircraft manufacturer system server 200 and several user terminals 300, the user terminal 300 can represent the airline side, and the aircraft manufacturer system server 200, the airborne software publishing system 100 and each user terminal 300 can establish a communication connection through the Internet or the like.

[0031] In this scenario example, the user terminal 300 may include (but is not limited to): a mobile terminal such as a mobile phone, a notebook computer, a PAD (tablet computer), etc., and a fixed terminal such as a digital TV, a desktop computer, etc.

[0032] In this scenario example, the aircraft manufacturer system server 200 can upload all airborne software data to the airborne software publishing system 100, where the airborne software data may include airborne software files, airborne software part numbers, software version numbers, software names, equipment names, equipment part numbers, ATA (Air Transport Association) chapter numbers, upload basis, and applicable aircraft numbers, etc.

[0033] After the airborne software publishing system 100 receives each airborne software data, it can enter the content of the basic information of the airborne software in the airborne software data into a software information table; at the same time, use the first hash algorithm to operate the airborne software file to obtain a first summary value, and use the second hash algorithm to operate the airborne software file to obtain a second summary value; then use the first encryption algorithm to encrypt the airborne software file to obtain ciphertext data, use the second encryption algorithm to encrypt the first summary value and the second summary value to obtain ciphertext summary data, and store the ciphertext data and the ciphertext summary data in the database of the airborne software publishing system 100, and can also enter the storage path into the software information table accordingly.

[0034] When the airborne software publishing system 100 receives the airborne software acquisition request sent by the user terminal 300, the airborne software publishing system 100 obtains the basic aircraft information and installed software data of the aircraft according to the airborne software acquisition request; then determines the airborne software that can be loaded on the aircraft according to the basic aircraft information and the installed software data, and obtains the software loading task. The airborne software publishing system 100 then retrieves the corresponding ciphertext data from the database according to the software loading task, and transmits all the ciphertext data to the user terminal 300 through the SSL protocol or the TLS protocol.

[0035] In addition, the airborne software publishing system 100 also provides a software verification tool for the user terminal 300, so that the user terminal 300 can verify the integrity of the received airborne software file to ensure the safe operation of the subsequent airborne software. Specifically, after receiving the ciphertext data, the user terminal 300 first decrypts the ciphertext data; then obtains the first digest value and the second digest value of the airborne software file through the airborne software publishing system 100, and uses the software verification tool on the airborne software publishing system 100 to calculate the received airborne software file using the first hash algorithm and the second hash algorithm to obtain two new digest values; the user terminal 300 then compares the two new digest values ​​with the first digest value and the second digest value respectively. When they are the same, it means that the received airborne software file is complete and consistent.

[0036] Furthermore, the user terminal 300 downloads the verified onboard software file and loads it on the aircraft, thereby completing the entire onboard software file loading task.

[0037] With reference to the scenario example of the onboard software publishing system 100 in the aforementioned embodiment, the onboard software publishing system 100 in the embodiment of the present application is described in detail below.

[0038] Figure 2 It is one of the structural diagrams of the airborne software publishing system of the embodiment of the present application.

[0039] like Figure 2 As shown, the airborne software release system 100 may include a system management module 110, a software configuration management module 120, and a software management module 130. The system management module 110 is used to receive basic aircraft information and installed configuration data of the aircraft sent by the user terminal; the software configuration management module 120 is used to determine the software loading task of the aircraft according to the basic aircraft information and the installed configuration data; the software management module 130 is used to retrieve corresponding ciphertext data from the database according to the software loading task, and send the ciphertext data to the user terminal.

[0040] It should be noted that the ciphertext data includes encrypted airborne software data; in addition, the airborne software publishing system 100 of this embodiment can be run on a server, and each user terminal can establish a communication connection with the server of the airborne software publishing system 100 through the Internet.

[0041] In this embodiment, the system management module 110 may include an aircraft information management unit 111. The user may upload the basic aircraft information and installed configuration data of the aircraft to the airborne software release system 100 through the user terminal; after the airborne software release system 100 receives the basic aircraft information and installed configuration data, the aircraft information management unit 111 enters the basic aircraft information of the aircraft and sends the installed configuration data to the software configuration management module 120, and the software configuration management module 120 enters the installed configuration data of the aircraft accordingly.

[0042] It should be noted that the basic information of the aircraft may include the aircraft model, flight number and tail number; the installed configuration data refers to the actual software configuration of the aircraft, that is, which onboard software is currently installed on the aircraft. The installed configuration data may include the installed software name, installed software part number, installed software version number, ATA chapter number, equipment name and equipment part number, etc.

[0043] In some implementations, the aircraft information management unit 111 can also maintain fleet information. Specifically, the aircraft information management unit 111 can provide operations such as adding a new fleet, adding / deleting fleet members, and entering fleet notes. Uploading basic aircraft information and installed configuration data can provide key identification basis for subsequent determination of software loading tasks, updating software versions, etc., to ensure that the software version sent to the user terminal correctly matches the aircraft; at the same time, it ensures that accurate and effective software loading tasks are provided to users.

[0044] In this embodiment, the software configuration management module 120 may include an installed configuration unit 121 and a configuration comparison unit 122. The installed configuration unit 121 is used to input and save the installed configuration data of the aircraft. At the same time, the installed configuration unit 121 may also synchronously update the installed configuration data of the aircraft according to the actual completion of the software loading task; in addition, the user may also edit the installed configuration data of the aircraft through the user terminal to ensure that the aircraft installed software recorded in the installed configuration unit 121 is consistent with the actual software, and to ensure the accuracy of the subsequent determination of the software loading task and the software loading recommendation.

[0045] Furthermore, the configuration comparison unit 122 can determine the software loading task of the aircraft based on the basic information of the aircraft and the actual configuration data. It should be noted that the software loading task is a recommended software loading task obtained by the configuration comparison unit 122 by comparing the actual configuration and the allowed configuration of the aircraft, which includes the recommended onboard software name, onboard software version number, etc.

[0046] In this embodiment, after the configuration comparison unit 122 determines the software loading task, the software loading task can be directly sent to the user terminal, so that the user can view the software loading task through the user terminal, and determine the software loading plan with reference to the software loading task. The user then sends a request to obtain software to the airborne software publishing system 100 through the user terminal to obtain the airborne software required by the user. For example, in the software loading task, software A, software B, and software C are recommended to the user. The user can refer to the software loading task and actual needs and determine that only software A needs to be loaded. Then the user can send a request to obtain software A to the airborne software publishing system 100 through the user terminal, and the airborne software publishing system 100 directly sends the airborne software data of software A to the user terminal according to the request.

[0047] In another embodiment, after the configuration comparison unit 122 determines the software loading task, all the onboard software data in the software loading task may be directly sent to the user terminal. After receiving the onboard software data, the user terminal may select the onboard software data to load.

[0048] In this embodiment, the software management module 130 may include a software sending unit 131 and a software uploading unit 132. Specifically, the software sending unit 131 may retrieve corresponding onboard software data from a database according to a request sent by a user terminal, and send the data to the user terminal; the software sending unit 131 may also retrieve corresponding onboard software data from a database according to a software loading task, and send the data to the user terminal. It should be noted that the onboard software data retrieved from the database is encrypted ciphertext data.

[0049] The software uploading unit 132 can receive the airborne software data uploaded by the aircraft manufacturer's system server, and add the airborne software and enter the airborne software data at the same time. The airborne software data may include airborne software files, airborne software part numbers, software version numbers, software names, equipment names, equipment part numbers, ATA chapter numbers, APIC chapter numbers, upload basis, applicable machine numbers, etc.

[0050] Therefore, through the software configuration management module 120, the software loading task of the aircraft can be determined based on the basic information of the aircraft and the actual configuration data, so as to make software loading recommendations for users; through the software management module 130, various airborne software data uploaded by the aircraft manufacturer's system server can be received, and for the sake of security and integrity, the airborne software data can be abstracted and encrypted; in addition, through the software management module 130, the corresponding airborne software data can be sent to the user terminal based on the software loading task. In this way, the aircraft's airborne software can be transmitted to users more safely, reliably, efficiently and conveniently, ensuring the security of the airborne software transmission process, reducing the transmission cost and improving the transmission efficiency.

[0051] Figure 3 This is the second structural diagram of the airborne software publishing system of the embodiment of the present application.

[0052] like Figure 3 As shown, in some embodiments, the airborne software release system 100 may further include a verification encryption module 140. The software management module 130 is also used to obtain at least one airborne software data from the manufacturer system; the verification encryption module 140 is used to calculate the airborne software data using a first hash algorithm to obtain a first digest value, and to calculate the airborne software data using a second hash algorithm to obtain a second digest value; the verification encryption module 140 is also used to encrypt the airborne software data using the first encryption algorithm to obtain ciphertext data, encrypt the first digest value and the second digest value using the second encryption algorithm to obtain ciphertext summary data, and store the ciphertext data and the ciphertext summary data in the database.

[0053] It should be noted that the manufacturer system may be a system server, and the manufacturer system server may establish a communication connection with the server of the airborne software publishing system 100 of this embodiment via the Internet.

[0054] Specifically, the software upload unit 132 of the software management module 130 can receive multiple airborne software data uploaded by the manufacturer system, and the airborne software data can include airborne software files, airborne software part numbers, software version numbers, software names, device names, device part numbers, ATA chapter numbers, APIC chapter numbers, upload basis, and applicable machine numbers, etc. The software upload unit 132 enters the above information and sends the airborne software files to the verification and encryption module 140. It should be noted that the airborne software files are the program files of the software.

[0055] In this embodiment, the verification and encryption module 140 may include a verification unit 141 and an encryption unit 142. The verification unit 141 may be a software tool of the executable file (EXE) type, which is used to perform integrity verification on the airborne software in the local environment. Specifically, the verification unit 141 processes the airborne software using two different hash algorithms (also called hash algorithms or message digest algorithms) to generate a string of fixed length, which is called the original digest value (also called hash value or message digest). The function of the hash algorithm is to ensure the integrity and consistency of the airborne software, that is, different airborne software will generate different digest values, while the same airborne software will generate the same digest value, so that users can verify the downloaded airborne software files.

[0056] Further, the verification unit 141 may first use a first hash algorithm to calculate the airborne software file in the airborne software data to obtain a first digest value; and then use a second hash algorithm to calculate the airborne software file to obtain a second digest value.

[0057] In this embodiment, the first hash algorithm may be MD5 (Message-Digest Algorithm 5), and the data of the airborne software file may be converted into a 128-bit digest value through the MD5 algorithm. Specifically, the MD5 algorithm divides the data of the airborne software file into 512-bit groups (if less than 512 bits, padding is performed), and performs four rounds of loop operations on each group, and finally generates a 128-bit first digest value.

[0058] In addition, the second hash algorithm can use SM3 (Shangyong Mima, cryptographic hash algorithm). The security and efficiency of the SM3 algorithm are comparable to internationally recognized advanced encryption standards such as SHA-256. It is suitable for a variety of scenarios such as digital signatures, message authentication, and random number generation. The SM3 algorithm can convert the data of the airborne software file into a 160-bit summary value. Specifically, the SM3 algorithm divides the data of the airborne software file of any length into 512-bit groups (if less than 512 bits, it is padded), and fills and loops each group for 64 rounds. The core of the loop operation is a compression function, which uses a structure similar to MD4 and SHA-1, takes a 256-bit intermediate value and a 512-bit message group as input, and outputs a new 256-bit intermediate value through multiple rounds of nonlinear transformation and modular addition operations. Finally, the intermediate values ​​of all groups are added to obtain the final second summary value.

[0059] After obtaining the first digest value and the second digest value, the first digest value, the second digest value and the onboard software file may be sent to the encryption unit 142, which encrypts the above data to obtain corresponding ciphertext data and ciphertext summary data.

[0060] In some embodiments, the airborne software data includes an airborne software component number, and the verification encryption module 140 is specifically used to: generate a first subkey based on a pre-stored first master key and the airborne software component number; and encrypt the airborne software data using the first subkey to obtain ciphertext data.

[0061] In this embodiment, the encryption unit 142 can directly use an existing symmetric encryption algorithm or an asymmetric encryption algorithm to encrypt the first digest value, the second digest value and the onboard software file, for example, using an AES algorithm (Advanced Encryption Standard) to prevent the first digest value, the second digest value and the onboard software file from being located or maliciously tampered with.

[0062] However, since the server of the airborne software publishing system 100 may be at risk of being illegally invaded by the outside, the security of using a common encryption algorithm is relatively low. Therefore, in this embodiment, the first encryption algorithm is used to encrypt the airborne software file, and the specific encryption process of the first encryption algorithm is the specific process of this embodiment. Specifically, a dynamic key can be generated according to the pre-stored first master key and the airborne software part number to encrypt the data, thereby further ensuring the security of the airborne software file during the transmission process.

[0063] Specifically, the airborne software publishing system 100 can have a built-in security chip, in which the first master key is pre-stored, and the first master key is an encryption key; the encryption unit 142 retrieves the first master key from the security chip, and retrieves the airborne software part number of the software from the software upload unit 132, and the encryption unit 142 performs a distributed calculation on the first master key, that is, combines the first master key and the airborne software part number to generate a first subkey. Among them, the airborne software part number is the dispersion factor. It should be noted that the calculation method for performing a distributed calculation on the first master key can use an existing key dispersion algorithm, which will not be repeated here. After obtaining the first subkey, the encryption unit 142 uses the first subkey to encrypt the airborne software file, obtains ciphertext data, and stores the ciphertext data in the database.

[0064] Furthermore, the user terminal may also have a built-in security chip, which may pre-store a second master key, and the second master key is the corresponding decryption key; the user terminal may obtain the airborne software component number corresponding to the airborne software file from the airborne software publishing system 100, and then use the airborne software component number to perform distributed calculation on the second master key to generate a second subkey. After the user terminal receives the ciphertext data sent by the airborne software publishing system 100, the ciphertext data may be decrypted using the second subkey to obtain the airborne software file.

[0065] In addition, in some embodiments, the second encryption algorithm may use the RSA algorithm (Rivest-Shamir-Adleman, public-private key encryption) to encrypt the first digest value and the second digest value. Specifically, the RSA algorithm is first used to generate a public-private key pair, the encryption unit 142 retains the public key, and sends the private key to the user terminal; the encryption unit 142 uses the public key to encrypt the first digest value and the second digest value to obtain ciphertext digest data, and stores it in the database, thereby preventing the digest value from being stolen or tampered with.

[0066] When the user terminal needs to verify the onboard software file, it can query the ciphertext summary data corresponding to the onboard software file from the onboard software publishing system 100, and use the private key to decrypt the ciphertext summary data to obtain the first summary value and the second summary value.

[0067] In some embodiments, the verification encryption module 140 is also used for: when the user terminal receives ciphertext data, the user terminal uses the first hash algorithm and the second hash algorithm to calculate the onboard software data in the received ciphertext data, respectively, to obtain a first verification summary value and a second verification summary value, and the first verification summary value and the second verification summary value are used to compare with the first summary value and the second summary value to obtain a verification result.

[0068] It should be noted that the verification result can be passed or failed.

[0069] Specifically, after the user terminal decrypts the ciphertext data to obtain the onboard software file, and decrypts the ciphertext summary data to obtain the first summary value and the second summary value, the verification unit 141 of the verification encryption module 140 can be used to calculate the received onboard software file. Specifically, the received onboard software file is calculated using the first hash algorithm to obtain the first verification summary value, and the received onboard software file is calculated using the second hash algorithm to obtain the second verification summary value; the user compares the first summary value with the first verification summary value, and compares the second summary value with the second verification summary value. When the two pairs of summary values ​​are the same, it means that the downloaded onboard software file has not been tampered with or damaged, is complete and consistent, and the verification result is verification passed; when the two pairs of summary values ​​are different, it means that the downloaded onboard software file has been tampered with or damaged, and the verification result is verification failed. At this time, the manufacturer should be notified in time for investigation and processing.

[0070] In some embodiments, the basic information of the aircraft includes the aircraft model, and the software configuration management module 120 is specifically used to: determine the corresponding allowable configuration data of the aircraft according to the aircraft model; compare the allowable configuration data with the actual configuration data to determine the software to be installed, and determine the software loading task according to the software to be installed.

[0071] like Figure 3 As shown, specifically, the software configuration management module 120 may also include a factory configuration unit 123 and an installation configuration unit 124 .

[0072] Among them, the factory configuration unit 123 mainly records the software configuration of the aircraft when it is delivered from the factory, including original information such as software name, onboard software part number, software version number, ATA chapter number, etc., which is used for software configuration initialization management after the aircraft is delivered and serves as a benchmark for subsequent configuration changes.

[0073] The allowed configuration unit 124 is used to automatically generate a list of software configurations that can be installed for different aircraft models based on the software validity maintained by the manufacturer's system, including information such as software name, airborne software part number, software version number, ATA chapter number, device name, device part number, etc. It should be noted that each aircraft model has a corresponding software configuration list.

[0074] The actual configuration unit 121 is used to record the actual configuration data uploaded by the user terminal, and synchronously update the actual configuration of the aircraft according to the actual completion of the software loading task. The user can also manually edit the actual configuration data to ensure that it is consistent with the actual situation of the aircraft.

[0075] In this embodiment, the configuration comparison unit 122 can retrieve the aircraft model of the aircraft from the aircraft information management unit 111, and then retrieve the software configuration list corresponding to the aircraft model according to the aircraft model. Further, the configuration comparison unit 122 retrieves the actual configuration data of the aircraft from the actual configuration unit 121, and determines the onboard software that can be loaded but is not loaded on the aircraft by comparing the software names in the software configuration list and the actual configuration data; the configuration comparison unit 122 can group these unloaded onboard software into software loading tasks.

[0076] In some implementations, the system management module 110 is further used to: perform management operations on user accounts of user terminals, including creation, deletion, modification, and query; create roles for user accounts, and set access rights for user accounts based on roles.

[0077] like Figure 3 As shown, the system management module 110 may further include an account management unit 112 and a role and authority management unit 113 .

[0078] The account management unit 112 is used to manage user accounts in the airborne software publishing system 100, and can perform operations including creating, deleting, modifying and querying accounts. The account management unit 112 can help the system administrator effectively manage user accounts in the airborne software publishing system 100, so that users can smoothly access the system through user terminals, ensuring the safe operation of the airborne software publishing system 100.

[0079] The role and permission management unit 113 is used to manage the roles and permissions of users, and can perform operations such as creating roles, assigning roles, and setting permissions. The role and permission management unit 113 is managed and controlled through two dimensions: functional permissions and data permissions. Functional permissions refer to the functional scope that users can access after logging into the system, including which modules and pages users can see, and which operations they can perform; while data permissions refer to the data scope that users can view and operate. This ensures that users can safely access the airborne software publishing system 100 and can only access the content they are authorized to, which is very important for protecting the security of the airborne software publishing system 100 and maintaining data integrity.

[0080] like Figure 3 As shown, the system management module 110 may also include a system log unit 114. The system log unit 114 is used to record the operation events of the airborne software publishing system 100, user login history information, etc., which can help the system administrator track the events occurring in the airborne software publishing system 100 and provide support for decision-making.

[0081] Continue to refer Figure 3The software management module 130 may further include a software updating unit 133 , a software query unit 134 and a software version log unit 135 .

[0082] The software update unit 133 is used to update the new onboard software data or new onboard software version to the system when the manufacturer system uploads new onboard software data or new onboard software version, and the onboard software publishing system 100 stores the new onboard software data or new onboard software version.

[0083] The software query unit 134 can be used by users to query software content. Specifically, the airborne software publishing system 100 in this embodiment includes a software database, which is specifically used to store encrypted airborne software data (i.e., the aforementioned ciphertext data); users can filter and search for software in a targeted manner and manage it according to conditions such as software upload time, airborne software part number, and software name.

[0084] The software version log unit 135 is used to record the release date, version number, update content, and fixed issues of each version of the airborne software. Users can learn about the update history of the software by viewing the software version log, so as to better manage and use the airborne software and track the evolution of the airborne software.

[0085] Therefore, the airborne software publishing system 100 of this embodiment provides a complete airborne software management system, which makes up for the shortcomings of traditional airborne software publishing, and has the characteristics of safety, reliability, efficiency, convenience, strong expansion adaptability, etc. Using the airborne software publishing system 100, aircraft manufacturers can publish and manage airborne software in an electronic manner, and airlines can quickly obtain the required airborne software through the Internet. In this way, airlines only need to meet the basic Internet environment, and no longer need to carry out cumbersome processes such as transportation, consumables management, and warehouse storage, thereby greatly reducing costs and improving work efficiency.

[0086] In addition, the software configuration management module 120 can automatically provide the user with software loading tasks, so that the user can refer to the software loading tasks to determine the required airborne software, and encrypt the airborne software data through the verification encryption module 140. When the encrypted ciphertext data is transmitted to the user terminal, the security of the airborne software data during the transmission process is guaranteed. The summary value of the airborne software data is calculated by the verification encryption module 140, so that the user can determine whether the received airborne software data is complete through the summary value, thereby ensuring the integrity and reliability of the data.

[0087] On the basis of the above-mentioned embodiments, the present application further provides an airborne software publishing method, which is applied to an airborne software publishing system. The method can be executed by a server of the airborne software publishing system. Figure 4 is a flow chart of the onboard software publishing method of an embodiment of the present application, such as Figure 4 As shown, the airborne software publishing method may include the following steps:

[0088] Step 410: Receive basic aircraft information and actual aircraft configuration data sent by the user terminal.

[0089] Step 420: Determine the software loading task of the aircraft based on the basic information of the aircraft and the actual configuration data.

[0090] Step 430: Retrieve corresponding ciphertext data from the database according to the software loading task, and send the ciphertext data to the user terminal, where the ciphertext data includes the encrypted onboard software data.

[0091] Therefore, by receiving the basic information of the aircraft and the actual configuration data of the aircraft sent by the user terminal; determining the software loading task of the aircraft according to the basic information of the aircraft and the actual configuration data; and then retrieving the corresponding ciphertext data from the database according to the software loading task, and sending the ciphertext data to the user terminal, the airborne software publishing system 100 can not only enable the user to quickly obtain the airborne software, but also recommend the airborne software to be loaded to the user according to the information of the aircraft, thereby realizing a safer, more reliable, efficient and convenient transmission of the aircraft's airborne software to the user, reducing management costs and improving work efficiency.

[0092] In some embodiments, the airborne software publishing method may further include the following steps: obtaining at least one airborne software data from a manufacturer system; for any airborne software data, calculating the airborne software data using a first hash algorithm to obtain a first summary value, and calculating the airborne software data using a second hash algorithm to obtain a second summary value; for any airborne software data, encrypting the airborne software data using a first encryption algorithm to obtain ciphertext data, encrypting the first summary value and the second summary value using a second encryption algorithm to obtain ciphertext summary data, and storing the ciphertext data and the ciphertext summary data in a database.

[0093] In some embodiments, encrypting the airborne software data using a first encryption algorithm to obtain ciphertext data may include: generating a first subkey based on a pre-stored first master key and an airborne software part number; and encrypting the airborne software data using the first subkey to obtain ciphertext data.

[0094] In some embodiments, the method may also include: when the user terminal receives the ciphertext data, the user terminal uses the first hash algorithm and the second hash algorithm to calculate the onboard software data in the received ciphertext data, respectively, to obtain a first verification summary value and a second verification summary value, and the first verification summary value and the second verification summary value are used to compare with the first summary value and the second summary value to obtain a verification result.

[0095] In some embodiments, the basic information of the aircraft includes the aircraft model. Determining the software loading task of the aircraft based on the basic information of the aircraft and the actual installed configuration data may include: determining the corresponding allowable configuration data of the aircraft based on the aircraft model; comparing the allowable configuration data with the actual installed configuration data to determine the software to be installed, and determining the software loading task based on the software to be installed.

[0096] In some implementations, the method may further include: performing management operations on a user account of the user terminal, the management operations including creation, deletion, modification, and query; creating roles for the user account, and setting access rights for the user account according to the roles.

[0097] It should be noted that for details not disclosed in the airborne software publishing method of this embodiment, please refer to the details disclosed in the embodiment of the airborne software publishing system in the embodiments of this specification, and no further details will be given here.

[0098] Based on the above embodiments, Figure 5 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 5 As shown, the electronic device may include: a processor 510, a communication interface 520, a memory 530 and a communication bus 540, wherein the processor 510, the communication interface 520 and the memory 530 communicate with each other through the communication bus 540. The processor 510 may call the logic instructions in the memory 530 to execute the airborne software publishing method, which includes: receiving the basic information of the aircraft and the actual configuration data of the aircraft sent by the user terminal; determining the software loading task of the aircraft according to the basic information of the aircraft and the actual configuration data; retrieving the corresponding ciphertext data from the database according to the software loading task, and sending the ciphertext data to the user terminal, wherein the ciphertext data includes the encrypted airborne software data.

[0099] In addition, the logic instructions in the above-mentioned memory 530 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art 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 a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0100] On the basis of the above embodiments, on the other hand, the present invention also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the airborne software publishing method provided by the above methods, which includes: receiving basic information of the aircraft and the actual installation configuration data of the aircraft sent by a user terminal; determining the software loading task of the aircraft according to the basic information of the aircraft and the actual installation configuration data; retrieving corresponding ciphertext data from a database according to the software loading task, and sending the ciphertext data to the user terminal, the ciphertext data including encrypted airborne software data.

[0101] On the basis of the above embodiments, on another aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the airborne software publishing method provided by the above methods is implemented, and the method includes: receiving basic information of the aircraft and the actual installation configuration data of the aircraft sent by a user terminal; determining the software loading task of the aircraft according to the basic information of the aircraft and the actual installation configuration data; retrieving corresponding ciphertext data from a database according to the software loading task, and sending the ciphertext data to the user terminal, the ciphertext data including encrypted airborne software data.

[0102] The device embodiments described above are merely illustrative, wherein 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 modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0103] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

Claims

1. An onboard software publishing system, characterized in that: include: A system management module, used for receiving basic aircraft information and actual configuration data of the aircraft sent by a user terminal; A software configuration management module, used to determine the software loading task of the aircraft according to the basic information of the aircraft and the actual configuration data; A software management module, used to retrieve corresponding ciphertext data from a database according to the software loading task, and send the ciphertext data to the user terminal, wherein the ciphertext data includes encrypted onboard software data; Wherein, the software configuration management module includes an installed configuration unit, a configuration comparison unit, a factory configuration unit and an allowed configuration unit; The factory configuration unit is used to record the software configuration of the aircraft when it is delivered from the factory, the installed configuration unit is used to record and save the installed configuration data of the aircraft, the allowed configuration unit is used to determine the corresponding allowed configuration data of the aircraft according to the basic information of the aircraft, and the configuration comparison unit is used to determine the software loading task of the aircraft according to the allowed configuration data and the installed configuration data; The system also includes a verification encryption module; The software management module is also used to obtain at least one of the onboard software data; The verification encryption module is used to, for any onboard software data, calculate the onboard software data using a first hash algorithm to obtain a first digest value, and calculate the onboard software data using a second hash algorithm to obtain a second digest value; The verification encryption module is also used to encrypt the onboard software data using a first encryption algorithm to obtain the ciphertext data, encrypt the first digest value and the second digest value using a second encryption algorithm to obtain ciphertext summary data, and store the ciphertext data and the ciphertext summary data in the database.

2. The onboard software publishing system according to claim 1, characterized in that: The onboard software data includes the onboard software part number, and the verification encryption module is specifically used for: Generate a first subkey according to the pre-stored first master key and the onboard software part number; The onboard software data is encrypted using the first subkey to obtain the ciphertext data.

3. The onboard software publishing system according to claim 1, characterized in that: The verification encryption module is also used for: When the user terminal receives the ciphertext data, the user terminal uses the first hash algorithm and the second hash algorithm to calculate the onboard software data in the ciphertext data to obtain a first verification summary value and a second verification summary value, and the first verification summary value and the second verification summary value are used to compare with the first summary value and the second summary value to obtain a verification result.

4. The onboard software publishing system according to claim 1, characterized in that: The system management module is also used for: Perform management operations on the user account of the user terminal, the management operations including creation, deletion, modification and query; Create a role for the user account, and set access permissions for the user account based on the role.

5. A method for publishing airborne software, characterized in that: Applied to the airborne software publishing system according to any one of claims 1 to 4, the method comprising: Receiving basic aircraft information and actual configuration data of the aircraft sent by a user terminal; Determining a software loading task for the aircraft according to the basic information of the aircraft and the actual installed configuration data; Retrieving corresponding ciphertext data from a database according to the software loading task, and sending the ciphertext data to the user terminal, wherein the ciphertext data includes encrypted onboard software data; the method further includes: Acquiring at least one of the onboard software data; For any onboard software data, use a first hash algorithm to calculate the onboard software data to obtain a first digest value, and use a second hash algorithm to calculate the onboard software data to obtain a second digest value; For any onboard software data, the onboard software data is encrypted using a first encryption algorithm to obtain the ciphertext data, the first digest value and the second digest value are encrypted using a second encryption algorithm to obtain ciphertext summary data, and the ciphertext data and the ciphertext summary data are stored in the database.

6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the onboard software publishing method as claimed in claim 5 is implemented.

7. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the onboard software publishing method as claimed in claim 5 is implemented.

Citation Information

Patent Citations

  • Telematics update software compatibility

    CN105691330A