FPPM: Achieving Precision and Privacy in Mobile Social Friend Discovery
2021 IEEE 20th International Conference on Tru st, Security and Privacy in Computing and Communications (TrustCom) A Fine-grained Privacy-Preserving Profile Matching Scheme in Mobile Social Networks
Summary
Problem
Method
Results
Takeaways
Abstract
The paper introduces FPPM, a fine-grained privacy-preserving profile matching scheme for Mobile Social Networks (MSN). It leverages Comparable Inner Product Encoding (CIPE) and the Paillier cryptosystem to enable precise similarity matching across user attributes and locations while maintaining data confidentiality.
## TL;DR
FPPM (Fine-grained Privacy-preserving Profile Matching) is a new framework designed to help users find friends in Mobile Social Networks (MSN) based on specific attribute ranges and geographic proximity. By combining **Order-Preserving Encryption (OPE)** with a **Dual-Server Secure Dot Product Protocol**, it ensures that neither the servers nor other users can see your private data while still providing highly accurate matching results.
## Background: The Accuracy-Privacy Paradox
In the world of mobile dating and social apps, "matching" is usually done by comparing attributes like age, hobbies, and location. However, existing methods face two major hurdles:
1. **Scale Inconsistency**: A difference of "1" in age is minor, but a difference of "1" in a 0-1 interest scale is massive. Standard dot-product similarities ignore these nuances.
2. **Location Neglect**: Most privacy-preserving schemes focus on static attributes but fail to incorporate dynamic "within X km" range queries securely.
FPPM addresses these by moving away from simple similarity scores toward **fine-grained range queries**.
## Methodology: The Core Engine
The technical "secret sauce" of FPPM lies in how it handles comparisons without ever seeing the raw numbers.
### 1. CIPE: Comparisons in Ciphertext
The scheme uses **Comparable Inner Product Encoding (CIPE)**. The intuition here is clever: instead of encrypting a number directly, it is converted into a vector such that the sign of the dot product between a "query vector" and an "attribute vector" reveals if a value is within a specific range.
### 2. SDPP: The Secure Dot Product Protocol
To perform the math without a "Trusted Third Party," the authors deploy two servers (Server A and Server B). They use the **Paillier Cryptosystem**, which is additively homomorphic—meaning you can add encrypted numbers and the result, when decrypted, is the sum of the original plaintexts.

*Fig 1. The FPPM Framework involving Alice, Bob, and two Honest-but-Curious servers.*
The **SDPP** allows Server A to compute $2\mathbf{p} \cdot \mathbf{q}$ by using the expanded algebraic form:
$$2 \mathbf{p} \bullet \mathbf{q} = \sum p_i^2 + \sum q_i^2 - \sum(q_i - p_i)^2$$
By distributing components of this equation between the two servers, the actual values of $p$ and $q$ are never exposed to either party.
## Experimental Validation
The authors tested the system's scalability by increasing the number of user attributes from 20 to 100.
* **Efficiency**: While the time to generate a secure query is roughly double that of a secure index (as it involves both upper and lower bounds), the overall latency remains in the millisecond range for standard attribute sets.
* **Communication**: Even at the highest security settings, the data transferred (under 5MB) is negligible for modern mobile networks.

*Fig 2. Performance comparison showing linear scaling with the number of attributes.*
## Critical Analysis & Conclusion
FPPM is a significant step toward making friend discovery both **precise** and **private**. Its greatest strength is the flexibility it gives to the "Requester" to set custom weights and ranges.
**Takeaway**: The use of CIPE to solve the scale-mismatch problem in similarity matching is a robust architectural choice for MSN applications.
**Limitations**: The current model assumes **no collusion** between the two servers. If Server A and Server B were to trade their internal states, the privacy of the users could be compromised. Future work likely needs to explore "Multi-Party Computation" (MPC) or "Zero-Knowledge Proofs" (ZKP) to remove this trust assumption entirely.
