Skip to main content

Fine-Grained and Coarse-Grained Reactive Noninterference

  • Conference paper
  • First Online:
Book cover Trustworthy Global Computing (TGC 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8358))

Included in the following conference series:

Abstract

We study bisimilarity and the security property of noninterference in a core synchronous reactive language that we name \(CRL\).

In the synchronous reactive paradigm, programs communicate by means of broadcast events, and their parallel execution is regulated by the notion of instant. Within each instant, programs may emit events and get suspended while waiting for events emitted by other programs. They may also explicitly return the control to the scheduler, thereby suspending themselves until the end of the instant. An instant is thus a period of time during which all programs compute until termination or suspension.

In \(CRL~\)there is no memory, and the focus is on the control structure of programs. An asymmetric parallel operator is used to implement a deterministic scheduling. This scheduling is fair – in the sense that it gives its turn to each parallel component – if all components are cooperative, namely if they always return the control after a finite number of steps.

We first prove that \(CRL~\)programs are indeed cooperative. This result is based on two features of the language: the semantics of loops, which requires them to yield the control at each iteration of their body; and a delayed reaction to the absence of events, which ensures the monotonicity of computations (viewed as I/O functions on event sets) during instants. Cooperativeness is crucial as it entails the reactivity of a program to its context, namely its capacity to input events from the context at the start of instants, and to output events to the context at the end of instants.

We define two bisimulation equivalences on programs, formalising respectively a fine-grained observation of programs (the observer is viewed as a program) and a coarse-grained observation (the observer is viewed as part of the context). As expected, the latter equivalence is more abstract than the former, as it only compares the I/O behaviours of programs at each instant, while the former also compares their intermediate results.

Based on these bisimulations, two properties of reactive noninterference (RNI) are proposed. Both properties are time-insensitive and termination-insensitive. Coarse-grained RNI is more abstract than fine-grained RNI, because it views the parallel operator as commutative and abstracts away from repeated emissions of the same event during an instant.

Finally, a type system guaranteeing both security properties is presented. Thanks partly to a design choice of \(CRL\), which offers two separate constructs for loops and iteration, this type system allows for a precise treatment of termination leaks, which are an issue in parallel languages.

Work partially supported by the french ANR 08-EMER-010 grant PARTOUT.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In general, we shall call “instantaneous” any property that holds within an instant.

  2. 2.

    A direct definition of the big-step arrow \(\Downarrow \) by a set of structural rules would be slightly more involved, as it would require calculating the output set \(E'\) as a fixpoint.

  3. 3.

    Leaks due to different termination behaviours in the branches of a conditional. In classical parallel while languages, termination leaks may also arise in while loops. This is not possible in \(CRL\), given the simple form of the loop construct. On the other hand, new termination leaks may originate from the possibility of suspension.

  4. 4.

    Recall that in a \({\mathtt{repeat}\,{exp}\,\mathtt{do}\,{s}}\) program, \(exp\) is supposed to evaluate to some \(n\ge 1\).

References

  1. Abadi, M., Plotkin, G.: A model of cooperative threads. In: Proceedings POPL 2009, pp. 29–40. ACM Press (2009)

    Google Scholar 

  2. Almeida Matos, A., Boudol, G., Castellani, I.: Typing noninterference for reactive programs. J. Logic Algebraic Program. 72(2), 124–156 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  3. Amadio, R.M., Dabrowski, F.: Feasible reactivity for synchronous cooperative threads. Electron. Notes Theoret. Comput. Sci. 154(3), 33–43 (2006)

    Article  Google Scholar 

  4. Amadio, R.M.: The SL synchronous language, revisited. J. Logic Algebraic Program. 70(2), 121–150 (2007)

    Google Scholar 

  5. Attar, P., Castellani, I.: Fine-grained and coarse-grained reactive noninterference. INRIA Research Report (2013)

    Google Scholar 

  6. Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  7. Bohannon, A., Pierce, B. C., Sjöberg, V., Weirich, S., Zdancewic, S.: Reactive noninterference. In: Proceedings of the 16th ACM conference on Computer and communications security, pp. 79–90. ACM (2009)

    Google Scholar 

  8. Boudol, G., Castellani, I.: Noninterference for concurrent programs and thread systems. Theor. Comput. Sci. 281(1), 109–130 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  9. Boussinot, F., de Simone, R.: The SL synchronous language. Soft. Eng. 22(4), 256–266 (1996)

    Article  Google Scholar 

  10. Boussinot, F., Susini, J.F.: The SugarCubes tool box: a reactive Java framework. Sof. Pract. Experience 28(14), 1531–1550 (1998)

    Google Scholar 

  11. Focardi, R., Gorrieri, R.: Classification of security properties. In: Focardi, R., Gorrieri, R. (eds.) FOSAD 2000. LNCS, vol. 2171, pp. 331–396. Springer, Heidelberg (2001)

    Google Scholar 

  12. Goguen, J. A., Meseguer, J.: Security policies and security models. In: Proceedings 1982 IEEE Symposium on Security and Privacy, pp. 11–20 (1982)

    Google Scholar 

  13. Goguen, J. A., Meseguer, J.: Unwinding and inference control. In: Proceedings 1984 IEEE Symposium on Security and Privacy (1984)

    Google Scholar 

  14. Russo, A., Sabelfeld, A.: Security for multithreaded programs under cooperative scheduling. In: Virbitskaite, I., Voronkov, A. (eds.) PSI 2006. LNCS, vol. 4378, pp. 474–480. Springer, Heidelberg (2007)

    Google Scholar 

  15. Russo, A., Zanarini, D., Jaskelioff, M.: Precise enforcement of confidentiality for reactive systems. In: Proceedings of the 26th IEEE Computer Security Foundations Symposium. IEEE (2013)

    Google Scholar 

  16. Sabelfeld, A., Myers, A.C.: Language-based information-flow security. IEEE J. Sel. Areas Commun. 21(1), 5–19 (2003)

    Article  Google Scholar 

  17. Smith, G.: A new type system for secure information flow. In: Proceedings of the 14th IEEE Computer Security Foundations Workshop. IEEE (2001)

    Google Scholar 

  18. Volpano, D., Smith, G., Irvine, C.: A sound type system for secure flow analysis. J. Comput. Secur. 4(3), 167–187 (1996)

    Google Scholar 

Download references

Acknowledgments

We thank Frédéric Boussinot for insightful discussions and feedback, and Bernard Serpette for useful comments on a previous version of this paper. We also thank the anonymous referees for helpful remarks and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ilaria Castellani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Attar, P., Castellani, I. (2014). Fine-Grained and Coarse-Grained Reactive Noninterference. In: Abadi, M., Lluch Lafuente, A. (eds) Trustworthy Global Computing. TGC 2013. Lecture Notes in Computer Science(), vol 8358. Springer, Cham. https://doi.org/10.1007/978-3-319-05119-2_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-05119-2_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-05118-5

  • Online ISBN: 978-3-319-05119-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics