and/or political view as sensitive. Therefore, a
privacy-preserving technique should be capable of
protecting all sensitive information for each user and
should be capable of providing privacy when attack-
ers use a different classifier than the one that the tech-
nique expects them to use. Again, a large number
of attribute value suppression may provide better pri-
vacy, but at the same time, it also defeats the whole
purpose of using social network sites for a user. The
goal should be to provide privacy by suppressing the
minimum number of attribute values.
3 OUR TECHNIQUE
The basic idea of 3LP+ is to protect the privacy of all
information that a user consider sensitive. Users can
give the list of attributes they considers sensitive and
then, 3LP+ provides three steps (or layers) of recom-
mendations:
Step 1: Compute the sensitivity of each attribute
for each user and suggest to the user which attribute
values the user needs to suppress.
In Step 1, as shown in Algorithm , 3LP+ selects a
class attribute (from the list of sensitive attributes con-
sidered by the 3LP+ User u) randomly, prepares a
training data set D, and then applies SysFor (Islam
and Giggins, 2011) on D to get a set of logic rules.
3LP+ then uses the support and confidence of each
rule to compute its sensitivity (or Rule Sensitivity)
value in breaching the privacy of a sensitive attribute.
Similar to previous studies (Reza et al., 2017a; Reza
et al., 2017b), the rules having Rule Sensitivity value
1.006 or above are considered Sensitive Rules in this
study. We utilize the function GetSensitiveRules() to
represent the processes of generating the sensitive rule
set R
u
for u.
After preparing the sensitive rule set R
u
, 3LP+
counts the number of appearance of each regular at-
tribute A
n
in R
u
and store A
n
in A
s
. Here, A
s
stores all
the regular attributes and the number of their appear-
ances in R
u
. One attribute can appear only once in a
sensitive rule R
u
j
but more than once in R
u
. The reg-
ular attribute A
n
with the highest number of appear-
ances in R
u
is suggested to u for suppression. The
decision is then up to u whether to suppress its value
or not. If u suppresses the value of A
n
, then A
n
is no
longer available in A
s
and all sensitive rules in R
u
that
have A
n
in their antecedent are no longer applicable
for u. Regardless whether u suppresses the attribute
or not, 3LP+ then identifies A
n
with the next highest
appearances and suggests u to suppress that. The pro-
cess continues until R
u
or A
s
becomes empty.
Step 2: Hide friendship links as necessary if they
are not fabricated previously.
After Layer 1, if any sensitive rule remains in R
u
such a rule only uses link attributes (i.e. the attribute
values can only be altered by using Eq. 1). There-
fore, if a link attribute appears as an antecedent of
a sensitive rule R
u
j
(i.e. R
u
j
∈ R
u
), where the value
of the link attribute needs to be greater than a con-
stant SplitPoint (as mentioned in R
u
j
), the 3LP+ ex-
plores to reduce its value < SplitPoint by hiding some
of u’s friendship links. By doing this 3LP+ makes the
rule unusable to predict the class value of u with cer-
tainty.
In Step 2, 3LP+ first identifies the link at-
tribute, A
n
, that appears most in the sensitive rule
set R
u
and compute A
n
’s value, denoted as V , us-
ing Eq. 1. If V is higher than the split point men-
tioned in R
u
j
, then 3LP+ suggests u to hide a friend-
ship link. While choosing a friendship link, 3LP+ se-
lects a friend, t
i
, of u who has the smallest degree and
has not previously appeared in the friendship matrix F
(here F is an 1 × N matrix which stores the Flag in-
formation for u). The 3LP+ recommends u to hide t
i
so that it can reduce V ’s value the most by hiding a
minimum number of friends. If u follows the recom-
mendation, 3LP+ puts a Flag up in the i
th
column of
the friendship matrix F and this ex-friend will not be
recommended for further hiding or adding. 3LP+ then
updates G
0
, F
0
, and recomputes V ’s value.
This process continues until the value V is lower
than the SplitPoint mentioned in R
u
j
. Once the V is
lower than the split point, then the process of hid-
ing friends stops and 3LP+ removes R
u
j
and other
rules (which have an antecedent with the value V )
from R
u
as they are no longer be applicable to de-
termine u’s class value. At the end of Step 3, if R
u
is
not empty then only 3LP+ moves to Step 3 i.e. Layer
3.
Step 3: Add friendship links as necessary if they
are not fabricated previously.
After Step 1 and Step 2, any sensitive rule remains
in R
u
, that contains link attribute only and tests for
a value V ≤ some SplitPoint in its antecedent. In this
case, 3LP+ suggests u to add new friends so that the V
becomes greater than the split point in R
u
j
and thus R
u
j
is no longer applicable to u. While adding any friend
on u’s friend list, a user t
i
is selected in such a way that
a Flag has not been up previously in the i
th
column
of F
0
matrix and having the smallest Γ
+
(t) value. If u
accepts the recommendation, 3LP+ then updates the
matrix F
0
, friendship graph G
0
, and V increases. This
adding process continues until the value V exceeds the
split point value. It is noted that, adding a new friend
on a profile is complicated and depends on the other
users to confirm the friendship on OSN. Hence, 3LP+
ICISSP 2019 - 5th International Conference on Information Systems Security and Privacy
414