∂
H
1
(τ
I
1
((c
1
d
.c.c
1
f
||
γ
0
s
1
d
.s.s
1
f
)||
γ
0
(s
1
d
c
.s
1
f
c
)
ω
))
As we can see the subprocess (c
1
d
.c.c
1
f
||
γ
0
s
1
d
.s.s
1
f
)
cannot execute the action send, because it should
firstly synchronize with another process to execute the
action s
1
d
, which is impossible.
7 CONCLUSIONS
This paper presents an original and innovative con-
tribution for the enforcement of security policies on
parallel programs. We first defined a dedicated al-
gebraic calculus for the specification of parallel pro-
grams and a dedicated logic for the specification of
security policies. The originality of the presented cal-
culus is that it implements a special enforcement op-
erator ∂
ξ
φ
. Thus, this research project has formally de-
fined the syntax and the semantics of the specifica-
tion languages and showed how these could be used
to provide mechanisms for automatic enforcement of
security requirements on parallel programs. Subse-
quently, this paper demonstrated important results of
soundness and completeness of the suggested tech-
nique. In a second step, this project was interested
in the practical aspects of the presented method and
showed how the enforcement operator could, in fact,
be defined by standard ACP operators. These results
are, in fact, very important both from a theoretical and
practical perspectives and allow us to consider the ap-
plication of our method on real languages like C or
Java. Consequently, we are currently implementing
a software prototype of our method that operates on
the Java language. As a future work, we plan to ex-
tend the logic L
ϕ
to give the end user the possibility to
specify the actions to be executed when the security
policy is about to be violated instead of simply halting
the execution of the program.
REFERENCES
Baeten, J. C. M. (2005). A brief history of process algebra.
Theor. Comput. Sci., 335(2-3):131–146.
Bauer, L., Ligatti, J., and Walker, D. (2002). More enforce-
able security policies. In In Foundations of Computer
Security.
Bergstra, W. F. J. A. and Ponse, A. (2001). Handbook Of
Process Algebra, chapter chapter 5 : Process Algebra
with Recursive Operations, pages 333–389. Elsevier.
Brzozowski, J. A. (1964). Derivatives of regular expres-
sions. J. ACM, 11(4):481–494.
Erlingsson, U. and Schneider, F. B. (2000). Irm enforce-
ment of java stack inspection. In SP ’00: Proceedings
of the 2000 IEEE Symposium on Security and Privacy,
page 246, Washington, DC,USA. IEEE Computer So-
ciety.
Fokkink, W. (2000). Introduction to Process Algebra.
Springer-Verlag, Berlin.
K. Hamlen, G. M. and Schneider, F. (2003). Computability
classes for enforcement mechanisms. Technical Re-
port TR2003-1908, Cornell University.
Langar, M. and Mejri, M. (2005). Formal and efficient en-
forcement of security policies. In FCS, pages 143–
149.
Langar, M., Mejri, M., and Adi, K. (2007). A formal ap-
proach for security policy enforcement in concurrent
programs. In Security and Management, pages 165–
171.
Ligatti, J., Bauer, L., and Walker, D. (2005). Edit automata:
Enforcement mechanisms for run-time security poli-
cies. International Journal of Information Security,
4(1–2):2–16.
Martinell, F. and Matteucci, I. (2007). Through modeling to
synthesis of security automata. Electron. Notes Theor.
Comput. Sci., 179:31–46.
Mejri, M. and Fujita, H. (2008). Enforcing security policies
using algebraic approach. In SoMeT, pages 84–98.
Morrisett, G., Walker, D., Crary, K., and Glew, N. (1999).
From system f to typed assembly language. ACM
Trans. Program. Lang. Syst., 21(3):527–568.
Necula, G. C. (1997). Proof-carrying code. In POPL
’97: Proceedings of the 24th ACM SIGPLAN-SIGACT
symposium on Principles of programming languages,
pages 106–119, New York, NY, USA. ACM.
Ould-Slimane, H., Mejri, M., and Adi, K. (2009). Using
edit automata for rewriting-based security enforce-
ment. In DBSec, pages 175–190.
Owens, S., Reppy, J., and Turon, A. (2009). Regular-
expression derivatives re-examined. J. Funct. Pro-
gram., 19(2):173–190.
Schneider, F. B. (2000). Enforceable security policies. ACM
Trans. Inf. Syst. Secur., 3(1):30–50.
Sen, K. and Rosu, G. (2003). Generating optimal monitors
for extended regular expressions. In In Proceedings
of the 3rd Workshop on Runtime Verification (RV
´
03).
Elsevier Science.
SECRYPT 2010 - International Conference on Security and Cryptography
74