{'fraction_non_alphanumeric': 0.014446227929373997, 'fraction_numerical': 0.0, 'mean_word_length': 5.091205211726384, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Using aspect oriented programming to enforce privacy preserving communication in distributed systems

Unauthorized access to personal information represents one of the most important challenges faced by network application developers. The privacy-preserving concept has arisen from the usage of database resources, which sometimes leads to the sharing of personal identifying information (PII). Adding or updating privacy and security concerns in system applications represents a difficult task for system developers because they need to track all program code to detect where privacy and security methods should be inserted. At the same time, they have to define which piece of code needs to be applied for different privacy and security policies. All of these concerns accumulate in the problem of scattering and tangling of system software. A widely-suggested but under-used solution to these problems is that of Aspect Oriented Programming (AOP). This paper proposes a new system for enforcing privacy-preserving concepts in order to ensure safe communication between distributed system nodes through the use of AOP. The idea based on the use of a smart server node called a judgment node (JN) to deal with data forwarding between the distributed system's nodes. Cryptographic algorithms are adopted in this work as a tool controlled by the JN to ensure the integrity of the transmitted data. We will present a novel approach which divides the data into portions with each part encrypted depending on the key of the authorized node used to process it. We use AOP characteristics for dealing with all of these concerns through the addition and removal of code dynamically to ensure a high level of performance. We use AOP as a core tool to modularize the privacy and security concerns, and to increase the clarity, maintainability and reusability of system software.